/* theviral+ — public + admin styles */
:root{
  --bg:#020617; --bg-2:#0f172a; --card:#0b1224; --line:rgba(255,255,255,.1);
  --text:#fff; --muted:#94a3b8; --violet:#8b5cf6; --violet-2:#a78bfa; --fuchsia:#d946ef;
  --green:#25D366; --green-d:#1ebe57; --amber:#fbbf24;
  --radius:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html[data-theme="light"]{background:#fff;color-scheme:light}
html[data-theme="dark"]{background:#020617;color-scheme:dark}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.muted{color:var(--muted)}
.small{font-size:.875rem}
h1,h2,h3{margin:0;line-height:1.15}
h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em}
.section{padding:5rem 0}
.section-alt{background:rgba(15,23,42,.5)}
.section-head{text-align:center;max-width:640px;margin:0 auto 3rem}
.section-head h2{margin:1rem 0 .75rem}
.grid{display:grid;gap:1.25rem}
.grid-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media(min-width:640px){.grid-products{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
@media(min-width:1024px){.grid-products{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.grid-products{grid-template-columns:repeat(4,1fr)}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;border:0;transition:all .2s;text-decoration:none}
.btn-block{width:100%}
.btn-lg{padding:.85rem 1.5rem;font-size:1rem}
.btn-primary{background:var(--violet);color:#fff}
.btn-primary:hover{background:var(--violet-2)}
.btn-outline{background:rgba(255,255,255,.05);color:#fff;border:1px solid rgba(255,255,255,.2)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-whatsapp{background:var(--green);color:#fff;box-shadow:0 6px 20px rgba(37,211,102,.25)}
.btn-whatsapp:hover{background:var(--green-d)}
.btn-whatsapp::before{content:"";width:1.08rem;height:1.08rem;flex:0 0 auto;background:url('../images/social/whatsapp.svg') center/contain no-repeat}
.btn-email::before{content:"";width:1.08rem;height:1.08rem;flex:0 0 auto;background:url('../images/icons/mail-white.svg') center/contain no-repeat}
.btn-danger{background:#ef4444;color:#fff}
.btn-danger:hover{background:#dc2626}
.btn-ghost{background:transparent;color:#fff;border:1px solid var(--line)}

/* Logo */
.logo{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .45rem;border:1px solid rgba(207,196,255,.16);border-radius:6px;background:#100d2a;line-height:0;box-shadow:0 5px 16px rgba(2,6,23,.14)}
.site-logo-image{display:block;width:148px;height:auto}
.footer-logo .site-logo-image{width:172px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(2,6,23,.8);backdrop-filter:blur(12px)}
@supports(padding-top:env(safe-area-inset-top)){
  .site-header{padding-top:env(safe-area-inset-top)}
}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}
.header-actions{display:flex;align-items:center;gap:.5rem}
.nav-desktop{display:none;gap:2rem}
.nav-desktop a{color:#cbd5e1}
.nav-desktop a:hover{color:var(--violet-2)}
.nav-desktop a.active{color:#fff}
.nav-cta{display:none}
.nav-toggle{background:transparent;border:1px solid var(--line);color:#fff;width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:1.25rem}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.78rem;font-weight:600;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.theme-toggle:hover{border-color:rgba(167,139,250,.65);background:rgba(139,92,246,.15);color:#fff}
.theme-toggle-swatch{width:.7rem;height:.7rem;border-radius:50%;background:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.16)}
.nav-mobile{display:none;flex-direction:column;gap:.25rem;padding:1rem;border-top:1px solid var(--line)}
.nav-mobile.open{display:flex}
.nav-mobile a{padding:.75rem;border-radius:8px}
.nav-mobile a:hover{background:rgba(255,255,255,.05)}
.nav-mobile a.active{background:rgba(139,92,246,.15);color:#fff}
@media(min-width:768px){
  .nav-desktop{display:flex}
  .nav-cta{display:inline-flex}
  .nav-toggle{display:none}
  .nav-mobile{display:none !important}
}
@media(max-width:767px){
  .header-row{position:relative;justify-content:center;min-height:62px}
  .site-header .header-row>.logo{position:absolute;left:50%;transform:translateX(-50%)}
  .site-header .site-logo-image{width:132px}
  .header-actions{margin-left:auto}
  .nav-toggle{position:absolute;left:1rem}
}
@media(max-width:350px){
  .site-header .site-logo-image{width:112px}
  .header-actions{gap:.35rem}
}

/* Hero */
.hero{position:relative;overflow:hidden;padding:5rem 0;text-align:center}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(circle at 30% 20%,rgba(139,92,246,.22),transparent 60%),
  radial-gradient(circle at 70% 80%,rgba(217,70,239,.15),transparent 55%);}
.hero-inner{position:relative}
.hero-title{font-size:clamp(2.25rem,6vw,4.5rem);font-weight:700;letter-spacing:-.02em;margin:1.5rem auto 1rem;line-height:1.05}
.grad-text{background:linear-gradient(90deg,#c4b5fd,#e879f9,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{max-width:640px;margin:0 auto;color:#cbd5e1}
.hero-ctas{display:flex;flex-direction:column;gap:.75rem;justify-content:center;align-items:center;margin:2rem 0}
@media(min-width:640px){.hero-ctas{flex-direction:row}}
.hero-features{display:grid;grid-template-columns:1fr;gap:1rem;max-width:720px;margin:3rem auto 0}
@media(min-width:640px){.hero-features{grid-template-columns:repeat(3,1fr)}}
.feature-card{padding:1.25rem;border-radius:var(--radius);border:1px solid var(--line);background:rgba(255,255,255,.05)}
.feature-card .ico{font-size:1.5rem;color:var(--violet-2)}
.feature-card small{color:var(--muted)}

/* Page layouts */
.page-hero{padding:4.5rem 0 3.5rem;text-align:center;background:
  radial-gradient(circle at 30% 20%,rgba(139,92,246,.18),transparent 55%),
  rgba(15,23,42,.35)}
.page-hero h1{max-width:760px;margin:1rem auto .75rem;font-size:clamp(2.25rem,5vw,3.75rem);letter-spacing:-.03em}
.page-hero p{max-width:640px;margin:0 auto}
.section-actions{display:flex;justify-content:center;margin-top:2rem}
.cta-panel{max-width:720px;margin:0 auto;text-align:center;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.04)}
.cta-panel h2{margin:.75rem 0}
.cta-panel p{margin:.75rem 0 1.5rem}
.empty-state{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--muted);text-align:center}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:999px;font-size:.85rem;font-weight:500}
.badge-violet{border:1px solid rgba(139,92,246,.3);background:rgba(139,92,246,.1);color:#c4b5fd}
.dot{width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 4px rgba(139,92,246,.3)}

/* Products */
.product-card{--product-accent:var(--violet);display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;background:linear-gradient(180deg,#0f172a,#020617);transition:all .25s;cursor:pointer}
.product-card:hover{border-color:var(--product-accent);transform:translateY(-3px);box-shadow:0 20px 50px rgba(139,92,246,.1)}
.product-card:focus-visible{outline:2px solid var(--violet-2);outline-offset:4px}
.product-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--product-accent),#1e293b)}
.product-image-wrap img{width:100%;height:100%;object-fit:cover}
.product-badge{position:absolute;top:.75rem;left:.75rem;background:var(--product-accent);color:#fff;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}
.product-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.product-title{font-weight:600}
.product-duration{color:var(--muted);font-size:.875rem;margin-top:.25rem}
.product-prices{margin:1rem 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem}
.price{color:var(--violet-2);font-weight:700;font-size:1.5rem}
.price-old{color:#64748b;text-decoration:line-through;font-size:.875rem}
.product-body .btn{margin-top:auto}

.grid-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:820px;margin:0 auto}
.category-card{--category-accent:var(--violet);min-width:0;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#0f172a,#020617);overflow:hidden;transition:border-color .22s,box-shadow .22s,transform .22s}
.category-card:hover{border-color:var(--category-accent);box-shadow:0 18px 45px rgba(139,92,246,.12);transform:translateY(-3px)}
.category-card-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;aspect-ratio:1;padding:1rem;color:inherit;text-align:center}
.category-card-link::after{content:"";position:absolute;right:-28%;top:-28%;width:70%;aspect-ratio:1;border-radius:50%;background:var(--category-accent);opacity:.16;pointer-events:none}
.category-logo{position:relative;z-index:1;display:grid;place-items:center;width:min(46%,76px);aspect-ratio:1;margin-top:.1rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(135deg,var(--category-accent),#111827)}
.category-logo-mark{position:absolute;inset:0;display:grid;place-items:center;opacity:.28}
.category-logo-mark svg{width:72%;height:72%;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.category-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);color:#fff;font-size:.9rem;font-weight:900;letter-spacing:0}
.category-card-body{position:relative;z-index:1;display:grid;gap:.45rem;width:100%;min-width:0}
.category-card-body h3{display:-webkit-box;min-height:2.45em;margin:0;color:#fff;font-size:1rem;line-height:1.22;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.category-count{justify-self:center;padding:.26rem .55rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#cbd5e1;font-size:.72rem;font-weight:800;white-space:nowrap}
.see-all-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:100%;padding:1.25rem;border:1px dashed rgba(167,139,250,.65);border-radius:var(--radius);background:rgba(139,92,246,.08);color:#e9d5ff;transition:border-color .2s,background .2s,transform .2s}
.see-all-card:hover{border-color:var(--violet-2);background:rgba(139,92,246,.14);transform:translateY(-3px)}
.see-all-card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:1rem;border-radius:50%;background:var(--violet);color:#fff;font-size:1.5rem;font-weight:700}
.see-all-card strong{color:#fff;font-size:1.1rem}
.see-all-card span:last-child{margin-top:.35rem;color:#cbd5e1;font-size:.88rem}
.compact-actions{margin-top:1rem}

@media(min-width:640px){
  .grid-categories{gap:1rem}
  .category-card-link{padding:1.25rem}
  .category-card-body h3{font-size:1.12rem}
  .category-count{font-size:.78rem}
}

@media(max-width:639px){
  .grid-products .product-card{min-width:0;border-radius:8px}
  .grid-products .product-image-wrap{aspect-ratio:4/3}
  .grid-products .product-badge{top:.5rem;left:.5rem;max-width:calc(100% - 1rem);padding:.18rem .42rem;font-size:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .grid-products .product-body{min-width:0;padding:.75rem}
  .grid-products .product-title{display:-webkit-box;min-height:2.4em;font-size:.82rem;line-height:1.2;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .grid-products .product-duration{min-height:1.2em;margin-top:.25rem;font-size:.66rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .grid-products .product-prices{display:flex;gap:.25rem;margin:.65rem 0}
  .grid-products .price{font-size:1.05rem;line-height:1.1}
  .grid-products .price-old{font-size:.65rem;line-height:1.1}
  .grid-products .product-body .btn{min-height:38px;padding:.5rem .25rem;border-radius:7px;font-size:.72rem;line-height:1;white-space:nowrap}
  .grid-products .see-all-card{min-height:220px;padding:.85rem;border-radius:8px}
  .grid-products .see-all-card-icon{width:36px;height:36px;margin-bottom:.65rem;font-size:1.25rem}
  .grid-products .see-all-card strong{font-size:.95rem}
  .grid-products .see-all-card span:last-child{font-size:.72rem}
}

body.modal-open{overflow:hidden}
.product-modal{width:min(960px,calc(100vw - 1.25rem));max-width:calc(100vw - 1.25rem);max-height:calc(100dvh - 1.25rem);padding:0;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#071022;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.7);overflow:hidden}
.product-modal.is-open{position:fixed;inset:50% auto auto 50%;z-index:100;display:block;transform:translate(-50%,-50%)}
.product-modal::backdrop{background:rgba(2,6,23,.8);backdrop-filter:blur(6px)}
.product-modal-panel{position:relative;max-height:calc(100dvh - 1.25rem);min-width:0;overflow-x:hidden;overflow-y:auto}
.product-modal-close{position:absolute;top:.75rem;right:.75rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(2,6,23,.82);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.product-modal-close:hover{background:#172033}
.product-modal-layout{display:grid;min-width:0}
.product-modal-visual{position:relative;min-height:240px;background:linear-gradient(135deg,var(--product-accent),#1e293b)}
.product-modal-visual img{width:100%;height:100%;min-height:240px;max-height:360px;object-fit:contain}
.product-modal-body{display:flex;flex-direction:column;min-width:0;padding:1.35rem}
.product-modal-kicker{color:var(--violet-2);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.product-modal-body h2{margin:.45rem 3rem .35rem 0;font-size:clamp(1.65rem,6vw,2.35rem)}
.product-modal-duration{color:var(--muted)}
.product-modal-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:.65rem;margin:1.15rem 0}
.product-modal-prices .price{font-size:1.9rem}
.product-modal-description{padding:1rem 0;border-top:1px solid var(--line);color:#dbe4f0;line-height:1.75}
.product-modal-description.is-empty{color:var(--muted)}
.product-modal-assurances{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.product-modal-assurances span{flex:1 1 7rem;padding:.6rem .35rem;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.035);color:#cbd5e1;font-size:.72rem;text-align:center}

@media(min-width:720px){
  .product-modal-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .product-modal-visual{min-height:100%}
  .product-modal-visual img{height:100%;max-height:none}
  .product-modal-body{padding:2.25rem}
}

/* Reviews */
.reviews-scroller{display:flex;gap:1rem;overflow-x:auto;padding:0 1rem 1rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.reviews-scroller::-webkit-scrollbar{display:none}
.review-card{flex:0 0 85%;scroll-snap-align:start;padding:1.5rem;border-radius:var(--radius);border:1px solid var(--line);background:#020617;display:flex;flex-direction:column}
@media(min-width:640px){.review-card{flex-basis:420px}}
.review-grid{display:grid;gap:1rem}
.review-grid .review-card{display:flex;min-width:0}
.review-grid .review-card-hidden{display:none}
.review-grid.reviews-expanded .review-card-hidden{display:flex}
@media(min-width:768px){.review-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.review-grid{grid-template-columns:repeat(3,1fr)}}
.stars{color:var(--amber);margin-bottom:.75rem;font-size:1.1rem}
.review-card p{flex:1;color:#e2e8f0}
.reviewer{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}
.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--violet),var(--fuchsia))}
.avatar-violet{background:linear-gradient(135deg,#8b5cf6,#d946ef)}
.avatar-emerald{background:linear-gradient(135deg,#10b981,#14b8a6)}
.avatar-rose{background:linear-gradient(135deg,#f43f5e,#ec4899)}
.avatar-amber{background:linear-gradient(135deg,#f59e0b,#f97316)}
.avatar-sky{background:linear-gradient(135deg,#0ea5e9,#06b6d4)}
.reviewer-name{font-size:.95rem}

/* About */
.about-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr}}
.about-img{position:relative}
.about-img img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.stat-bubble{position:absolute;right:.5rem;bottom:-1.25rem;background:#0f172a;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.stat-value{font-size:2rem;font-weight:700;color:var(--violet-2)}
.checks{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.5rem}
@media(min-width:640px){.checks{grid-template-columns:1fr 1fr}}
.checks li{color:#e2e8f0}
.about-grid h2{margin:.9rem 0}

/* Contact */
.contact-grid{display:grid;gap:1rem;margin:3rem 0}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:var(--radius);border:1px solid var(--line);background:rgba(255,255,255,.05);transition:all .2s}
.contact-card:hover{border-color:rgba(139,92,246,.4);background:rgba(255,255,255,.08)}
.contact-card.whatsapp{background:linear-gradient(135deg,rgba(37,211,102,.15),rgba(37,211,102,.05))}
.contact-card.whatsapp:hover{border-color:rgba(37,211,102,.5)}
.contact-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.contact-icon img{display:block;width:28px;height:28px;object-fit:contain}
.contact-icon.wa{background:var(--green);color:#fff}
.contact-icon.mail{background:rgba(139,92,246,.15);color:var(--violet-2)}
.socials{text-align:center;margin-top:2rem}
.social-row{display:flex;justify-content:center;gap:.75rem;margin:1rem 0}
.social-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #e5e7eb;border-radius:50%;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.12);transition:border-color .2s,box-shadow .2s,transform .2s}
.social-btn:hover{border-color:#a78bfa;background:#fff;box-shadow:0 10px 24px rgba(76,29,149,.17);transform:translateY(-2px)}
.social-btn:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.social-btn img{display:block;width:24px;height:24px;object-fit:contain}
.social-btn-x img{filter:brightness(0)}

/* FAQ */
.faq-layout{display:grid;gap:1.5rem;align-items:start}
.faq-intro{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.04)}
.faq-intro h2{margin:0;font-size:clamp(1.5rem,4vw,2.15rem)}
.faq-intro p{margin:0}
.faq-intro .btn{justify-self:start}
.faq-contact{color:var(--violet-2);font-weight:700}
.faq-contact:hover{color:#c4b5fd}
.faq-list{display:grid;gap:.75rem}
.faq-item{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);overflow:hidden}
.faq-item summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 3rem 1rem 1rem;color:var(--text);font-weight:700;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1rem;top:50%;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:rgba(139,92,246,.14);color:var(--violet-2);font-size:1.05rem;font-weight:800;transform:translateY(-50%);transition:background .2s,color .2s}
.faq-item[open] summary::after{content:"-";background:var(--violet);color:#fff}
.faq-item p{margin:0;padding:0 1rem 1rem;color:var(--muted);font-size:.95rem}
@media(min-width:900px){
  .faq-layout{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr)}
  .faq-intro{position:sticky;top:92px}
}

/* Policy pages */
.policy-wrap{max-width:860px}
.policy-meta{margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.85rem}
.policy-section{padding:0 0 2rem;margin:0 0 2rem;border-bottom:1px solid var(--line)}
.policy-section:last-child{margin-bottom:0;border-bottom:0}
.policy-section h2{margin-bottom:1rem;font-size:1.5rem}
.policy-section p{margin:.75rem 0;color:#dbe4f0}
.policy-list,.policy-steps{display:grid;gap:.75rem;margin:1rem 0 0;padding-left:1.25rem;color:#dbe4f0}
.policy-contact{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.public-body .policy-section p,.public-body .policy-list,.public-body .policy-steps{color:#4d4657}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:3rem 0 2rem;margin-top:0}
.footer-grid{display:grid;gap:2.5rem;margin-bottom:2rem}
@media(min-width:768px){.footer-grid{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr)}}
.footer-title{font-weight:600;margin-bottom:1rem}
.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.footer-list a{color:var(--muted);font-size:.9rem}
.footer-list a:hover{color:var(--violet-2)}
.footer-payments{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding-top:1.25rem;padding-bottom:1.25rem;border-top:1px solid var(--line)}
.footer-payments-title{flex-shrink:0;color:var(--muted);font-size:1rem;font-weight:500}
.payment-methods{display:flex;align-items:center;justify-content:center;gap:.7rem}
.payment-method{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:46px}
.payment-logo{display:block;width:auto;max-width:none;object-fit:contain}
.payment-method-omt{width:46px;border:1px solid rgba(255,213,0,.55);border-radius:8px;background:#ffd500;overflow:hidden}
.payment-logo-omt,.payment-logo-whish{width:46px;height:46px}
.payment-logo-visa{width:62px;height:auto}
.payment-logo-mastercard{width:50px;height:auto}
.payment-logo-usdt{width:44px;height:44px}
.payment-logo-fallback{display:none;align-items:center;justify-content:center;width:100%;height:100%;color:#050505;font-family:Arial,sans-serif;font-size:.76rem;font-weight:900;line-height:1;text-align:center}
.payment-logo-fallback span{display:block;margin-top:.1rem;font-size:.55rem;font-weight:700}
.payment-logo[hidden]+.payment-logo-fallback{display:grid}
.payment-method-brand{height:38px;padding:.35rem .55rem;border-radius:8px;background:#111827}
.payment-logo-neo{width:64px;height:auto}
.payment-method-suyool{border:1px solid #dbeafe;background:#fff}
.payment-logo-suyool{width:auto;height:29px}
.payment-method-bank-transfer{display:grid;align-content:center;gap:0;color:#fff;font-family:Arial,sans-serif;line-height:1;text-align:center}
.payment-bank-name{font-size:.82rem;font-weight:900;letter-spacing:.03em}
.payment-bank-type{margin-top:.12rem;color:#c4b5fd;font-size:.45rem;font-weight:700}
.footer-bottom{display:flex;flex-direction:column;gap:.5rem;justify-content:space-between;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.875rem;color:#64748b}
@media(max-width:767px){
  .footer-payments{align-items:center;flex-direction:column;gap:.65rem;text-align:center}
  .payment-methods{justify-content:center;gap:.55rem;width:100%;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}
  .payment-methods::-webkit-scrollbar{display:none}
  .payment-method{height:40px}
  .payment-method-omt{width:40px}
  .payment-logo-omt,.payment-logo-whish{width:40px;height:40px}
  .payment-logo-visa{width:56px}
  .payment-logo-mastercard{width:46px}
  .payment-logo-usdt{width:40px;height:40px}
  .payment-method-brand{height:36px;padding:.3rem .45rem}
  .payment-logo-neo{width:58px}
  .payment-logo-suyool{width:auto;height:27px}
}
@media(min-width:640px){.footer-bottom{flex-direction:row}}

.floating-whatsapp{position:fixed;right:1rem;right:max(1rem,env(safe-area-inset-right));bottom:1rem;bottom:max(1rem,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:#25d366;box-shadow:0 8px 24px rgba(10,45,24,.28);transition:background .2s,box-shadow .2s,transform .2s,opacity .2s}
.floating-whatsapp:hover{background:#1fbd5a;box-shadow:0 10px 28px rgba(10,45,24,.36);transform:translateY(-2px)}
.floating-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:3px}
.floating-whatsapp img{display:block;width:27px;height:27px;object-fit:contain}
body.cart-open .floating-whatsapp{opacity:0;pointer-events:none}

/* Cart */
body.cart-open{overflow:hidden}
.cart-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.06);color:#e2e8f0;font-family:inherit;font-size:.78rem;font-weight:600;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.cart-toggle:hover{border-color:rgba(167,139,250,.65);background:rgba(139,92,246,.15);color:#fff}
.cart-toggle-icon{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--violet);color:#fff;font-size:.68rem}
.cart-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:110;background:rgba(2,6,23,.7);opacity:0;transition:opacity .2s;backdrop-filter:blur(3px)}
.cart-backdrop.open{opacity:1}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;left:auto;inset:0 0 0 auto;z-index:120;display:flex;flex-direction:column;width:100%;max-width:430px;width:min(100%,430px);padding:0;border-left:1px solid var(--line);background:#071022;color:#fff;box-shadow:-24px 0 70px rgba(0,0,0,.45);transform:translateX(100%);visibility:hidden;transition:transform .22s,visibility .22s}
.cart-drawer.open{transform:translateX(0);visibility:visible}
.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--line)}
.cart-drawer-head h2{margin:.15rem 0 0;font-size:1.35rem}
.cart-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.cart-drawer-items{display:grid;gap:.85rem;padding:1rem;overflow-y:auto}
.cart-empty{display:grid;gap:.45rem;margin:auto;padding:2rem;text-align:center}
.cart-empty-reminder{max-width:460px;border:1px dashed rgba(251,191,36,.55);border-radius:12px;background:rgba(251,191,36,.08)}
.cart-reminder-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0 auto .25rem;border-radius:50%;background:var(--amber);color:#1f2937;font-weight:800}
.cart-drawer-footer{display:grid;gap:.85rem;margin-top:auto;padding:1.1rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0b1224}
.cart-drawer-footer small{text-align:center}
.cart-subtotal-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:1rem}
.cart-subtotal-row strong{font-size:1.35rem;color:var(--violet-2)}
.cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035)}
.cart-item-image{width:64px;height:64px;border-radius:9px;object-fit:cover;background:#0f172a}
.cart-item-content{min-width:0;display:grid;gap:.2rem}
.cart-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.cart-item-duration{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}
.cart-item-controls{display:flex;align-items:center;gap:.65rem;margin-top:.35rem}
.cart-quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cart-quantity button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;background:rgba(255,255,255,.06);color:inherit;font-size:1rem;cursor:pointer}
.cart-quantity button:hover{background:rgba(139,92,246,.2)}
.cart-quantity span{min-width:28px;text-align:center;font-size:.8rem;font-weight:700}
.cart-remove{padding:0;border:0;background:transparent;color:#fca5a5;font:inherit;font-size:.72rem;cursor:pointer}
.cart-item-total{font-size:.85rem;color:var(--violet-2);white-space:nowrap}

.cart-page{padding:3.5rem 0 5rem}
.cart-page-head{max-width:720px;margin:0 auto 2.25rem;text-align:center}
.cart-page-head h1{margin:.75rem 0;font-size:clamp(2.2rem,6vw,3.5rem)}
.cart-layout{display:grid;gap:1.25rem;align-items:start}
.cart-panel{padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.cart-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.cart-panel-head h2{font-size:1.3rem}
.cart-page-items{display:grid;gap:.85rem}
.cart-item-page{grid-template-columns:72px minmax(0,1fr) auto;padding:1rem}
.cart-item-page .cart-item-image{width:72px;height:72px}
.cart-summary-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.cart-summary-total strong{font-size:1.55rem;color:var(--violet-2)}
.checkout-form{display:grid;gap:1rem}
.checkout-form label{display:grid;gap:.4rem;color:var(--muted);font-size:.85rem;font-weight:600}
.checkout-form input{width:100%;min-height:48px;padding:.75rem .85rem;border:1px solid var(--line);border-radius:9px;background:#0f172a;color:#fff;font:inherit}
.checkout-form input:focus{outline:2px solid var(--violet);border-color:var(--violet)}
.checkout-form input.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.field-error{min-height:1.1em;color:#fca5a5;font-size:.75rem;font-weight:500}
.checkout-note{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:9px;background:rgba(139,92,246,.08);color:var(--muted);font-size:.78rem}
.checkout-errors{padding:1rem;border:1px solid rgba(239,68,68,.35);border-radius:10px;background:rgba(239,68,68,.1);color:#fca5a5}
.checkout-errors strong{display:block;margin-bottom:.35rem}
.checkout-errors ul{margin:.25rem 0 0;padding-left:1.2rem}
.checkout-client-errors{margin:0}
.checkout-empty-reminder{display:grid;gap:.35rem;padding:1rem;border:1px dashed rgba(251,191,36,.55);border-radius:10px;background:rgba(251,191,36,.08);color:var(--muted)}
.checkout-empty-reminder strong{color:var(--text)}
.order-success{max-width:720px;margin:4rem auto;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:center}
.order-success h1{margin:.75rem 0}
.order-success .btn{margin-top:1.25rem}
.order-reference{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0 .55rem;padding:1rem;border:1px solid rgba(139,92,246,.4);border-radius:12px;background:rgba(139,92,246,.09);text-align:left}
.order-reference-value{display:grid;gap:.2rem;min-width:0}
.order-reference-value span{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.order-reference-value code{overflow-wrap:anywhere;color:var(--violet-2);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:clamp(.95rem,4vw,1.15rem);font-weight:800}
.order-copy-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;flex-shrink:0;min-height:42px;padding:.55rem .8rem;border:1px solid rgba(167,139,250,.5);border-radius:9px;background:rgba(139,92,246,.14);color:#ddd6fe;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.order-copy-button:hover{border-color:var(--violet-2);background:rgba(139,92,246,.25);color:#fff}
.order-copy-button.is-copied{border-color:rgba(37,211,102,.65);background:rgba(37,211,102,.14);color:#86efac}
.order-copy-button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.order-reference-note{margin:0 0 1rem;font-size:.78rem}
@media(max-width:767px){
  .theme-toggle{width:36px;padding:.4rem}
  .theme-toggle #themeToggleText{display:none}
  .cart-toggle{width:36px;padding:.4rem}
  .cart-toggle-label{display:none}
  .cart-count{position:absolute;top:-6px;right:-6px}
}
@media(max-width:430px){
  .cart-item{grid-template-columns:56px minmax(0,1fr)}
  .cart-item-image{width:56px;height:56px}
  .cart-item-total{grid-column:2;text-align:right}
}
@media(min-width:768px) and (max-width:1020px){
  .nav-desktop{gap:1rem}
  .nav-cta{display:none}
  .theme-toggle{width:36px;padding:.4rem}
  .theme-toggle #themeToggleText{display:none}
  .cart-toggle{width:36px;padding:.4rem}
  .cart-toggle-label{display:none}
  .cart-count{position:absolute;top:-6px;right:-6px}
}
@media(min-width:900px){
  .cart-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}
  .checkout-panel{position:sticky;top:92px}
}

/* ===================== PUBLIC LIGHT THEME ===================== */
.public-body{
  --bg:#fff;
  --bg-2:#fff;
  --card:#fff;
  --line:#e4dcf4;
  --text:#20172f;
  --muted:#6f687a;
  --violet:#7c3aed;
  --violet-2:#6d28d9;
  background:#fff;
  color:var(--text);
}
.public-body .section-alt{background:#fff}
.public-body .btn-primary{background:linear-gradient(135deg,#7c3aed,#9333ea);box-shadow:0 8px 20px rgba(124,58,237,.2)}
.public-body .btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#7e22ce);transform:translateY(-1px)}
.public-body .btn-outline{background:#fff;color:#6d28d9;border-color:#cbb8ee}
.public-body .btn-outline:hover{background:#f4efff;border-color:#8b5cf6}
.public-body .logo{padding:.3rem .15rem;border-color:transparent;background:transparent;box-shadow:none}
.public-body .site-logo-image{filter:brightness(0) saturate(100%);opacity:.88}
.public-body .site-header{border-bottom-color:#e9e1f5;background:rgba(255,255,255,.9);box-shadow:0 4px 24px rgba(76,29,149,.06)}
.public-body .nav-desktop a{color:#625a6e}
.public-body .nav-desktop a:hover,.public-body .nav-desktop a.active{color:#6d28d9}
.public-body .nav-toggle{border-color:#d9ccec;background:#fff;color:#5b21b6}
.public-body .theme-toggle{border-color:#d9ccec;background:#fff;color:#5b21b6}
.public-body .theme-toggle:hover{border-color:#8b5cf6;background:#fff;color:#6d28d9}
.public-body .theme-toggle-swatch{background:#2e1065;box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.public-body .cart-toggle{border-color:#d9ccec;background:#fff;color:#5b21b6}
.public-body .cart-toggle:hover{border-color:#8b5cf6;background:#fff;color:#6d28d9}
.public-body .nav-mobile{border-top-color:#e9e1f5;background:#fff}
.public-body .nav-mobile a:hover{background:#fff}
.public-body .nav-mobile a.active{background:#fff;color:#6d28d9}
.public-body .hero{background:#fff}
.public-body .hero-bg{background:none}
.public-body .grad-text{background:linear-gradient(90deg,#6d28d9,#a21caf,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}
.public-body .hero-sub{color:#625a6e}
.public-body .feature-card{border-color:#e4d8f7;background:#fff;box-shadow:0 12px 32px rgba(76,29,149,.07)}
.public-body .feature-card .ico{color:#7c3aed}
.public-body .page-hero{background:#fff}
.public-body .cta-panel{border-color:#dcd0f0;background:#fff;box-shadow:0 16px 38px rgba(76,29,149,.07)}
.public-body .empty-state{background:#fff;box-shadow:0 10px 30px rgba(76,29,149,.06)}
.public-body .badge-violet{border-color:#cdbcf0;background:#f0e9ff;color:#6d28d9}
.public-body .product-card{border-color:#e4dcf0;background:#fff;box-shadow:0 10px 28px rgba(76,29,149,.07)}
.public-body .product-card:hover{box-shadow:0 18px 45px rgba(76,29,149,.14)}
.public-body .product-image-wrap{background:#fff}
.public-body .product-title{color:#251a34}
.public-body .price{color:#6d28d9}
.public-body .price-old{color:#8a8294}
.public-body .category-card{border-color:#e4dcf0;background:#fff;box-shadow:0 10px 28px rgba(76,29,149,.07)}
.public-body .category-card:hover{box-shadow:0 18px 45px rgba(76,29,149,.14)}
.public-body .category-logo{border-color:#efe7fb;background:linear-gradient(135deg,var(--category-accent),#f7f2ff)}
.public-body .category-icon{background:rgba(255,255,255,.8);color:#301147}
.public-body .category-count{border-color:#ded4ed;color:#6f687a;background:#fff}
.public-body .category-card-body h3{color:#251a34}
.public-body .see-all-card{border-color:#cbb8ee;background:#fff;color:#6d28d9;box-shadow:0 10px 28px rgba(76,29,149,.07)}
.public-body .see-all-card:hover{border-color:#8b5cf6;background:#f8f5ff}
.public-body .see-all-card strong{color:#251a34}
.public-body .see-all-card span:last-child{color:#6f687a}
.public-body .product-modal{border-color:#ddd2ed;background:#fff;color:#241a32;box-shadow:0 30px 100px rgba(42,20,69,.28)}
.public-body .product-modal::backdrop{background:rgba(43,27,59,.52)}
.public-body .product-modal-close{border-color:#d9cdec;background:rgba(255,255,255,.94);color:#5b21b6;box-shadow:0 5px 16px rgba(42,20,69,.12)}
.public-body .product-modal-close:hover{background:#fff}
.public-body .product-modal-visual{background:#fff}
.public-body .product-modal-kicker{color:#7c3aed}
.public-body .product-modal-description{color:#4d4657}
.public-body .product-modal-assurances span{border-color:#e4dcf0;background:#fff;color:#5f576a}
.public-body .review-card{border-color:#e4dcf0;background:#fff;box-shadow:0 10px 30px rgba(76,29,149,.06)}
.public-body .review-card p{color:#423a4d}
.public-body .about-img img{border-color:#ded3ee;box-shadow:0 18px 42px rgba(76,29,149,.12)}
.public-body .stat-bubble{border-color:#d8c9ed;background:#fff;box-shadow:0 16px 36px rgba(76,29,149,.16)}
.public-body .stat-value{color:#6d28d9}
.public-body .checks li{color:#43394f}
.public-body .contact-card{border-color:#ded4ed;background:#fff;box-shadow:0 10px 30px rgba(76,29,149,.06)}
.public-body .contact-card:hover{border-color:#a78bfa;background:#fff}
.public-body .contact-card.whatsapp{background:#fff}
.public-body .contact-icon.mail{background:#eee6ff;color:#6d28d9}
.public-body .social-btn{border-color:#ded4ed;background:#fff}
.public-body .social-btn:hover{border-color:#a78bfa;background:#fff}
.public-body .faq-intro,.public-body .faq-item{border-color:#e4dcf0;background:#fff;box-shadow:0 10px 30px rgba(76,29,149,.06)}
.public-body .faq-item summary::after{background:#eee6ff;color:#6d28d9}
.public-body .faq-item[open] summary::after{background:#7c3aed;color:#fff}
.public-body .faq-contact{color:#6d28d9}
.public-body .faq-contact:hover{color:#4c1d95}
.public-body .site-footer{border-top-color:#e1d7f0;background:#fff}
.public-body .footer-title{color:#362743}
.public-body .footer-list a:hover{color:#6d28d9}
.public-body .footer-payments{border-top-color:#ddd2ec}
.public-body .footer-bottom{border-top-color:#ddd2ec;color:#766d80}
.public-body .cart-drawer{border-left-color:#ddd2ec;background:#fff;color:#241a32;box-shadow:-24px 0 70px rgba(42,20,69,.22)}
.public-body .cart-drawer-close{border-color:#d9cdec;background:#fff;color:#5b21b6}
.public-body .cart-drawer-footer{border-top-color:#ddd2ec;background:#fff}
.public-body .cart-item{border-color:#e4dcf0;background:#fff;box-shadow:0 5px 18px rgba(76,29,149,.05)}
.public-body .cart-item-image{background:#fff}
.public-body .cart-quantity{border-color:#d9cdec}
.public-body .cart-quantity button{background:#fff;color:#5b21b6}
.public-body .cart-quantity button:hover{background:#f4efff}
.public-body .cart-remove{color:#dc2626}
.public-body .cart-panel{border-color:#e4dcf0;background:#fff;box-shadow:0 12px 32px rgba(76,29,149,.06)}
.public-body .checkout-form input{border-color:#d9cdec;background:#fff;color:#241a32}
.public-body .checkout-form input.is-invalid{border-color:#dc2626}
.public-body .field-error{color:#b91c1c}
.public-body .checkout-note{border-color:#d9cdec;background:#fff}
.public-body .checkout-errors{color:#b91c1c}
.public-body .cart-empty-reminder,.public-body .checkout-empty-reminder{background:#fff}
.public-body .order-success{border-color:#e4dcf0;background:#fff;box-shadow:0 18px 45px rgba(76,29,149,.1)}
.public-body .order-reference{border-color:#d8c8ef;background:#fff}
.public-body .order-copy-button{border-color:#cbb8ee;background:#fff;color:#6d28d9}
.public-body .order-copy-button:hover{border-color:#8b5cf6;background:#f4efff;color:#5b21b6}
.public-body .order-copy-button.is-copied{border-color:#86efac;background:#f0fdf4;color:#15803d}

/* ===================== ADMIN ===================== */
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(ellipse at top,rgba(139,92,246,.15),transparent 60%) var(--bg)}
.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;max-width:420px;width:100%}
.auth-card h2{margin:1rem 0;font-size:1.25rem}
.auth-card form{display:grid;gap:1rem;margin-top:1.5rem}
.auth-card label{display:grid;gap:.4rem;font-size:.875rem;color:var(--muted)}
.auth-card input,.auth-card select,.auth-card textarea,
.admin-form input,.admin-form select,.admin-form textarea{
  width:100%;min-height:44px;padding:.65rem .8rem;background:#0f172a;border:1px solid var(--line);border-radius:8px;color:#fff;font-size:1rem;font-family:inherit
}
.auth-card input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:2px solid var(--violet);outline-offset:0;border-color:var(--violet)}
.alert{padding:.85rem 1rem;border-radius:10px;margin:1rem 0;font-size:.9rem}
.alert-error{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}
.alert-success{background:rgba(34,197,94,.15);color:#86efac;border:1px solid rgba(34,197,94,.3)}

/* Admin shell */
.admin-body{background:radial-gradient(circle at top right,rgba(139,92,246,.08),transparent 28rem) var(--bg)}
body.admin-nav-open{overflow:hidden}
.admin-shell{min-height:100vh}
.admin-sidebar-overlay{position:fixed;inset:0;z-index:70;border:0;background:rgba(2,6,23,.72);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .2s,visibility .2s}
.admin-shell.sidebar-open .admin-sidebar-overlay{opacity:1;visibility:visible}
.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:80;width:min(82vw,280px);padding:1rem;background:#0b1224;border-right:1px solid var(--line);box-shadow:20px 0 50px rgba(0,0,0,.35);transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility .2s;overflow-y:auto}
.admin-shell.sidebar-open .admin-sidebar{transform:translateX(0);visibility:visible}
.admin-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.admin-sidebar .site-logo-image{width:150px}
.admin-sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.admin-nav{display:flex;flex-direction:column;gap:.25rem}
.admin-nav a{padding:.8rem .85rem;border-radius:8px;color:#cbd5e1;font-size:.95rem}
.admin-nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.admin-nav a.active{background:rgba(139,92,246,.15);color:#fff}
.admin-signout{margin-top:1rem;color:#f87171 !important}
.admin-main{min-width:0;padding:1rem 1rem calc(5.25rem + env(safe-area-inset-bottom))}
.admin-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-1rem -1rem 1rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:rgba(2,6,23,.88);backdrop-filter:blur(12px)}
.admin-topbar-main{display:flex;align-items:center;gap:.75rem;min-width:0}
.admin-topbar h1{font-size:1.35rem}
.admin-user{max-width:35vw;padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;color:#cbd5e1;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-user span{display:none}
#sidebarToggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:#fff;font-size:1.1rem;cursor:pointer}
.admin-mobile-nav{position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:repeat(6,1fr);padding:0 .35rem env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(11,18,36,.96);backdrop-filter:blur(12px)}
.admin-mobile-nav a{padding:.85rem .1rem .75rem;color:var(--muted);font-size:.66rem;font-weight:600;text-align:center}
.admin-mobile-nav a.active{color:#fff;background:rgba(139,92,246,.12)}

/* Admin cards */
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.stat-card{min-width:0;padding:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.stat-card .label{color:var(--muted);font-size:.78rem}
.stat-card .value{font-size:clamp(1.45rem,8vw,2rem);font-weight:700;margin-top:.25rem;color:#fff;overflow-wrap:anywhere}
.stat-card .delta{font-size:.8rem;color:var(--violet-2);margin-top:.25rem}

.admin-card{padding:1rem;margin-bottom:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.admin-card h2{font-size:1.1rem;margin-bottom:1rem}
.admin-toolbar{display:grid;gap:.75rem;margin-bottom:1rem}
.admin-toolbar h2{margin:0}
.admin-toolbar .btn{width:100%}
.admin-toolbar-actions{display:grid;gap:.5rem}

.table-wrap{overflow:visible}
.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}
.admin-table thead{display:none}
.admin-table tbody{display:grid;gap:.75rem}
.admin-table tr{display:block;padding:.25rem .75rem;border:1px solid var(--line);border-radius:10px;background:rgba(15,23,42,.55)}
.admin-table td{display:grid;grid-template-columns:minmax(5.5rem,35%) minmax(0,1fr);gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}
.admin-table td::before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.admin-table td:last-child{border-bottom:0}
.admin-table td.table-empty{display:block;color:var(--muted)}
.admin-table td.table-empty::before{content:none}
.admin-table th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.admin-table img.thumb{width:48px;height:48px;border-radius:8px;object-fit:cover}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.row-actions .btn{padding:.4rem .75rem;font-size:.8rem}
.admin-inline-form{display:inline}
.admin-inline-edit{display:grid;gap:.45rem;min-width:min(100%,320px)}
.admin-inline-edit input[type="text"],.admin-inline-edit input[type="password"]{width:100%;min-height:38px;padding:.5rem .65rem;border:1px solid var(--line);border-radius:8px;background:#0f172a;color:#fff;font:inherit;font-size:.85rem}
.admin-truncate{max-width:480px;overflow:hidden;text-overflow:ellipsis}
.is-highlighted-row{outline:1px solid rgba(139,92,246,.55);outline-offset:-1px}
.old-price{text-decoration:line-through}
.description-ready{color:#86efac}
.description-missing{color:#fbbf24}
.profit-positive{color:#86efac}
.profit-negative{color:#fca5a5}
.report-controls-card .admin-toolbar{align-items:start}
.report-range-label{margin:.25rem 0 0;font-size:.85rem}
.report-filter-form{display:grid;gap:.75rem}
.report-filter-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}
.report-filter-form input,.report-filter-form select{width:100%;min-height:42px;padding:.58rem .7rem;border:1px solid var(--line);border-radius:8px;background:#0f172a;color:#fff;font:inherit;font-size:.9rem}
.report-filter-form input:focus,.report-filter-form select:focus{outline:2px solid var(--violet);border-color:var(--violet)}
.report-filter-form input:disabled{opacity:.55}
.report-filter-actions{display:grid;gap:.5rem;align-self:end}

.admin-form{display:grid;gap:1rem;max-width:680px}
.admin-form label{display:grid;gap:.35rem;font-size:.875rem;color:var(--muted)}
.form-help{color:#64748b;font-size:.78rem;line-height:1.45}
.admin-form textarea{resize:vertical}
.admin-form input[type="checkbox"]{width:auto;min-height:0}
.admin-form input[type="color"]{width:64px;padding:.3rem}
.admin-form .row-2{display:grid;gap:1rem}
.admin-form .form-actions{display:grid;gap:.5rem;margin-top:.5rem}
.admin-form .form-actions .btn{width:100%}
.control-check{display:flex !important;flex-direction:row;align-items:center;gap:.5rem}
.product-preview{max-width:200px;margin-top:.5rem;border-radius:8px}
.admin-category-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:var(--category-accent,#8b5cf6);color:#fff;font-size:.78rem;font-weight:800}
.category-product-picker-wrap{display:grid;gap:.7rem}
.category-product-picker{display:grid;gap:.55rem;max-height:420px;overflow-y:auto;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:rgba(15,23,42,.35)}
.category-product-option{display:grid !important;grid-template-columns:auto 44px minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem;border:1px solid transparent;border-radius:9px;color:#fff;cursor:pointer}
.category-product-option:hover{border-color:rgba(167,139,250,.55);background:rgba(139,92,246,.12)}
.category-product-option input{margin:0}
.category-product-option img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#111827}
.category-product-option span{display:grid;gap:.1rem;min-width:0}
.category-product-option strong,.category-product-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-product-option small{color:var(--muted)}

/* Bar chart */
.bar-chart{display:flex;align-items:flex-end;gap:4px;height:160px;padding:1rem 0;border-bottom:1px solid var(--line)}
.bar-chart .bar{flex:1;background:linear-gradient(180deg,var(--violet),var(--fuchsia));border-radius:4px 4px 0 0;min-height:2px;position:relative}
.bar-chart .bar:hover::after{content:attr(data-value) ' on ' attr(data-label);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#000;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;white-space:nowrap}
.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;padding-top:.25rem}

/* Admin POS */
.pos-register{display:grid;gap:1rem;align-items:start}
.pos-panel-head{display:grid;gap:.75rem;margin-bottom:1rem}
.pos-panel-head h2,.pos-customer-head h3{margin:0}
.pos-panel-head p{margin:.25rem 0 0}
.pos-search,.pos-search-form input,.pos-search-form select{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:9px;background:#0f172a;color:#fff;font:inherit}
.pos-search:focus,.pos-search-form input:focus,.pos-search-form select:focus{outline:2px solid var(--violet);border-color:var(--violet)}
.pos-product-list{display:grid;gap:.65rem}
.pos-product-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;min-height:74px;padding:.65rem;border:1px solid var(--line);border-radius:10px;background:rgba(15,23,42,.56);color:#fff;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.pos-product-row:hover,.pos-product-row.is-added{border-color:rgba(167,139,250,.75);background:rgba(139,92,246,.13)}
.pos-product-row:active{transform:scale(.99)}
.pos-product-row.is-inactive{opacity:.62}
.pos-product-row img{width:54px;height:54px;border-radius:8px;object-fit:cover;background:#111827}
.pos-product-main{display:grid;gap:.1rem;min-width:0}
.pos-product-main strong,.pos-cart-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-product-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.pos-product-main em{color:#fbbf24;font-size:.72rem;font-style:normal}
.pos-product-price{display:grid;gap:.1rem;text-align:right;white-space:nowrap}
.pos-product-price strong{color:#c4b5fd}
.pos-product-price small{color:var(--muted);font-size:.72rem}
.pos-cart-panel{display:grid;gap:1rem}
.pos-cart-panel h2{margin-bottom:0}
.pos-cart-items{display:grid;gap:.6rem}
.pos-cart-empty{padding:1rem;border:1px dashed rgba(148,163,184,.35);border-radius:10px;color:var(--muted);text-align:center}
.pos-cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035)}
.pos-cart-row-main{display:grid;gap:.2rem;min-width:0}
.pos-cart-controls{display:flex;align-items:center;gap:.45rem;margin-top:.35rem}
.pos-cart-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 .45rem;border:1px solid var(--line);border-radius:8px;background:#0f172a;color:#fff;font:inherit;cursor:pointer}
.pos-cart-controls button:hover{border-color:rgba(167,139,250,.6);background:rgba(139,92,246,.16)}
.pos-cart-controls span{min-width:1.4rem;text-align:center;font-weight:700}
.pos-cart-remove{color:#fca5a5 !important}
.pos-cart-line-total{color:#c4b5fd;white-space:nowrap}
.pos-cart-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.pos-cart-total strong{font-size:1.5rem;color:#c4b5fd}
.pos-customer-box{display:grid;gap:.75rem;padding-top:1rem;border-top:1px solid var(--line)}
.pos-customer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.pos-customer-head .btn{padding:.5rem .65rem;font-size:.78rem}
.pos-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}
.pos-search-form-wide{margin-bottom:1rem}
.pos-search-form-wide{grid-template-columns:minmax(0,1fr)}
.pos-customer-list{display:grid;gap:.5rem;max-height:330px;overflow-y:auto;padding-right:.2rem}
.pos-customer-card{display:grid;gap:.15rem;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:rgba(15,23,42,.5);color:#fff;text-align:left;cursor:pointer}
.pos-customer-card:hover,.pos-customer-card.is-selected{border-color:rgba(34,197,94,.7);background:rgba(34,197,94,.1)}
.pos-customer-card span,.pos-customer-card small{color:var(--muted);overflow-wrap:anywhere}
.pos-checkout-form{display:grid;gap:.75rem}
.pos-success h2,.pos-confirm h2{margin:.6rem 0 1rem}
.pos-success-grid{display:grid;gap:.75rem;margin:1rem 0}
.pos-success-grid>div{display:grid;gap:.15rem;padding:.85rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035)}
.pos-success-grid span{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.pos-success-grid strong{font-size:1.05rem}
.pos-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}
.pos-actions form{display:flex;flex-wrap:wrap;gap:.5rem}
.pos-actions input[type="text"]{min-height:40px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#0f172a;color:#fff;font:inherit}
.pos-profit-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));align-items:end;gap:.5rem;min-height:190px;padding-top:.75rem}
.pos-profit-bar{display:grid;align-items:end;gap:.45rem;min-width:0;height:180px;text-align:center}
.pos-profit-bar span{display:block;width:100%;max-width:42px;margin:0 auto;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#22c55e,#14b8a6)}
.pos-profit-bar.is-negative span{background:linear-gradient(180deg,#ef4444,#f97316)}
.pos-profit-bar small{color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(min-width:480px){
  .auth-card{padding:2rem}
  .admin-toolbar{display:flex;align-items:center;justify-content:space-between}
  .admin-toolbar .btn{width:auto}
  .admin-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}
  .admin-form .form-actions{display:flex}
  .admin-form .form-actions .btn{width:auto}
  .pos-search-form-wide{grid-template-columns:minmax(0,1fr) 160px auto}
  .pos-success-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .report-filter-actions{display:flex}
}

@media(min-width:640px){
  .admin-main{padding:1.5rem 1.5rem calc(5.75rem + env(safe-area-inset-bottom))}
  .admin-topbar{margin:-1.5rem -1.5rem 1.5rem;padding:1rem 1.5rem}
  .admin-topbar h1{font-size:1.5rem}
  .admin-user{max-width:none;font-size:.8rem}
  .admin-user span{display:inline}
  .stats-grid{gap:1rem;margin-bottom:1.5rem}
  .admin-card{padding:1.5rem;margin-bottom:1.5rem}
  .admin-form .row-2{grid-template-columns:1fr 1fr}
  .pos-panel-head{grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:end}
  .report-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(min-width:768px){
  .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .table-wrap{overflow-x:auto}
  .admin-table{border-collapse:collapse}
  .admin-table-wide{min-width:980px}
  .admin-table thead{display:table-header-group}
  .admin-table tbody{display:table-row-group}
  .admin-table tr{display:table-row;padding:0;border:0;background:transparent}
  .admin-table th,.admin-table td{display:table-cell;padding:.65rem .75rem;border-bottom:1px solid var(--line)}
  .admin-table td::before{content:none}
  .admin-table tr:last-child td{border-bottom:0}
  .admin-inline-edit{min-width:340px}
  .report-filter-form{grid-template-columns:minmax(150px,.8fr) 150px 150px minmax(190px,1fr) 160px auto}
}

@media(min-width:1024px){
  body.admin-nav-open{overflow:auto}
  .admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr)}
  .admin-sidebar-overlay,.admin-sidebar-close,.admin-mobile-nav,#sidebarToggle{display:none}
  .admin-sidebar{position:sticky;top:0;z-index:1;width:auto;height:100vh;padding:1.5rem 1rem;box-shadow:none;transform:none;visibility:visible}
  .admin-sidebar-head{margin-bottom:2rem}
  .admin-main{padding:2rem}
  .admin-topbar{margin:-2rem -2rem 2rem;padding:1.25rem 2rem}
  .pos-register{grid-template-columns:minmax(0,1fr) minmax(340px,420px)}
  .pos-cart-panel{position:sticky;top:96px}
}
