.ad-hero{padding:9rem 2rem 3rem;max-width:900px;margin:0 auto;text-align:center}
.ad-hero h1{font-family:Fraunces,serif;font-size:clamp(1.9rem,4.2vw,2.8rem);font-weight:600;line-height:1.2;color:var(--text-primary);margin:.8rem 0 1rem}
.ad-hero h1 em{font-style:italic;color:var(--warm-brown)}
.ad-hero p{font-size:1rem;color:var(--text-secondary);line-height:1.75;max-width:640px;margin:0 auto}

.ad-wrap{max-width:1280px;margin:0 auto;padding:0 2rem 5rem}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.6rem}

.ad-card{background:var(--card-bg);border-radius:3px;overflow:hidden;border:2px solid var(--border);box-shadow:var(--nu-soft);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}
.ad-card:hover{transform:translate(-2px,-4px);box-shadow:var(--nu-raised)}
.ad-card-img{aspect-ratio:1;overflow:hidden;position:relative;background:var(--beige);cursor:pointer}
.ad-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ad-card:hover .ad-card-img img{transform:scale(1.05)}
.ad-card-imgcount{position:absolute;top:.6rem;right:.6rem;background:rgba(0,0,0,.62);color:#fff;font-size:.68rem;padding:.25rem .55rem;border-radius:20px;display:flex;align-items:center;gap:.3rem;letter-spacing:.02em}

.ad-lightbox{position:fixed;inset:0;background:rgba(10,8,6,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:2rem}
.ad-lightbox.open{display:flex}
.ad-lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.ad-lightbox-close{position:absolute;top:1.2rem;right:1.5rem;background:rgba(255,255,255,.12);color:#fff;border:none;width:42px;height:42px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.ad-lightbox-close:hover{background:rgba(255,255,255,.25)}
.ad-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);color:#fff;border:none;width:46px;height:46px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.ad-lightbox-nav:hover{background:rgba(255,255,255,.25)}
.ad-lightbox-prev{left:1.2rem}
.ad-lightbox-next{right:1.2rem}
.ad-lightbox-counter{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.12);color:#fff;font-size:.78rem;padding:.3rem .8rem;border-radius:20px;letter-spacing:.03em}
.ad-card-info{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.ad-card-title{font-family:Fraunces,serif;font-size:1rem;font-style:italic;font-weight:500;color:var(--text-primary);line-height:1.35}

.ad-ai-row{display:flex;gap:.6rem;margin-top:auto}
.ad-ai-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}
.ad-ai-btn span:not(.ad-ai-icon){display:none}
.ad-ai-btn:hover{transform:translateY(-2px);background:var(--text-primary);color:#fff;border-color:var(--text-primary)}
.ad-ai-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.ad-ai-icon{display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:inherit}
.ad-ai-icon svg{width:1em;height:1em;display:block}
.ad-ai-btn.claude:hover{background:#d2732b;border-color:#d2732b;color:#fff}
.ad-ai-btn.chatgpt:hover{background:#10a37f;border-color:#10a37f;color:#fff}
.ad-ai-btn.share:hover{background:#3a3a3a;border-color:#3a3a3a;color:#fff}

.ad-skeleton-card{background:var(--card-bg);border-radius:3px;overflow:hidden;box-shadow:var(--nu-soft);display:flex;flex-direction:column}
.ad-skeleton-img{aspect-ratio:1;position:relative;overflow:hidden;background:var(--beige2)}
.ad-skeleton-line{height:12px;border-radius:2px;margin:1rem 1.1rem 0;position:relative;overflow:hidden;background:var(--beige2)}
.ad-skeleton-line.w-70{width:70%}
.ad-skeleton-line.w-100{width:calc(100% - 2.2rem);height:44px;margin-bottom:1.1rem;border-radius:10px}
.ad-skeleton-img::after,.ad-skeleton-line::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.55) 50%,transparent 100%);animation:adSkeletonSweep 1.3s ease-in-out infinite}
@keyframes adSkeletonSweep{100%{transform:translateX(100%)}}

.ad-empty{grid-column:1/-1;text-align:center;padding:5rem 1rem;color:var(--text-muted)}
.ad-empty i{font-size:3rem;display:block;margin-bottom:1rem;opacity:.4}

.ad-footer{background:var(--matte-black);border-top:4px solid var(--warm-brown);padding:3rem 0 2rem}
.ad-footer-inner{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center}
.ad-footer-logo{font-family:Fraunces,serif;font-size:1.4rem;font-weight:700;font-style:italic;color:var(--warm-brown);display:flex;align-items:center;gap:.5rem}
.ad-footer-logo img{height:28px;width:auto}
.ad-footer-inner p{font-size:.8rem;color:rgba(255,255,255,.4)}
.ad-footer-inner a{font-size:.85rem;color:rgba(255,255,255,.7);display:inline-flex;align-items:center;gap:.4rem;transition:color .2s}
.ad-footer-inner a:hover{color:var(--accent-gold)}

@media (max-width:768px){
  .ad-hero{padding:7rem 1.2rem 2rem}
  .ad-wrap{padding:0 1.2rem 3rem}
  .ad-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
  .ad-ai-btn{width:38px;height:38px}
  .ad-ai-icon{font-size:1rem}
}
