/* === Pink Paws — Modern Aesthetic === */
:root{
  --bg: #0b0b11;
  --bg-soft: #111119;
  --card: #151524;
  --text: #e7e7ee;
  --muted: #a0a0b8;
  --brand: #ff2f80;
  --brand-2:#ffa3cf;
  --ring: rgba(255,47,128,.35);
  --glass: rgba(255,255,255,.06);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 18px;
}

/* Light theme */
:root.light{
  --bg: #faf7fb;
  --bg-soft:#ffffff;
  --card:#ffffff;
  --text:#12121a;
  --muted:#4b4b61;
  --brand:#ec4899;
  --brand-2:#f9a8d4;
  --ring: rgba(236,72,153,.28);
  --glass: rgba(0,0,0,.05);
  --shadow: 0 8px 28px rgba(18,18,26,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Inter",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 10% -10%, rgba(255,47,128,.10), transparent 40%),
    radial-gradient(900px 600px at 110% 10%, rgba(167,139,250,.10), transparent 45%),
    var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.container{max-width:1200px;margin:auto;padding:0 20px}
.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden
}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:var(--bg-soft);color:var(--text);padding:.75rem 1rem;border-radius:10px;box-shadow:var(--shadow)}

.site-header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg, rgba(0,0,0,.35), transparent), var(--bg);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
  display:flex;align-items:center;gap:16px;justify-content:space-between;padding:14px 0;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{font-size:28px;filter:hue-rotate(330deg)}
.brand-text{font-weight:800;font-size:1.25rem;letter-spacing:.3px;
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

.utility{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.main-nav{display:flex;gap:12px;flex-wrap:wrap}
.nav-link{color:var(--muted);text-decoration:none;font-weight:600;padding:.5rem .8rem;border-radius:999px}
.nav-link:hover,.nav-link.is-active{background:var(--glass);color:var(--text)}

.icon{width:20px;height:20px;display:block}
.icon-btn{background:var(--glass);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.6rem;cursor:pointer;color:var(--text)}
.icon-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}

.search{position:relative;display:flex;align-items:center;gap:8px;background:var(--glass);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.55rem .75rem;min-width:260px}
.search-input{all:unset;color:var(--text);width:100%;font-size:.95rem}
.search .icon{opacity:.7}

.filters{border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg, rgba(255,255,255,.02), transparent)}
.filters-inner{display:flex;gap:10px;overflow:auto;padding:.8rem 0}
.chip{appearance:none;border:1px solid rgba(255,255,255,.12);background:var(--bg-soft);color:var(--text);padding:.5rem 1rem;border-radius:999px;cursor:pointer;font-weight:600}
.chip.is-active,.chip:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring) inset}

.hero{padding:32px 0 8px}
.hero-card{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;background:linear-gradient(180deg, var(--bg-soft), var(--bg));border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:28px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-copy .h1{font-size:clamp(28px, 4vw, 44px);line-height:1.1;margin:0 0 10px}
.text-gradient{background:linear-gradient(90deg, var(--brand), var(--brand-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lead{color:var(--muted);max-width:60ch;margin:0 0 16px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.btn{appearance:none;border:1px solid rgba(255,255,255,.12);background:var(--bg-soft);color:var(--text);padding:.8rem 1.1rem;border-radius:12px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn-primary{background:linear-gradient(90deg, var(--brand), var(--brand-2));color:white;border:none}

.hero-art .blob{position:absolute;filter:blur(40px);opacity:.25;pointer-events:none}
.hero-art .one{width:420px;height:420px;background:radial-gradient(circle at 30% 30%, var(--brand), transparent 60%);right:-80px;top:-80px}
.hero-art .two{width:360px;height:360px;background:radial-gradient(circle at 50% 50%, #7c3aed, transparent 60%);left:-120px;bottom:-120px}
.hero-art .three{width:180px;height:180px;background:radial-gradient(circle at 50% 50%, #22d3ee, transparent 60%);right:120px;bottom:-60px}

.gallery-wrap{padding:28px 0 60px}
.gallery-grid{
  display:grid;gap:16px;
  grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
}
.card{
  border-radius:16px;overflow:hidden;background:var(--card);border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);position:relative;isolation:isolate;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px)}
.card-media{width:100%;height:240px;object-fit:cover;display:block;transition:transform .4s ease, filter .4s ease}
.card:hover .card-media{transform:scale(1.05);filter:saturate(1.1)}
.card-overlay{
  position:absolute;inset:auto 0 0 0;padding:14px;background:linear-gradient(180deg, transparent, rgba(0,0,0,.7));
  color:white;display:flex;flex-direction:column;gap:6px
}
.card-title{font-weight:700;font-size:1rem;display:flex;align-items:center;gap:6px}
.card-tag{font-size:.8rem;opacity:.85;text-transform:capitalize}

.skeleton-row{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px,1fr));gap:16px;margin-top:16px}
.skeleton-card{height:240px;border-radius:16px;background:linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.12), rgba(255,255,255,.06));background-size:200% 100%;animation:shimmer 1.2s infinite linear;border:1px solid rgba(255,255,255,.06)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.modal-content{background:var(--card);border:1px solid rgba(255,255,255,.1);border-radius:18px;max-width:980px;width:100%;overflow:hidden;box-shadow:var(--shadow)}
.modal-image{width:100%;max-height:70vh;object-fit:cover;display:block}
.modal-info{padding:18px;text-align:center}
.modal-info h3{margin:0 0 6px}
.modal-info p{margin:0 0 16px;color:var(--muted)}
.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.action-btn{border:none;border-radius:999px;padding:.8rem 1.1rem;font-weight:800;cursor:pointer;background:var(--bg-soft);color:var(--text)}
.action-btn:hover{box-shadow:0 0 0 3px var(--ring) inset}
.close-btn{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:var(--bg-soft);color:var(--text);cursor:pointer;font-size:22px}

.modal-nav{position:fixed;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.nav-arrow{pointer-events:auto;width:50px;height:50px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:var(--bg-soft);color:var(--text);font-size:22px;cursor:pointer}
.nav-arrow:disabled{opacity:.4;cursor:not-allowed}

.fab{position:fixed;right:20px;bottom:22px;z-index:20}
.fab-btn{width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:conic-gradient(from 180deg, var(--brand), var(--brand-2), var(--brand));
  color:white;font-size:28px;box-shadow:var(--shadow)
}
.fab-btn:hover{transform:scale(1.06) rotate(10deg)}

.site-footer{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;background:linear-gradient(180deg, transparent, rgba(255,255,255,.02))}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);flex-wrap:wrap}
.back-to-top{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}

img{max-width:100%;height:auto;vertical-align:middle}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
@media (max-width: 880px){
  .hero-card{grid-template-columns:1fr}
  .search{min-width:unset;width:100%}
  .main-nav{display:none}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
}
