/* Glowtto P&L: identidad compartida entre tienda, clientes y administración. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:14px/1.6 'Poppins',Arial,sans-serif;margin:0;padding:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}.testbar{text-align:center;padding:6px 10px;font-size:10px;font-weight:750}header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.head-inner{max-width:1170px;margin:auto;padding:11px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{border:0;background:none;display:flex;gap:9px;text-align:left}.brand img{width:44px;height:44px}.brand b{font-size:20px;letter-spacing:.15em}.brand small{display:block;font-size:9px;letter-spacing:.18em;color:var(--muted)}.head-actions{display:flex;gap:6px;align-items:center}.head-actions button{border:0;background:transparent;padding:10px;border-radius:11px;}.head-actions button:hover,.ghost:hover{background:var(--palepink)}.head-actions .cart-trigger{font-weight:650}.cart-trigger b{background:var(--pink);color:white;border-radius:20px;padding:2px 7px;font-size:11px}.flash{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#30232a;color:#fff;border-radius:12px;padding:12px 18px;max-width:min(92vw,650px);z-index:50;box-shadow:0 8px 30px #53223744}main{max-width:1170px;margin:0 auto;padding:0 24px;min-height:60vh}.hero{border-radius:24px;padding:clamp(28px,6vw,72px);margin:25px 0 50px;min-height:320px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.hero h1{font-size:clamp(42px,6.5vw,72px);letter-spacing:-.055em;line-height:1.05;margin:14px 0;max-width:600px}.hero h1 em{font-style:normal;color:var(--pink)}.hero p{color:#725d69;max-width:450px}.hero-flower{font-size:220px;color:#edbad0;line-height:1;opacity:.55}.eyebrow{color:#b92f65;letter-spacing:.17em;font-weight:800;font-size:10px;text-transform:uppercase}.primary,.secondary,.ghost{border-radius:11px;padding:10px 17px;border:1px solid transparent;font-weight:700}.wide{width:100%}.page-title{padding:25px 0}.page-title h1{font-size:clamp(30px,5vw,47px);margin:3px 0;letter-spacing:-.035em}.muted,.tiny{color:var(--muted)}.tiny{font-size:12px}.section-heading,.catalog-top,.inline-between,.filters{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2,.catalog-top h2{font-size:clamp(23px,3vw,35px);margin:4px 0;letter-spacing:-.04em}.top-section{margin-bottom:44px}.top-slide{flex:0 0 100%;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:23px;padding:20px 35px}.top-slide .visual{width:110px;height:110px;border-radius:20px;overflow:hidden;background:white;display:grid;place-items:center;font-size:64px}.top-slide img{width:100%;height:100%;object-fit:cover}.top-slide strong{display:block;font-size:24px;letter-spacing:-.03em}.top-slide small{color:#9e3260;font-weight:750;letter-spacing:.09em}.top-slide .price{display:block;font-weight:750;font-size:22px}.dots{display:flex;gap:5px;justify-content:center;padding-top:11px}.dots button{border:0;background:#edd0dd;border-radius:99px;width:8px;height:8px;padding:0}.dots button.selected{background:var(--pink);width:23px}.search{display:flex;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--light);width:min(100%,330px)}.search span{font-size:23px;margin-left:14px;color:#a75a79}.search input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important}.category-pills{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.category-pills button{border:1px solid #ebd8e1;background:white;border-radius:99px;padding:9px 15px;color:#735263}.category-pills button.active{border-color:var(--pink);background:var(--palepink);color:#ab2252;font-weight:750}.filters{margin:15px 0 20px;font-size:13px;color:var(--muted)}.filters select{max-width:200px}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,clamp(148px,18vw,218px)),1fr));gap:clamp(10px,1.6vw,18px);margin-bottom:clamp(24px,3.5vw,44px)}.product{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:17px;overflow:hidden;min-width:0;background:white}.image{aspect-ratio:1;display:grid;place-items:center;background:linear-gradient(145deg,#fff0f4,#f6e4ea);font-size:64px;overflow:hidden;position:relative}.image img{width:100%;height:100%;object-fit:cover}.disc-tag{position:absolute;left:10px;top:10px;background:#ca255c;color:white;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:750}.product-body{padding:13px;display:flex;flex-direction:column;gap:7px;flex:1}.product-body h3{font-size:15px;line-height:1.34;margin:0}.product-body .category{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#b74575}.product-body p{font-size:12px;color:var(--muted);margin:0;flex:1}.price{font-size:20px;font-weight:750}.strike{font-size:12px;text-decoration:line-through;color:#ac929e;margin-left:8px}.stock{color:#47805d;font-size:11px}.stock.none{color:#a85a5a}.panel{border:1px solid var(--border);border-radius:18px;background:#fff;margin-bottom:16px;box-shadow:0 4px 16px #ba7b9609}.panel h3{margin:0 0 14px}.two-col{display:grid;grid-template-columns:1.1fr .9fr;align-items:start;gap:22px}.admin-layout{grid-template-columns:.8fr 1.2fr}label{display:grid;gap:5px;font-weight:650;color:#604e59;font-size:12px;margin-bottom:12px}input,textarea,select{width:100%;border:1px solid #e5d7df;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #f8c7d9;border-color:#d56b93}.checklabel{display:flex;align-items:center;gap:8px}.checklabel input{width:auto}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-cols>.secondary{align-self:end}.stack{display:grid;gap:10px}.line-card{border:1px solid var(--border);border-radius:12px;padding:13px}.line-card .sub{font-size:12px;color:var(--muted)}.line-card .heading{font-weight:750;margin-bottom:3px}.row-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px}.row-actions button{padding:6px 10px;font-size:12px}.qty{display:flex;align-items:center;gap:7px}.qty button{background:white;border:1px solid var(--border);padding:4px 9px;border-radius:8px}.money-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.auth-box{max-width:470px;margin:0 auto 35px}.tabs,.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 25px}.tabs button,.admin-tabs button{background:#fff;border:1px solid var(--border);border-radius:10px;padding:9px 15px}.tabs button.selected,.admin-tabs button.selected{background:#fce6ef;color:#a52054;border-color:#ee9bbd;font-weight:750}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat-card{background:var(--palepink);border-radius:13px;padding:13px}.stat-card strong{font-size:23px;display:block}.stat-card small{color:var(--muted)}footer{text-align:center;background:#fff5f8;border-top:1px solid var(--border);padding:30px;margin-top:45px;color:#856b79}footer strong{letter-spacing:.17em;color:#45333d}footer p{margin:4px}.mobile-bottom{display:none}h2,h3,h1{line-height:1.18}.empty{text-align:center;color:var(--muted);padding:40px 15px;grid-column:1/-1}.tag{display:inline-block;border-radius:99px;background:#fff1f6;color:#9f2458;padding:4px 8px;font-size:11px}.status{display:inline-block;border-radius:99px;background:#f5e5ee;color:#954666;padding:4px 9px;font-size:11px;font-weight:700}.status.completed{background:#e8f6ec;color:#337047}.status.cancelled{background:#fbe4e4;color:#9c4545}
@media(max-width:900px){.hero-flower{font-size:140px}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:640px){main{padding:0 14px}.head-inner{padding:9px 13px}.brand img{width:37px;height:37px}.brand b{font-size:15px}.head-actions{gap:0}.head-actions button{font-size:12px;padding:7px}.head-actions button[data-view="shop"]{display:none}.hero{padding:28px 23px;min-height:300px;margin-top:15px;margin-bottom:38px}.hero-flower{display:none}.hero h1{font-size:44px}.catalog-top{align-items:stretch;flex-direction:column}.search{width:100%;max-width:none}.product-body{padding:10px}.product-body h3{font-size:13px}.product-body p{font-size:11px}.product .image{font-size:43px}.product .price{font-size:17px}.product-body .primary{font-size:12px;padding:10px 4px}.top-slide{grid-template-columns:80px 1fr;gap:14px;padding:16px}.top-slide .visual{width:80px;height:80px}.top-slide strong{font-size:18px}.top-slide .price{font-size:17px}.head-actions button[data-view="account"]{display:none}.filters{gap:6px}.filters select{max-width:150px}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;align-items:center;justify-content:space-around;background:white;border-top:1px solid var(--border);padding:7px 6px max(7px,env(safe-area-inset-bottom))}.mobile-bottom button{border:0;background:none;color:#9b5976;display:grid;text-align:center;font-size:22px}.mobile-bottom small{font-size:10px}body{padding-bottom:65px}.flash{bottom:90px}.form-cols{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.panel{padding:15px}.admin-tabs{overflow:auto;flex-wrap:nowrap}.admin-tabs button{white-space:nowrap}.section-heading{align-items:start}}


.brand b,footer strong{color:#6330b3}

.primary:hover{filter:brightness(1.06)}
.panel,.product{border-color:#eee7f6;box-shadow:var(--shadow);border-radius:20px}.panel{padding:22px}.product .image{background:linear-gradient(145deg,#f1e8ff,#fbe6f4)}
.category-pills button{border-color:#e8dff7;color:#674b82}.category-pills button.active{border-color:#a78bfa;background:#f2eaff;color:#6b2cb3}.top-slide small{color:#7c3aed}.dots button.selected{background:#8d49d7}.disc-tag{background:linear-gradient(105deg,#783bd5,#ec4899)}
.stat-card{background:linear-gradient(130deg,#f6f0ff,#fff5fc);border:1px solid #eee5ff;box-shadow:0 8px 24px #50218a0d}.stat-card strong{color:#6232ae}.tabs button.selected,.admin-tabs button.selected{background:#eee4ff;color:#6631b5;border-color:#c1a3f4}
input:focus,textarea:focus,select:focus{outline:2px solid #c4b5fd;border-color:#8c57dd}.pnl-dashboard{animation:pnlFade .22s ease}
@keyframes pnlFade{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.pnl-hero{background:linear-gradient(115deg,#47218d 0%,#773bca 55%,#bd4ab1 100%);color:white;padding:29px 32px;border-radius:23px;display:flex;gap:16px;justify-content:space-between;align-items:center;margin:8px 0 20px;box-shadow:0 16px 35px #6a319a26}.pnl-hero h2{font-size:clamp(24px,3.5vw,35px);margin:5px 0;font-weight:800}.pnl-hero small{font-size:10px;letter-spacing:.19em;color:#e9d5ff}.pnl-hero p{color:#f6eafd;margin:0}.pnl-private{background:#ffffff26;padding:9px 13px;border-radius:30px;white-space:nowrap;font-size:11px}
.pnl-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.pnl-toolbar label{margin:0;flex:1;min-width:143px}.pnl-toolbar label input,.pnl-toolbar label select{min-width:0}.pnl-toolbar button{margin:0 0 1px}
.pnl-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.pnl-metric{background:#fff;border:1px solid #ece3f5;border-radius:18px;padding:19px;box-shadow:var(--shadow)}.pnl-metric small{font-size:12px;color:#84778f}.pnl-metric strong{font-size:clamp(20px,2.5vw,30px);letter-spacing:-.04em;display:block;color:#4b2384;margin-top:4px}.pnl-metric em{font-size:11px;display:block;color:#9287a0;font-style:normal}.pnl-metric.net{background:linear-gradient(130deg,#5f2eae,#9b46be);color:white}.pnl-metric.net strong,.pnl-metric.net small,.pnl-metric.net em{color:white}.pnl-duo{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}.pnl-subheading{margin-top:28px!important}.pnl-bars{display:flex;align-items:end;gap:8px;min-height:180px;overflow-x:auto;padding:22px 8px 18px;border-bottom:1px solid #eee7f6}.pnl-bar-day{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:6px;min-width:40px;flex:1;height:170px}.pnl-bar-stack{display:flex;align-items:end;justify-content:center;gap:3px;height:135px;width:100%}.pnl-bar{width:38%;min-width:7px;max-width:22px;border-radius:6px 6px 2px 2px;min-height:2px}.pnl-bar.income{background:linear-gradient(#c79bff,#7c3aed)}.pnl-bar.expense{background:linear-gradient(#ffadda,#ec4899)}.pnl-bar-day small{font-size:10px;color:#81728d}.pnl-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;color:#897b97;font-size:11px}.pnl-legend span:before{content:' ';display:inline-block;width:9px;height:9px;border-radius:50%;background:#8b5cf6;margin-right:6px}.pnl-legend span:last-child:before{background:#ec4899}
.pnl-channel-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0e9f6}.pnl-channel-row strong{color:#6438a5}.pnl-forms{grid-template-columns:1fr 1fr}.pnl-scroll{overflow-x:auto}.pnl-table{border-collapse:collapse;width:100%;min-width:690px;font-size:12px}.pnl-table th{text-align:left;background:#f8f3ff;color:#69478d;padding:12px;white-space:nowrap}.pnl-table td{border-bottom:1px solid #f1ecf7;padding:11px}.pnl-table td:nth-child(5),.pnl-table td:nth-child(6){white-space:nowrap}.pnl-table button{font-size:11px;padding:5px 10px}.pnl-info{font-size:12px;color:#65557a;margin:15px 0 35px;border-left:3px solid #ae86ee;padding:10px 15px;background:#f8f2ff;border-radius:8px}
@media(max-width:850px){.pnl-duo{grid-template-columns:1fr}.pnl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.pnl-hero{padding:22px;display:block}.pnl-private{display:inline-block;margin-top:16px}.pnl-toolbar{align-items:stretch}.pnl-toolbar label{min-width:43%;flex:1}.pnl-toolbar button{flex:1}.pnl-metrics{gap:9px}.pnl-metric{padding:13px}.pnl-metric strong{font-size:19px}.pnl-duo{gap:0}.pnl-forms{grid-template-columns:1fr}}

/* Glowtto V7 · gestor de funciones de clientes */
.feature-controls{display:grid;gap:12px;margin-top:15px}.feature-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(125deg,#fff,#faf5ff);border:1px solid #ece2fa;border-radius:16px;padding:13px 15px}.feature-row .tiny{color:#8b7a9c;font-size:12px;margin-top:4px}.feature-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.state-pill{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.state-pill.on{background:#e5faee;color:#16724d}.state-pill.off{background:#fff0f3;color:#ad3b56}.feature-row select{max-width:164px}.feature-row button{white-space:nowrap}@media(max-width:600px){.feature-row{align-items:stretch;flex-direction:column}.feature-actions{justify-content:space-between}.feature-row select{max-width:100%}}

/* Integración Cloudflare R2 */
.r2-upload-status{background:#f6f0ff;color:#59338c;border:1px solid #dac8fb;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:650}
.r2-upload-status.r2-ready{background:#f0fdf6;color:#12764c;border-color:#b7eed4}.r2-upload-progress{color:#6a5290;font-size:12px;min-height:18px}

/* Glowtto administrative hierarchy: owner-only role management */
.role-list{display:grid;gap:11px;margin-top:12px}.role-card{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #e9def8;background:linear-gradient(130deg,#fff,#faf6ff);border-radius:15px;padding:14px}.role-card-info{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.role-card-info strong{font-size:14px}.role-card-info span{font-size:12px;color:#684e7a}.role-card-info small{font-size:11px;color:#8c7b9a}.role-card-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.role-label{font-size:11px;min-width:145px;margin:0}.role-label select{min-width:145px}.role-card-actions button{min-width:113px;white-space:nowrap}@media(max-width:680px){.role-card{align-items:stretch;flex-direction:column}.role-card-actions{justify-content:space-between}.role-label{flex:1}.role-card-actions button{align-self:end}}


/* Glowtto detail sheet: iOS-style modal, no navigation or scroll reset. */
html.product-modal-open{overflow:hidden;scroll-behavior:auto}
.product-cover{width:100%;height:100%;padding:0;border:0;background:transparent;display:block;overflow:hidden;color:inherit;font-size:inherit}
.product-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.product-cover:hover img{transform:scale(1.055)}
.product-name{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;line-height:inherit;font-weight:inherit}
.product-name:hover{text-decoration:underline;text-decoration-color:#c86bb1}
.product-name:focus-visible,.product-cover:focus-visible,.mini-tone:focus-visible{outline:3px solid #b17ce9;outline-offset:2px}
.product-mini-tones{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mini-tone{border:1px solid #d8c4df;border-radius:50%;background:#fff;width:27px;height:27px;display:grid;place-items:center;padding:3px}
.mini-tone .tone-color{width:100%;height:100%;display:block;border-radius:50%;box-shadow:inset 0 0 0 1px #0000000c}
.mini-tone-empty{opacity:.4;position:relative}
.mini-tone-empty::after{content:'';position:absolute;width:80%;height:1px;transform:rotate(-35deg);background:#815969}
.mini-tone-more{font-size:11px;color:#7b6782}
.product-sold-badge{position:absolute;right:10px;top:10px;border-radius:99px;padding:5px 10px;background:#f4e9f3;color:#6d4c72;font-size:11px;font-weight:750;pointer-events:none}
.product-sheet{position:fixed;inset:0;margin:auto;max-width:min(900px,calc(100vw - 36px));width:100%;max-height:min(86dvh,760px);height:auto;padding:0;background:#fff;border:1px solid #ecdff2;border-radius:28px;box-shadow:0 26px 90px #24133259;overflow:visible;color:#362b40;overscroll-behavior:contain}
.product-sheet::backdrop{background:#1e17359c;backdrop-filter:blur(7px);animation:detailBackdropIn .3s ease both}
.product-sheet[open]{animation:detailSheetIn .38s cubic-bezier(.22,1,.36,1) both}
.product-sheet.is-closing{animation:detailSheetOut .22s ease-in both}
.product-sheet.is-closing::backdrop{animation:detailBackdropOut .22s ease both}
.product-sheet-content{max-height:min(86dvh,760px);overflow:auto;border-radius:inherit;overscroll-behavior:contain}
.detail-close{position:absolute;right:15px;top:15px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border:1px solid #e7ddea;border-radius:50%;background:#ffffffea;color:#745a79;font-size:25px;line-height:1;box-shadow:0 4px 15px #28183219}
.detail-close:hover{background:#f7efff}
.detail-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:25px;padding:25px}
.detail-gallery{min-width:0}
.detail-hero-photo{aspect-ratio:1;background:linear-gradient(135deg,#fff0f8,#f4e7fe);display:grid;place-items:center;border-radius:20px;overflow:hidden}
.detail-hero-photo img{height:100%;width:100%;object-fit:contain}
.detail-flower{font-size:140px;color:#ecc3e4}
.detail-thumbnails{display:flex;gap:8px;padding-top:10px;overflow-x:auto}
.detail-thumbnails button{padding:3px;border:2px solid #ece5f0;background:#fff;border-radius:10px;flex:0 0 58px;height:58px}
.detail-thumbnails button.active{border-color:#9657d9}
.detail-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.detail-info{padding:8px 10px 15px 0;min-width:0}
.detail-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#9d60be;font-size:11px;font-weight:750}
.detail-info h2{font-size:clamp(21px,3vw,31px);line-height:1.2;letter-spacing:-.035em;margin:8px 38px 8px 0;color:#39234d}
.detail-brand{color:#8c7a91;font-size:12px;margin:0}
.detail-price{font-weight:800;font-size:25px;color:#703bb0;margin:18px 0}
.detail-info h3{font-size:14px;margin:18px 0 10px}
.shade-grid{display:flex;gap:9px;flex-wrap:wrap}
.shade-option{flex:0 1 auto;min-width:72px;max-width:115px;display:flex;align-items:center;flex-direction:column;gap:5px;border:1px solid #eee0ef;background:#fff;border-radius:14px;padding:10px 9px;font-size:11px;color:#53435a;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.shade-option:not(:disabled):hover{transform:translateY(-2px);border-color:#ba93df}
.shade-option.is-selected{border-color:#985ad9;background:#faf5ff;box-shadow:0 0 0 2px #dabcf450}
.shade-option.is-unavailable{opacity:.42;filter:grayscale(.7);cursor:not-allowed}
.shade-option .tone-color{height:24px;width:24px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000000c}
.shade-option .shade-name{text-align:center;line-height:1.3;overflow-wrap:anywhere}
.shade-option small{color:#9d4863;font-size:10px}
.detail-stock{font-size:12px;color:#237d54;margin:14px 0}
.detail-stock.is-empty{color:#ae4f66}
.detail-add{width:100%;min-height:46px;background:linear-gradient(105deg,#7c3aed,#dc49b3);border:0;border-radius:13px}
.detail-feedback{color:#397557;font-size:12px;min-height:18px;margin:7px 0}
.detail-description{white-space:pre-wrap;font-size:13px;line-height:1.75;color:#65546b;overflow-wrap:anywhere;padding-bottom:20px}
@keyframes detailBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes detailBackdropOut{to{opacity:0}}
@keyframes detailSheetIn{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes detailSheetOut{to{opacity:0;transform:translateY(14px) scale(.985)}}
@media(max-width:700px){
 .product-sheet{inset:0;margin:auto 0 0;max-width:100vw;width:100%;max-height:92dvh;max-height:92svh;border-radius:26px 26px 0 0;border-bottom:0}
 .product-sheet-content{max-height:92dvh;max-height:92svh}
 .detail-layout{grid-template-columns:1fr;gap:12px;padding:12px 17px 25px}
 /* Respaldo para navegadores sin unidades dvh: la regla posterior usa clamp(29dvh). */
 .detail-hero-photo{max-height:320px}
 .detail-info{padding:0 3px 10px}
 .detail-info h2{margin-right:35px}
 .detail-close{top:12px;right:13px}
 .detail-price{margin:10px 0}
 .shade-grid{gap:7px}
 .shade-option{min-width:64px;padding:8px 7px}
 .product-sheet[open]{animation-name:detailMobileIn}
 .product-sheet.is-closing{animation-name:detailMobileOut}
}
@keyframes detailMobileIn{from{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
@keyframes detailMobileOut{to{opacity:0;transform:translateY(100%)}}
@media(prefers-reduced-motion:reduce){
 .product-sheet[open],.product-sheet.is-closing,.product-sheet::backdrop,.product-sheet.is-closing::backdrop,.shade-option,.product-cover img{animation:none!important;transition:none!important;transform:none!important}
}

/* Tonos configurables en el panel de Glowtto */
.variant-manager{border:1px solid #e9dbf5;border-radius:16px;padding:14px;margin:14px 0;background:linear-gradient(125deg,#fff,#faf5ff)}
.variant-manager .inline-between{gap:9px;margin-bottom:9px;flex-wrap:wrap}
.variant-manager .inline-between strong{color:#714198}
.variant-manager .inline-between button{font-size:11px;padding:7px 11px}
.variant-manager input[type=color]{min-height:43px;padding:3px;cursor:pointer}
.variant-items{display:grid;gap:7px;margin:11px 0}
.variant-item{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #f0e5f7;background:#fcf9ff;border-radius:11px}
.variant-item .tone-color{flex:0 0 23px;width:23px;height:23px;border-radius:50%;border:1px solid #e3d3e9}
.variant-item div{display:grid;gap:2px;flex:1;min-width:0}
.variant-item strong{font-size:12px;overflow-wrap:anywhere}
.variant-item small{font-size:10px;color:#7f7288}
.variant-item button{font-size:11px;padding:6px 10px}
#productForm{scroll-margin-top:110px}
/* La galería permanece visible mientras avanza la descripción */
.detail-gallery{position:sticky;top:12px;align-self:start;z-index:1}
.detail-hero-photo{position:relative}
.gallery-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;color:inherit;cursor:zoom-in;display:grid;place-items:center;padding:0}
.gallery-open img{width:100%;height:100%;object-fit:contain}
.gallery-hint{position:absolute;bottom:10px;right:10px;border-radius:99px;padding:4px 10px;background:#ffffffef;color:#734e92;font-size:11px;box-shadow:0 4px 15px #23112621}
.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:34px;height:34px;background:#ffffffed;border:1px solid #ebddee;border-radius:50%;font-size:23px;color:#704292}
.gallery-arrow.prev{left:10px}.gallery-arrow.next{right:10px}
.gallery-count{position:absolute;bottom:10px;left:10px;border-radius:99px;padding:4px 9px;background:#fffffff0;color:#764d8b;font-size:10px;pointer-events:none}
/* Segunda superposición: fotografía ampliada con zoom y swipe */
.image-lightbox{position:fixed;inset:0;margin:auto;padding:0;border:0;background:#161020fc;color:#fff;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;overflow:hidden}
.image-lightbox::backdrop{background:#1c1020e6;backdrop-filter:blur(12px)}
.lightbox-body{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.lightbox-head,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px max(19px,env(safe-area-inset-left));font-size:12px}
.lightbox-head{padding-top:max(18px,env(safe-area-inset-top))}
.lightbox-footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.lightbox-head button,.lightbox-footer button{background:#ffffff25;color:#fff;border:1px solid #ffffff66;border-radius:50%;width:44px;height:44px;flex:0 0 44px;font-size:27px}
.lightbox-footer button:disabled{opacity:.3}
.lightbox-image{width:100%;height:100%;min-height:0;padding:20px;border:0;overflow:hidden;display:grid;place-items:center;background:transparent;cursor:zoom-in;touch-action:pan-y}
.lightbox-image img{max-width:100%;width:100%;height:100%;object-fit:contain;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);transition:transform .27s cubic-bezier(.22,1,.36,1);user-select:none;-webkit-user-drag:none}
.lightbox-image.zoomed{cursor:zoom-out}.lightbox-image.zoomed img{transform:scale(2.2)}
@media(max-width:700px){
 .detail-gallery{position:sticky;top:0;background:#fff;border-radius:15px;z-index:2;padding:4px 2px;box-shadow:0 4px 18px #32163312}
 .detail-hero-photo{aspect-ratio:1.5;max-height:clamp(165px,29dvh,230px)}
 .detail-thumbnails button{flex-basis:43px;height:43px}
 .lightbox-footer span{font-size:10px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.lightbox-image img{transition:none!important}}


/* En móvil el contenedor flex permite que la galería sticky acompañe toda la descripción. */
@media(max-width:700px){
 .product-sheet .detail-layout{display:flex;flex-direction:column;align-items:stretch}
 .product-sheet .detail-gallery{flex:none;align-self:stretch;position:sticky;top:0}
 .product-sheet .detail-info{flex:1;min-width:0}
}
.image-lightbox[open]{animation:lightboxEnter .24s cubic-bezier(.22,1,.36,1) both}
@keyframes lightboxEnter{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.image-lightbox[open]{animation:none!important}}

/* Galería administrativa reordenable */
.photo-order-manager{margin:12px 0 17px;padding:14px;background:linear-gradient(120deg,#fbf7ff,#fff9fd);border:1px solid #e8d8f3;border-radius:16px}
.photo-order-manager>.inline-between{gap:10px;margin-bottom:7px}
.photo-order-manager strong{color:#663e8b}
.photo-sort-list{display:grid;gap:8px;margin:12px 0}
.photo-sort-card{display:flex;align-items:center;gap:12px;padding:9px;border:1px solid #ebdfef;border-radius:12px;background:white;cursor:grab}
.photo-sort-card.photo-cover{border:2px solid #ab83d8;background:#fcf9ff}
.photo-sort-card img{width:70px;height:70px;object-fit:cover;border-radius:9px;flex:none}
.photo-sort-info{display:grid;gap:2px;min-width:0;flex:1}
.photo-sort-info strong{font-size:12px}
.photo-sort-info small{font-size:10px;color:#8a7896;overflow-wrap:anywhere}
.photo-sort-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.photo-sort-actions button{padding:5px 8px;min-width:30px;min-height:32px;border:1px solid #e6daec;border-radius:9px;background:#fff;color:#765392;font-size:11px;font-weight:700}
.photo-sort-actions .photo-remove{color:#b13d5d}
.photo-sort-actions button:disabled{opacity:.35}
.photo-sort-empty{border:1px dashed #d8c6e4;padding:14px;border-radius:11px;text-align:center}
.photo-sort-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}
.photo-sort-footer button{font-size:12px;flex:none}
@media(max-width:600px){.photo-sort-card{flex-wrap:wrap;gap:8px}.photo-sort-card img{width:58px;height:58px}.photo-sort-actions{width:100%;border-top:1px solid #f3edf6;padding-top:5px}.photo-sort-footer{flex-direction:column;align-items:stretch}.photo-sort-footer button{width:100%}}


/* Gallery v8.7: smooth sliding between photos and genuine image interaction */
.detail-hero-photo,.gallery-open{isolation:isolate}
.gallery-open{touch-action:pan-y;overflow:hidden}
.gallery-open img{will-change:transform,opacity}
.gallery-open .gallery-outgoing{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}
.gallery-hint{pointer-events:none;z-index:2}
.gallery-arrow{transition:background .2s ease,transform .2s ease}
.gallery-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.lightbox-stage{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:transparent;cursor:default;touch-action:manipulation}
.lightbox-stage #lightboxPhoto{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;flex:none;cursor:zoom-in;touch-action:none;user-select:none;-webkit-user-drag:none;transform-origin:center center;will-change:transform;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.lightbox-stage #lightboxPhoto.is-zoomed{cursor:grab}
.lightbox-stage #lightboxPhoto.is-zoomed:active{cursor:grabbing;transition:none}
.image-lightbox.is-leaving{animation:lightboxExit .175s ease-in both}
.image-lightbox.is-leaving::backdrop{animation:detailBackdropOut .175s ease-in both}
@keyframes lightboxExit{to{opacity:0;transform:scale(.985)}}
@media(prefers-reduced-motion:reduce){.gallery-open img,.gallery-arrow,.lightbox-stage #lightboxPhoto,.image-lightbox.is-leaving{animation:none!important;transition:none!important}}

/* Drag tracks pointer immediately, rather than easing behind the finger. */
.lightbox-stage #lightboxPhoto.is-dragging{transition:none!important;cursor:grabbing}
.lightbox-head,.lightbox-footer{cursor:default}


/* Selector visual de colores basado en la fotografía de cada variante. */
.shade-from-photo{display:grid;gap:3px;margin:9px 0 12px}
.shade-from-photo button{justify-self:start;background:linear-gradient(115deg,#fff,#f6efff);border-color:#cdb8e8;color:#69419a}
.shade-from-photo p{margin:0}
.tone-sampler-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(660px,calc(100vw - 24px));max-width:660px;max-height:90dvh;border:1px solid #e7d7f1;border-radius:24px;box-shadow:0 26px 90px #2c15366b;background:#fff;color:#382445;overflow:auto;overscroll-behavior:contain}
.tone-sampler-dialog::backdrop{background:#271438a9;backdrop-filter:blur(8px)}
.tone-sampler-dialog[open]{animation:tonePickerEnter .29s cubic-bezier(.22,1,.36,1) both}
@keyframes tonePickerEnter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.tone-sampler-inner{padding:22px}
.tone-sampler-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.tone-sampler-title h2{color:#5c3388;font-size:22px;letter-spacing:-.035em;margin:3px 0 0}
.tone-sampler-title button{background:white;border:1px solid #e5d7ef;border-radius:50%;width:39px;height:39px;flex:0 0 39px;color:#684582;font-size:24px}
.tone-sampler-inner>p{margin:10px 0 16px}
.tone-sample-view{display:flex;justify-content:center;align-items:center;min-height:150px;max-height:48dvh;background:linear-gradient(135deg,#f6eeff,#fff0f6);border:1px solid #ecddee;border-radius:17px;padding:9px;overflow:hidden}
.tone-sample-view canvas{display:block;width:auto;height:auto;max-width:100%;max-height:45dvh;border-radius:10px;box-shadow:0 5px 18px #2c193623;touch-action:none;cursor:crosshair}
#toneLoadMessage{color:#866d9b;text-align:center;font-size:12px}
.tone-sample-options{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:17px;margin:16px 0 5px}
.tone-sample-options>label{margin:0;min-width:0}
.tone-sample-options input[type=range]{padding:0;min-height:28px;accent-color:#9353ce;cursor:pointer}
.tone-selected-color{display:flex;align-items:center;gap:10px;padding:9px 12px;min-width:183px;border:1px solid #e7daf0;background:#fcf8ff;border-radius:13px}
#toneSampleSwatch{width:39px;height:39px;flex:0 0 39px;border-radius:50%;border:2px solid white;outline:1px solid #d9c6e5;background:transparent}
.tone-selected-color>div{display:grid;gap:2px;min-width:0}
.tone-selected-color strong{color:#693c91;font-size:13px}
.tone-selected-color small{font-size:10px;color:#887796}
#toneSampleNotice{min-height:20px;margin:12px 0 8px;font-size:11px;color:#80688d}
.tone-sampler-actions{display:flex;gap:9px;justify-content:flex-end}
.tone-sampler-actions button{min-width:136px}
@media(max-width:650px){
 .tone-sampler-dialog{width:100vw;max-width:100vw;max-height:93dvh;inset:0;margin:auto 0 0;border-radius:25px 25px 0 0}
 .tone-sampler-inner{padding:17px}
 .tone-sample-options{grid-template-columns:minmax(0,1fr)}
 .tone-selected-color{min-width:0}
 .tone-sampler-actions button{min-width:0;flex:1}
}
@media(prefers-reduced-motion:reduce){.tone-sampler-dialog[open]{animation:none!important}}


/* V8.9 · Ficha adaptable para Android, iOS y tabletas */
.product-sheet{box-sizing:border-box;width:min(1020px,calc(100vw - 32px));max-width:min(1020px,calc(100vw - 32px));max-height:min(91svh,900px);min-width:0;margin:auto;border-radius:25px;overflow:hidden}
.product-sheet-content{box-sizing:border-box;width:100%;max-height:min(91svh,900px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.detail-sheet-toolbar{position:sticky;top:0;z-index:8;height:53px;min-height:53px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:8px 60px;background:#fffffffa;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #f2ebf5}
.detail-toolbar-title{font-size:12px;font-weight:700;color:#795f88}
.detail-sheet-handle{display:none}
.product-sheet .detail-close{position:absolute;right:12px;top:7px;margin:0;width:38px;height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;border-radius:50%;background:#f9f5fc;border:1px solid #e9ddf0}
.product-sheet .detail-layout{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(13px,2.4vw,28px);padding:clamp(13px,2vw,22px);min-width:0;align-items:start}
.product-sheet .detail-gallery{position:sticky;top:65px;align-self:start;z-index:1;padding:0;background:transparent;box-shadow:none;min-width:0}
.product-sheet .detail-hero-photo{aspect-ratio:1;max-height:min(52svh,450px);border-radius:16px}
.product-sheet .detail-info{min-width:0;padding:0 2px 15px 0;overflow-wrap:anywhere}
.product-sheet .detail-info h2{font-size:clamp(19px,2.3vw,29px);line-height:1.23;margin:5px 0}
.product-sheet .detail-price{font-size:clamp(21px,2.6vw,27px);margin:11px 0}
.product-sheet .detail-info h3{font-size:13px;margin:12px 0 8px}
.product-sheet .detail-stock{font-size:12px;margin:9px 0}
.product-sheet .detail-add{min-height:44px;font-size:13px}
.product-sheet .detail-feedback{min-height:8px;margin:4px 0}
.product-sheet .detail-description{font-size:12px;line-height:1.7;padding-bottom:18px}
.product-sheet .detail-thumbnails{padding-top:8px;gap:6px;scrollbar-width:none}
.product-sheet .detail-thumbnails::-webkit-scrollbar{display:none}
.product-sheet .detail-thumbnails button{width:48px;height:48px;flex:0 0 48px;border-radius:9px}
.product-sheet .shade-grid{gap:7px}
.product-sheet .shade-option{padding:8px 7px;min-width:72px;max-width:103px}
.product-sheet .shade-option .tone-color{width:22px;height:22px}
.product-sheet .gallery-arrow{width:38px;height:38px;min-width:38px;min-height:38px}
/* Tablets portrait/landscape: two real columns rather than stretched mobile layout */
@media(min-width:740px) and (max-width:1024px){
 .product-sheet{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:94svh;border-radius:22px}
 .product-sheet-content{max-height:94svh}
 .product-sheet .detail-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;padding:16px}
 .product-sheet .detail-gallery{top:66px}
 .product-sheet .detail-hero-photo{max-height:40svh}
 .product-sheet .detail-info h2{font-size:clamp(19px,2.7vw,25px)}
 .product-sheet .shade-option{min-width:69px;max-width:95px;padding:7px 6px}
}
/* Phones: compact gallery, persistent header and horizontal tones */
@media(max-width:739px){
 .product-sheet{inset:0;margin:auto 0 0;width:100vw;max-width:100vw;height:96svh;max-height:96svh;border-radius:22px 22px 0 0;border:0;border-top:1px solid #eee5f3}
 .product-sheet-content{height:100%;max-height:100%;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
 .detail-sheet-toolbar{height:47px;min-height:47px;padding:12px 55px 5px}
 .detail-toolbar-title{font-size:11px}
 .detail-sheet-handle{display:block;position:absolute;top:5px;left:50%;transform:translateX(-50%);width:35px;height:4px;border-radius:8px;background:#d6c8e0}
 .product-sheet .detail-close{top:6px;right:9px;width:35px;height:35px;min-width:35px}
 .product-sheet .detail-layout{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:8px 13px 24px}
 .product-sheet .detail-gallery{position:sticky;top:47px;z-index:2;flex:none;align-self:stretch;background:#fff;padding:0 0 4px;border-radius:13px;box-shadow:0 6px 14px #2c143012}
 .product-sheet .detail-hero-photo{aspect-ratio:auto;height:clamp(126px,23svh,180px);max-height:180px;border-radius:12px}
 .product-sheet .detail-thumbnails{padding:6px 0 0;gap:6px;scroll-snap-type:x proximity}
 .product-sheet .detail-thumbnails button{flex:0 0 40px;width:40px;height:40px;scroll-snap-align:start}
 .product-sheet .gallery-arrow{width:36px;height:36px;min-width:36px;min-height:36px}
 .product-sheet .gallery-hint,.product-sheet .gallery-count{padding:4px 8px;font-size:10px;bottom:7px}
 .product-sheet .detail-info{padding:6px 2px 10px;min-width:0}
 .product-sheet .detail-info h2{font-size:clamp(18px,4.8vw,23px);margin:5px 0 3px}
 .product-sheet .detail-brand{font-size:11px}
 .product-sheet .detail-price{font-size:23px;margin:9px 0 11px}
 .product-sheet .detail-info h3{font-size:13px;margin:11px 0 7px}
 .product-sheet .shade-grid{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
 .product-sheet .shade-option{flex:0 0 78px;min-width:78px;max-width:78px;padding:8px 5px;scroll-snap-align:start;border-radius:11px}
 .product-sheet .shade-option .shade-name{font-size:10px}
 .product-sheet .detail-stock{font-size:11px;margin:7px 0}
 .product-sheet .detail-add{min-height:43px;height:43px;font-size:12px}
 .product-sheet .detail-description{font-size:12px;line-height:1.65;padding-bottom:20px}
}
@media(max-width:370px){
 .product-sheet .detail-layout{padding-left:10px;padding-right:10px}
 .product-sheet .detail-hero-photo{height:clamp(115px,21svh,155px)}
 .product-sheet .shade-option{flex-basis:72px;min-width:72px;max-width:72px}
}
@media(orientation:landscape) and (max-height:500px){
 .product-sheet{width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:96svh;max-height:96svh;margin:auto;border-radius:18px}
 .product-sheet .detail-layout{gap:13px;padding:10px}
 
 .product-sheet .detail-hero-photo{max-height:none}
 .product-sheet .shade-grid{flex-wrap:wrap;overflow:visible}
}
@media(prefers-reduced-motion:reduce){.product-sheet .detail-gallery{transition:none!important}}


/* V8.10: Imagen completa y ficha adaptativa. Evita el recorte por el tamaño
   intrínseco de la imagen dentro de un elemento grid. */
.product-sheet .detail-hero-photo{display:block;position:relative;width:100%;min-width:0;min-height:0;overflow:hidden;aspect-ratio:auto}
.product-sheet .detail-hero-photo .gallery-open{display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;margin:0;padding:0}
.product-sheet .detail-hero-photo .gallery-open img:not(.gallery-outgoing),
.product-sheet .detail-hero-photo .gallery-open img.gallery-outgoing{
 display:block!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
 max-width:100%!important;max-height:100%!important;
 object-fit:contain!important;object-position:center center!important;margin:0!important;padding:0!important
}
.product-sheet .detail-layout,.product-sheet .detail-gallery,.product-sheet .detail-info{min-width:0}
.product-sheet .detail-hero-photo .gallery-outgoing{pointer-events:none}
/* Galaxy Tab and other tablet-size viewports: two columns even at 560-739 CSS px. */
@media(min-width:560px) and (min-height:501px){
 .product-sheet{inset:0!important;margin:auto!important;width:min(1050px,calc(100vw - 22px))!important;max-width:min(1050px,calc(100vw - 22px))!important;height:auto!important;max-height:94svh!important;border:1px solid #ebdfef!important;border-radius:22px!important}
 .product-sheet-content{height:auto!important;max-height:94svh!important}
 .product-sheet .detail-layout{display:grid!important;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;gap:clamp(12px,2vw,24px)!important;padding:clamp(12px,2vw,22px)!important;align-items:start!important}
 .product-sheet .detail-gallery{position:sticky!important;top:65px!important;align-self:start!important;background:#fff!important;box-shadow:none!important;min-width:0!important}
 .product-sheet .detail-hero-photo{aspect-ratio:1/1!important;height:auto!important;max-height:min(46svh,460px)!important}
 .product-sheet .detail-info{padding:0 2px 14px!important}
 .product-sheet .detail-info h2{font-size:clamp(19px,2.45vw,28px)!important}
 .product-sheet .detail-thumbnails button{flex:0 0 48px!important;width:48px!important;height:48px!important}
 .product-sheet .shade-grid{flex-wrap:wrap!important;overflow:visible!important}
 .product-sheet .shade-option{flex:0 1 auto!important;min-width:69px!important;max-width:100px!important}
}
/* Phones: image stays visible as a slim strip after the description is scrolled. */
@media(max-width:559px) and (min-height:501px){
 .product-sheet{inset:0!important;margin:auto 0 0!important;width:100vw!important;max-width:100vw!important;height:96svh!important;max-height:96svh!important;border-radius:22px 22px 0 0!important}
 .product-sheet-content{height:100%!important;max-height:100%!important}
 .product-sheet .detail-layout{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:stretch!important;padding:8px 13px 22px!important}
 .product-sheet .detail-gallery{position:sticky!important;top:47px!important;z-index:2!important;align-self:stretch!important;flex:none!important;padding:0 0 5px!important;background:#fff!important;box-shadow:0 6px 15px #31144714!important}
 .product-sheet .detail-hero-photo{height:clamp(166px,27svh,232px)!important;max-height:232px!important;aspect-ratio:auto!important;transition:height .25s cubic-bezier(.22,1,.36,1)}
 .product-sheet .detail-thumbnails{max-height:56px;overflow:hidden;transition:opacity .18s,max-height .25s,padding .18s}
 .product-sheet.is-reading .detail-hero-photo{height:82px!important}
 .product-sheet.is-reading .detail-thumbnails{max-height:0!important;opacity:0!important;padding:0!important}
 .product-sheet.is-reading .gallery-hint{display:none!important}
 .product-sheet.is-reading .gallery-arrow{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;font-size:18px!important}
 .product-sheet .detail-info{width:100%!important;min-width:0!important;padding:7px 1px 12px!important}
 .product-sheet .shade-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important}
}
@media(orientation:landscape) and (max-height:500px){
 .product-sheet .detail-layout{display:grid!important;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)!important;align-items:start!important}
 .product-sheet .detail-gallery{position:sticky!important;top:48px!important}
 .product-sheet .detail-hero-photo{height:min(43svh,225px)!important;aspect-ratio:auto!important}
}
@media(prefers-reduced-motion:reduce){
 .product-sheet .detail-hero-photo,.product-sheet .detail-thumbnails{transition:none!important}
}


/* Inbox de pedidos, estados y alertas únicamente visibles al personal autorizado */
.header-orders{position:relative;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;color:#7039a8!important;font-weight:750}
.order-unread-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:1px 5px;border-radius:99px;background:#e746a1;color:#fff;font-size:11px;line-height:1;font-weight:800;box-shadow:0 3px 8px #ce4caa33}
.header-orders .order-unread-count{margin-left:1px}
.new-order-toast{position:fixed;bottom:90px;right:22px;z-index:70;width:min(340px,calc(100vw - 24px));display:flex;align-items:center;gap:10px;padding:14px 16px;text-align:left;border:1px solid #dccaf2;border-radius:17px;background:#fff;color:#4a2976;box-shadow:0 14px 44px #4c207c42;font-size:13px;font-weight:700;animation:newOrderIn .28s cubic-bezier(.22,1,.36,1)}
.new-order-toast-icon{font-size:24px;color:#9752c5}
.new-order-toast>span:nth-child(2){flex:1}
@keyframes newOrderIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.order-alert-header{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px 15px;margin:13px 0 17px;border:1px solid #e5d8f6;border-radius:14px;background:linear-gradient(125deg,#faf5ff,#fff8fc)}
.order-alert-header strong{color:#6932ac;font-size:14px}
.order-alert-header p{margin:3px 0 0;max-width:470px}
.order-alert-header button{font-size:11px}
.order-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px 7px;color:#5e3492;font-size:14px}
.order-section-title span{border-radius:20px;background:#f0e8fa;color:#763dac;min-width:24px;text-align:center;padding:2px 6px;font-size:12px}
.order-admin-card{border:1px solid #e9ddf1;border-radius:14px;padding:15px;margin-bottom:9px;background:#fff}
.order-admin-card .sub{font-size:12px;color:#806d88;margin-top:6px}
.order-admin-total{font-size:19px;color:#6a2fa1;font-weight:800;margin:9px 0}
.order-admin-item{font-size:12px;margin:3px 0;color:#6d6074}
.order-admin-card .row-actions select{max-width:240px;min-width:160px}
@media(max-width:800px){.head-actions .header-orders{gap:3px;}.new-order-toast{bottom:80px;left:12px;right:12px;width:auto}}
@media(max-width:450px){.head-actions .header-orders{overflow:visible}.head-actions .header-orders .order-unread-count{position:absolute;right:-5px;top:0}.order-alert-header{align-items:stretch}.order-admin-card .row-actions{align-items:stretch;flex-direction:column}.order-admin-card .row-actions select{max-width:100%}}
@media(prefers-reduced-motion:reduce){.new-order-toast{animation:none!important}}

.header-orders .orders-shortcut-icon{display:inline-flex;font-size:16px;line-height:1}
.header-orders .orders-shortcut-label{font-size:12px}
@media(max-width:800px){
 .head-actions .header-orders{position:relative;width:39px;min-width:39px;max-width:39px;padding:7px!important;justify-content:center;flex:none;font-size:14px!important}
 .head-actions .header-orders .orders-shortcut-label{display:none}
 .head-actions .header-orders .orders-shortcut-icon{display:inline-flex;font-size:18px}
 .head-actions .header-orders .order-unread-count{position:absolute;top:-2px;right:-5px;margin:0;font-size:10px;min-width:18px;height:18px}
}
@media(max-width:450px){
 .head-actions .header-orders{width:35px;min-width:35px;max-width:35px;font-size:14px!important;padding:5px!important}
 .head-actions .header-orders .orders-shortcut-icon{font-size:18px}
}


/* Private Bellaroma supplier workspace. Cost and pricing data never exposed to public catalog. */
.perfume-supplier-panel{overflow:hidden}
.perfume-supplier-panel .inline-between{gap:15px;flex-wrap:wrap}
.perfume-supplier-panel h3{color:#593081;margin:3px 0 8px}
.perfume-supplier-panel .supplier-visit{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #d9c2f2;border-radius:12px;text-decoration:none;white-space:nowrap;font-size:12px}
.supplier-sync-info{display:grid;gap:6px;padding:12px 14px;background:#faf6ff;border:1px solid #e5d8f0;border-radius:14px;margin:13px 0}
.supplier-status-pill{display:inline-flex;width:fit-content;max-width:100%;padding:6px 10px;border-radius:99px;background:#f8e5f1;color:#87426f;font-size:11px;font-weight:750}
.supplier-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.supplier-rule-grid>div{display:grid;gap:8px;border:1px solid #eae0f4;border-radius:13px;background:#fff;padding:13px}
.supplier-rule-grid small{font-size:11px;color:#8a7997}
.supplier-rule-grid strong{font-size:17px;color:#6f40a8;line-height:1.3}
.supplier-calculator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch;background:#faf6ff;border-radius:16px;padding:13px;margin:18px 0}
.supplier-calculator label{margin:0}
.supplier-calculated{padding:8px 12px;background:white;border:1px solid #ece1f3;border-radius:12px}
.supplier-calculated small{color:#8d759e;font-size:11px}
.supplier-calculated strong{display:block;font-size:clamp(19px,2.5vw,28px);color:#7035b0}
.supplier-calculated .tiny{margin:4px 0;color:#826f8e}
.supplier-image-finder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:15px 0 6px}
.supplier-image-finder>label{margin-bottom:0}
.supplier-image-finder button{padding:11px 13px;white-space:nowrap}
.supplier-items-heading{margin-top:23px}
.supplier-perfume-list{display:grid;gap:9px}
.supplier-perfume-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px;border:1px solid #eee5f4;background:#fff;border-radius:13px}
.supplier-perfume-row>div:last-child{display:grid;text-align:right;gap:3px;min-width:105px}
.supplier-perfume-row strong{font-size:13px;color:#5f328f}
.supplier-perfume-row .tiny{margin:4px 0}
.supplier-perfume-row small{font-size:10px;color:#856d90}
.supplier-perfume-row a{font-size:11px;color:#7847aa}
@media(max-width:760px){.supplier-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-calculator{grid-template-columns:1fr}.supplier-image-finder{grid-template-columns:1fr}.supplier-image-finder button{width:100%}}
@media(max-width:450px){.supplier-perfume-row{flex-direction:column;align-items:stretch}.supplier-perfume-row>div:last-child{text-align:left}.supplier-rule-grid>div{padding:10px}.supplier-rule-grid strong{font-size:14px}}


/* Bellaroma PDF importer: preview first, paginate supplier products, never render thousands of cards at once */
.supplier-import-panel{display:grid;gap:11px;margin:22px 0 16px;padding:17px;border:1px solid #dfcaf2;border-radius:17px;background:linear-gradient(145deg,#fff,#fbf6ff)}
.supplier-import-panel>.inline-between{align-items:start;gap:10px}
.supplier-import-panel>.inline-between strong{font-size:15px;color:#62328f}
.supplier-import-panel>.inline-between .tiny{margin:3px 0}
.supplier-import-panel label{margin:0}
.supplier-import-panel input[type=file]{max-width:100%;width:100%;padding:12px;background:#fff;border:1px solid #eadcf3;border-radius:12px}
.supplier-import-buttons{display:flex;flex-wrap:wrap;gap:10px}
.supplier-import-buttons button{min-height:42px;padding:10px 16px}
#supplierPdfStatus{padding:10px 12px;background:#fff;border:1px solid #eee6f6;border-radius:11px;color:#6d5680;overflow-wrap:anywhere}
.supplier-pdf-preview{display:grid;gap:9px}
.supplier-pdf-stat{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.supplier-pdf-stat strong{font-size:14px;color:#65409c}
.supplier-pdf-stat span{font-size:11px;color:#7e688f}
.supplier-pdf-table-wrap{max-height:370px;overflow:auto;border:1px solid #e9dbf0;border-radius:12px;background:white}
.supplier-pdf-table{width:100%;border-collapse:collapse;font-size:11px}
.supplier-pdf-table th{position:sticky;top:0;background:#f2eafb;text-align:left;color:#6c4195;font-size:10px;white-space:nowrap}
.supplier-pdf-table td,.supplier-pdf-table th{padding:9px 11px;border-bottom:1px solid #f0e9f5}
.supplier-pdf-table td:nth-child(2){min-width:190px}
.supplier-pdf-table td:nth-child(3),.supplier-pdf-table td:nth-child(4){white-space:nowrap}
.supplier-pdf-preview details{padding:10px;background:#fff9f1;border:1px solid #f4deb7;border-radius:10px;color:#87633c}
.supplier-pdf-preview details summary{cursor:pointer;font-size:11px;font-weight:750}
.supplier-pdf-warnings{max-height:170px;overflow:auto;font-size:10px}
.supplier-pdf-warnings p{margin:5px 0}
.supplier-search-row{display:flex;align-items:center;gap:8px;margin:10px 0}
.supplier-search-row>input{flex:1;min-width:0}
.supplier-search-row button{flex:none;padding:9px 12px;min-width:36px}
.supplier-search-row span{min-width:36px;text-align:center}
@media(max-width:620px){
 .supplier-import-panel{padding:12px}
 .supplier-import-panel>.inline-between{display:grid}
 .supplier-import-buttons{display:grid;grid-template-columns:1fr 1fr}
 .supplier-import-buttons button{padding:9px 8px;font-size:11px}
 .supplier-search-row{flex-wrap:wrap}
 .supplier-search-row input{flex-basis:100%}
 .supplier-search-row>button{flex:1}
 .supplier-pdf-table td:nth-child(2){min-width:145px}
}

/* Glowtto 8.15 · Popular perfumes / body mist / body spray - responsive supplier discovery */
.perfume-discovery{padding:20px 0 28px}
.perfume-discovery-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(115deg,#f9effe,#fff7fb);border:1px solid #efdef4;border-radius:22px;padding:24px;margin:12px 0 17px}
.perfume-discovery-intro h2{font-size:clamp(20px,3vw,31px);color:#63368d;margin:4px 0}
.perfume-discovery-intro p{font-size:12px;color:#7b6789;max-width:620px;line-height:1.65;margin:5px 0}
.perfume-week-mark{font-weight:800;font-size:10px;letter-spacing:.09em;padding:10px 13px;background:#fff;border-radius:99px;color:#9a5ec5;white-space:nowrap}
.perfume-segments{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.perfume-segments button{border-radius:99px;padding:11px 14px;background:#fff;border:1px solid #e6d7ee;color:#745682;font-size:12px;font-weight:700;transition:background .2s,color .2s}
.perfume-segments button.selected{color:#fff;background:linear-gradient(95deg,#8c36e6,#d64baf);border-color:transparent;box-shadow:0 4px 12px #9843c433}
.perfume-discovery-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 10px}
.perfume-discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0}
.fragrance-card{min-width:0;background:#fff;border:1px solid #f0e7f4;box-shadow:0 5px 22px #39204a0d;border-radius:19px;overflow:hidden;display:flex;flex-direction:column}
.fragrance-card-picture{aspect-ratio:1.1;display:grid;place-items:center;background:radial-gradient(circle at 45% 35%,#fff,#f6e8fa 72%,#f2e0f2);position:relative;overflow:hidden}
.fragrance-card-picture img,.fragrance-modal-picture img{width:100%;height:100%;object-fit:contain;padding:10px}
.fragrance-card-details{padding:13px;display:flex;flex-direction:column;flex:1;gap:6px}
.fragrance-card-details small{font-size:10px;letter-spacing:.02em;color:#986cb1}
.fragrance-card-details h3{font-size:13px;line-height:1.5;color:#40234f;overflow-wrap:anywhere;margin:0;min-height:39px}
.fragrance-card-details>strong{font-size:19px;color:#7833bb}
.fragrance-card-stock{color:#936b27;font-size:11px;font-weight:700}
.fragrance-card-details button{margin-top:auto;font-size:11px;min-height:37px;padding:8px}
.fragrance-vector{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;gap:0}
.fragrance-vector-cap{width:52px;height:29px;background:linear-gradient(90deg,#6f387d,#b16eaf,#6c3b80);border-radius:7px 7px 2px 2px;box-shadow:0 3px 6px #3f224020}
.fragrance-vector-bottle{width:clamp(72px,9vw,113px);height:clamp(90px,11vw,125px);background:linear-gradient(130deg,#f3c5de,#ffffffcc 43%,#ce84bf);border:5px solid #ffffffad;border-radius:22px 22px 15px 15px;box-shadow:0 11px 20px #6c397839;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.fragrance-vector-bottle small{color:#815185;font-size:8px;letter-spacing:.12em;font-weight:800}
.fragrance-vector-bottle b{color:#a95199;font-size:24px}
.perfume-show-more{text-align:center;margin:15px 0}
.perfume-availability-note{border-radius:13px;background:#fffaf3;border:1px solid #f1e6cb;color:#8b6b43;padding:11px 14px;font-size:11px;line-height:1.65;margin-top:12px}
.fragrance-modal{border:0;border-radius:24px;padding:0;max-width:760px;width:min(760px,calc(100vw - 25px));max-height:91svh;background:#fff;box-shadow:0 22px 80px #24103670;color:#482b5a;overflow:auto}
.fragrance-modal::backdrop{background:#281a3aaf;backdrop-filter:blur(8px)}
.fragrance-modal-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;padding:12px 18px;border-bottom:1px solid #efe3f4;z-index:2;color:#6b388c}
.fragrance-modal-head button{width:39px;height:39px;border:1px solid #e9d8f3;border-radius:50%;background:#f9f3fc;color:#715387;font-size:24px}
.fragrance-modal-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;padding:20px;align-items:center}
.fragrance-modal-layout h2{font-size:23px;line-height:1.25;color:#47235f}
.fragrance-modal-layout p{font-size:13px;line-height:1.55}
.fragrance-modal-price{font-size:27px;color:#7f35b7}
.fragrance-modal-picture{width:100%;aspect-ratio:1;display:grid;place-items:center;background:linear-gradient(135deg,#f9eefb,#fef6fc);border-radius:18px;overflow:hidden}
.fragrance-modal-picture .fragrance-vector{min-height:220px}
.fragrance-image-search{display:inline-flex;margin:12px 0;text-decoration:none;padding:10px 13px;border-radius:12px;font-size:12px}
.fragrance-modal-layout button[data-fragrance-copy]{display:block;margin-top:12px}
@media(max-width:1040px){.perfume-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.perfume-discovery-intro{padding:17px;align-items:flex-start;flex-direction:column;gap:6px}.perfume-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fragrance-card-details{padding:10px}.fragrance-card-details h3{font-size:12px}.fragrance-card-details>strong{font-size:17px}.fragrance-vector-cap{width:37px;height:22px}.fragrance-vector-bottle{width:76px;height:96px}.perfume-segments{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.perfume-segments button{flex:none;white-space:nowrap;padding:9px 12px;font-size:11px}.fragrance-modal{inset:0;margin:auto 0 0;width:100vw;max-width:100vw;max-height:92svh;border-radius:23px 23px 0 0}.fragrance-modal-layout{grid-template-columns:1fr;gap:12px;padding:13px}.fragrance-modal-picture{aspect-ratio:1.7;max-height:210px}.fragrance-modal-layout h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){.perfume-segments button{transition:none!important}}


/* Private storefront fast list: source details never included on customer pages. */
.supplier-featured-admin{background:linear-gradient(140deg,#fff,#fdf8ff);border:1px solid #e6d5f2;border-radius:18px;padding:17px;margin:17px 0 21px}
.supplier-featured-admin .inline-between{gap:13px;align-items:flex-start}
.supplier-featured-admin h3{margin:5px 0 4px;color:#693a99;font-size:18px}
.supplier-featured-admin p.tiny{margin:4px 0 9px;max-width:650px;line-height:1.5}
.supplier-showcase-filters{display:flex;align-items:center;gap:7px;overflow:auto;scrollbar-width:thin;padding:7px 0 10px;margin-bottom:4px}
.supplier-showcase-filters button{white-space:nowrap;border-radius:99px;border:1px solid #e0ceef;color:#73469c;background:#fff;padding:9px 12px;font-size:11px;font-weight:700;flex:none}
.supplier-showcase-filters button.selected{color:#fff;border-color:transparent;background:linear-gradient(115deg,#8734dc,#ca48b3)}
#supplierShowcaseSummary{font-weight:600;color:#705285;margin:4px 0 11px}
.supplier-showcase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.supplier-showcase-card{min-width:0;display:flex;flex-direction:column;gap:6px;border:1px solid #eee3f5;border-radius:13px;padding:13px;background:#fff}
.supplier-showcase-head{display:flex;gap:5px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.supplier-feature-rank{font-size:10px;font-weight:750;color:#7d4da5}
.supplier-feature-in-pdf{font-size:10px;background:#e8f7ec;color:#237647;border-radius:99px;padding:4px 7px}
.supplier-showcase-card>strong{color:#4f276c;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.supplier-showcase-card .tiny{margin:0;color:#846d91;font-size:10px}
.supplier-showcase-prices{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#745f83}
.supplier-showcase-prices b{font-weight:800;color:#6f329c}
.supplier-showcase-card a{font-size:10px;color:#7534a5;margin-top:auto}
@media(max-width:650px){.supplier-featured-admin{padding:12px}.supplier-showcase-list{grid-template-columns:1fr}.supplier-showcase-card{padding:11px}.supplier-featured-admin .inline-between{align-items:stretch}.supplier-featured-admin .inline-between button{width:100%}}


/* Glowtto 8.16: same detail language as makeup, now in perfumes and body products. */
.fragrance-product-sheet{box-sizing:border-box;width:min(960px,calc(100vw - 24px));max-width:960px;max-height:93svh;padding:0;overflow-y:auto;overflow-x:hidden;border:1px solid #ebddf2;scrollbar-width:thin;overscroll-behavior:contain}
.frag-sheet-inner{position:relative;min-width:0}
.frag-sheet-toolbar{position:sticky;top:0;z-index:7;background:#fffffff5;border-bottom:1px solid #f1e7f5;backdrop-filter:blur(13px);height:54px;display:flex;align-items:center;justify-content:center;padding:8px 55px}
.frag-sheet-toolbar strong{font-size:12px;color:#765b88}
.frag-sheet-toolbar [data-frag-close]{position:absolute;right:10px;top:7px;width:39px;height:39px;display:grid;place-items:center;border:1px solid #e5d6ee;border-radius:50%;font-size:26px;background:#faf6fc;color:#633975}
.frag-sheet-handle{display:none}
.frag-sheet-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(14px,2.2vw,28px);padding:clamp(12px,2vw,24px);align-items:start;min-width:0}
.frag-gallery{position:sticky;top:65px;align-self:start;min-width:0;background:#fff;border-radius:18px}
.frag-gallery-hero{position:relative;width:100%;aspect-ratio:1/1;max-height:min(48svh,435px);overflow:hidden;background:radial-gradient(circle at center,#fff,#f3e9f7);border-radius:16px;display:grid;place-items:center}
.frag-hero-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:5px;background:transparent;border:0;touch-action:pan-y;cursor:zoom-in}
.frag-hero-photo img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.frag-empty-photo{width:100%;height:100%;display:grid;place-items:center;pointer-events:none}
.frag-gallery-hero [data-frag-step]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;z-index:2;background:#fffffff0;border:1px solid #f1e8f3;border-radius:50%;font-size:25px;color:#643781;box-shadow:0 3px 10px #2f154022}
.frag-gallery-hero [data-frag-step]:disabled{opacity:0;pointer-events:none}
.frag-hero-prev{left:11px}.frag-hero-next{right:11px}
.frag-gallery-count,.frag-open-zoom{position:absolute;bottom:10px;z-index:2;background:#fffffff0;color:#6c4881;border:0;border-radius:99px;padding:6px 12px;font-size:11px;white-space:nowrap}
.frag-gallery-count{left:9px}.frag-open-zoom{right:9px}
.frag-gallery-thumbs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:9px 2px 4px;scroll-snap-type:x proximity}
.frag-gallery-thumbs button{width:56px;height:56px;min-width:56px;flex:none;border-radius:11px;border:2px solid #eadff1;background:#f8f4fa;padding:3px;scroll-snap-align:start;overflow:hidden}
.frag-gallery-thumbs button.active{border-color:#9c5bd1;box-shadow:0 0 0 2px #e6d5f3}
.frag-gallery-thumbs button img{width:100%;height:100%;object-fit:contain;border-radius:7px}
.frag-photo-in img{animation:fragImageEnter .32s cubic-bezier(.22,1,.36,1)}
@keyframes fragImageEnter{from{opacity:.45;transform:translateX(12px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}
.frag-sheet-info{min-width:0;padding:4px 2px 20px;overflow-wrap:anywhere}
.frag-sheet-info h2{font-size:clamp(20px,2.5vw,30px);color:#462357;line-height:1.24;margin:9px 0}
.frag-sheet-info h3{font-size:16px;color:#4a2c59;margin:24px 0 10px}
.frag-sheet-sub{color:#896d97;font-size:12px;margin:4px 0}
.frag-sheet-price{display:block;margin:13px 0;color:#8535b7;font-size:clamp(23px,3vw,30px)}
.frag-sheet-description{font-size:13px;line-height:1.85;white-space:pre-wrap;color:#675770}
.fragrance-lightbox{inset:0;margin:auto;padding:0;position:fixed;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;overflow:hidden;border:0;background:#15111dfb;color:#fff}
.fragrance-lightbox::backdrop{background:#110d18ef}
.frag-lightbox-frame{height:100%;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.frag-lightbox-top,.frag-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px max(15px,env(safe-area-inset-left));font-size:12px}
.frag-lightbox-top{padding-top:max(15px,env(safe-area-inset-top))}
.frag-lightbox-bottom{padding-bottom:max(15px,env(safe-area-inset-bottom))}
.frag-lightbox-top button,.frag-lightbox-bottom button{display:grid;place-items:center;border:1px solid #ffffff4c;border-radius:50%;width:43px;height:43px;background:#ffffff26;color:#fff;font-size:27px}
.frag-lightbox-stage{min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none}
#fragLightboxImage{width:100%;height:100%;object-fit:contain;touch-action:none;user-select:none;-webkit-user-drag:none;will-change:transform;cursor:zoom-in}
.frag-lightbox-bottom span{font-size:11px;color:#ddd1e5;text-align:center}
/* Admin: photo catalogue with selectable remote images */
.supplier-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.supplier-edit-actions button{font-size:11px;min-height:34px;padding:7px 10px}
.perfume-editor-modal{position:fixed;inset:0;margin:auto;width:min(800px,calc(100vw - 26px));max-width:800px;max-height:92svh;padding:0;overflow:auto;border:1px solid #e7d6f0;border-radius:24px;background:#fff;box-shadow:0 24px 80px #2e163c6e;overscroll-behavior:contain}
.perfume-editor-modal::backdrop{background:#1f132cb8;backdrop-filter:blur(8px)}
.perfume-editor-shell{padding:19px}
.perfume-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}
.perfume-editor-heading h2{font-size:21px;color:#583084;margin:5px 0}
.perfume-editor-heading .tiny{margin:4px 0;max-width:540px}
.perfume-editor-heading>button{border:1px solid #e4d5ef;color:#63487e;border-radius:50%;background:#fff;min-width:39px;width:39px;height:39px;font-size:25px}
.perfume-editor-section{border-top:1px solid #f1e8f7;padding:15px 0}
.perfume-editor-section h3{font-size:15px;color:#56347b;margin:0 0 7px}
.perfume-editor-section>p.tiny{margin:7px 0 13px}
.perfume-editor-section textarea{min-height:125px;width:100%;line-height:1.6;resize:vertical}
.perfume-chosen-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px 0}
.perfume-chosen-row{display:flex;gap:9px;border:1px solid #eee2f5;border-radius:12px;padding:8px;min-width:0}
.perfume-chosen-row>img{width:73px;height:79px;object-fit:contain;flex:none;border-radius:9px;background:#faf4fc}
.perfume-chosen-row>div{min-width:0;display:grid;gap:4px}
.perfume-chosen-row strong{font-size:11px;color:#61328b}
.perfume-chosen-row small{font-size:10px;color:#867093;overflow-wrap:anywhere;max-height:29px;overflow:hidden}
.perfume-chosen-actions{display:flex;gap:4px}
.perfume-chosen-actions button{border:1px solid #e8ddee;background:#faf6ff;color:#6c4193;padding:5px 8px;border-radius:7px;font-size:11px}
.perfume-editor-image-search,.perfume-image-direct{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:12px 0}
.perfume-editor-image-search label,.perfume-image-direct label{margin:0}
.perfume-editor-image-search button,.perfume-image-direct button{min-height:43px;font-size:11px}
.perfume-image-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
.perfume-image-choice{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:6px;border-radius:11px;background:#fff;border:1px solid #e9dff2;text-align:left;min-width:0}
.perfume-image-choice img{width:100%;height:115px;object-fit:contain;background:#f7f1fa;border-radius:7px}
.perfume-image-choice small{font-size:9px;color:#8b7396;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.perfume-image-choice span{font-size:10px;color:#7f47a7;font-weight:700}
.perfume-image-choice.selected{border-color:#9b5ace;box-shadow:0 0 0 2px #f1e3fa}
.perfume-image-setup{padding:13px;border:1px solid #e9d7f4;background:#faf6fd;border-radius:12px;font-size:12px}
.perfume-image-setup a{color:#7942a7}
.perfume-license-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#654d73;line-height:1.5;margin:9px 0}
.perfume-license-consent input{width:auto!important;flex:none;margin-top:3px}
.perfume-editor-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid #ede1f3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0 0}
.perfume-editor-foot .tiny{flex:1;color:#4c8a5b}
.perfume-editor-foot .tiny.invalid{color:#ab375c}
.perfume-editor-foot>div{display:flex;gap:8px}
@media(max-width:740px){
 .fragrance-product-sheet{position:fixed;inset:0;margin:auto 0 0;width:100vw;max-width:100vw;height:96svh;max-height:96svh;border-radius:22px 22px 0 0}
 .frag-sheet-toolbar{height:49px;padding:8px 55px}
 .frag-sheet-handle{display:block;position:absolute;top:5px;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:10px;background:#d8c7e2}
 .frag-sheet-layout{display:flex;flex-direction:column;padding:8px 13px 22px;gap:8px}
 .frag-gallery{position:sticky;top:49px;z-index:3;width:100%;box-shadow:0 6px 16px #25102712;padding-bottom:3px}
 .frag-gallery-hero{aspect-ratio:auto;height:clamp(160px,27svh,225px);max-height:225px}
 .frag-gallery-thumbs button{width:42px;min-width:42px;height:42px}
 .frag-sheet-info{width:100%;padding:10px 2px 20px}
 .frag-sheet-info h2{font-size:clamp(19px,5vw,24px)}
 .frag-sheet-info h3{margin:17px 0 8px}
 .frag-sheet-price{font-size:24px}
 .frag-sheet-description{font-size:12px}
 .perfume-editor-modal{inset:0;margin:auto 0 0;width:100vw;max-width:100vw;max-height:94svh;border-radius:23px 23px 0 0}
 .perfume-editor-shell{padding:14px}
 .perfume-chosen-images{grid-template-columns:1fr}
 .perfume-image-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .perfume-editor-image-search,.perfume-image-direct{grid-template-columns:1fr}
 .perfume-editor-image-search button,.perfume-image-direct button{width:100%}
 .perfume-editor-foot{flex-direction:column;align-items:stretch}
 .perfume-editor-foot>div{justify-content:stretch}
 .perfume-editor-foot button{flex:1}
}
@media(max-width:390px){.perfume-image-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.frag-photo-in img{animation:none!important}}


/* When reading perfume text on phones, keep gallery visible but compact. */
@media(max-width:740px) and (min-height:501px){
 .fragrance-product-sheet .frag-gallery-hero{transition:height .25s cubic-bezier(.22,1,.36,1)}
 .fragrance-product-sheet .frag-gallery-thumbs{max-height:62px;transition:opacity .2s,max-height .25s,padding .2s;overflow:hidden}
 .fragrance-product-sheet.is-reading .frag-gallery-hero{height:82px!important}
 .fragrance-product-sheet.is-reading .frag-gallery-thumbs{max-height:0!important;opacity:0!important;padding-top:0!important;padding-bottom:0!important}
 .fragrance-product-sheet.is-reading .frag-open-zoom{display:none}
 .fragrance-product-sheet.is-reading .frag-gallery-hero [data-frag-step]{width:30px;height:30px;font-size:19px}
}
@media(prefers-reduced-motion:reduce){.fragrance-product-sheet .frag-gallery-hero,.fragrance-product-sheet .frag-gallery-thumbs{transition:none!important}}


/* Verified olfactory sources, inline picture picker and editorial gallery preview. */
.perfume-verified-sources{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:5px 0 10px;font-size:11px;color:#6d5881}
.perfume-verified-sources>span{background:#f1eaf9;border-radius:9px;padding:7px 9px}
.perfume-verified-sources a{color:#773db0;padding:6px 8px;border:1px solid #e8daf4;border-radius:9px;text-decoration:none}
.perfume-editor-carousel{width:100%;margin:12px 0;background:linear-gradient(125deg,#fbf4fc,#fff);border:1px solid #ead9f5;border-radius:17px;overflow:hidden}
.perfume-gallery-empty{margin:0;text-align:center;color:#8d6f9a;font-size:12px;line-height:1.75;padding:22px 15px}
.perfume-admin-hero{height:clamp(165px,30vh,300px);display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;touch-action:pan-y}
.perfume-admin-hero>img{width:100%;height:100%;object-fit:contain;display:block;max-width:100%;padding:8px}
.perfume-admin-hero button{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #ebdcf4;background:#fff;box-shadow:0 3px 10px #4e28722a;color:#8052a8;font-size:24px}
.perfume-admin-hero button[data-gallery-nav="-1"]{left:11px}
.perfume-admin-hero button[data-gallery-nav="1"]{right:11px}
.perfume-admin-hero button:disabled{opacity:0;pointer-events:none}
.perfume-admin-count{position:absolute;bottom:10px;left:10px;color:#604079;background:#ffffffd9;padding:5px 12px;border-radius:50px;font-size:11px}
.perfume-admin-thumbs{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:9px;scroll-snap-type:x mandatory}
.perfume-admin-thumbs button{width:55px;height:55px;min-width:55px;border-radius:10px;border:2px solid #ede2f4;background:white;padding:3px;scroll-snap-align:start;overflow:hidden}
.perfume-admin-thumbs button.selected{border-color:#9145c9;box-shadow:0 0 0 2px #efddfa}
.perfume-admin-thumbs img{width:100%;height:100%;object-fit:contain}
.perfume-gallery-hint{font-size:11px;line-height:1.65;padding:10px 12px;border:1px solid #dfd0ee;color:#745e85;border-radius:12px;background:#faf6fe;margin:9px 0}
.perfume-image-results img{background:#fbf6fe}
@media(max-width:700px){.perfume-admin-hero{height:clamp(165px,27svh,240px)}.perfume-admin-thumbs button{width:45px;height:45px;min-width:45px}}


/* Swipe carousel for official-brand image suggestions before selection */
.perfume-image-suggestions{width:100%;border-radius:15px;overflow:hidden;margin:13px 0}
.perfume-image-suggestions:empty{display:none}
.perfume-suggestion-preview{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(190px,31vw,315px);background:linear-gradient(140deg,#f7eafa,#fff);border:1px solid #ebdbf4;border-radius:16px 16px 0 0;overflow:hidden}
.perfume-suggestion-preview img{display:block;width:100%;height:100%;object-fit:contain;padding:12px}
.perfume-suggestion-preview>button{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #eeddf6;color:#76409e;background:#fffffff1;font-size:25px;box-shadow:0 3px 12px #42234e27}
.perfume-suggestion-preview>button[data-suggest-step="-1"]{left:12px}
.perfume-suggestion-preview>button[data-suggest-step="1"]{right:12px}
.perfume-suggestion-preview>button:disabled{opacity:0}
.perfume-suggestion-count{position:absolute;bottom:11px;left:11px;border-radius:99px;background:#fffffff0;padding:5px 13px;font-size:11px;color:#663b80}
.perfume-suggestion-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #ebdbf4;border-top:0;border-radius:0 0 15px 15px;padding:11px 13px}
.perfume-suggestion-foot span{font-size:11px;color:#7e6b88;overflow-wrap:anywhere}
.perfume-suggestion-foot button{font-size:11px;white-space:nowrap}
@media(max-width:650px){.perfume-suggestion-preview{height:clamp(175px,25svh,260px)}.perfume-suggestion-foot{flex-direction:column;align-items:stretch}.perfume-suggestion-foot button{width:100%}}


/* Olfactory pyramid with clearly separated source-backed scent stages */
.frag-olfactory-block{border-bottom:1px solid #f0e5f4;padding:10px 0 12px;margin:0}
.frag-olfactory-block:last-child{border-bottom:0}
.frag-olfactory-block h4{margin:0 0 5px;font-size:11px;letter-spacing:.055em;color:#9553b6;font-weight:800}
.frag-olfactory-block p{font-size:13px;line-height:1.75;color:#5d4a65;margin:0}
.frag-custom-description{white-space:pre-wrap;font-size:13px;line-height:1.85}
@media(max-width:740px){.frag-olfactory-block p,.frag-custom-description{font-size:12px}}

/* Clear fallback for photo catalogues without connected Google search credentials */
.perfume-setup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0}
.perfume-setup-actions a{display:inline-flex;align-items:center;padding:10px 13px;color:#773fa4;background:#fff;border:1px solid #decaf0;border-radius:10px;text-decoration:none;font-size:12px;font-weight:700}
.perfume-setup-actions button{font-size:11px;min-height:40px;padding:8px 12px}
.perfume-image-setup small{font-size:10px;line-height:1.6;color:#806b8e}
@media(max-width:600px){.perfume-setup-actions{display:grid;grid-template-columns:1fr}.perfume-setup-actions a,.perfume-setup-actions button{width:100%;justify-content:center}}


/* Glowtto admin visual catalog: photo status, category and missing-image filters */
.inventory-photo-controls,.supplier-photo-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin:15px 0 8px;align-items:end}
.supplier-photo-filters{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.inventory-photo-controls label,.supplier-photo-filters label{min-width:0;margin:0;font-size:11px}
.inventory-photo-controls input,.inventory-photo-controls select,.supplier-photo-filters input,.supplier-photo-filters select{min-height:39px;width:100%;font-size:12px}
#inventoryPhotoSummary{padding:5px 0;color:#826c90}
.admin-inventory-card{min-width:0;border-radius:15px}
.admin-inventory-preview{display:flex;align-items:center;gap:12px;min-width:0;margin:1px 0 8px}
.admin-inventory-thumb,.supplier-showcase-thumb,.supplier-page-thumb{width:94px;height:94px;min-width:94px;border:1px solid #ebdef3;border-radius:14px;background:linear-gradient(145deg,#fff,#f6eef9);display:grid;place-items:center;overflow:hidden;padding:4px;flex:none}
.admin-inventory-thumb img,.supplier-showcase-thumb img,.supplier-page-thumb img{width:100%;height:100%;object-fit:contain;display:block;border-radius:9px}
.admin-inventory-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px;align-items:flex-start}
.admin-inventory-main>.inline-between{width:100%;align-items:flex-start;gap:8px}
.admin-inventory-main strong{font-size:13px;color:#4e286c;overflow-wrap:anywhere}
.admin-inventory-main .tiny{margin:0;color:#816b91}
.admin-photo-status{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;font-size:10px;font-weight:750;border-radius:99px;padding:5px 9px;white-space:normal}
.admin-photo-status.has-picture{color:#2b8250;background:#e5f6ec}
.admin-photo-status.needs-picture{color:#a55255;background:#fff0f0}
.admin-no-image{display:grid;place-items:center;align-content:center;gap:5px;min-width:0;width:100%;height:100%;text-align:center;color:#ae8bbd}
.admin-no-image span{font-size:29px;line-height:1}
.admin-no-image small{font-size:9px;font-weight:700;color:#906c9d}
.supplier-showcase-product{display:flex;align-items:center;gap:12px;min-width:0}
.supplier-showcase-thumb{width:96px;height:96px;min-width:96px;cursor:pointer;transition:transform .2s ease,border-color .2s ease}
.supplier-showcase-thumb:hover{transform:translateY(-2px);border-color:#ba7cda}
.supplier-showcase-product-info{display:grid;gap:6px;align-content:center;min-width:0;flex:1}
.supplier-showcase-product-info strong{font-size:12px;color:#58347d;overflow-wrap:anywhere;line-height:1.5}
.supplier-showcase-product-info .supplier-showcase-prices{font-size:10px;display:flex;flex-wrap:wrap;gap:7px}
.supplier-page-thumb{width:77px;height:77px;min-width:77px;align-self:center;cursor:pointer}
.supplier-perfume-row{gap:11px}
.supplier-perfume-row>div:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}
.supplier-perfume-row>div:last-child{min-width:110px}
.supplier-perfume-row .admin-photo-status{font-size:9px;align-self:end}
.product-interactive,.fragrance-card-clickable{cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s}
.product-interactive:hover,.fragrance-card-clickable:hover{transform:translateY(-3px);box-shadow:0 9px 28px #34204516}
.product-interactive:focus-visible,.fragrance-card-clickable:focus-visible{outline:3px solid #a05ad4;outline-offset:3px}
.detail-product-nav{display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid #f2e8f5;padding:6px 12px;color:#806a8e;background:#fff}
.detail-product-nav button,.frag-product-navigation button{font-size:12px;font-weight:750;border:1px solid #e9ddef;background:#faf5fc;color:#76518b;border-radius:99px;padding:8px 13px;white-space:nowrap}
.detail-product-nav span{font-size:10px;text-align:center;line-height:1.4}
.frag-product-navigation{display:flex;align-items:center;justify-content:center;gap:14px}
.frag-product-navigation strong{white-space:nowrap}
.frag-product-navigation button{border-radius:50%;width:35px;height:35px;padding:0;font-size:22px;display:grid;place-items:center}
@media(max-width:700px){
 .inventory-photo-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inventory-photo-controls label:first-child{grid-column:1/-1}
 .supplier-photo-filters{grid-template-columns:1fr 1fr}
 .admin-inventory-thumb{width:75px;height:75px;min-width:75px}
 .supplier-showcase-thumb{width:78px;height:78px;min-width:78px}
 .supplier-page-thumb{width:61px;height:61px;min-width:61px}
 .supplier-showcase-product{gap:9px}
 .supplier-perfume-row{align-items:stretch}
 .supplier-perfume-row>div:last-child{text-align:left;align-self:stretch}
 .supplier-perfume-row .admin-photo-status{align-self:start}
 .detail-product-nav{gap:6px;padding:7px}
 .detail-product-nav button{font-size:11px;padding:7px 10px}
 .detail-product-nav span{font-size:9px}
 .frag-product-navigation{gap:8px}
 .frag-product-navigation button{width:33px;height:33px}
}
@media(max-width:430px){
 .supplier-photo-filters{grid-template-columns:1fr}
 .supplier-perfume-row .supplier-page-thumb{align-self:flex-start}
 .supplier-showcase-product-info strong{font-size:11px}
 .detail-product-nav{justify-content:space-between}
 .detail-product-nav span{max-width:140px}
 .frag-product-navigation{gap:6px}
 .frag-product-navigation strong{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.product-interactive,.fragrance-card-clickable,.supplier-showcase-thumb{transition:none!important}}


/* Transición horizontal superpuesta entre productos (iOS-like).
   Foto: gesto sobre galería. Producto: gesto sobre información.
   Ambas animaciones se ejecutan juntas sin cerrar el diálogo ni reordenar la tienda. */
.product-switch-host{position:relative}
.product-switch-ghost,.fragrance-switch-ghost{
 position:absolute!important;
 margin:0!important;
 z-index:4;
 pointer-events:none!important;
 user-select:none;
 -webkit-user-select:none;
 will-change:opacity,transform;
 transform-origin:50% 50%;
 overflow:hidden;
 contain:paint;
}
.product-switch-ghost *,.fragrance-switch-ghost *{
 pointer-events:none!important;
}
.fragrance-switch-ghost{z-index:2}
.product-sheet-content,.fragrance-product-sheet{overflow-x:hidden}
@media(prefers-reduced-motion:reduce){
 .product-switch-ghost,.fragrance-switch-ghost{display:none!important}
}

/* Carrusel de inicio: estilos centralizados en banner-unified.css. */

/* Glowtto iPhone perfume photo frame fix */
/* La imagen no debe imponer su altura intrínseca sobre el visor y salir recortada. */
.fragrance-product-sheet .frag-gallery-hero{
  display:block;
  position:relative;
  overflow:hidden;
}
.fragrance-product-sheet .frag-gallery-hero > .frag-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  overflow:hidden;
}
.fragrance-product-sheet .frag-gallery-hero > .frag-hero-photo > img{
  display:block;
  flex:none;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}
@media(max-width:740px){
  .fragrance-product-sheet .frag-gallery-hero{
    height:clamp(235px,38svh,340px);
    max-height:340px;
    aspect-ratio:auto;
  }
}
@media(max-width:360px) and (max-height:650px){
  .fragrance-product-sheet .frag-gallery-hero{height:clamp(220px,36svh,270px)}
}


/* Glowtto: comprar perfumes y mostrar entrega estimada de proveedor. */
.fragrance-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto}
.fragrance-card-details .fragrance-card-actions button{padding:8px 5px;min-height:39px;font-size:10px;white-space:normal;margin-top:0}
.frag-delivery-note{display:grid;gap:4px;border:1px solid #e3d5f3;border-radius:14px;background:linear-gradient(120deg,#f4efff,#fff4f9);color:#654785;padding:12px 14px;font-size:12px;line-height:1.5;margin:12px 0}
.frag-delivery-note strong{color:#603298}.frag-delivery-note span{font-size:11px}
.frag-buy-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 5px}
.frag-buy-actions button{font-size:12px;min-height:45px;padding:10px 7px}
.frag-purchase-feedback{font-size:11px;color:#30754b;margin:4px 0 10px;min-height:12px}
.perfume-cart-delivery{margin:9px 0 0;padding:10px;background:#f5edfc;border:1px solid #eaddf4;border-radius:11px;color:#704b82;font-size:11px;line-height:1.6}
.perfume-cart-warning{border:1px solid #efdab6;border-radius:11px;background:#fff8ee;color:#896433;padding:12px;font-size:12px}
.perfume-cart-card .row-actions{justify-content:space-between}.perfume-cart-card .sub{line-height:1.55}
@media(max-width:420px){
 .frag-buy-actions{gap:7px}.frag-buy-actions button{font-size:11px}
 .fragrance-card-actions{grid-template-columns:1fr}
 .fragrance-card-actions button{width:100%}
}


/* Glowtto · Comprar ahora en maquillaje, skincare, accesorios y destacados */
.product-purchase-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:auto}
.product-body .product-purchase-actions button{min-height:43px;margin:0;padding:9px 6px;font-size:11px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.product-purchase-actions .primary{box-shadow:0 5px 14px #8f4dd01b}
.product-purchase-actions .secondary{background:#fff;color:#793db7}
.detail-purchase-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:11px 0 5px}
.product-sheet .detail-purchase-actions button{width:100%;min-width:0;min-height:46px;border-radius:12px;padding:10px 8px;line-height:1.4;font-size:12px}
.product-sheet .detail-purchase-actions .detail-add{background:#fff;box-shadow:none;color:#793cb5;border:1px solid #d9bff5}
.product-sheet .detail-purchase-actions .detail-buy{background:linear-gradient(105deg,#7c3aed,#dc49b3);border:0;color:#fff}
.top-buy-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:9px}
.top-buy-actions button{font-size:12px;min-height:38px;padding:8px 12px}
@media(max-width:640px){
 /* Las acciones del catálogo se adaptan al contenedor, no al dispositivo. */
 .product-body .product-purchase-actions button{min-height:37px;padding:8px 7px;font-size:11px}
 .product-sheet .detail-purchase-actions{gap:7px}
 .product-sheet .detail-purchase-actions button{font-size:11px;padding:8px 6px;min-height:44px}
 .top-buy-actions{gap:6px}
 .top-buy-actions button{font-size:11px;padding:7px 10px}
}
@media(max-width:355px){
 .product-sheet .detail-purchase-actions{grid-template-columns:1fr}
}


/* Glowtto | pagos manuales y confirmación administrativa */
.checkout-payment{border:1px solid #e8d6f5;border-radius:16px;margin:16px 0;padding:15px;background:linear-gradient(115deg,#faf5ff,#fffafd);min-width:0}
.checkout-payment legend{font-weight:800;color:#643497;padding:0 7px;font-size:14px}
.checkout-payment>.tiny{line-height:1.5}
.payment-option{display:flex;align-items:flex-start;gap:10px;padding:12px;margin:9px 0!important;border:1px solid #e9dcf5;border-radius:12px;background:#fff;cursor:pointer;font-size:12px}
.payment-option:has(input:checked){border-color:#9655d6;box-shadow:0 0 0 2px #b17be22c;background:#faf5ff}
.payment-option input{width:18px;height:18px;flex:0 0 18px;accent-color:#853acb;margin:2px 0 0}
.payment-option span{display:grid;gap:3px;min-width:0}
.payment-option strong{font-size:12px;color:#46266b}
.payment-option small{font-size:11px;color:#806c8e;line-height:1.5;font-weight:400}
.checkout-payment-reminder{border-top:1px dashed #d9c8eb;margin:15px 0 0;padding-top:10px}
.order-payment-card{margin:12px 0;border:1px solid #e8def0;background:#fbf8ff;border-radius:13px;padding:12px;display:grid;gap:9px}
.order-payment-card .inline-between{align-items:center;flex-wrap:wrap}
.payment-state{border-radius:99px;font-weight:750;font-size:11px;padding:5px 9px}
.payment-state.is-pending{color:#94631e;background:#fff4db}
.payment-state.is-paid{color:#23794f;background:#e7f7ed}
.order-pay-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:9px;align-items:end}
.order-pay-fields label{font-size:11px;margin:0}
.order-pay-fields select,.order-pay-fields input{min-width:0;width:100%;min-height:40px;padding:8px 9px;font-size:12px}
.order-pay-fields button{align-self:end;min-height:40px;font-size:11px}
@media(max-width:700px){.order-pay-fields{grid-template-columns:1fr 1fr}.order-pay-fields>button{grid-column:1/-1}}
@media(max-width:390px){.order-pay-fields{grid-template-columns:1fr}}

/* Estado de correos del pedido */
.order-email-status{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;font-size:11px;color:#746184;margin:1px 0 10px;padding:8px 10px;border:1px dashed #e4d7ec;border-radius:10px;background:#fff}
.order-email-status strong{color:#5b3780}
.order-email-status button{padding:5px 9px;font-size:10px}

/* Diagnóstico protegido del remitente de los correos de Glowtto. */
.email-setup-status{background:#faf7ff;color:#5c4680;border:1px solid #e3d5ed;border-radius:13px;padding:13px 15px;display:flex;flex-wrap:wrap;gap:4px 15px;align-items:center;font-size:12px;line-height:1.5}
.email-setup-status strong{flex:1 0 100%;font-size:13px}
.email-setup-status span{padding:3px 9px;border-radius:30px;background:#f0e7f8}
.email-setup-status small{flex:1 0 100%;font-weight:600}
.email-setup-status.is-ready{background:#f0f9f1;border-color:#bddfcb;color:#216142}
.email-setup-status.is-blocked{background:#fff8ee;border-color:#edd7b0;color:#7a5520}
@media(max-width:640px){.email-setup-status{gap:7px}}

.email-check-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.email-check-actions button{font-size:11px;min-height:36px;padding:7px 11px}@media(max-width:530px){.email-check-actions{width:100%;justify-content:stretch}.email-check-actions button{flex:1}}


/* El bloque de destacados ya no se limita al primer producto: cambia solo y se puede deslizar. */
.top-section{position:relative}
.top-carousel{position:relative;display:block;isolation:isolate;overflow:hidden;min-height:235px;border:1px solid #ebdef9;border-radius:22px;}
.top-carousel .top-slide{position:absolute;inset:0;display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:22px;padding:24px 100px 24px 35px;opacity:0;visibility:hidden;transform:translateX(28px);pointer-events:none;transition:opacity .48s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility .48s}
.top-carousel .top-slide.is-active{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto;z-index:1}
.top-product-image{width:150px;height:160px;background:#fffefd;border:1px solid #eee5fa;box-shadow:0 8px 22px #612d9114;border-radius:18px;overflow:hidden;display:grid;place-items:center;padding:8px;cursor:pointer}
.top-product-image img{width:100%;height:100%;object-fit:contain}
.top-product-image span{font-size:64px;color:#cfa5de}
.top-slide-copy{display:flex;flex-direction:column;min-width:0;gap:4px}
.top-slide-copy strong{font-size:clamp(17px,2.6vw,25px);line-height:1.18;overflow-wrap:anywhere}
.top-slide-copy small{font-size:10px;color:#8247b4;font-weight:800;letter-spacing:.08em}
.top-slide-copy .price{font-size:clamp(17px,2.2vw,21px);color:#7832b4}
.top-perfume-note{font-size:10px;color:#806888}
.top-gallery-controls{position:absolute;right:15px;bottom:15px;z-index:4;display:flex;gap:7px}
.top-carousel-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #dec8ee;background:#fff9;color:#7940ac;font-size:24px;line-height:1;padding:0;cursor:pointer}
.top-carousel-arrow:hover{background:#f4e9fd}
.top-carousel button:focus-visible,.dots button:focus-visible{outline:3px solid #9446cb;outline-offset:3px}
.top-section .dots{padding-top:13px;flex-wrap:wrap;gap:7px}
.top-section .dots button{background:#cdb6de}
.top-section .dots button.selected{background:#803cc1}
@media(max-width:700px){
 .top-carousel{min-height:250px}
 .top-carousel .top-slide{grid-template-columns:103px minmax(0,1fr);gap:13px;padding:20px 17px 56px}
 .top-product-image{width:99px;height:116px;padding:5px}
 .top-slide-copy strong{font-size:17px}
 .top-slide-copy small{font-size:9px;letter-spacing:.04em}
 .top-slide-copy .price{font-size:17px}
 .top-gallery-controls{right:16px;bottom:13px}
 .top-gallery-controls button{width:30px;height:30px}
 .top-buy-actions button{font-size:10px;min-height:35px;padding:7px 8px}
}
@media(max-width:355px){
 .top-carousel{min-height:265px}
 .top-carousel .top-slide{grid-template-columns:82px minmax(0,1fr);gap:9px;padding-left:11px;padding-right:11px}
 .top-product-image{width:82px;height:104px}
 .top-slide-copy strong{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
}

/* Promoción programada: panel privado. Apagada hasta que se autorice. */
.home-campaign-admin{background:linear-gradient(130deg,#fff,#fcf8ff 60%,#fff6fb);border-color:#e7d7f1}
.home-campaign-admin .section-heading{align-items:flex-start;flex-wrap:wrap}
.home-campaign-admin h3{margin:2px 0 6px;font-size:20px;color:#563177}
.home-campaign-form{display:grid;gap:9px;margin-top:16px}
.home-campaign-form label{margin-bottom:0}
.home-campaign-switch{display:flex!important;align-items:center;gap:13px;background:white;border:1px solid #e8d9ef;padding:14px;border-radius:13px;cursor:pointer}
.home-campaign-switch input{height:21px;width:21px;flex:none;accent-color:#8140c0}
.home-campaign-switch span{display:grid;gap:3px}
.home-campaign-switch strong{font-size:13px}
.home-campaign-switch small{font-size:11px;font-weight:400;color:#8c7394}
.home-campaign-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.home-campaign-status{font-size:11px;font-weight:800;color:#8c648c;background:#f5eaf8;border-radius:99px;padding:7px 11px}
.home-campaign-status[data-enabled=true]{color:#287755;background:#eaf8f0}
.home-campaign-preview{display:grid;gap:5px;border-radius:15px;padding:15px 18px;background:linear-gradient(115deg,#f2e7ff,#fff0f8);border:1px solid #ead6fa}
.home-campaign-preview small{letter-spacing:.11em;text-transform:uppercase;color:#8545b7}
.home-campaign-preview strong{font-size:clamp(18px,2.5vw,29px);letter-spacing:-.03em;color:#5a337b;overflow-wrap:anywhere}
.home-campaign-preview p{margin:0;font-size:12px;color:#755680}
.home-campaign-form .row-actions{gap:10px}
@media(max-width:610px){.home-campaign-fields{grid-template-columns:1fr}.home-campaign-form .row-actions button{flex:1}}


/* GLOWTTO — Identidad oficial · negro tinta, rosa coral y blanco. */


header{border-bottom:1px solid #f1e6e7}
.head-inner{min-height:70px}
.brand{padding:0;flex:none;max-width:min(42vw,255px);align-items:center}
.brand .brand-official-logo{display:block;width:clamp(145px,21vw,205px);height:auto;max-height:67px;object-fit:contain;object-position:left center}

.head-actions button:hover,.ghost:hover{background:#fff0f1}

.cart-trigger b,.order-unread-count{background:#e67886;color:white}
.testbar{color:white}
.eyebrow{color:#d66678!important}

.primary:hover{filter:brightness(1.035)}
.secondary{border-color:#f1c5cf!important}
.secondary:hover{background:#fff1f3!important}

a{accent-color:#e67886}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e67886;outline-offset:2px}

.top-slide strong,.top-slide .price{color:#211b20!important}
.perfume-segments button.selected,.supplier-showcase-filters button.selected{border-color:#e67886!important;background:#ffe6ea!important;color:#a64b5d!important;box-shadow:none!important}
.product,.panel,.fragrance-card{border-color:#f0dfe2!important;box-shadow:0 8px 22px #24131d08}
.price,.fragrance-card-details>strong,.frag-sheet-price,.fragrance-modal-price{color:#c75e71!important}
.fragrance-card h3,.fragrance-modal h2,.frag-sheet-info h2{color:#33262e!important}
.fragrance-vector-bottle{background:linear-gradient(135deg,#ffe1e7,#ffffff 49%,#f3bdca)!important}
.fragrance-vector-cap{background:linear-gradient(90deg,#573c40,#f08995,#402d34)!important}
.admin-tabs button.selected{background:#fff0f2!important;color:#b14d60!important;border-color:#e3a1b0!important}
.perfume-discovery-intro{background:linear-gradient(115deg,#fff5f6,#fff);border-color:#f6e0e3}
.perfume-discovery-intro h2{color:#35242c}
.perfume-week-mark{color:#bf6275}
@media(max-width:750px){
 .head-inner{padding:9px 12px;gap:5px;flex-wrap:wrap}
 .brand .brand-official-logo{width:clamp(104px,25vw,150px)}
 .head-actions{gap:0}
 .head-actions button{padding:7px;font-size:11px}
 
}
@media(max-width:385px){.brand .brand-official-logo{width:104px}.head-actions button{padding:5px;font-size:10px}}



/* ═══════════════════════════════════════════════════════════════════════
   GLOWTTO · Paleta D en distribución clásica (respaldo pre-rediseño)
   Sin flores, secciones editoriales nuevas ni cambios en el flujo de compra.
   #F8C1D4 rosa palo · #E97888 coral logo · #F6E6DA beige
   #C99A6A champagne · #593B38 texto · #FFFAF7 blanco cálido
   ═══════════════════════════════════════════════════════════════════════ */
:root{--radius:18px;
 
 --pink:#e97888;--palepink:#fbefed;--light:#fffaf7;
 --purple:#ac586b;--purple-dark:#73444c;--lavender:#efc6cb;
 --ink:#593b38;--muted:#806d6a;--border:#eddfd7;
 --shadow:0 9px 26px rgba(89,59,56,.075);
 --brand-blush:#f8c1d4;--brand-coral:#e97888;--brand-beige:#f6e6da;
 --brand-gold:#c99a6a;--brand-paper:#fffaf7;--brand-ink:#593b38;
}
html,body{max-width:100%;overflow-x:clip}
body{background:#fffdfb;color:var(--ink)}
header{background:rgba(255,252,249,.97)!important;border-color:#eadbd5!important}
.head-actions button{color:#68474b!important}
.head-actions button:hover,.ghost:hover{background:#fbe9e6!important}
.head-actions .cart-trigger{background:#fae1e0!important;color:#72434b!important;border:1px solid #f0cccc!important}
.cart-trigger b,.order-unread-count{background:#e97888!important;color:#fff}
.testbar{background:linear-gradient(103deg,#71464b,#b77a7d)!important;letter-spacing:.065em}
.primary{background:#a24a5f!important;color:#fff!important;border-color:#a24a5f!important;box-shadow:0 5px 13px #a24a5f1d!important}
.primary:hover{background:#913f54!important;filter:none!important}
.secondary{background:#fffdfb!important;color:#a24a5f!important;border:1px solid #e2b9b7!important}
.secondary:hover{background:#fbebe8!important}
.ghost{background:transparent!important;color:#795755!important;border-color:#eadbd5!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a95364!important;outline-offset:2px}
input:focus,select:focus,textarea:focus{border-color:#c9898f!important}
.eyebrow{color:#a35363!important}
.section-heading h2,.catalog-top h2,.page-title h1{color:#593b38!important}

/* Destacados legibles y sin texto duplicado durante transiciones en móviles. */
.top-carousel{background:linear-gradient(118deg,#fffaf7,#f9e9e5)!important;border-color:#eadbd4!important;box-shadow:0 8px 22px #593b380e!important}
.top-slide-copy strong{color:#593b38!important}
.top-slide-copy small,.top-slide-copy .price{color:#a24a5f!important}
.top-product-image{background:#fffdfb!important;border-color:#f0e2db!important}
.top-perfume-note{color:#85706d!important}
@media(max-width:760px){
 .top-carousel .top-slide{transition:none!important;transform:none!important;visibility:hidden!important;opacity:0!important}
 .top-carousel .top-slide.is-active{visibility:visible!important;opacity:1!important;transform:none!important}
}

/* Productos: fotografías en tarjetas blancas, promociones coral discreto. */
.product,.panel,.fragrance-card{background:#fff!important;border-color:#eaded8!important;box-shadow:0 5px 17px rgba(89,59,56,.05)!important}
.product .image,.product-cover,.fragrance-card-photo{background:#fffaf7!important}
.product .image img,.product-cover img{object-fit:contain}
.price,.product-body .price,.fragrance-card-details>strong,.frag-sheet-price,.fragrance-modal-price{color:#a24a5f!important}
.product-body .category,.fragrance-card .eyebrow{color:#a45a66!important}
.disc-tag,.frag-discount-badge{background:#ae5869!important;color:#fff!important}
.category-pills button,.perfume-segments button,.supplier-showcase-filters button{border-color:#eadbd5!important;color:#795d59!important}
.perfume-segments button.selected,.supplier-showcase-filters button.selected{background:#fbe9e6!important;color:#97465a!important;border-color:#dba9ac!important;box-shadow:none!important}
.category-pills button:hover{background:#fff1ee!important}
.search{border-color:#eadbd5!important;background:#fffdfb!important}

/* Carrito, pagos y administración: mismos colores sin introducir más bloques. */
.checkout-payment,.order-payment-card,.line-card{border-color:#eadbd5!important;background:#fffdfa!important}
.payment-option:has(input:checked){border-color:#ca8792!important;background:#fdf3f1!important}
.panel h3,.order-payment-card strong{color:#634743}
.tabs button.selected,.admin-tabs button.selected{background:#f9e6e3!important;color:#96485a!important;border-color:#d6a8a8!important}
.home-campaign-admin{background:#fffaf7!important;border-color:#eadbd5!important}
.home-campaign-preview{background:linear-gradient(110deg,#fffaf7,#f9e8e3)!important;border-color:#ead9d1!important}
.home-campaign-preview strong{color:#734950!important}
.pnl-hero{background:linear-gradient(109deg,#82505a,#b78188)!important}
.pnl-metric.net{background:linear-gradient(105deg,#9f5565,#b87e86)!important}
footer{background:#f9eeea!important;border-color:#e8d8d1!important;color:#806966!important}

/* No desplazar toda la pantalla al usar los carruseles. */
#shopView,.top-section,.top-carousel{min-width:0;max-width:100%}
@media(max-width:640px){
 .product,.fragrance-card{box-shadow:0 3px 10px #593b3809!important}
}

/* Editor de perfumes: selección directa y accesible de fotografías locales. */
.perfume-upload-box{margin:14px 0 18px;padding:15px;border:1px solid #ddc7eb;border-radius:15px;background:linear-gradient(125deg,#fbf7ff,#fff8fc)}
.perfume-upload-box>label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;color:#68408b;font-size:13px;font-weight:750;cursor:pointer}
.perfume-upload-box>label small{font-size:11px;color:#867492;line-height:1.55;font-weight:500}
.perfume-upload-box input[type=file]{display:block;width:100%;min-width:0;min-height:46px;background:#fff;padding:10px 11px;border:1px dashed #c19cde;border-radius:10px;font-size:12px;color:#634786;cursor:pointer}
.perfume-upload-box input[type=file]::file-selector-button{background:#f0e5fb;color:#70409e;border:1px solid #d6bde8;border-radius:8px;padding:7px 11px;margin-right:9px;font:inherit;font-weight:750;cursor:pointer}
.perfume-upload-box input[type=file]:focus-visible{outline:3px solid #b58be5;outline-offset:2px}
.perfume-upload-box input[type=file]:disabled{opacity:.56;cursor:wait}
.perfume-upload-box .tiny{margin:9px 0 0;font-size:11px;color:#79658a}
@media(max-width:640px){.perfume-upload-box{padding:12px}.perfume-upload-box input[type=file]{font-size:11px;padding:9px}}
