@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;650;700;750;800&family=DM+Sans:wght@500;600;700;800&display=swap');
:root{
 --ink:#2f2141;--muted:#766c86;--line:#e7ddf4;
 --rose:#9360c9;--deep:#6e3da1;--blush:#f1e7ff;--cream:#fcfaff;
 --sand:#f5efff;--white:#fff;--green:#346c64;
 --radius:24px;--shadow:0 24px 65px rgba(72,37,107,.11);
}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:radial-gradient(circle at 86% 4%,#f7edff 0,transparent 30%),linear-gradient(175deg,#fcfaff,#fff 56%,#fbf7ff);font-family:'Plus Jakarta Sans','DM Sans',sans-serif;font-weight:550;color:var(--ink);overflow-x:clip}
h1,h2,h3,h4,.brand{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;letter-spacing:-.052em}
h1,h2,h3{font-weight:800}
h1{line-height:1.075}h2{line-height:1.18}p{line-height:1.75}
.announce{background:linear-gradient(94deg,#4d2775 0%,#7e4cb7 44%,#b27ed6 74%,#7845b5 100%);font-weight:750;letter-spacing:.18em;font-size:10px;min-height:29px}
.nav{background:rgba(255,252,255,.89);border-bottom:1px solid #e9dcf350;box-shadow:0 9px 38px #46315d09;backdrop-filter:blur(14px)}
.navinner{min-height:79px}.brand img{filter:drop-shadow(0 4px 4px rgba(86,52,112,.05))}
.navlinks a{font-weight:800;color:#493b5c;transition:color .2s ease}.navlinks a:hover,.navlinks a.active{color:var(--deep)}
.iconbtn{color:#5e3b85;background:#f7f0ff80;font-size:23px;transition:transform .18s ease,background .18s ease}
.iconbtn:hover{transform:translateY(-1px);background:#e9d6ff}
.mobile-nav{background:#fffcff;box-shadow:0 18px 40px #49316c22}
.eyebrow{font-weight:800;letter-spacing:.19em;color:#8550b8;font-size:11px}
.btn{font-weight:800;letter-spacing:-.01em;border-radius:100px;min-height:46px;box-shadow:none;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.btn.dark,.btn.rose{background:linear-gradient(115deg,#59368e,#8755c7 63%,#a175d6);border:1px solid #8654c6;color:#fff;box-shadow:0 11px 26px #7143a529}
.btn.dark:hover,.btn.rose:hover{background:linear-gradient(115deg,#493078,#7343b1 66%,#9866cb);box-shadow:0 14px 32px #643c9c3e}
.btn.soft{color:#644092;background:linear-gradient(120deg,#f0e6ff,#f8f1ff);border-color:#e1cafd}
.btn.line{color:#684097;background:rgba(255,255,255,.65);border-color:#a77bd5}
.btn.white{color:#513475;background:#fff;box-shadow:0 7px 22px #8862bd1c}
.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a975e8;outline-offset:3px}
.hero{isolation:isolate;overflow:hidden;min-height:640px;background:radial-gradient(ellipse at 9% 18%,#fff 0%,#fff7ff 25%,transparent 53%),radial-gradient(ellipse at 72% 15%,#d7bef5 0%,transparent 47%),linear-gradient(135deg,#f2e5ff 0%,#f8edff 40%,#e6ceff 100%)}
.hero::before{content:"";position:absolute;width:48vw;height:48vw;max-width:780px;max-height:780px;border-radius:50%;right:-13vw;top:-25vw;background:radial-gradient(circle,#e7ccff99,transparent 68%);pointer-events:none;z-index:0}
.hero::after{content:"";position:absolute;width:24vw;height:24vw;max-width:400px;max-height:400px;border-radius:50%;left:-9vw;bottom:-13vw;border:1px solid #cfaef57a;pointer-events:none;z-index:0}
.hero-grid{min-height:640px;grid-template-columns:51% 49%}.hero-copy{padding:68px 0 84px}
.hero h1{font-size:clamp(3.1rem,5.8vw,6rem);letter-spacing:-.065em;max-width:740px;color:#35214b}
.hero h1 em{font-style:normal;color:#8652c0;background:linear-gradient(105deg,#6a34a4,#9c58bb,#ce77b3);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .subhead{font-size:16px;font-weight:550;line-height:1.85;color:#5f516d;max-width:505px}
.hero-visual{isolation:isolate;min-width:0}
.hero-photo{width:calc(100% + 30vw);height:100%;max-width:none;object-fit:cover;object-position:24% center;clip-path:inset(0 round 240px 0 0 240px);border-radius:0;filter:saturate(.87) hue-rotate(6deg)}
.hero-orbit{left:-28px;bottom:62px;background:rgba(255,251,255,.92);border:1px solid #ffffffc9;box-shadow:0 25px 72px #51307424;border-radius:27px;backdrop-filter:blur(15px)}
.hero-orbit b{color:#68439d;font-family:'Plus Jakarta Sans',sans-serif}
.hero .spark{color:#fff8ff;text-shadow:0 7px 25px #4f2f7d33;animation:none!important}
.hero-copy.fadein{animation:heroReveal .75s cubic-bezier(.15,.75,.2,1) both}
.hero-orbit{animation:badgeReveal 1.05s cubic-bezier(.16,.8,.2,1) both;animation-delay:.3s}
@keyframes heroReveal{from{opacity:.3;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes badgeReveal{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.features{background:#fff;box-shadow:0 10px 26px #6b3c9b07;border-bottom:1px solid #f1e5fa}
.feature{border-color:#efe5f8}.feature .ficon{color:#8c57bd;font-size:26px}
.feature b{color:#483253;font-weight:800}.feature small{color:#7b6887}
.section{position:relative}.section-title h2{letter-spacing:-.055em}.section-title .subhead{color:var(--muted)}
.text-link{font-weight:800;color:#7642af}
.curation{box-shadow:0 22px 55px #402b5213;border:1px solid #fff6;border-radius:24px;transition:transform .35s ease,box-shadow .35s ease;overflow:hidden}
.curation:hover{transform:translateY(-4px);box-shadow:0 26px 60px #53377327}
.product-card{transition:transform .25s ease}.product-card:hover{transform:translateY(-2px)}
.product-img{background:linear-gradient(145deg,#f0e6fa,#f7edff);border-radius:21px;border:1px solid #e6ddf02b;box-shadow:0 11px 27px #4b2b5d12;isolation:isolate}
.product-img img{transition:transform .55s cubic-bezier(.18,.66,.32,1)}
.product-card .category{color:#8855b5;font-size:10px;font-weight:800}
.product-card h3{font-weight:800;color:#3b2c4c;letter-spacing:-.025em}
.product-card .subdesc{color:#80738c;font-weight:550}
.product-price{color:#57318b;font-weight:800}.product-price del{color:#a295ad}
.product-card .card-label{background:linear-gradient(110deg,#62389a,#a975d3);border-radius:20px;font-weight:800;color:#fff}
.editorial-photo{box-shadow:0 25px 70px #6d4d8d22;border:9px solid #ffffffa8}
.editorial-points b{background:#efe2ff;color:#7446a1}
.academy-banner{background:linear-gradient(120deg,#e8d2ff,#e9e4ff 70%);box-shadow:0 24px 70px #6f4a9524}
.academy-banner .banner-copy{background:radial-gradient(ellipse at 20% 20%,#fff9ff90,transparent 64%)}
.foot{background:radial-gradient(circle at 75% 15%,#56317c 0%,transparent 40%),linear-gradient(135deg,#291b3b,#39204f 67%,#402257);color:#fff;padding-top:77px}
.foot a:not(.brand){color:#ded0eb}.foot p{color:#d5c3e3}.foot-bottom{color:#bbabd0;border-color:#8067975b}
.page-heading{background:radial-gradient(ellipse at 70% 20%,#f5eaff,transparent 45%);border-radius:32px;padding-inline:clamp(18px,4vw,50px);margin-top:25px}
.page-heading h1{color:#352249}.page-heading p{color:#776988}
.searchfield,.field input,.field textarea,.field select,input,textarea,select{border-color:#e1d5ee;outline-color:#ab7bdf;color:#3d2b53}
.searchfield:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:#9a6bd2;box-shadow:0 0 0 4px #dfc9f55e}
.chip{border-color:#e5d6f4!important;background:#fff;color:#654b81;font-weight:750}
.chip.active{background:linear-gradient(110deg,#664099,#9a69c8)!important;color:white!important;border-color:transparent!important}
.panel,.account-order,.stat,.order-box{border-color:#eadff3!important;background:linear-gradient(165deg,#ffffff,#fffcff)!important;box-shadow:0 15px 38px #5e398114}
.panel{border-radius:24px}.stat{border-radius:19px}.stat strong{color:#683b9a;font-weight:800}
.auth-layout{box-shadow:0 23px 77px #47245f18;background:#fff}
.auth-art:after{background:linear-gradient(0deg,#3d1b60a3,transparent 67%)}
.auth-art blockquote{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800}
.auth-content{background:linear-gradient(165deg,#fff,#fefbff)}
.dash-tabs button{border-color:#e0d3ee;background:#fff;transition:background .2s,color .2s;font-weight:800}
.dash-tabs button.active{background:linear-gradient(115deg,#653a9e,#9c67cd);box-shadow:0 8px 22px #7444a33d}
.order-toast{position:fixed;bottom:24px;right:20px;z-index:120;max-width:min(420px,calc(100vw - 32px));padding:17px 22px;background:#4d2b7b;color:#fff;font-weight:800;border-radius:17px;box-shadow:0 16px 40px #34214f5a;opacity:0;pointer-events:none;transform:translateY(22px);transition:opacity .22s,transform .22s}
.order-toast.on{opacity:1;transform:translateY(0)}
.wa-btn{margin-top:12px;background:#eefaf2;color:#155a38;border:1px solid #c4e7d0;justify-content:center;min-height:48px}
.wa-btn:hover{background:#d7f1e2}
.skeleton{background:linear-gradient(110deg,#f4eaf9,#fff,#f4eaf9)}
.fadein{animation:heroReveal .55s cubic-bezier(.16,.8,.2,1) both}
@media(max-width:1080px){.hero h1{font-size:clamp(2.9rem,5.6vw,5rem)}}
@media(max-width:760px){
 .announce{font-size:9px;letter-spacing:.07em;padding:7px 10px}
 .navinner{min-height:66px}.mobile-nav{border-radius:0 0 21px 21px}
 .hero-grid{min-height:0}.hero-copy{padding:57px 0 44px}
 .hero h1{font-size:clamp(2.8rem,10.5vw,4.55rem)}.hero .subhead{font-size:15px;line-height:1.8}
 .hero-visual{height:340px;overflow:hidden}.hero-photo{width:100%;border-radius:190px 190px 0 0;clip-path:none;object-position:50% 44%}
 .hero::before{width:70vw;height:70vw;right:-30vw;top:-18vw}
 .hero-orbit{left:11px;bottom:14px;border-radius:15px;padding:12px 14px}
 .features{grid-template-columns:1fr}.feature{padding:15px 20px}
 .section{padding-top:64px;padding-bottom:64px}.section-title h2{font-size:clamp(2rem,8vw,2.65rem)}
 .product-card h3{font-size:14px}.product-card .subdesc{font-size:11px}
 .page-heading{margin-top:10px;padding:37px 17px 16px}.page-heading h1{font-size:2.6rem}
 .panel{border-radius:18px}.foot{padding-top:50px}.hero-actions .btn{font-size:12px}
 .order-toast{bottom:12px;right:12px}
}
@media(max-width:370px){.hero h1{font-size:2.55rem}.btn{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-copy.fadein,.hero-orbit,.fadein{animation:none!important;opacity:1!important;transform:none!important}.curation:hover,.product-card:hover,.btn:hover{transform:none!important}}

/* V8 — Mobile-first corrections. iOS Safari zoomed the page because form
   controls were 14px; the zoom made the header and content appear cropped. */
.auth-layout,.auth-content,.auth-art,.navinner,.navright,.dashboard,.panel,
.checkout-layout,.account-orders,.order-box,.order-tile {min-width:0;}
.auth-content h1,.page-heading h1,.dash-head h1 {overflow-wrap:break-word;}
@media (max-width:760px) {
 html,body{max-width:100%;overflow-x:clip;}
 .wrap{width:calc(100% - 32px);max-width:100%;}
 .navinner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
 .navright{gap:6px;flex-shrink:0;min-width:0;}
 .brand{min-width:0;max-width:100%;overflow:hidden;}
 .brand img{height:37px;max-width:min(149px,44vw);width:auto;object-fit:contain;}
 .iconbtn{width:42px;height:42px;flex-shrink:0;}
 .crumbs{overflow-wrap:anywhere;padding:15px 0;font-size:12px;}
 .dashboard{padding:20px 0 62px;}
 .auth-layout{display:flex;flex-direction:column;min-height:0;border-radius:21px!important;overflow:hidden;}
 .auth-art{height:160px;min-height:160px;max-height:160px;flex:0 0 160px;}
 .auth-art img{object-position:center 44%;}
 .auth-art blockquote{font-size:clamp(18px,5.4vw,22px);line-height:1.23;bottom:19px;left:22px;right:16px;max-width:300px;}
 .auth-content{padding:28px 20px 38px;min-width:0;display:block;}
 .auth-content .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:13px;}
 .auth-content h1{font-size:clamp(1.95rem,8.4vw,2.55rem);line-height:1.12;letter-spacing:-.057em;margin-bottom:16px;}
 .auth-content>.muted{font-size:14px;line-height:1.6;margin-bottom:19px;}
 .auth-content .form{gap:15px;}
 .auth-content .note{font-size:11px;line-height:1.5;}
 /* Text inputs must be >=16px: Safari otherwise auto-zooms on focus. */
 input:not([type=checkbox]):not([type=radio]),select,textarea,
 .field input,.field select,.field textarea,.searchfield{font-size:16px!important;}
 .field input,.field select{min-height:51px;}
 .btn{max-width:100%;}
 .admin-row,.order-box,.account-order,.panel{overflow-wrap:anywhere;}
 .order-box .line,.account-order .heading{min-width:0;flex-wrap:wrap;}
 .dash-tabs{max-width:100%;overscroll-behavior-inline:contain;}
 .row2,.row3,.two-col,.checkout-layout,.orders-admin{min-width:0;}
 .hero-photo{max-width:100%;}
}
@media(max-width:360px){
 .auth-content{padding-inline:16px;}
 .auth-content h1{font-size:1.95rem;}
 .navright{gap:2px;}
 .iconbtn{width:39px;height:39px;}
}

/* V9: perfil, desglose de compra y editor responsivo */
[hidden]{display:none!important}
.profile-avatar-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 20px}
.profile-avatar{width:85px;height:85px;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid #dfcef5;box-shadow:0 6px 18px rgba(90,45,125,.12)}
.profile-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#f6ecff,#d6b3ed);font-size:37px;color:#6a328f}
.price-breakdown{display:grid;gap:13px;margin-top:24px}.price-breakdown>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.price-breakdown .grand-total{border-top:1px solid #e9ddee;padding-top:18px;font-size:20px}.delivery-notice{background:linear-gradient(125deg,#f5ecff,#f4e8f5);border:1px solid #e2c5f2;border-radius:16px;padding:14px 16px;color:#4a2e62;font-size:14px;line-height:1.65;margin:17px 0}
.admin-row{min-width:0}.admin-row>div{min-width:0}.admin-row .row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.order-box{min-width:0}.dash-tabs{scrollbar-width:thin}.auth-content,.panel,.field{min-width:0}
@media(max-width:560px){.admin-row{gap:10px}.admin-row .row-actions{justify-content:flex-start}.profile-avatar{width:72px;height:72px}.checkout-summary{position:static}.price-breakdown .grand-total{font-size:18px}.dash-tabs{display:flex;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}}

/* V10 · Opciones de entrega: tamaño fijo de controles y tarjetas adaptables. */
#checkout, #checkout > *, .checkout-layout, .checkout-layout > *,
#checkoutForm, #checkoutForm > *, .checkout-layout .panel{min-width:0;max-width:100%}
#checkoutForm [hidden], #checkout [hidden]{display:none!important}
#checkoutForm .delivery-field{min-width:0;margin:0;padding:0;border:0;display:block}
#checkoutForm .delivery-field > legend{display:block;float:none;width:100%;padding:0;margin:0 0 12px;font-size:14px;font-weight:800;color:var(--ink);line-height:1.5}
#checkoutForm .delivery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
#checkoutForm label.delivery-option{box-sizing:border-box;display:flex;align-items:center;gap:13px;min-width:0;min-height:86px;width:100%;height:auto;margin:0;padding:15px 16px;border:1.5px solid #e5d6f2;border-radius:17px;background:#fff;cursor:pointer;text-align:left;line-height:1.3;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;overflow:visible}
#checkoutForm label.delivery-option:has(input:checked){background:#f7efff;border-color:#8e55bf;box-shadow:0 0 0 2px #935ccb18}
#checkoutForm label.delivery-option:focus-within{outline:2px solid #8c57bd;outline-offset:2px}
#checkoutForm label.delivery-option.delivery-disabled{opacity:.55;cursor:not-allowed}
#checkoutForm .delivery-option input[type="radio"]{box-sizing:border-box!important;display:block!important;position:static!important;visibility:visible!important;flex:0 0 21px!important;align-self:center;width:21px!important;max-width:21px!important;min-width:21px!important;height:21px!important;min-height:21px!important;max-height:21px!important;aspect-ratio:1!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%;box-shadow:none!important;appearance:auto!important;-webkit-appearance:radio!important;accent-color:#7744b0;transform:none!important}
#checkoutForm .delivery-option-copy{flex:1 1 auto;display:flex;flex-direction:column;gap:5px;min-width:0;width:auto;max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal}
#checkoutForm .delivery-option-copy strong{font-size:14px;font-weight:800;line-height:1.35;letter-spacing:-.015em;color:var(--ink)}
#checkoutForm .delivery-option-copy small{font-size:12px;font-weight:550;line-height:1.45;color:var(--muted)}
#checkoutForm .field input:not([type="radio"]):not([type="checkbox"]),#checkoutForm .field textarea,#checkoutForm .field select{min-width:0;max-width:100%;box-sizing:border-box}
.checkout-layout .checkout-summary{min-width:0;overflow-wrap:break-word}
@media(max-width:760px){
 #checkoutForm .delivery-options{grid-template-columns:minmax(0,1fr);gap:10px}
 #checkoutForm label.delivery-option{min-height:74px;padding:13px 15px;gap:12px}
 .checkout-layout{min-width:0;width:100%;gap:16px}
 .checkout-layout .panel{padding:clamp(15px,4.5vw,23px)}
 .checkout-layout .row2{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:370px){#checkoutForm label.delivery-option{padding:12px}#checkoutForm .delivery-option-copy strong{font-size:13px}}

/* En tablets angostas, evitar tarjetas de entrega comprimidas. */
@media(min-width:761px) and (max-width:900px){#checkoutForm .delivery-options{grid-template-columns:minmax(0,1fr)}}
/* Evita el zoom automático de campos en Safari móvil. */
@media(max-width:760px){#checkoutForm .field input:not([type="radio"]):not([type="checkbox"]),#checkoutForm .field textarea,#checkoutForm .field select{font-size:16px}}
