/* =================================================================
   Arasayu — hoja de estilos compartida (sitio público + panel admin)
   ================================================================= */
:root{
  --pink-50:#fff5f8;
  --pink-100:#ffe9f1;
  --pink-200:#fbd4e4;
  --pink-400:#f288b6;
  --pink-500:#ec4899;
  --pink-600:#d6316f;
  --rose-700:#a3184f;
  --plum-900:#3a0f26;
  --black:#0e0a0d;
  --gold:#d9a94f;
  --gold-light:#f0d38a;
  --ink:#2a1420;
  --muted:#7a5b68;
  --white:#fffdfe;
  --shadow: 0 20px 45px -20px rgba(163,24,79,0.35);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,.script{font-family:'Playfair Display',serif;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:50px;font-weight:600;font-size:0.95rem;
  cursor:pointer;border:none;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;
}
.btn-primary{background:linear-gradient(135deg,var(--pink-500),var(--rose-700));color:#fff;box-shadow:var(--shadow);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 24px 40px -18px rgba(163,24,79,0.5);}
.btn-outline{background:transparent;color:var(--rose-700);border:1.5px solid var(--pink-400);}
.btn-outline:hover{background:var(--pink-50);transform:translateY(-3px);}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--plum-900);box-shadow:0 18px 35px -16px rgba(217,169,79,0.55);}
.btn-gold:hover{transform:translateY(-3px);}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--rose-700);font-weight:600;margin-bottom:14px;}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--pink-500);display:inline-block;}
.section-title{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:700;color:var(--plum-900);margin-bottom:16px;}
.section-sub{color:var(--muted);max-width:560px;font-size:1.02rem;}
.center{text-align:center;margin-left:auto;margin-right:auto;}

/* NAVBAR */
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,253,254,0.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(236,72,153,0.12);}
header nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto;}
.logo{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--rose-700);display:flex;align-items:center;gap:8px;}
.logo span{color:var(--gold);}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{font-size:0.95rem;font-weight:500;color:var(--ink);position:relative;padding:4px 0;transition:color .2s;}
.nav-links a:hover{color:var(--rose-700);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--pink-500);transition:width .25s ease;}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.burger span{width:26px;height:2.5px;background:var(--rose-700);border-radius:2px;}
.mobile-menu{display:none;flex-direction:column;gap:0;background:var(--white);border-top:1px solid var(--pink-100);}
.mobile-menu a{padding:16px 24px;border-bottom:1px solid var(--pink-50);font-weight:500;}
.mobile-menu.open{display:flex;}

/* HERO */
.hero{
  padding:150px 0 90px;
  background:
    radial-gradient(circle at 85% 15%, rgba(236,72,153,0.10), transparent 55%),
    radial-gradient(circle at 10% 90%, rgba(217,169,79,0.10), transparent 50%),
    linear-gradient(180deg,var(--pink-50) 0%, var(--white) 100%);
  position:relative;
}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:center;}
.hero h1{font-size:clamp(2.4rem,5.2vw,3.6rem);line-height:1.12;color:var(--plum-900);margin-bottom:20px;}
.hero h1 em{font-style:italic;background:linear-gradient(135deg,var(--pink-500),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{color:var(--muted);font-size:1.08rem;max-width:480px;margin-bottom:32px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:36px;}
.hero-stats{display:flex;gap:34px;flex-wrap:wrap;}
.stat b{display:block;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--rose-700);}
.stat span{font-size:0.82rem;color:var(--muted);}

.hero-visual{position:relative;margin-bottom:22px;}
.placeholder-visual{
  position:relative;border-radius:28px;aspect-ratio:4/5;
  background:linear-gradient(160deg,var(--pink-200),var(--pink-500) 55%, var(--rose-700));
  box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.placeholder-visual.has-photo{background:none;}
.placeholder-visual.has-photo img{width:100%;height:100%;object-fit:cover;}
.placeholder-visual::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg, rgba(255,255,255,0.08) 0 2px, transparent 2px 14px);}
.placeholder-visual.has-photo::before{display:none;}
.placeholder-inner{position:relative;z-index:2;text-align:center;color:#fff;padding:30px;}
.placeholder-inner .icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;font-size:1.7rem;}
.placeholder-inner strong{display:block;font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:6px;}
.placeholder-inner small{font-size:0.8rem;opacity:0.85;display:block;max-width:230px;margin:0 auto;}
.badge-float{position:absolute;bottom:-22px;left:-22px;background:#fff;border-radius:18px;padding:16px 20px;box-shadow:0 18px 35px -15px rgba(58,15,38,0.3);display:flex;align-items:center;gap:12px;}
.badge-float .icon-sm{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--gold));display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.badge-float b{display:block;font-size:0.95rem;color:var(--plum-900);}
.badge-float span{font-size:0.75rem;color:var(--muted);}

/* SERVICES */
.services{padding:100px 0;background:var(--white);}
.services-head{margin-bottom:52px;}
.cat-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px;}
.cat-tabs button{padding:10px 20px;border-radius:50px;border:1.5px solid var(--pink-200);background:#fff;font-size:0.88rem;font-weight:500;color:var(--ink);cursor:pointer;transition:all .2s;}
.cat-tabs button.active, .cat-tabs button:hover{background:var(--rose-700);border-color:var(--rose-700);color:#fff;}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;}
.service-card{background:#fff;border:1px solid var(--pink-100);border-radius:18px;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.service-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;}
.service-body h4{font-size:0.96rem;font-weight:600;color:var(--plum-900);}
.service-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.service-card .cat{display:inline-block;font-size:0.64rem;letter-spacing:0.5px;text-transform:uppercase;color:var(--rose-700);background:var(--pink-100);padding:4px 9px;border-radius:50px;font-weight:600;white-space:nowrap;flex-shrink:0;}
.view-btn{border:none;background:var(--pink-100);color:var(--rose-700);width:30px;height:30px;border-radius:50%;font-size:0.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s, transform .2s, color .2s;}
.view-btn:hover{background:var(--rose-700);color:#fff;transform:scale(1.08);}

/* CAROUSEL (tarjetas de servicio y galería) */
.carousel{position:relative;height:150px;overflow:hidden;}
.carousel .slide{position:absolute;inset:0;display:flex;align-items:flex-end;opacity:0;transition:opacity .6s ease;}
.carousel .slide.active{opacity:1;}
.carousel .slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.ph-badge{margin:10px;background:rgba(0,0,0,0.35);backdrop-filter:blur(3px);color:#fff;font-size:0.64rem;font-weight:500;padding:5px 10px;border-radius:50px;display:inline-flex;align-items:center;gap:5px;position:relative;z-index:2;}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.3);border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:0.85rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:3;}
.carousel:hover .car-btn{opacity:1;}
.car-btn.prev{left:8px;}
.car-btn.next{right:8px;}
.dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:5px;z-index:3;}
.dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.55);cursor:pointer;transition:width .2s,background .2s;}
.dot.active{background:#fff;width:14px;border-radius:4px;}

/* SERVICE DETAIL MODAL (zoom popup) */
.modal-overlay{position:fixed;inset:0;background:rgba(14,10,13,0.68);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:3000;opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s ease;}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal-box{background:#fff;border-radius:26px;max-width:460px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 45px 90px -20px rgba(0,0,0,0.5);position:relative;transform:scale(0.78);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;}
.modal-overlay.open .modal-box{transform:scale(1);opacity:1;}
.modal-close{position:absolute;top:14px;right:14px;z-index:5;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,0.4);color:#fff;border:none;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.modal-close:hover{background:rgba(0,0,0,0.65);}
.modal-carousel{position:relative;height:280px;overflow:hidden;}
.modal-carousel .slide{position:absolute;inset:0;display:flex;align-items:flex-end;opacity:0;transition:opacity .5s ease;}
.modal-carousel .slide.active{opacity:1;}
.modal-carousel .slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.modal-carousel .car-btn{width:36px;height:36px;font-size:1.15rem;opacity:1;background:rgba(255,255,255,0.35);}
.modal-carousel .ph-badge{font-size:0.72rem;}
.modal-info{padding:26px 28px 30px;max-height:calc(90vh - 280px);overflow-y:auto;}
.modal-info h3{font-size:1.4rem;color:var(--plum-900);margin:10px 0 10px;}
.modal-info p{color:var(--muted);font-size:0.94rem;margin-bottom:22px;}
body.modal-locked{overflow:hidden;}

/* TESTIMONIOS (sección oscura) */
.premium{padding:100px 0;background:radial-gradient(circle at 20% 20%, rgba(217,169,79,0.12), transparent 45%), linear-gradient(160deg,var(--black) 0%, var(--plum-900) 100%);color:#f3e6ec;position:relative;}
.premium .eyebrow{color:var(--gold-light);}
.premium .eyebrow::before{background:var(--gold);}
.premium .section-title{color:#fff;}
.premium .section-sub{color:#cbb0bd;}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:44px;}
.testimonial-card{background:rgba(255,255,255,0.04);border:1px solid rgba(217,169,79,0.25);border-radius:18px;padding:28px 24px;transition:transform .25s ease, border-color .25s ease;}
.testimonial-card:hover{transform:translateY(-6px);border-color:var(--gold);background:rgba(217,169,79,0.06);}
.testimonial-card .stars{font-size:0.85rem;margin-bottom:14px;letter-spacing:2px;}
.testimonial-card .quote{font-size:0.92rem;color:#e9d6de;line-height:1.6;margin-bottom:20px;font-style:italic;}
.t-author{display:flex;align-items:center;gap:12px;}
.t-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--gold));display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--plum-900);flex-shrink:0;}
.t-author b{display:block;font-size:0.88rem;color:#fff;}
.t-author span{font-size:0.75rem;color:#cbb0bd;}
.highlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px;}
.highlight-item{border-radius:16px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#fff;padding:10px;overflow:hidden;position:relative;}
.highlight-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.highlight-item small{font-size:0.7rem;opacity:0.8;max-width:200px;position:relative;z-index:2;}
.highlight-item.h1{background:linear-gradient(150deg,var(--rose-700),var(--plum-900));}
.highlight-item.h2{background:linear-gradient(150deg,var(--gold-light),var(--gold));color:var(--plum-900);}
.highlight-item.h2 .ph-badge{color:#fff;}
.highlight-item.h3{background:linear-gradient(150deg,var(--pink-500),var(--rose-700));}

/* GALLERY */
.gallery{padding:100px 0;background:var(--pink-50);}
.gallery-subtitle{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;color:var(--plum-900);margin:36px 0 16px;}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.g-item{border-radius:18px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;padding:16px;height:190px;}
.g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.g-item span.tag{position:absolute;top:12px;left:12px;background:rgba(0,0,0,0.35);backdrop-filter:blur(4px);font-size:0.68rem;padding:5px 10px;border-radius:50px;letter-spacing:0.5px;z-index:2;}
.g-item .g-label{position:relative;z-index:2;}
.g-item .g-label strong{display:block;font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:4px;}
.g-item .g-label small{font-size:0.72rem;opacity:0.85;}
.g1{background:linear-gradient(150deg,var(--pink-400),var(--rose-700));}
.g2{background:linear-gradient(150deg,var(--gold-light),var(--gold));color:var(--plum-900);}
.g3{background:linear-gradient(150deg,var(--plum-900),var(--black));}
.g4{background:linear-gradient(150deg,var(--pink-500),var(--pink-200));}
.g5{background:linear-gradient(150deg,var(--rose-700),var(--plum-900));}

/* WHY US */
.why{padding:90px 0;}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:44px;}
.why-item{text-align:center;padding:20px;}
.why-item .icon{width:64px;height:64px;border-radius:50%;background:var(--pink-100);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.6rem;}
.why-item h4{font-size:1.02rem;margin-bottom:8px;color:var(--plum-900);font-weight:600;}
.why-item p{font-size:0.86rem;color:var(--muted);}

/* CONTACT */
.contact{padding:90px 0 110px;background:linear-gradient(180deg,var(--white),var(--pink-50));}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden;}
.contact-info{padding:52px 44px;}
.contact-info h3{font-size:1.7rem;color:var(--plum-900);margin-bottom:14px;}
.contact-info p{color:var(--muted);margin-bottom:30px;}
.info-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.info-row .icon-sm{width:42px;height:42px;border-radius:12px;background:var(--pink-100);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.info-row b{display:block;font-size:0.95rem;color:var(--plum-900);}
.info-row span{font-size:0.85rem;color:var(--muted);}
.contact-cta{background:linear-gradient(160deg,var(--pink-500),var(--rose-700));padding:52px 44px;color:#fff;display:flex;flex-direction:column;justify-content:center;}
.contact-cta h3{font-size:1.5rem;margin-bottom:12px;}
.contact-cta p{opacity:0.9;font-size:0.92rem;margin-bottom:26px;}
.contact-cta .btn{width:fit-content;}

footer{background:var(--black);color:#cbb0bd;padding:50px 0 24px;}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:30px;}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:#fff;margin-bottom:10px;}
.footer-logo span{color:var(--gold);}
.footer-col h5{color:#fff;font-size:0.92rem;margin-bottom:14px;}
.footer-col a, .footer-col p{display:block;font-size:0.85rem;color:#a98a97;margin-bottom:8px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:20px;text-align:center;font-size:0.8rem;color:#7a5b68;}
.note-banner{background:var(--pink-100);color:var(--rose-700);text-align:center;font-size:0.82rem;padding:10px 16px;font-weight:500;}
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 14px 30px -10px rgba(0,0,0,0.4);z-index:999;transition:transform .2s;}
.whatsapp-float:hover{transform:scale(1.08);}

@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1;max-width:380px;margin:0 auto 34px;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .nav-links{display:none;}
  .nav-cta .btn-outline{display:none;}
  .burger{display:flex;}
  .hero{padding:120px 0 60px;}
  .hero-stats{gap:22px;}
  .section-title{font-size:1.9rem;}

  /* Categorías fijas al desplazarse, para saltar rápido a una sección
     sin tener que volver a subir hasta arriba. */
  .cat-tabs{
    position:sticky;top:82px;z-index:5;background:var(--white);
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;gap:12px;padding:16px 24px;margin:0 -24px 30px;
    box-shadow:0 10px 16px -14px rgba(58,15,38,0.35);
  }
  .cat-tabs::-webkit-scrollbar{display:none;}
  .cat-tabs button{flex-shrink:0;padding:11px 22px;}
}
@media (max-width:520px){
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .g-item{height:150px;}
  .contact-info,.contact-cta{padding:34px 26px;}

  /* Tarjetas de servicio en 2 columnas en vez de 1 sola. */
  .service-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .service-card .carousel{height:110px;}
  .service-body{padding:10px 12px 12px;gap:6px;}
  .service-body h4{font-size:0.82rem;line-height:1.25;}
  .service-card .cat{font-size:0.58rem;padding:3px 8px;}
  .view-btn{width:26px;height:26px;font-size:0.75rem;}
  .ph-badge{font-size:0.56rem;padding:4px 8px;margin:6px;}
  .car-btn{width:20px;height:20px;font-size:0.7rem;}
}

/* =================================================================
   PANEL DE ADMINISTRACIÓN
   ================================================================= */
.admin-body{background:var(--pink-50);min-height:100vh;}
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{
  width:250px;flex-shrink:0;background:linear-gradient(180deg,var(--plum-900),var(--black));
  color:#f3e6ec;padding:26px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;
  box-sizing:border-box;
}
.admin-sidebar .logo{color:#fff;margin-bottom:30px;font-size:1.4rem;padding-left:4px;}
.admin-sidebar .logo span{color:var(--gold);}
.admin-nav a{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;
  color:#cbb0bd;font-size:0.86rem;font-weight:500;margin-bottom:3px;
  line-height:1.3;transition:background .2s,color .2s;
}
.admin-nav a:hover{background:rgba(255,255,255,0.06);color:#fff;}
.admin-nav a.active{background:linear-gradient(135deg,var(--pink-500),var(--rose-700));color:#fff;}
.admin-nav a .nav-icon{flex-shrink:0;width:20px;text-align:center;font-size:1rem;line-height:1;}
.admin-nav a .nav-label{flex:1;min-width:0;}
.admin-nav .divider{height:1px;background:rgba(255,255,255,0.08);margin:14px 4px;}
.admin-logout{
  margin-top:24px;display:flex;align-items:center;gap:10px;font-size:0.85rem;
  color:#cbb0bd;padding:10px 12px;border-radius:12px;transition:background .2s,color .2s;
}
.admin-logout .nav-icon{flex-shrink:0;width:20px;text-align:center;}
.admin-logout:hover{color:#fff;background:rgba(255,255,255,0.06);}

.admin-main{flex:1;min-width:0;}
.admin-topbar{
  background:#fff;border-bottom:1px solid var(--pink-100);
  padding:18px 30px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:10;
}
.admin-topbar h1{font-size:1.3rem;color:var(--plum-900);}
.admin-topbar .view-site{font-size:0.85rem;color:var(--rose-700);font-weight:600;}
.admin-content{padding:30px;max-width:980px;}

.admin-card{background:#fff;border:1px solid var(--pink-100);border-radius:18px;padding:26px 28px;margin-bottom:24px;}
.admin-card h2{font-size:1.15rem;color:var(--plum-900);margin-bottom:18px;}
.admin-card h3{font-size:1rem;color:var(--plum-900);margin-bottom:12px;}

.flash{padding:14px 18px;border-radius:12px;margin-bottom:22px;font-size:0.9rem;font-weight:500;}
.flash-success{background:#e8f7ee;color:#1e7a45;}
.flash-error{background:#fde8ec;color:var(--rose-700);}

.form-group{margin-bottom:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-label{display:block;font-size:0.84rem;font-weight:600;color:var(--plum-900);margin-bottom:6px;}
.form-hint{display:block;font-size:0.76rem;color:var(--muted);margin-top:5px;}
.form-input, .form-textarea, .form-select{
  width:100%;padding:11px 14px;border-radius:10px;border:1.5px solid var(--pink-200);
  font-family:inherit;font-size:0.9rem;color:var(--ink);background:#fff;
}
.form-input:focus, .form-textarea:focus, .form-select:focus{outline:none;border-color:var(--pink-500);}
.form-textarea{resize:vertical;min-height:90px;}
.form-actions{display:flex;gap:12px;margin-top:22px;}

.btn-sm{padding:9px 16px;font-size:0.82rem;}
.btn-danger{background:#fde8ec;color:var(--rose-700);}
.btn-danger:hover{background:var(--rose-700);color:#fff;}
.btn-ghost{background:var(--pink-50);color:var(--ink);}
.btn-ghost:hover{background:var(--pink-100);}

.admin-table{width:100%;border-collapse:collapse;font-size:0.88rem;}
.admin-table th{text-align:left;padding:10px 12px;color:var(--muted);font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.4px;border-bottom:1.5px solid var(--pink-100);}
.admin-table td{padding:12px;border-bottom:1px solid var(--pink-50);vertical-align:middle;}
.admin-table tr:hover td{background:var(--pink-50);}
.table-actions{display:flex;gap:8px;}
.pill{display:inline-block;font-size:0.7rem;padding:3px 10px;border-radius:50px;background:var(--pink-100);color:var(--rose-700);font-weight:600;}
.pill-off{background:#f1f1f1;color:#888;}

.image-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;}
.image-thumb{width:120px;position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--pink-100);}
.image-thumb img{width:100%;height:90px;object-fit:cover;display:block;}
.image-thumb form{position:absolute;top:6px;right:6px;}
.image-thumb .del-btn{width:26px;height:26px;border-radius:50%;background:rgba(14,10,13,0.65);color:#fff;border:none;font-size:0.8rem;cursor:pointer;}
.upload-box{border:1.5px dashed var(--pink-200);border-radius:12px;padding:20px;text-align:center;background:var(--pink-50);}

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--pink-50),var(--pink-100));padding:20px;}
.login-card{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:44px 38px;max-width:380px;width:100%;}
.login-card .logo{justify-content:center;margin-bottom:8px;}
.login-card p.subtitle{text-align:center;color:var(--muted);font-size:0.88rem;margin-bottom:26px;}
.login-card .btn{width:100%;justify-content:center;margin-top:6px;}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:26px;}
.stat-box{background:#fff;border:1px solid var(--pink-100);border-radius:16px;padding:20px;}
.stat-box b{display:block;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--rose-700);}
.stat-box span{font-size:0.8rem;color:var(--muted);}

@media (max-width:820px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:relative;}
  .admin-content{padding:20px;}
  .form-row{grid-template-columns:1fr;}
}