:root{--ink:#292135;--purple:#67439b;--paper:#faf8fd;--line:#e6dfed}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #a174df;outline-offset:4px}header{background:white;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:25px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:3px;font-weight:500}.logo{height:50px;width:50px;background:var(--purple);color:white;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:32px}.logo img{height:100%;width:100%;object-fit:contain;border-radius:0;background:white}header nav{display:flex;gap:26px;align-items:center}header button,footer button{background:none;border:0;padding:0;color:inherit}header nav a,header nav button{font-size:14px}.notice{text-align:center;background:#eee7f7;color:#67439b;padding:7px 16px;font-size:13px}main{max-width:1440px;margin:auto;padding:48px 5% 70px;display:grid;grid-template-columns:230px 1fr;gap:54px}aside h1{font:43px/1.1 Georgia,serif;margin:12px 0 18px;letter-spacing:-1px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650;color:var(--purple);margin:0}.intro{color:#776b81;font-size:14px;max-width:215px}aside h2{font-size:14px;margin:34px 0 12px}#categorias{display:flex;flex-direction:column;gap:5px}#categorias button{border:0;background:transparent;text-align:left;padding:13px 15px;border-radius:8px;color:#655871;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:15px}#categorias button.active{background:var(--purple);color:white}#categorias small{opacity:.7}.aside-note{border-top:1px solid var(--line);margin-top:30px;padding-top:23px;font:italic 16px/1.6 Georgia,serif;color:#8c7c9d}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:25px}.section-head h2{font:32px/1.2 Georgia,serif;margin:7px 0 0}#cantidad{font-size:13px;color:#81718d}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card button{display:block;text-align:left;width:100%;padding:0;border:0;color:inherit;background:white}.photo{aspect-ratio:1/1.08;overflow:hidden;background:#eee8f5}.photo img,.main-image img{width:100%;height:100%;object-fit:cover;display:block}.placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#8b789d;background:linear-gradient(145deg,#f3edf8,#e6dcef);gap:10px}.placeholder strong{font:italic 30px Georgia,serif;font-weight:400}.placeholder span{font-size:11px;letter-spacing:2px;text-transform:uppercase}.card:nth-child(3n+2) .placeholder{background:linear-gradient(145deg,#f7edf1,#ecdce4)}.card:nth-child(3n+3) .placeholder{background:linear-gradient(145deg,#edf2f7,#dce5ee)}.card-body{padding:18px}.card h3{font:23px Georgia,serif;margin:0 0 9px}.card p{font-size:13px;color:#84748e;margin:0 0 14px;min-height:42px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-bottom strong{font-size:15px;color:var(--purple)}.card-bottom span{font-size:12px;text-decoration:underline}.card:hover{box-shadow:0 9px 25px #34204e10;transform:translateY(-2px)}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#7a698a}dialog{border:0;border-radius:18px;padding:38px;max-width:900px;width:calc(100% - 32px);max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 20px 100px #24153233}dialog::backdrop{background:#21152b99}.close{position:absolute;top:8px;right:12px;font-size:28px;background:white;border:0;width:36px;height:36px;border-radius:50%;z-index:2}.detail{display:grid;grid-template-columns:1fr 1fr;gap:32px}.main-image{aspect-ratio:1/1.1;border-radius:10px;overflow:hidden}.thumbs{display:flex;gap:9px;margin-top:12px}.thumbs button{width:95px;min-height:72px;border:1px solid var(--line);border-radius:7px;overflow:hidden;padding:0;background:white}.thumbs button[aria-pressed=true]{border:2px solid var(--purple)}.thumbs img{width:100%;height:72px;object-fit:cover}.thumbs .placeholder strong{font-size:17px}.thumbs .placeholder span{font-size:9px;letter-spacing:0}.detail-text h2{font:36px/1.1 Georgia,serif;margin:15px 0}.price{color:var(--purple);font-size:23px;font-weight:650}dl{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding-top:18px;font-size:14px;gap:12px}dt{font-weight:600}dd{margin:0;color:#80718a}.detail-note,#sinContacto{font-size:13px;color:#8a7a94}.primary{display:block;background:var(--purple);color:white;text-align:center;padding:13px;border-radius:8px;margin-top:24px}#informacion{max-width:550px}#informacion h2{font:32px Georgia,serif}#infoTexto a{color:var(--purple);text-decoration:underline;overflow-wrap:anywhere} [hidden]{display:none!important}@media(min-width:1500px){main{padding-left:45px;padding-right:45px}}@media(max-width:1050px){main{gap:30px;grid-template-columns:200px 1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){header{padding:17px 5%;align-items:flex-start;flex-direction:column;gap:15px}header nav{width:100%;gap:0;justify-content:space-between}header nav a,header nav button{font-size:13px}main{display:block;padding-top:28px}aside h1{font-size:35px}aside h1 br{display:none}.intro{max-width:none}aside h2{margin-top:20px}#categorias{flex-direction:row;overflow:auto;padding-bottom:8px}#categorias button{white-space:nowrap;padding:10px 13px;font-size:14px}.aside-note{display:none}.section-head{margin-top:28px}.section-head h2{font-size:27px}.grid{gap:14px}.card-body{padding:12px}.card h3{font-size:20px}.card p{font-size:12px}.card-bottom{display:block}.card-bottom span{display:block;margin-top:5px}.detail{grid-template-columns:1fr}dialog{padding:28px 20px}.detail-text h2{font-size:30px}footer{flex-direction:column;gap:5px}footer button{text-align:left}}

/* Logo Alvirgus: imagen completa, sin recortes. */
.logo{width:90px;height:90px;flex-shrink:0;background:white;border-radius:0}.logo img{object-fit:contain;border-radius:0}.brand{font-size:23px}@media(max-width:700px){.logo{width:74px;height:74px}.brand{font-size:22px}}
.manage{margin-top:25px;background:white;border:1px solid var(--purple);color:var(--purple);border-radius:8px;padding:11px 14px;width:100%;font-size:14px}.photo img{object-fit:contain;background:#f5f1f7}.main-image img{object-fit:contain;background:#f5f1f7}#administracion{max-width:760px}#adminTitulo{font:32px Georgia,serif}.admin-intro{color:#766482}.publish-note{background:#f1eaf8;border-left:3px solid var(--purple);padding:14px;font-size:14px}.price-row{display:grid;grid-template-columns:1fr 170px;gap:18px;border-bottom:1px solid var(--line);padding:12px 0;align-items:center}.price-row label{font-weight:600}.price-row small{display:block;font-weight:400;color:#83718f}.price-row input{width:100%;font:inherit;border:1px solid #b9a9c8;border-radius:6px;padding:10px;min-width:0}.admin-tools{border-top:1px solid var(--line);margin-top:28px}.secondary,.file-label{border:1px solid #bcaacc;background:white;color:var(--purple);border-radius:8px;padding:10px 14px;display:block;margin-top:12px;width:100%;text-align:center;font:inherit}.file-label input{display:block;width:100%;margin-top:8px}#estadoPrecios{font-size:14px;color:var(--purple)}#previewImportacion{margin-top:15px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}.admin-tools .primary,#formPrecios .primary{border:0;width:100%;font:inherit}#previewImportacion p{color:var(--purple)}@media(max-width:700px){.manage{width:auto;margin-top:12px}.price-row{grid-template-columns:1fr 125px;gap:10px}}
/* V4: menú lateral vertical y fijo durante el desplazamiento. */
header{position:sticky;top:0;z-index:5}main{grid-template-columns:240px minmax(0,1fr);gap:35px;padding-top:30px}.sidebar{position:sticky;top:158px;align-self:start;max-height:calc(100dvh - 180px);overflow-y:auto;padding:22px 16px;background:white;border:1px solid var(--line);border-radius:12px}.sidebar .menu-title{font:30px/1.2 Georgia,serif;margin:0 0 20px;letter-spacing:0}#categorias{flex-direction:column;overflow:visible;gap:8px}#categorias button{width:100%;white-space:normal;min-height:42px;line-height:1.35;padding:11px 12px}#categorias .category{font-weight:650}#categorias .subcategories{border-left:1px solid var(--line);margin:4px 0 5px 13px;padding-left:5px}#categorias .subcategory{font-size:14px;padding:9px 10px;font-weight:400}#categorias small{flex-shrink:0}.manage{width:100%;font-size:14px}.section-head{margin-top:0}.catalog{min-width:0}@media(max-width:1050px){main{grid-template-columns:210px minmax(0,1fr);gap:24px}}@media(max-width:700px){header{position:relative}main{display:grid;grid-template-columns:125px minmax(0,1fr);gap:14px;padding:20px 12px 45px}.sidebar{top:12px;padding:15px 7px;max-height:calc(100dvh - 24px);border-radius:8px}.sidebar .menu-title{font-size:24px;margin-bottom:15px}#categorias button{font-size:13px;padding:10px 5px;gap:4px;overflow-wrap:anywhere}#categorias .subcategory{font-size:12px;padding:8px 4px}#categorias .subcategories{margin-left:5px;padding-left:3px}.manage{font-size:12px;padding:10px 5px}.grid{grid-template-columns:minmax(0,1fr);gap:16px}.section-head{display:block;margin-top:0}.section-head h2{font-size:23px;overflow-wrap:anywhere}.section-head .eyebrow{font-size:10px;letter-spacing:1px}#cantidad{display:block;margin-top:9px}.card-bottom{display:block}.card h3{font-size:21px}}@media(min-width:701px) and (max-width:850px){header nav{gap:12px}.brand{font-size:20px}}
/* V5: identidad Alvirgus y herramientas de tienda. */
:root{--ink:#252027;--purple:#982849;--paper:#fffafb;--line:#efdce2}header{gap:20px}header nav{gap:20px}.logo{background:white}#categorias button.active,.primary{background:#982849}.notice{background:#ffe6ee;color:#982849}.publish-note{background:#fff0f5}.eyebrow{color:#982849}.price,.card-bottom strong{color:#982849}.card:hover{box-shadow:0 9px 25px #98284915}.photo img,.main-image img{background:#fff4f7}.cart-button{border:1px solid #c94a6f;background:#fff0f5;color:#8b2241;border-radius:8px;padding:10px 14px;white-space:nowrap}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin-bottom:24px}.filters label,#opcionesProducto label{display:block;font-size:14px;color:#70575f}.filters input,.filters select,#opcionesProducto select{display:block;width:100%;font:inherit;padding:10px;border:1px solid #d7b3c0;border-radius:7px;background:white;color:var(--ink);min-width:0;margin-top:5px}.stock-label{font-size:14px;color:#8c5264}#opcionesProducto label{margin-top:12px}.primary:disabled{opacity:.45;cursor:default}.cart-row{display:grid;grid-template-columns:1fr 65px 75px;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.cart-row p{margin:3px 0;font-size:14px}.cart-row input{width:100%;font:inherit;padding:8px;border:1px solid #d7b3c0;border-radius:6px}.cart-row .secondary{font-size:13px;padding:8px;margin:0}#totalPedido{font-weight:700}.admin-page{display:block;max-width:1200px;padding-top:25px}.admin-body header{position:relative}.admin-page h1{font:36px Georgia,serif}.admin-page h2{font:27px Georgia,serif}.admin-page label{display:block;font-size:14px;margin:14px 0 7px}.admin-page input,.admin-page select,.admin-page textarea{display:block;width:100%;font:inherit;border:1px solid #cfacb8;border-radius:7px;padding:10px;background:white;color:var(--ink);min-width:0}.admin-page textarea{resize:vertical}.admin-page .primary{width:100%;border:0;font:inherit}.admin-page .secondary{color:#982849;border-color:#cfacb8}.admin-columns{display:grid;grid-template-columns:1fr 1.25fr;gap:35px;margin-top:30px}.admin-settings{margin-top:30px;border-top:1px solid var(--line);padding-top:12px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-top .secondary{width:auto}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.password-wrap{display:flex;align-items:stretch;gap:8px}.password-wrap input{flex:1}.eye{background:white;border:1px solid #cfacb8;border-radius:7px;min-width:48px;font-size:21px;color:#252027}.admin-photo{display:block;width:100%;height:130px;object-fit:contain;margin:8px 0;background:#fff0f5;border-radius:8px}#loginPanel{max-width:420px;margin:20px auto;background:white;border:1px solid var(--line);border-radius:12px;padding:25px}#adminEstado{color:#982849;overflow-wrap:anywhere}.admin-page .price-row{grid-template-columns:1fr 120px}.admin-page .price-row label{margin:0}.admin-page .publish-note{font-size:15px}#csvVista{overflow:auto;margin-top:15px}@media(max-width:1150px) and (min-width:701px){header{flex-wrap:wrap;padding:15px 4%}.sidebar{top:185px;max-height:calc(100dvh - 205px)}}@media(max-width:700px){.cart-button{align-self:stretch}.filters{grid-template-columns:1fr;gap:8px}.filters label{font-size:12px}.filters input,.filters select{font-size:14px}.admin-columns{grid-template-columns:1fr;gap:25px}.admin-page{display:block;padding:20px 16px}.two-fields{grid-template-columns:1fr}.admin-top{align-items:flex-start}.admin-top h1{font-size:28px}.cart-row{grid-template-columns:1fr 52px 65px;gap:7px}.cart-row strong{font-size:14px}.cart-row .secondary{font-size:12px}#loginPanel{padding:20px}}
/* V6: barra inmovilizada y menú izquierdo desplegable. */
:root{--header-height:135px}body:not(.admin-body)>header{position:sticky;top:0;z-index:20;background:white;box-shadow:0 3px 12px #98284908}.sidebar{top:calc(var(--header-height) + 16px);max-height:calc(100dvh - var(--header-height) - 32px)}#categorias .subcategories[hidden]{display:none}.category{position:relative}html{scroll-padding-top:calc(var(--header-height) + 20px)}.image-button{display:block;width:100%;padding:0;background:none;border:0;text-align:left}.image-button .main-image{display:block}.zoom-hint{display:block;margin-top:5px;color:#8b6571;font-size:12px}.preserve-lines{white-space:pre-wrap}#plazoProducto{font-size:14px;color:#754e5c}#verGuiaTalles{margin-bottom:15px}#zoomGaleria{width:calc(100% - 24px);max-width:1100px;height:90dvh;padding:40px 20px 20px;overflow:hidden}.zoom-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}.zoom-controls .secondary{margin:0;width:auto}.zoom-viewport{height:calc(100% - 65px);overflow:auto;background:#fff4f7}.zoom-viewport img{display:block;width:100%;height:100%;object-fit:contain}.zoom-viewport img.enlarged{width:1800px;max-width:none;height:auto;object-fit:initial}.secondary:disabled{opacity:.4;cursor:default}.gallery-admin-item{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:10px 0}.gallery-admin-item img{width:100px;height:100px;object-fit:contain}.gallery-admin-item button{width:auto;margin:0}#stockVariantes{padding:0 15px;background:#fff0f5;border-radius:8px}#stockVariantes label{padding:8px 0}#registrarPedido{padding-top:15px;border-top:1px solid var(--line);margin-top:20px}#registrarPedido label{display:block;margin-top:12px;font-size:14px}#registrarPedido input,#registrarPedido textarea{display:block;width:100%;font:inherit;padding:10px;border:1px solid #d7b3c0;border-radius:7px;margin-top:5px}#registrarPedido button{font:inherit;border:0;width:100%}.order-admin{border:1px solid var(--line);border-radius:9px;background:white;padding:15px;margin-top:12px}.order-admin summary{cursor:pointer;font-weight:650}.order-admin p{font-size:14px}.order-admin[open] summary{margin-bottom:18px}#registroEstado{color:#982849;font-size:14px}@media(max-width:700px){:root{--header-height:205px}.sidebar{top:calc(var(--header-height) + 8px);max-height:calc(100dvh - var(--header-height) - 16px)}body:not(.admin-body)>header{padding:12px 5%;gap:10px}.logo{width:58px;height:58px}.brand{font-size:20px}.cart-button{padding:7px 12px}.zoom-controls{gap:7px}.zoom-controls .secondary{font-size:13px;padding:7px 10px}#zoomGaleria{padding:42px 12px 15px}.zoom-viewport{height:calc(100% - 105px)}}
