/* Tema claro de Aura Perfumería. Se carga después de la hoja histórica. */
:root { --icon-button-size:32px; --icon-glyph-size:20px; }
.icon-button,
.icon-action-button { display:inline-grid; width:var(--icon-button-size); height:var(--icon-button-size); min-height:var(--icon-button-size); place-items:center; padding:0; color:currentColor; line-height:1; }
.icon-button svg,
.icon-action-button svg { width:var(--icon-glyph-size); height:var(--icon-glyph-size); }
:root { color-scheme: light; --bg:#f7faf7; --panel:#fff; --panel-2:#eff7f0; --line:#d7e4d9; --line-soft:#e7eee8; --text:#18231b; --muted:#617165; --accent:#168342; --success:#168342; }
body { background:#f7faf7 !important; color:var(--text) !important; }
.store-header { background:rgba(255,255,255,.97) !important; border-color:var(--line) !important; box-shadow:0 8px 25px rgba(24,35,27,.08) !important; }
.brand strong,.header-link { color:var(--text) !important; }.header-link:hover { color:var(--accent) !important; background:#edf7ef !important; }
.category-panel { background:rgba(255,255,255,.99) !important; border-color:var(--line) !important; box-shadow:14px 0 34px rgba(24,35,27,.12) !important; }.category-title,.eyebrow { color:var(--muted) !important; }.category-button { color:#344238 !important; }.category-button:hover,.category-button.active { color:var(--accent) !important; background:#e6f4e9 !important; border-color:#b9dbbf !important; }.category-help { background:#edf7ef !important; border-color:#c7dec9 !important; }
.catalog-intro { background:linear-gradient(135deg,#fff,#edf7ef) !important; }.catalog-intro .eyebrow { color:var(--accent) !important; background:#e6f4e9 !important; border-color:#b9dbbf !important; }.catalog-intro h1 { color:var(--text) !important; text-shadow:none !important; }.catalog-intro>p:last-child { color:var(--muted) !important; }

.unified-product-media { position:relative; }
.product-demo-badge { position:absolute; left:8px; top:8px; padding:4px 7px; border-radius:999px; background:#8d356d; color:#fff; font-size:9px; font-weight:800; letter-spacing:.06em; box-shadow:0 2px 8px rgba(80,31,62,.18); }
.search-wrap { background:rgba(247,250,247,.96) !important; }.search-wrap .search-field input { background:#fff !important; color:var(--text) !important; border-color:#b9cdbd !important; box-shadow:0 8px 20px rgba(24,35,27,.07) !important; }.search-field svg { stroke:var(--accent) !important; }
.catalog-product-summary,.opened-variant-row,.cart-line,.order-panel,.home-search-prompt,.home-how-it-works,.quick-categories button,.product-row { background:#fff !important; color:var(--text) !important; border-color:var(--line) !important; box-shadow:0 6px 18px rgba(24,35,27,.06) !important; }.catalog-product-summary:hover,.opened-variant-row:hover,.quick-categories button:hover { background:#fbfefb !important; border-color:#9ec8a5 !important; }
.summary-product-title>strong,.summary-product-title button>strong,.summary-product-price,.opened-variant-price,.order-panel h2,.order-total strong { color:var(--text) !important; }.summary-product-title>small,.summary-product-title button+small,.search-result-count { color:var(--muted) !important; }.summary-variant-count,.summary-product-chevron,.opened-product-back { color:var(--accent) !important; background:#e6f4e9 !important; border-color:#b9dbbf !important; }.summary-product-stock:not(.none),.opened-variant-stock:not(.none) { color:var(--accent) !important; }
.quantity-control,.quantity-control button,.quantity-control input { background:#fff !important; color:var(--text) !important; border-color:#b9cdbd !important; }.quantity-control button { color:var(--accent) !important; }.quantity-control button:hover:not(:disabled),.primary-button { background:var(--accent) !important; color:#fff !important; }.store-contact { background:#f0f7f1 !important; color:var(--text) !important; }.store-contact strong,.store-contact a { color:var(--text) !important; }
.brand-logo + span { display:none; }
.cart-mobile { justify-content:center; min-width:44px; padding:9px 10px !important; }.cart-mobile svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.cart-mobile span { min-width:21px; height:21px; }
.catalog-breadcrumb { display:flex; align-items:center; gap:7px; }.catalog-breadcrumb button { padding:0; border:0; background:transparent; color:var(--accent); font:inherit; font-weight:800; cursor:pointer; }.catalog-breadcrumb button:hover { text-decoration:underline; }
.modal-card { background:#fff !important; color:var(--text) !important; border-color:var(--line) !important; box-shadow:0 24px 70px rgba(24,35,27,.2) !important; }.modal-card h2,.modal-card label,.modal-card .checkout-line strong,.modal-card .order-total strong { color:var(--text) !important; }.modal-close { background:#fff !important; color:var(--text) !important; border-color:var(--line) !important; }.modal-card input,.modal-card label.payment-option { background:#fff !important; color:var(--text) !important; border-color:#b9cdbd !important; }.modal-card label.payment-option:has(input:checked) { background:#edf7ef !important; border-color:var(--accent) !important; }.modal-card .payment-option input { accent-color:var(--accent) !important; }.checkout-steps li.active,.checkout-steps li.done { color:var(--text) !important; }.checkout-steps li.active span { border-color:var(--accent) !important; background:var(--accent) !important; color:#fff !important; }
.modal-card .bank-details div { background:#f0f7f1 !important; border-color:#c7dec9 !important; }.modal-card .bank-details dt { color:var(--muted) !important; }.modal-card .bank-details dd { color:var(--text) !important; }.modal-card .copy-button { background:#fff !important; border-color:#b9cdbd !important; color:var(--accent) !important; }
.modal-card .cash-reservation-warning { background:#edf7ef !important; border-color:#9fcfa8 !important; color:#1a3522 !important; font-weight:600; }
.modal-card .cash-reservation-warning strong { color:#0d4c24 !important; font-weight:850; }

/* El carrito se abre desde el acceso superior; los beneficios permanecen visibles aparte. */
@media (min-width:761px){
  .store-shell{grid-template-columns:minmax(0,1fr) minmax(260px,300px) !important;align-items:start;}
  body.cart-open{overflow:hidden;}
  .order-panel{position:fixed;z-index:80;top:74px;right:0;width:min(420px,100vw);height:calc(100dvh - 74px);max-height:none;min-height:0;transform:translateX(105%);transition:transform .22s ease;overflow:hidden;box-shadow:-20px 0 70px rgba(62,38,91,.24) !important;}
  .order-panel.mobile-open{transform:translateX(0);}
  .cart-mobile{display:inline-flex !important;align-items:center;justify-content:center;gap:7px;min-width:46px;height:46px;padding:0 12px !important;border:1px solid var(--accent) !important;border-radius:10px;background:var(--accent) !important;color:#fff !important;}
  .order-panel .icon-button{display:inline-grid;}
  .cart-mobile span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:50%;background:#fff;color:var(--accent);font-size:11px;font-weight:850;}
  .icon-button{border:0;background:transparent;color:var(--text);font-size:28px;}
  .catalog-product-summary.unified-product-row{grid-template-columns:76px minmax(180px,1.75fr) minmax(118px,.5fr) minmax(160px,.55fr) 42px;min-height:88px;padding-block:8px;}
  .unified-product-row .summary-product-title{min-width:0;}
  .unified-product-row .summary-product-title>strong{display:block;max-width:100%;overflow:visible;white-space:normal;font-size:13px !important;line-height:1.25;letter-spacing:0;}
  .unified-product-row .summary-product-title>small{font-size:9px;}
  .unified-product-row .summary-variant-count,.unified-product-row .summary-product-price{font-size:13px;white-space:nowrap;}
  .minimal-product-row{grid-template-columns:42px minmax(190px,1.8fr) minmax(90px,.5fr) minmax(90px,.5fr) auto;min-height:70px;}
  .minimal-product-row > button strong{overflow:visible;white-space:normal;text-overflow:clip;line-height:1.25;}
  .catalog-intro h1{font-size:clamp(26px,2.4vw,36px);line-height:1.05;}
  .catalog-column > .search-wrap{margin:22px 0 18px;z-index:2;}
  .category-backdrop{z-index:40;}
  .category-panel{z-index:41;}
}

.cart-benefits-panel { margin:18px; padding:16px; border:1px solid #decdeb; border-radius:14px; background:#f7effd; color:#38234f; box-shadow:0 8px 22px rgba(118,82,184,.1); }
.cart-benefits-panel h2 { margin:0; color:#7652b8; font-size:13px; letter-spacing:.07em; }
.cart-benefits-panel > p { margin:5px 0 10px; color:#685d76; font-size:12px; font-weight:700; line-height:1.35; }
.cart-benefits-panel .cart-rewards { margin:0; }
@media (min-width:761px) { .cart-benefits-panel { position:sticky; top:86px; margin:12px; } }

/* Los productos se muestran arriba; Klaus queda compacto al pie del panel. */
.order-panel { display:flex; flex-direction:column; }
.order-panel-head,.cart-rewards,.cart-products-divider,.cart-actions { flex:0 0 auto; }
.cart-actions { order:0; padding-top:6px; background:#fbe4ed; }
.cart-actions .cart-summary-meta { margin:0 0 4px; }
.cart-actions .order-total { padding:8px 0; font-size:14px; }
.cart-actions .order-total strong { font-size:20px; }
.klaus-gift-icon { width:24px; height:18px; margin-right:4px; vertical-align:-4px; }
.cart-actions #checkout-button { min-height:38px; padding:8px 14px; font-size:12px; }
.cart-actions .continue-shopping-button,.cart-actions .order-note { display:none !important; }
.cart-products-divider { order:1; height:1px; margin:12px 0; background:var(--line); }
.cart-lines { order:2; display:grid; flex:1 1 0; gap:10px; min-height:110px; margin:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
.cart-line { font-size:12px; }
.cart-product-main strong { font-size:13px; }
.cart-product-main small,.cart-line-bottom small { font-size:10px; }
.cart-line-bottom { gap:8px; }
.cart-line-subtotal { margin-left:auto; font-size:12px; white-space:nowrap; }
.cart-remove svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cart-rewards { order:3; justify-items:start; margin:12px 0 0; }
.cart-rewards .reward-progress { order:0; width:100%; }
.cart-rewards .klaus { order:1; justify-self:stretch; justify-content:flex-start; width:100%; min-height:112px; border-bottom:0; }
.cart-rewards .klaus > div { display:none; }
@media (max-width:760px) { .order-panel.mobile-open { height:100dvh; overflow:hidden; } }
@media (max-width:760px) { .cart-rewards { order:1; width:100%; margin:8px 0 0; }.cart-rewards .klaus { width:100%; min-height:62px; }.cart-rewards .klaus > div { display:grid; }.cart-products-divider { order:2; margin:8px 0; }.cart-lines { order:3; } }
.mobile-klaus-host { display:none; }
@media (max-width:760px) { .cart-rewards .klaus { display:none; }.mobile-klaus-host { position:fixed; z-index:75; bottom:10px; left:10px; display:block; }.mobile-klaus-host .klaus { width:265px; min-height:90px; padding:0; overflow:visible; border:0; background:transparent; }.mobile-klaus-host .klaus-image { width:125px; height:88px; }.mobile-klaus-host .klaus > div { display:none; }.mobile-klaus-host .klaus-zzz { left:15px; }.mobile-klaus-host .klaus-pet-effects { transform:scaleX(-1); } }

/* Checkout claro y legible en teléfonos. */
@media (max-width:760px){.modal{padding:0 !important;align-items:end !important;}.modal.open{place-items:end stretch !important;}.modal-backdrop{background:rgba(24,35,27,.3) !important;}.modal-card{width:100% !important;max-height:calc(100vh - 42px) !important;padding:22px 18px 28px !important;border-radius:18px 18px 0 0 !important;background:#fff !important;color:var(--text) !important;box-shadow:0 -14px 40px rgba(24,35,27,.16) !important;}.modal-card p,.modal-card small,.checkout-footnote{color:var(--muted) !important;}.modal-close{background:#fff !important;color:var(--text) !important;}.payment-focus,.cash-confirmation,.cash-expiry-explanation,.payment-instructions,.bank-details{background:#f0f7f1 !important;border-color:#c7dec9 !important;color:var(--text) !important;}.payment-focus span,.cash-confirmation span,.payment-instructions span,.cash-expiry-explanation p,.bank-details dt{color:var(--muted) !important;}.payment-focus strong,.cash-confirmation strong,.bank-details dd{color:var(--text) !important;}.button-link{display:block;text-align:center;text-decoration:none;}}

/* Confirmación legible también fuera de móvil. */
/* Confirmación: contraste alto y una paleta suave, consistente con la tienda. */
.modal-card .payment-focus,.modal-card .payment-instructions,.modal-card .bank-details{color:#33214f !important;background:#f6f1ff !important;border-color:#cdbce9 !important}
.modal-card .payment-focus strong,.modal-card .bank-details dd{color:#24153c !important}
.modal-card .payment-focus span,.modal-card .payment-instructions span,.modal-card .bank-details dt{color:#54456d !important}
.modal-card .button-link{background:#5e3a98 !important;border-color:#5e3a98 !important;color:#fff !important;font-weight:850 !important}
.modal-card .button-link:hover{background:#482b78 !important;border-color:#482b78 !important}
.modal-card [data-finish-order]{background:#fff !important;color:#43286d !important;border:1px solid #a98bd3 !important;font-weight:850 !important}
.modal-card [data-finish-order]:hover{background:#f1e9ff !important;color:#2e1a4e !important}

/* Paleta final: elimina el verde heredado y unifica tienda, carrito y checkout. */
:root { --bg:#fbf8ff; --panel:#fff; --panel-2:#f4effb; --line:#e3d8ef; --line-soft:#eee8f5; --text:#2a1d3c; --muted:#685d76; --accent:#7652b8; --success:#7652b8; }
.description-button { color:#4a2a72 !important; font-weight:800; }
.description-button:hover { color:#2d164b !important; }
body { background:#fff !important; }
.store-header { box-shadow:0 8px 25px rgba(62,38,91,.08) !important; }
.header-link:hover { background:#f3edfb !important; }
.category-panel { box-shadow:14px 0 34px rgba(62,38,91,.12) !important; }
.category-button { color:#453750 !important; }
.category-button:hover,.category-button.active,.catalog-intro .eyebrow,.summary-variant-count,.summary-product-chevron,.opened-product-back { background:#f0e9fa !important; border-color:#d4c1e8 !important; }
.category-help,.store-contact,.modal-card .bank-details div { background:#f4effb !important; border-color:#ddcdea !important; }
.catalog-intro { background:linear-gradient(135deg,#fff,#f4effb) !important; }
.search-wrap { background:rgba(251,248,255,.96) !important; }
.search-wrap .search-field input,.quantity-control,.quantity-control button,.quantity-control input,.modal-card input { border-color:#d8c8e8 !important; }
.catalog-product-summary,.opened-variant-row,.cart-line,.order-panel,.home-search-prompt,.home-how-it-works,.quick-categories button,.product-row { box-shadow:0 6px 18px rgba(62,38,91,.06) !important; }
.order-panel { background:#fbe4ed !important; border-color:#efb9ce !important; }
.catalog-product-summary:hover,.opened-variant-row:hover,.product-row:hover,.quick-categories button:hover { background:#fff1f7 !important; border-color:#e7a7c4 !important; }
.modal-card label.payment-option:has(input:checked),.modal-card .cash-reservation-warning { background:#f3edfb !important; border-color:#d4c1e8 !important; color:#38234f !important; }

/* El acceso flotante no debe tapar la información de contacto al final de la tienda. */
@media (min-width:761px) {
  .store-contact { padding-right:110px !important; }
}
@media (max-width:760px) {
  .store-contact { padding-bottom:108px !important; }
}

/* Pie simplificado, contacto en panel y presentación profesional del creador. */
.store-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px clamp(20px,4vw,58px) 86px; border-top:1px solid var(--line); background:#f4effb; }
.footer-contact-button,.creator-credit { appearance:none; border:0; background:transparent; padding:0; text-align:left; color:#2a1d3c; text-decoration:none; }
.footer-contact-button { cursor:pointer; }
.footer-contact-button span,.creator-credit span { display:block; color:#7652b8; font-size:11px; font-weight:850; letter-spacing:.1em; }
.footer-contact-button small { display:block; margin-top:4px; color:#685d76; font-size:13px; }
.footer-contact-button:hover span,.footer-contact-button:focus-visible span { text-decoration:underline; text-underline-offset:4px; }
.creator-credit { display:grid; gap:4px; }
.creator-credit strong { color:#2a1d3c; font-size:13px; }
.creator-credit b { color:#7652b8; font-size:17px; }
.store-contact-modal { display:grid; gap:16px; }
.store-contact-modal h2 { margin:0; color:#2a1d3c; }
.contact-modal-lead { margin:0; color:#685d76; }
.contact-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contact-info-card { display:grid; min-height:116px; align-content:start; gap:7px; padding:16px; border:1px solid #ddd0ea; border-radius:12px; background:#fbf9fe; color:#2a1d3c; text-decoration:none; }
.contact-info-card span { color:#7652b8; font-size:10px; font-weight:850; letter-spacing:.09em; }
.contact-info-card strong { font-size:15px; line-height:1.25; }
.contact-info-card small { color:#685d76; font-size:12px; line-height:1.4; }
.contact-info-card:hover { border-color:#bca3d7; background:#f6f1fb; }
.contact-hours-card { grid-column:span 2; background:linear-gradient(120deg,#f5effc,#fff); }
.creator-page { min-height:100vh; display:grid; place-items:center; padding:32px 18px; }
.creator-shell { width:min(900px,100%); padding:clamp(28px,6vw,72px); border:1px solid #e4d9ef; border-radius:20px; background:linear-gradient(135deg,#fff,#f4effb); box-shadow:0 18px 55px rgba(66,43,97,.11); }
.creator-back { display:inline-block; margin-bottom:44px; color:#7652b8; font-size:13px; font-weight:800; text-decoration:none; }
.creator-back:hover { text-decoration:underline; }
.creator-shell h1 { max-width:740px; margin:10px 0 18px; color:#2a1d3c; font-size:clamp(34px,6vw,64px); line-height:1.02; letter-spacing:-.05em; }
.creator-intro { max-width:650px; color:#685d76; font-size:18px; line-height:1.55; }
.creator-services { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:36px 0; }
.creator-services article { display:grid; gap:9px; padding:18px; border:1px solid #e2d8ed; border-radius:12px; background:#fff; }
.creator-services strong { color:#503480; font-size:12px; letter-spacing:.06em; }
.creator-services span { color:#685d76; font-size:14px; line-height:1.45; }
.creator-cta { display:inline-flex; text-decoration:none; }
.creator-gift { max-width:650px; margin:4px 0 22px; padding:18px 20px; border:1px solid #d9c7ed; border-radius:14px; background:#fbf8ff; }
.creator-gift strong { color:#503480; font-size:16px; }
.creator-gift p { margin:6px 0 0; color:#574d65; font-size:15px; line-height:1.5; }
.creator-gift b { color:#7652b8; }
.creator-invitation-form { display:grid; gap:8px; margin-top:16px; }
.creator-invitation-form label { color:#503480; font-size:12px; font-weight:850; letter-spacing:.04em; }
.creator-invitation-fields { display:flex; gap:9px; }
.creator-invitation-fields input { flex:1; min-width:0; padding:12px 13px; border:1px solid #cdbce2; border-radius:9px; background:#fff; color:#2a1d3c; font:inherit; }
.creator-invitation-fields .primary-button { white-space:nowrap; }
.creator-invitation-form small { color:#685d76; font-size:12px; line-height:1.4; }
.creator-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.creator-signature { display:block; margin-top:38px; color:#857c91; font-size:12px; }
.home-featured-products { display:grid; gap:16px; padding:22px; border:1px solid #cdb5e4; border-radius:18px; background:radial-gradient(circle at 100% 0,rgba(143,91,194,.16),transparent 35%),linear-gradient(135deg,#fff,#f4edfb); box-shadow:0 15px 35px rgba(77,47,116,.13); }
.home-featured-heading { display:flex; align-items:end; justify-content:space-between; gap:15px; }
.home-featured-heading h2 { margin:3px 0 0; color:#2a1d3c; font-size:23px; letter-spacing:-.03em; }
.home-featured-heading .eyebrow { margin:0; color:#7652b8 !important; background:transparent !important; border:0 !important; padding:0 !important; }
.home-featured-heading > span { color:#7652b8; font-size:12px; font-weight:750; }
.featured-product-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:13px; }
.featured-product-card { display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; border:1px solid #dfcfed; border-radius:13px; background:#fff; box-shadow:0 8px 20px rgba(67,37,103,.08); transition:transform .18s ease,box-shadow .18s ease; }
.featured-product-card:hover { transform:translateY(-4px); box-shadow:0 15px 28px rgba(67,37,103,.16); }
.featured-product-image,.featured-product-image .product-image-button { display:block; width:100%; border:0; background:#fbf8ff; }
.featured-product-photo { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.featured-product-photo-placeholder { display:grid; width:100%; aspect-ratio:1/1; place-items:center; color:#7652b8; font-size:11px; font-weight:800; }
.featured-product-copy { display:grid; align-content:start; gap:6px; padding:15px 15px 8px; }
.featured-product-copy > span { color:#8d55bd; font-size:9px; font-weight:900; letter-spacing:.1em; }
.featured-product-copy button { padding:0; border:0; background:transparent; color:#2a1d3c; text-align:left; cursor:pointer; }
.featured-product-copy button strong { font-size:15px; line-height:1.25; }
.featured-product-copy small { color:#685d76; font-size:11px; }
.featured-product-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 15px 15px; border-top:1px solid #eee4f5; }
.featured-product-bottom > strong { color:#4b2b76; font-size:15px; }
.featured-product-options { border:0; background:transparent; color:#7652b8; font-size:10px; font-weight:850; cursor:pointer; }
.featured-quantity-control { transform:scale(.9); transform-origin:right center; }
.home-search-embedded { gap:14px; }
.home-search-embedded .home-search-prompt { display:flex; align-items:center; justify-content:space-between; gap:16px; border-color:#d9c8eb; background:linear-gradient(135deg,#fff,#f5effc); }
.home-search-embedded .home-search-prompt > div { display:grid; gap:5px; }
.search-share-link { flex:0 0 auto; padding:9px 11px; border:1px solid #bd9bd7; border-radius:8px; background:#fff; color:#6a3e91; font:inherit; font-size:11px; font-weight:900; cursor:pointer; letter-spacing:.03em; }
.search-share-link:hover { border-color:#8a4faf; background:#f4eafa; color:#572777; }
@media (max-width:700px) { .home-search-embedded .home-search-prompt { align-items:stretch; flex-direction:column; } .search-share-link { width:100%; } }
.search-wrap .search-field input { font-size:18px !important; }
@media (max-width:700px) { .search-wrap .search-field input { font-size:16px !important; } }
@media (max-width:700px) { .store-footer { align-items:flex-start; flex-direction:column; padding:20px 16px 92px; } .contact-info-grid,.creator-services { grid-template-columns:1fr; } .contact-hours-card { grid-column:auto; } .creator-shell { padding:30px 22px; } .creator-back { margin-bottom:30px; } }
@media (max-width:700px) { .creator-invitation-fields { flex-direction:column; } .creator-invitation-fields .primary-button { width:100%; } }
@media (max-width:700px) { .home-featured-products { padding:15px; } .home-featured-heading { align-items:start; flex-direction:column; gap:4px; } .featured-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .featured-product-copy,.featured-product-bottom { padding-left:10px; padding-right:10px; } .featured-product-copy button strong { font-size:13px; } .featured-product-bottom { align-items:flex-start; flex-direction:column; } .featured-quantity-control { transform:scale(.82); transform-origin:left top; margin-bottom:-8px; } }

/* Apertura simple de la portada. */
body.home-mode .catalog-intro { display:grid; justify-items:start; min-height:112px; padding:25px clamp(20px,5vw,64px); text-align:left; }
body.home-mode .catalog-intro h1 { max-width:840px; margin:0; color:#9c317d !important; font-size:clamp(33px,4.1vw,54px); line-height:1.03; letter-spacing:-.06em; }
body.home-mode .catalog-intro p { max-width:720px; margin:9px 0 0; color:#55445f !important; font-size:15px; font-weight:650; }
.catalog-intro .catalog-slogan { color:#796d80 !important; font-size:13px; font-weight:500; }
@media (max-width:700px) { body.home-mode .catalog-intro { min-height:112px; padding:23px 20px; } body.home-mode .catalog-intro h1 { font-size:35px; } body.home-mode .catalog-intro p { font-size:13px; line-height:1.4; } }

/* Vistas de productos */
.product-view-switcher { position:sticky; top:8px; z-index:16; display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 18px; padding:9px; border:1px solid #ddcdea; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 7px 18px rgba(62,38,91,.09); }
.product-view-switcher > span { margin:0 4px; color:#796d80; font-size:10px; font-weight:850; letter-spacing:.06em; }
.product-view-switcher button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; padding:7px 11px; border:1px solid transparent; border-radius:8px; background:transparent; color:#55445f; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
.product-view-switcher button:hover { background:#f7f0ff; }
.product-view-switcher button.active { border-color:#cdb3e8; background:#f0e9fa; color:#7652b8; }
.product-view-switcher svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.catalog-view-groups { display:grid; gap:28px; }
.catalog-view-group h2 { margin:0 0 12px; color:#38234f; font-size:20px; }
.catalog-category-landing { display:grid; gap:18px; }
.catalog-category-landing > div:first-child { display:grid; gap:5px; }
.catalog-category-landing h2,.catalog-category-landing p { margin:0; }.catalog-category-landing h2 { color:#38234f; font-size:24px; }.catalog-category-landing p { color:#796d80; }
.catalog-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.catalog-category-grid button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; min-height:110px; padding:16px; border:1px solid #ddcdea; border-radius:13px; background:#fff; color:#38234f; text-align:left; cursor:pointer; box-shadow:0 6px 18px rgba(62,38,91,.06); }.catalog-category-grid button:hover { border-color:#b995dd; background:#fdfaff; }.catalog-category-grid strong { font-size:16px; }.catalog-category-grid small { grid-column:1; color:#796d80; }.catalog-category-grid span { grid-column:2; grid-row:1 / span 2; align-self:center; color:#7652b8; font-size:22px; }
.complete-product-list { display:grid; gap:32px; }
.complete-list-category { display:grid; gap:12px; }
.complete-list-category h2 { margin:0; padding:0 0 9px; border-bottom:2px solid #b995dd; color:#38234f; font-size:24px; letter-spacing:-.02em; }
.complete-list-category h3 { margin:8px 0 0; color:#7652b8; font-size:17px; }
.complete-list-depth-1 { margin-left:16px; padding-left:16px; border-left:3px solid #eadcf7; }
.complete-list-depth-2,.complete-list-depth-3 { margin-left:16px; padding-left:14px; border-left:2px solid #f0e7f9; }
.catalog-view-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.catalog-view-card { display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; border:1px solid #ddcdea; border-radius:14px; background:#fff; box-shadow:0 6px 18px rgba(62,38,91,.06); }
.catalog-view-image { display:block; background:#f7f0ff; }
.catalog-view-image .product-image-button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:pointer; }
.catalog-view-image img,.catalog-view-image [class$="-placeholder"] { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.catalog-view-copy { display:grid; gap:4px; padding:12px 13px 10px; }
.catalog-view-copy button { padding:0; border:0; background:transparent; color:#38234f; text-align:left; cursor:pointer; }
.catalog-view-copy button strong { font-size:13px; line-height:1.3; }
.catalog-view-copy small,.catalog-view-stock { color:#796d80; font-size:11px; }
.catalog-view-copy > strong { color:#38234f; font-size:14px; }
.catalog-view-stock { color:#23834a; font-weight:750; }
.catalog-view-options { margin:0 12px 12px; min-height:32px; border:0; border-radius:7px; background:#7652b8; color:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.catalog-view-quantity { margin:0 12px 12px; }
.minimal-product-list { overflow:hidden; border:1px solid #ddcdea; border-radius:12px; background:#fff; }
.minimal-product-row { display:grid; grid-template-columns:42px minmax(0,1.6fr) minmax(85px,.5fr) minmax(80px,.45fr) auto; align-items:center; gap:10px; min-height:62px; padding:8px 10px; border-bottom:1px solid #eee4f5; }
.minimal-product-row:last-child { border-bottom:0; }
.minimal-product-row > div { position:relative; z-index:0; }
.minimal-product-row img,.minimal-product-row [class$="-placeholder"] { width:42px; height:42px; border-radius:6px; object-fit:cover; }
.minimal-product-row .product-image-button { display:block; padding:0; border:0; background:transparent; cursor:zoom-in; }.minimal-product-row img { transition:transform .18s ease,box-shadow .18s ease; }
@media (hover:hover) { .minimal-product-row .product-image-button:hover { position:relative; z-index:3; }.minimal-product-row .product-image-button:hover img { transform:scale(2.1); box-shadow:0 8px 20px rgba(62,38,91,.24); } }
.minimal-product-row > button:not(.minimal-product-open) { display:grid; gap:3px; min-width:0; padding:0; border:0; background:transparent; color:#38234f; text-align:left; cursor:pointer; }
.minimal-product-row > button strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.minimal-product-row > button small,.minimal-product-stock { color:#796d80; font-size:10px; }
.minimal-product-row > strong { color:#38234f; font-size:12px; }
.minimal-product-stock { color:#23834a; font-weight:750; }
.minimal-product-open { width:32px; height:32px; padding:0; border:0; border-radius:7px; background:#7652b8; color:#fff; font-size:22px; cursor:pointer; }
.minimal-quantity-control { transform:scale(.82); transform-origin:right center; }
.product-view-chooser { position:relative; isolation:isolate; display:grid; justify-items:center; gap:8px; overflow:hidden; padding:24px; border-radius:14px; text-align:center; }
.product-view-chooser::before { position:absolute; z-index:-1; inset:0; background:#f8c5db; content:''; }
.product-view-chooser-icon { color:#7652b8; font-size:30px; }
.product-view-chooser h2 { margin:0; color:#38234f; font-size:23px; }
.product-view-chooser > p { margin:0 0 10px; color:#796d80; }
.product-view-remember { display:flex; align-items:center; gap:7px; color:#55445f; font-size:12px; font-weight:700; }.product-view-remember input { width:16px; height:16px; accent-color:#7652b8; }
.product-view-chooser > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; width:calc(100% - 122px); margin-right:122px; }
.product-view-chooser button { display:grid; gap:8px; min-height:142px; padding:14px; border:2px solid #fff; border-radius:12px; background:#fde7f0 !important; color:#38234f; text-align:left; cursor:pointer; }
.product-view-chooser button:first-child { border-color:#fff; background:#f8c5db; }
.product-view-chooser button:hover,.product-view-chooser button:focus-visible { transform:translateY(-2px); border-color:#8f145f; background:#a51a71; color:#fff; box-shadow:0 8px 18px rgba(165,26,113,.28); }
.product-view-chooser button:hover small,.product-view-chooser button:focus-visible small { color:#fff; }
.product-view-chooser button strong { font-size:14px; }.product-view-chooser button small { color:#796d80; font-size:11px; line-height:1.35; }
.modal-card:has(.product-view-chooser) { background:#f8c5db !important; border-color:#e9a7c8 !important; }
.modal-card:has(.product-view-chooser) .modal-close { display:none; }
.cart-rewards { display:grid; gap:8px; margin:12px 0; }
.klaus { position:relative; display:flex; align-items:center; gap:8px; min-height:68px; padding:4px 10px 1px; overflow:hidden; border-bottom:1px dashed #dfcda7; color:#6b4a22; cursor:pointer; }.klaus-image { width:98px; height:66px; flex:0 0 auto; transform:scaleX(-1); filter:drop-shadow(0 4px 3px rgba(105,68,28,.14)); }.klaus svg { display:none; }.klaus > div { display:grid; gap:2px; }.klaus strong { font-size:11px; letter-spacing:.12em; }.klaus span { color:#796d80; font-size:12px; font-weight:700; }.klaus-dog { fill:#d4a15f; stroke:#68411d; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }.klaus-tail { fill:none; transform-box:view-box; transform-origin:134px 78px; }.klaus-ear { fill:#ad743b; }.klaus-chest,.klaus-muzzle { fill:#efcc98; }.klaus-muzzle { stroke:none; }.klaus-eye,.klaus-nose { fill:#322015; stroke:none; }.klaus-brow,.klaus-smile,.klaus-leg { fill:none; }.klaus-tongue { fill:#e8848b; stroke:#a7515d; stroke-width:1.6; }.klaus-collar { fill:none; stroke:#7652b8; stroke-width:4; }.klaus-tag { fill:#f2c84b; stroke:#8b6918; stroke-width:1.2; }.klaus.is-reacting .klaus-tail { animation:klaus-tail .28s ease-in-out 3 alternate; }.klaus.is-thrilled .klaus-dog { transform:translateY(-4px); }.klaus.is-reacting .klaus-dog { animation:klaus-greet .45s ease-in-out 2; transform-origin:center bottom; }.klaus.is-celebrating .klaus-dog { animation:klaus-jump .42s ease-in-out 2; transform-origin:center bottom; }
@keyframes klaus-tail { to { transform:rotate(20deg); } } @keyframes klaus-greet { 50% { transform:translate(7px,-3px) rotate(-3deg); } } @keyframes klaus-jump { 50% { transform:translateY(-13px); } } @keyframes klaus-star { from { transform:scale(.3); opacity:0; } to { transform:scale(1.2); opacity:1; } }
.klaus,.klaus svg { color-scheme:only light; forced-color-adjust:none; }
.klaus-ear { transform-box:fill-box; }.klaus.is-happy .klaus-tail { animation:klaus-tail .7s ease-in-out infinite alternate; }.klaus.is-reacting svg,.klaus.is-reacting .klaus-image { animation:klaus-pet .52s ease-in-out 2; }.klaus.is-reacting .klaus-tail { animation:klaus-tail .18s ease-in-out 5 alternate; }.klaus.is-reacting .klaus-ear-left { animation:klaus-ear-left .3s ease-in-out 3 alternate; transform-origin:100% 25%; }.klaus.is-reacting .klaus-ear-right { animation:klaus-ear-right .3s ease-in-out 3 alternate; transform-origin:0 25%; }
.klaus-happy-eye { display:none; fill:none; stroke:#322015; stroke-width:2.5; stroke-linecap:round; }.klaus.is-reacting .klaus-eye { display:none; }.klaus.is-reacting .klaus-happy-eye { display:block; }.klaus.is-reacting .klaus-tongue { transform:translateY(2px) scale(1.16); transform-box:fill-box; transform-origin:center; }
.klaus.is-sleeping { position:relative; }.klaus.is-sleeping .klaus-eye { display:none; }.klaus.is-sleeping .klaus-happy-eye { display:block; stroke-width:2; }.klaus-zzz { position:absolute; top:4px; left:78px; color:#7652b8; font-size:16px; font-style:italic; transform:rotate(-8deg); }.klaus.is-waking svg,.klaus.is-waking .klaus-image { animation:klaus-wake .65s ease-out both; }.klaus.is-waking::after { position:absolute; top:2px; left:76px; padding:3px 7px; border-radius:999px; background:#fff; color:#a51a71; box-shadow:0 3px 10px rgba(165,26,113,.18); content:'¡HOLA!'; font-size:10px; font-weight:900; letter-spacing:.03em; animation:klaus-bark .9s ease both; }
.klaus-pet-effects { position:absolute; inset:0; pointer-events:none; }.klaus-pet-effects b { position:absolute; z-index:2; opacity:0; font-size:42px; line-height:1; text-shadow:0 2px 5px rgba(105,68,28,.18); }.klaus-pet-effects b:nth-child(1) { left:47px; top:18px; color:#e53945; --klaus-effect-x:-38px; --klaus-effect-y:-44px; }.klaus-pet-effects b:nth-child(2) { left:73px; top:18px; color:#f2a6c7; --klaus-effect-x:-8px; --klaus-effect-y:-56px; }.klaus-pet-effects b:nth-child(3) { left:92px; top:22px; color:#a51a71; --klaus-effect-x:34px; --klaus-effect-y:-46px; }.klaus-pet-effects b:nth-child(4) { left:61px; top:34px; color:#e5a62b; --klaus-effect-x:-47px; --klaus-effect-y:-14px; }.klaus-pet-effects b:nth-child(5) { left:108px; top:13px; color:#ef5d96; --klaus-effect-x:48px; --klaus-effect-y:-30px; }.klaus-pet-effects b:nth-child(6) { left:80px; top:4px; color:#7652b8; --klaus-effect-x:16px; --klaus-effect-y:-64px; }.klaus-pet-effects b:nth-child(7) { left:52px; top:39px; color:#f05272; --klaus-effect-x:-28px; --klaus-effect-y:-4px; }.klaus-pet-effects b:nth-child(8) { left:102px; top:37px; color:#28a1d5; --klaus-effect-x:42px; --klaus-effect-y:-6px; }.klaus.is-petted { border-color:#d795b3; background:rgba(255,255,255,.48); }.klaus.is-petted .klaus-pet-effects b { animation:klaus-pet-effect .9s ease-out both; }.klaus.is-petted .klaus-pet-effects b:nth-child(2) { animation-delay:.06s; }.klaus.is-petted .klaus-pet-effects b:nth-child(3) { animation-delay:.12s; }.klaus.is-petted .klaus-pet-effects b:nth-child(4) { animation-delay:.18s; }.klaus.is-petted .klaus-pet-effects b:nth-child(5) { animation-delay:.24s; }.klaus.is-petted .klaus-pet-effects b:nth-child(6) { animation-delay:.3s; }.klaus.is-petted .klaus-pet-effects b:nth-child(7) { animation-delay:.36s; }.klaus.is-petted .klaus-pet-effects b:nth-child(8) { animation-delay:.42s; }.klaus.is-petted .klaus-eye { display:none; }.klaus.is-petted .klaus-happy-eye { display:block; stroke-width:3.5; }.klaus.is-petted .klaus-tongue { transform:translateY(4px) scale(1.35); transform-box:fill-box; transform-origin:center; }.klaus.is-petted .klaus-tail { animation:klaus-tail .12s ease-in-out 8 alternate; }
.klaus-pet-prompt { position:absolute; top:15px; left:105px; z-index:3; padding:3px 7px; border-radius:12px; background:#fff; color:#a51a71 !important; box-shadow:0 3px 10px rgba(165,26,113,.16); font-family:cursive; font-size:12px !important; font-style:italic; font-weight:700 !important; line-height:1.25; white-space:nowrap; }.klaus.is-petted .klaus-pet-prompt { opacity:0; }
.klaus.is-petted svg,.klaus.is-petted .klaus-image { animation:klaus-pet .52s ease-in-out 2; }.klaus.is-petted .klaus-ear-left { animation:klaus-ear-left .22s ease-in-out 4 alternate; transform-origin:100% 25%; }.klaus.is-petted .klaus-ear-right { animation:klaus-ear-right .22s ease-in-out 4 alternate; transform-origin:0 25%; }
.klaus-reward-dialog { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:20px; background:rgba(47,30,52,.38); }.klaus-reward-dialog > div { width:min(360px,100%); padding:31px 28px 27px; border:0; border-radius:46% 54% 48% 52% / 38% 44% 56% 62%; background:linear-gradient(145deg,#fffdfd,#fff0f7); box-shadow:0 18px 48px rgba(60,29,51,.28); color:#54223f; text-align:center; animation:klaus-reward-pop .32s ease-out both; }.klaus-reward-dialog span { display:block; font-size:42px; }.klaus-reward-dialog strong { display:block; margin-top:4px; font-size:20px; }.klaus-reward-dialog p { margin:11px 0 19px; color:#76536a; font-size:15px; line-height:1.45; }.klaus-reward-dialog p b { color:#a51a71; }.klaus-reward-dialog button { width:100%; height:46px; border:0; border-radius:999px; background:#1876c9; color:#fff; cursor:pointer; font-size:24px; font-weight:900; }.klaus-reward-dialog button small { margin-left:7px; font-size:12px; font-weight:850; letter-spacing:.04em; }.klaus-reward-dialog button:hover { background:#1264b0; } @keyframes klaus-reward-pop { from { transform:scale(.78); opacity:0; } to { transform:scale(1); opacity:1; } }
.transfer-ready { display:flex; align-items:center; gap:11px; margin:16px 0; padding:13px; border:1px solid #d7b9ed; border-radius:16px; background:linear-gradient(135deg,#fff5fc,#f4ecff); color:#54223f; }.transfer-ready > span { font-size:27px; }.transfer-ready strong { display:block; font-size:15px; }.transfer-ready p { margin:3px 0 0; color:#76536a; font-size:13px; }.copy-bank-help { color:#76536a; }
@keyframes klaus-bark { from { transform:translateY(8px) scale(.7); opacity:0; } 35% { opacity:1; } to { transform:translateY(-8px) scale(1); opacity:0; } }
@keyframes klaus-pet-effect { 0% { transform:translate(0,8px) scale(.35) rotate(-12deg); opacity:0; } 25% { opacity:1; } 100% { transform:translate(var(--klaus-effect-x),var(--klaus-effect-y)) scale(1.2) rotate(12deg); opacity:0; } }
@keyframes klaus-hearts { 0%,20% { transform:translate(0,8px) scale(.65); opacity:0; } 38% { opacity:1; } 100% { transform:translate(12px,-26px) scale(1.2); opacity:0; } }
@keyframes klaus-wake { 0% { transform:scaleX(-1) translateY(8px) rotate(8deg); } 45% { transform:scaleX(-1) translateY(-17px) rotate(-7deg) scale(1.12); } 75% { transform:scaleX(-1) translateY(3px) rotate(3deg); } }
@keyframes klaus-pet { 30% { transform:scaleX(-1) translateY(-20px) translateX(8px) rotate(-8deg) scale(1.16); } 58% { transform:scaleX(-1) translateY(4px) translateX(-5px) rotate(6deg) scale(.94); } 78% { transform:scaleX(-1) translateY(-10px) translateX(4px) rotate(-4deg) scale(1.08); } } @keyframes klaus-ear-left { to { transform:rotate(-22deg); } } @keyframes klaus-ear-right { to { transform:rotate(22deg); } }
.reward-progress,.reward-surprise { display:grid; gap:7px; padding:10px; border:1px solid #d9c9ec; border-radius:10px; background:#fbf8ff; color:#38234f; font-size:12px; }.reward-progress { border:2px solid #c6a9e5; background:linear-gradient(135deg,#fff,#f1e7fb); }.reward-progress div,.reward-surprise { display:grid; gap:3px; }.reward-progress strong b { font-size:20px; color:#7652b8; }.reward-progress span,.reward-surprise span { color:#796d80; }.reward-progress small { color:#7652b8; font-weight:850; text-align:right; }
.reward-progress i { display:block; height:13px; overflow:hidden; border:2px solid #c6a9e5; border-radius:999px; background:repeating-linear-gradient(90deg,#eadff6 0 calc(5% - 2px),#fff calc(5% - 2px) 5%); }.reward-progress i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7652b8,#a51a71); transition:width .24s ease; }
.quantity-reward-dialog { display:grid; gap:15px; text-align:center; }.quantity-reward-dialog > span { font-size:42px; line-height:1; }.quantity-reward-dialog h2 { margin:0; color:#54223f; }.quantity-reward-dialog p { margin:0; color:#76536a; }.quantity-reward-dialog p strong { color:#a51a71; }.quantity-reward-dialog .reward-progress { text-align:left; }.quantity-reward-dialog .primary-button { justify-self:center; min-width:150px; }
.reward-surprise { border-color:#e7c45f; background:#fff9df; }.reward-surprise strong { color:#7652b8; }
.checkout-celebration { display:grid; place-items:center; gap:2px; color:#7652b8; font-size:15px; letter-spacing:7px; animation:celebrate-in .45s ease both; }.checkout-celebration b { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:#7652b8; color:#fff; font-size:32px; letter-spacing:0; }.checkout-celebration-copy { margin:8px 0 0; color:#4c3570; font-weight:800; text-align:center; }
@keyframes celebrate-in { from { transform:scale(.65); opacity:0; } to { transform:scale(1); opacity:1; } }
.reward-cart-animation .cart-mobile span { transition:transform .18s ease; }.reward-cart-animation .cart-mobile:has(span:not(:empty)) span { animation:cart-count-pop .28s ease; }
@keyframes cart-count-pop { 50% { transform:scale(1.22); } }
@media (prefers-reduced-motion: reduce) { .reward-progress b,.cart-mobile span,.checkout-celebration,.klaus *,.klaus.is-happy::before { transition:none; animation:none; } }
.klaus-image { width:143px; height:112px; object-fit:contain; transform:scaleX(-1); }
.mobile-klaus-host .klaus-image { transform:none; }
.klaus-pet-prompt,.klaus-greeting,.klaus-zzz { display:none; }
.klaus-welcome { position:absolute; right:18px; bottom:16px; display:grid; justify-items:center; gap:2px; width:106px; padding:0; border:0; background:transparent; color:#54223f; cursor:pointer; }
.klaus-welcome .klaus-image { width:94px; height:94px; transform:scaleX(-1); object-fit:contain; animation:klaus-welcome-bob 3s ease-in-out infinite; }
.klaus-welcome span { font-family:Georgia,'Times New Roman',serif; font-size:13px; font-style:italic; font-weight:400; line-height:1.2; }.klaus-welcome strong { font-weight:800; }.klaus-welcome small { display:block; margin-top:3px; font-size:10px; }
.modal-card:has(.klaus-checkout) { position:relative; }.modal-card:has(.klaus-checkout) .checkout-steps { width:calc(100% - 145px); margin:8px 0 16px; grid-template-columns:repeat(2,max-content); gap:12px; }.klaus-checkout { position:absolute; z-index:2; top:18px; right:64px; width:120px; height:94px; }.klaus-checkout .klaus-image { width:100%; height:100%; transform:scaleX(-1); object-fit:contain; }.klaus-checkout:hover .klaus-image { animation:klaus-checkout-hello .45s ease-in-out 2; } @keyframes klaus-checkout-hello { 50% { transform:scaleX(-1) translateY(-5px) rotate(-3deg); } }
@media (max-width:700px) { .klaus-checkout { top:12px; right:54px; width:106px; height:83px; } }
@keyframes klaus-welcome-bob { 50% { transform:scaleX(-1) translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .klaus-welcome .klaus-image { animation:none; } }
@media (max-width:700px) { .klaus-welcome { right:10px; bottom:10px; width:88px; }.klaus-welcome .klaus-image { width:76px; height:76px; }.klaus-welcome span { font-size:9px; } }
.pulga-host { position:fixed; z-index:20; width:62px; height:46px; overflow:hidden; pointer-events:auto; opacity:0; animation:pulga-peek .42s ease-out forwards; }
.pulga-host.pulga-from-left { left:0; }.pulga-host.pulga-from-right { right:0; }.pulga { width:62px; height:46px; cursor:none; filter:drop-shadow(0 3px 2px rgba(31,34,38,.22)); }.pulga-from-right .pulga { transform:scaleX(-1); }.pulga svg { width:100%; height:100%; overflow:visible; }.pulga-cat { fill:#b7bbc0; stroke:#4d535b; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }.pulga-ear { fill:#e4b9c1; }.pulga-stripes { fill:none; stroke:#70767d; stroke-width:3; }.pulga-eye-white { fill:#fff; stroke:#4d535b; stroke-width:1.5; }.pulga-eye { fill:#4d6575; stroke:none; }.pulga-eye-shine { fill:#fff; stroke:none; }.pulga-blush { fill:#eaa7b7; stroke:none; opacity:.72; }.pulga-nose { fill:#e78da5; stroke:none; }.pulga-mouth,.pulga-whiskers,.pulga-leg,.pulga-tail { fill:none; }.pulga-tail { transform-box:fill-box; transform-origin:left center; animation:pulga-tail 1.3s ease-in-out infinite alternate; }.pulga-host:not(.pulga-still) .pulga-ear { transform-box:fill-box; transform-origin:bottom center; animation:pulga-ears 2.1s ease-in-out infinite; }.pulga-host.is-escaping { animation:pulga-flee .42s cubic-bezier(.22,.8,.38,1) forwards; }.pulga-host.pulga-from-right.is-escaping { animation-name:pulga-flee-right; }.pulga-still .pulga-tail,.pulga-still .pulga-ear { animation:none; }
@keyframes pulga-peek { from { opacity:0; transform:translateX(-43px); } to { opacity:1; transform:translateX(-11px); } } @keyframes pulga-tail { to { transform:rotate(15deg); } } @keyframes pulga-ears { 0%,76%,100% { transform:rotate(0); } 82% { transform:rotate(-12deg); } } @keyframes pulga-flee { to { opacity:0; transform:translateX(-110px); } } @keyframes pulga-flee-right { to { opacity:0; transform:translateX(110px); } }
.pulga-still { animation:none; opacity:1; transform:translateX(-11px); }
.pulga-walking { top:auto !important; bottom:44px; width:72px; overflow:visible; pointer-events:none; animation:pulga-walk-left 3.8s linear both; }.pulga-walking .pulga { animation:pulga-steps .2s ease-in-out infinite alternate; }.pulga-from-right.pulga-walking { animation-name:pulga-walk-right; }
@keyframes pulga-walk-left { from { opacity:1; transform:translateX(-76px); } 8%,92% { opacity:1; } to { opacity:0; transform:translateX(100vw); } } @keyframes pulga-walk-right { from { opacity:1; transform:translateX(76px); } 8%,92% { opacity:1; } to { opacity:0; transform:translateX(-100vw); } } @keyframes pulga-steps { to { transform:translateY(-2px); } }
@media (max-width:760px) { .pulga-host { z-index:18; width:52px; height:39px; }.pulga { width:52px; height:39px; } }
@media (max-width:700px) { .klaus { min-height:56px; }.klaus svg { width:74px; height:52px; }.klaus span { font-size:11px; } }
body.product-view-list .catalog-menu-button,body.product-view-list .category-panel,body.product-view-list .category-backdrop { display:none !important; }
@media (min-width:1100px) {
  .store-shell { grid-template-columns:220px minmax(0,1fr) minmax(260px,300px) !important; height:calc(100dvh - 74px); min-height:0; overflow:hidden; }
  .category-panel { position:relative !important; top:auto !important; right:auto !important; display:block !important; visibility:visible !important; width:auto !important; height:100% !important; max-height:none !important; box-sizing:border-box; padding:20px !important; border-radius:0 !important; transform:none !important; overflow-y:auto !important; pointer-events:auto !important; }
  .catalog-column { height:100%; overflow-y:auto; overscroll-behavior:contain; }
  .catalog-column > .search-wrap { position:sticky; top:0; z-index:17; margin:0 0 18px; padding:12px 0; background:#f8c5db; }
  .order-panel { position:fixed; top:74px; right:0; height:calc(100dvh - 74px); max-height:none !important; overflow:hidden !important; }
  body.product-view-list .store-shell { grid-template-columns:minmax(0,1fr) minmax(260px,300px) !important; }
}
@media (max-width:700px) { .product-view-switcher { top:4px; gap:4px; padding:6px; }.product-view-switcher > span { display:none; }.product-view-switcher button { flex:1; padding:7px 5px; font-size:10px; }.product-view-switcher svg { width:16px; height:16px; }.complete-product-list { gap:25px; }.complete-list-category h2 { font-size:21px; }.complete-list-category h3 { font-size:16px; }.complete-list-depth-1 { margin-left:8px; padding-left:11px; }.complete-list-depth-2,.complete-list-depth-3 { margin-left:8px; padding-left:10px; }.catalog-view-grid,.catalog-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.catalog-view-copy { padding:10px; }.catalog-view-quantity { transform:scale(.86); transform-origin:left center; margin-bottom:7px; }.minimal-product-row { grid-template-columns:36px minmax(0,1fr) auto; gap:8px; }.minimal-product-row img,.minimal-product-row [class$="-placeholder"] { width:36px; height:36px; }.minimal-product-stock { display:none; }.minimal-product-row > strong { grid-column:3; grid-row:1; }.minimal-product-row .quantity-control,.minimal-product-open { grid-column:3; grid-row:2; }.minimal-product-row > button:not(.minimal-product-open) { grid-row:1 / span 2; }.product-view-chooser > div { grid-template-columns:1fr; }.product-view-chooser button { min-height:0; }.product-view-chooser h2 { font-size:20px; } }
@media (max-width:700px) { .product-view-chooser > div { width:100%; margin-right:0; } }
