html{font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
:root{--ink:#27231f;--muted:#746d66;--paper:#fffdf9;--sand:#f4efe7;--line:#e6ddd3;--accent:#8a6552;--whatsapp:#25d366;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 36px));margin:auto}.topbar{font-size:12px;text-align:center;padding:8px;background:var(--ink);color:#fff;letter-spacing:.08em}.hero{min-height:100vh;min-height:100svh;position:relative;overflow:hidden;background:#ddd}.hero-track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .9s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,20,17,.55),rgba(25,20,17,.1) 55%,rgba(25,20,17,.18))}.hero-copy{position:relative;z-index:3;color:white;min-height:100vh;min-height:100svh;display:flex;align-items:center}.hero-card{max-width:650px;padding:60px 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.24em;font-weight:600}.hero h1,.section-title,.product-title{font-family:'Playfair Display',serif;font-weight:400}
.hero h1{font-size:clamp(44px,7vw,82px);line-height:.98;margin:18px 0}.hero h1 em{font-weight:400}.hero p{max-width:500px;font-size:16px;color:rgba(255,255,255,.9)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.11em;transition:.2s}.btn:hover{transform:translateY(-1px);opacity:.92}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.outline{background:transparent;color:var(--ink)}.section{padding:84px 0}.section.soft{background:var(--sand)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-title{font-size:clamp(34px,4.2vw,54px);margin:5px 0;line-height:1.05}.muted{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 18px}.product-card{min-width:0}.product-image{aspect-ratio:1/1.16;background:#efe9e1;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.product-card:hover .product-image img{transform:scale(1.035)}.badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);padding:6px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.product-meta{padding:13px 2px}.product-meta h3{font-family:'Playfair Display',serif;font-size:20px;font-weight:400;margin:0 0 5px}.price{font-size:13px;font-weight:600}.category-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cat-card{min-height:240px;background:#e7ded4;display:flex;align-items:end;padding:24px;position:relative;overflow:hidden}.cat-card:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.cat-card span{position:relative;color:#fff;font:400 28px 'Playfair Display'}.catalog-head{padding:68px 0 32px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 34px}.chip{border:1px solid var(--line);padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#fff;cursor:pointer}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.search{flex:1;min-width:220px;border:1px solid var(--line);padding:11px 13px;background:#fff}.product-price{font-size:20px;margin-bottom:22px}.footer{background:#211e1b;color:#eee;padding:55px 0 22px;margin-top:70px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px}.footer h4{font-family:'Playfair Display',serif;font-size:22px;font-weight:400}.footer a{color:#c9c0b8;font-size:13px;display:block;margin:9px 0}.copyright{border-top:1px solid #3b3631;margin-top:35px;padding-top:18px;color:#8f8881;font-size:11px}.empty{padding:50px;text-align:center;background:var(--sand);grid-column:1/-1}.hero-dots{position:absolute;z-index:5;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dot{width:28px;height:3px;border:0;background:rgba(255,255,255,.45);padding:0}.hero-dot.active{background:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stat{background:#fff;padding:28px;text-align:center}.stat b{font:400 36px 'Playfair Display';display:block}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr)}.hero,.hero-copy{min-height:100vh;min-height:100svh}.category-strip{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.container{width:min(100% - 24px,var(--max))}.hero h1{font-size:46px}.hero-card{padding:45px 0}.section{padding:56px 0}.product-grid{gap:24px 10px}.product-meta h3{font-size:17px}.product-image{aspect-ratio:1/1.28}.footer-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}}.cat-one{background:linear-gradient(0deg,rgba(0,0,0,.05),rgba(0,0,0,.05)),url('/assets/images/hero-2.jpg') center/cover}.cat-two{background:linear-gradient(0deg,rgba(0,0,0,.05),rgba(0,0,0,.05)),url('/assets/images/hero-3.jpg') center/cover}.cat-three{background:linear-gradient(0deg,rgba(0,0,0,.05),rgba(0,0,0,.05)),url('/assets/images/hero-1.jpg') center/cover}.chip small{opacity:.6;margin-left:4px}.setup-note{padding:18px;border:1px dashed var(--accent);background:#fff8f1;color:var(--muted)}

/* ===== Anti-desborde ===== */
html,body{max-width:100%;overflow-x:clip}

@media(max-width:900px){
  
  
  
  
  
  
  
}

/* ==========================================================================
   HEADER · replica del código Elementor original (Tailwind -> CSS plano)
   Colores: bg-white, border-gray-100, text-gray-600/700, stone-900/800/500
   ========================================================================== */
.pf-head{position:sticky;top:0;z-index:60;display:flex;flex-direction:column}

/* 1. Top bar */
.top-bar{background:#1c1917;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;text-align:center;padding:8px 16px;overflow:hidden;transition:height .3s ease,padding .3s ease,opacity .3s ease}
.top-bar.is-hidden{height:0;padding-top:0;padding-bottom:0;opacity:0}

/* 2. Header */
.main-head{background:#fff;border-bottom:1px solid #f3f4f6;width:100%;position:relative;transition:padding .3s ease,box-shadow .3s ease;padding:24px 0 18px}
.main-head.is-compact{padding:14px 0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.head-inner{max-width:var(--max);margin:0 auto;padding:0 24px;width:100%}
.head-row{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:10}
.head-col{display:flex;align-items:center;width:33.333%;transition:all .3s ease}
.head-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;z-index:1}
.head-right{justify-content:flex-end;gap:16px}
@media(min-width:768px){.head-right{gap:24px}}
.head-left{gap:8px}

/* Logo */
.brand{display:block;text-align:center;line-height:0}
.brand-logo{height:56px;width:auto;object-fit:contain;margin:0 auto;display:block;transition:height .8s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.brand-logo.is-hidden{height:0!important;opacity:0;pointer-events:none;margin:0!important;max-width:0}
@media(min-width:768px){.brand-logo{height:64px}}

/* Iconos + Buscar */
.ic-btn{display:flex;align-items:center;justify-content:center;color:#374151;background:none;border:0;padding:8px;border-radius:999px;cursor:pointer;transition:transform .2s ease,color .2s ease,background-color .2s ease}
.ic-btn:hover{color:#000;transform:scale(1.05)}
.ic-btn:hover{background:#f9fafb}
.search-link{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px;cursor:pointer;transition:color .2s ease}
.search-link:hover{color:#000}
.search-link span{border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color .2s ease}
.search-link:hover span{border-color:#000}
.only-mobile{display:none}
@media(max-width:1023px){.only-mobile{display:flex}.hide-mobile{display:none!important}}
@media(max-width:1023px){.head-right .ic-btn.hide-mobile{display:flex!important}}

/* 3. Nav */
.main-nav{display:none;justify-content:center;align-items:center;gap:34px;margin-top:18px;font-size:13.5px;text-transform:uppercase;letter-spacing:.14em;font-weight:500;color:#4b5563;transition:all .3s ease;position:sticky;top:0;z-index:40;background:#fff;padding:10px 0;margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
@media(min-width:1024px){.main-nav{display:flex}}
.main-nav.is-centered{margin-top:0}
.nav-link{display:inline-flex;align-items:center;gap:4px;padding-bottom:4px;border-bottom:2px solid transparent;color:inherit;transition:color .2s ease,border-color .2s ease}
.nav-link:hover{color:#000;border-color:#000}
.nav-link.is-muted{color:#78716c}
.nav-link.is-strong{color:#292524;font-weight:700}
.nav-btn{background:none;border:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}

/* Dropdown */
.nav-drop{position:relative}
.drop-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);padding-top:16px;width:192px;opacity:0;visibility:hidden;z-index:30;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.nav-drop:hover .drop-panel,.nav-drop:focus-within .drop-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop-panel>a{display:block;width:100%;text-align:center;padding:8px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;transition:color .2s ease,background-color .2s ease}
.drop-panel>a:hover{color:#000;background:#fafaf9}
.drop-caret{position:absolute;top:-8px;left:50%;width:16px;height:16px;background:#fff;border-top:1px solid #f3f4f6;border-left:1px solid #f3f4f6;transform:translateX(-50%) rotate(45deg)}
/* el panel necesita fondo + borde + sombra: se aplica al pseudo contenedor */
.nav-drop>.drop-panel{background:#fff;border:1px solid #f3f4f6;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);border-radius:2px;padding:8px 0 8px;width:192px}
.nav-drop>.drop-panel>*{position:relative;z-index:1}

/* Spacer (compensa el header fijo) */
.head-spacer{height:0;display:none}

/* Search overlay */
.search-overlay{position:absolute;top:0;left:0;width:100%;background:#fff;z-index:50;border-bottom:1px solid #f3f4f6;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);padding:24px 0;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease}
.search-overlay.open{transform:translateY(0);opacity:1;pointer-events:auto}
@media(min-width:1024px){.search-overlay{padding:32px 0}}
.search-box{max-width:896px;margin:0 auto;padding:0 24px;position:relative}
.search-close{position:absolute;top:-8px;right:-8px;padding:8px;border-radius:999px;border:0;background:none;color:#9ca3af;cursor:pointer;transition:color .2s ease,background-color .2s ease}
.search-close:hover{color:#000;background:#f3f4f6}
.search-line{display:flex;align-items:center;gap:16px;border-bottom:2px solid #e5e7eb;padding-bottom:8px;transition:border-color .2s ease}
.search-line:focus-within{border-color:#000}
.search-ic{color:#9ca3af;flex-shrink:0}
#ajax-search-input{flex:1;width:100%;font-family:'Playfair Display',serif;font-size:24px;line-height:1.3;background:transparent;border:0;outline:none;color:#111827;padding:0}
#ajax-search-input::placeholder{color:#d1d5db}
@media(min-width:1024px){#ajax-search-input{font-size:30px}}
.search-loader{border:2px solid #f3f3f3;border-top:2px solid #333;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;display:none;flex-shrink:0}
.search-loader.is-on{display:block}
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.search-results{margin-top:24px;display:grid;grid-template-columns:1fr;gap:16px;max-height:60vh;overflow-y:auto}
@media(min-width:768px){.search-results{grid-template-columns:1fr 1fr}}
.search-results.is-hidden,.search-none.is-hidden{display:none}
.search-none{margin-top:16px;text-align:center;color:#6b7280;font-size:14px}
.sr-item{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid #f9fafb;border-radius:4px;transition:background-color .2s ease,border-color .2s ease}
.sr-item:hover{background:#f9fafb;border-color:#f3f4f6}
.sr-thumb{width:64px;height:64px;background:#f3f4f6;border-radius:4px;overflow:hidden;flex-shrink:0}
.sr-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sr-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.sr-body b{font-family:'Playfair Display',serif;font-size:14px;font-weight:500;color:#292524;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-body em{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}

/* Drawers */
.drawer-overlay{position:fixed;inset:0;z-index:70;opacity:0;pointer-events:none;transition:opacity .3s ease}
.drawer-overlay.open{opacity:1;pointer-events:auto}
@media(max-width:1023px){.only-mobile-el{display:block}}
.drawer-bg{position:absolute;inset:0;background:rgba(0,0,0,.3);backdrop-filter:blur(2px)}
.side-drawer{position:absolute;top:0;left:0;width:85%;max-width:384px;height:100%;background:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .3s ease-in-out}
.drawer-overlay.open .side-drawer{transform:translateX(0)}
.drawer-head{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f3f4f6}
.drawer-head.is-soft{background:#f9fafb}
.drawer-title{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;color:#292524}
.drawer-x{padding:8px;background:#f9fafb;border:0;border-radius:999px;cursor:pointer;color:#374151;transition:background-color .2s ease}
.drawer-x:hover{background:#f3f4f6}
.drawer-x.is-soft{background:#fff}
.drawer-body{flex:1;overflow-y:auto;padding:24px}
.drawer-body.is-center{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:24px}
.drawer-empty{color:#9ca3af;display:flex;flex-direction:column;align-items:center;gap:8px}
.drawer-empty p{margin:0;font-size:14px}
.drawer-hint{font-size:13px;color:#6b7280;max-width:260px}
.m-link{display:block;font-size:18px;font-weight:500;color:#4b5563;padding:6px 0;transition:color .2s ease}
.m-link:hover{color:#000}
.m-link.is-muted{color:#78716c}
.m-link.is-strong{color:#1c1917;font-weight:700}
.m-group{padding:8px 0}
.m-group-title{font-size:18px;font-weight:500;color:#1f2937;border-bottom:1px solid #f3f4f6;padding-bottom:8px;margin:0 0 8px}
.m-sub{padding-left:20px;display:flex;flex-direction:column;gap:12px;border-left:2px solid #f0efec;margin-left:2px}
.m-sub a{color:#6b7280;transition:color .2s ease}
.m-sub a:hover{color:#000}
.drawer-foot{padding:24px;background:#f9fafb;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:12px}
.m-foot-link{display:flex;align-items:center;gap:12px;color:#4b5563;font-weight:500;font-size:14px;transition:color .2s ease}
.m-foot-link:hover{color:#000}
.btn-dark{display:inline-block;background:#1c1917;color:#fff;padding:12px 24px;text-transform:uppercase;font-size:11px;letter-spacing:.2em;transition:background-color .2s ease}
.btn-dark:hover{background:#44403c}

/* ==========================================================================
   FOOTER · replica del código Elementor original (Tailwind -> CSS plano)
   bg-[#1c1917] text-stone-300 · pt-20 pb-10 · border-t border-stone-800
   ========================================================================== */
.pf-footer{background:#1c1917;color:#d6d3d1;padding:80px 0 40px;border-top:1px solid #292524;font-family:'Inter',system-ui,sans-serif}
.ft-inner{max-width:var(--max);margin:0 auto;padding:0 24px;width:100%}
.ft-grid{display:grid;grid-template-columns:1fr;gap:48px;margin-bottom:64px}
@media(min-width:768px){.ft-grid{grid-template-columns:repeat(12,1fr);gap:48px}}

/* Columna marca */
.ft-brand{grid-column:span 1;padding-right:0}
@media(min-width:768px){.ft-brand{grid-column:span 5;padding-right:48px}}
.ft-logo-link{display:block;margin-bottom:24px}
.ft-logo{width:100%;max-width:60%;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;display:block}
.ft-slogan{font-size:14px;font-weight:300;line-height:1.65;color:#a8a29e;margin:0;max-width:384px}

/* Columnas de enlaces */
.ft-col{grid-column:span 1}
@media(min-width:768px){.ft-col{grid-column:span 2}}
.ft-title{font-family:'Playfair Display',serif;font-size:18px;color:#fff;margin:0 0 24px;font-weight:400}
.ft-title-soc{margin-bottom:16px}
.ft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ft-link{font-size:14px;font-weight:300;color:#d6d3d1;position:relative;display:inline-block;transition:color .3s ease}
.ft-link::after{content:'';position:absolute;width:0;height:1px;bottom:-2px;left:0;background:#fff;transition:width .3s ease}
.ft-link:hover{color:#fff}
.ft-link:hover::after{width:100%}

/* Contacto */
@media(min-width:768px){.ft-contact{grid-column:span 3}}
.ft-contact-list li{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:300;color:#d6d3d1}
.ft-contact-list svg{flex-shrink:0;margin-top:3px;color:#78716c}
.ft-contact-list .ft-link::after{bottom:-1px}

/* Social */
.ft-social{display:flex;gap:16px}
.ft-soc{width:40px;height:40px;border:1px solid #44403c;border-radius:9999px;display:flex;align-items:center;justify-content:center;color:#a8a29e;transition:color .3s ease,border-color .3s ease,transform .3s ease}
.ft-soc:hover{color:#fff;border-color:#fff;transform:translateY(-2px)}

/* Zona inferior */
.ft-bottom{padding-top:32px;border-top:1px solid #292524;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-size:14px;font-weight:300;color:#78716c}
@media(min-width:768px){.ft-bottom{flex-direction:row}}
.ft-legal{text-align:center;width:100%;margin-bottom:16px}
@media(min-width:768px){.ft-legal{text-align:left;width:auto;margin-bottom:0;display:flex;align-items:center}}
.ft-copy{margin:0 0 8px;display:inline-block}
@media(min-width:768px){.ft-copy{margin:0 8px 0 0}}
.ft-links{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.ft-link-soft{color:#78716c;transition:color .3s ease}
.ft-link-soft:hover{color:#d6d3d1}
.ft-sep{color:#44403c}
.ft-claims-btn{background:none;border:0;padding:0;color:#78716c;cursor:pointer;font:inherit;font-size:14px;transition:color .3s ease;display:inline-flex;align-items:center;gap:4px}
.ft-claims-btn:hover{color:#d6d3d1}
.ft-dev{display:flex;align-items:center;gap:4px}
.ft-dev-link{font-weight:500;color:#a8a29e}
.ft-dev-link:hover{color:#fff}

/* ===== MODAL LIBRO DE RECLAMACIONES ===== */
.claims-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.claims-overlay.open{opacity:1;visibility:visible}
.claims-modal{background:#fff;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;border-radius:4px;padding:32px;color:#1f2937;position:relative;transform:translateY(20px);transition:transform .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.claims-overlay.open .claims-modal{transform:translateY(0)}
.claims-x{position:absolute;right:24px;top:24px;padding:4px;border-radius:9999px;border:0;background:none;color:#9ca3af;cursor:pointer;transition:color .2s ease,background-color .2s ease}
.claims-x:hover{color:#000;background:#f3f4f6}
.claims-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:#111827;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb;text-align:center;width:100%}
.claims-form{display:flex;flex-direction:column;gap:24px}
.claims-sec{font-size:14px;font-weight:700;background:#f3f4f6;padding:8px;margin:0}
.claims-grid2{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:768px){.claims-grid2{grid-template-columns:1fr 1fr}}
.claims-full{grid-column:span 1}
@media(min-width:768px){.claims-full{grid-column:span 2}}
.claim-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#57534e;margin-top:4px}
.claim-input{width:100%;border:1px solid #e5e7eb;padding:8px 12px;font-size:13px;border-radius:2px;margin-top:4px;font-family:inherit;color:#1f2937;background:#fff}
.claim-input:focus{outline:none;border-color:#1c1917}
.claim-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.claims-radios{display:flex;gap:24px;margin:16px 0 0}
.claims-radio{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.claims-radio input{accent-color:#000}
.claims-stack{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.claim-area{height:96px;resize:none}
.claim-area2{height:80px;resize:none}
.claims-actions{padding-top:16px;border-top:1px solid #e5e7eb}
.claims-submit{width:100%;background:#1c1917;color:#fff;padding:12px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.2em;border:0;cursor:pointer;transition:background-color .2s ease;font-family:inherit}
.claims-submit:hover{background:#000}

/* ===== WHATSAPP FLOTANTE (el original vivia dentro del footer) ===== */
.wa-float{position:fixed;bottom:30px;right:30px;z-index:90;width:56px;height:56px;background:#25D366;border-radius:9999px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s ease}
.wa-float:hover{transform:scale(1.1);box-shadow:0 0 20px rgba(37,211,102,.5)}
.wa-tip{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#fff;color:#1c1917;padding:8px 16px;border-radius:4px;font-size:12px;font-weight:500;box-shadow:0 4px 15px rgba(0,0,0,.1);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s ease,right .3s ease,visibility .3s ease;pointer-events:none}
.wa-tip::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-style:solid;border-color:transparent transparent transparent #fff}
.wa-float:hover .wa-tip{opacity:1;visibility:visible;right:80px}
@media(max-width:600px){.wa-float{width:52px;height:52px;bottom:20px;right:20px}.wa-tip{display:none}}

/* Nav pegado al hacer scroll: el header compacto deja solo la barra de menu */
.pf-head .main-head.is-compact{padding:0}
.pf-head .main-head.is-compact .head-row{height:0;overflow:hidden;opacity:0;transition:height .3s ease,opacity .2s ease}
.pf-head .main-head.is-compact .main-nav{
  margin-top:0;position:sticky;top:0;background:#fff;padding:11px 24px;
  border-top:1px solid #f3f4f6;box-shadow:0 2px 8px rgba(0,0,0,.05);width:100%;
  margin-left:0;margin-right:0;
}
@media(max-width:1023px){.pf-head .main-head.is-compact .main-nav{display:none!important}}

@media(max-width:1023px){
  .pf-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid #f3f4f6;padding:12px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between;box-shadow:0 -5px 15px rgba(0,0,0,.05);transform:translateY(100%);transition:transform .3s ease}
  .pf-bar.is-up{transform:translateY(0)}
  .pf-bar-info{min-width:0;flex:1}
  .pf-bar-info b{display:block;font-family:'Playfair Display',serif;font-size:14px;color:#1c1917;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pf-bar-info span{display:block;font-size:12px;color:#78716c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
  .pf-bar-btn{background:#1c1917;color:#fff;padding:12px 22px;border:0;border-radius:2px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.1em;cursor:pointer;flex-shrink:0;font-family:inherit}
}


/* ==========================================================================
   HOME · Sección 1: Lo más deseados (carrusel) · Sección 2: Piccolo Lovers
   Adaptado del código Elementor original (Tailwind -> CSS plano)
   ========================================================================== */
.pf-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:#78716c;font-weight:700;display:block;margin-bottom:8px}
.pf-eyebrow.is-center{text-align:center;margin-bottom:12px;color:#a8a29e;font-weight:500}
.pf-fade{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}
.pf-fade.is-in{opacity:1;transform:translateY(0)}

/* ---------- Sección 1: Lo más deseados ---------- */
.pf-bs{padding:80px 0;background:#fff;overflow:hidden;font-family:'Inter',system-ui,sans-serif}
@media(min-width:768px){.pf-bs{padding:112px 0}}
.pf-bs-head{display:flex;flex-direction:column;align-items:center;margin-bottom:48px;text-align:center}
@media(min-width:768px){.pf-bs-head{flex-direction:row;justify-content:space-between;align-items:flex-end;text-align:left}}
.pf-bs-title{font-family:'Playfair Display',serif;font-size:1.875rem;line-height:1.2;color:#1c1917;margin:0;font-weight:700}
@media(min-width:768px){.pf-bs-title{font-size:2.25rem}}
.pf-bs-title em{font-weight:400;font-style:italic;color:#78716c}
.pf-bs-all{display:none;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#78716c;font-weight:700;padding-bottom:4px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
@media(min-width:768px){.pf-bs-all{display:inline-flex}}
.pf-bs-all:hover{color:#1c1917;border-color:#1c1917}
.pf-bs-all svg{margin-left:8px}

.pf-bs-track{display:flex;gap:24px;overflow-x:auto;padding-bottom:32px;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.pf-bs-track::-webkit-scrollbar{display:none}
.pf-bs-track.is-drag{cursor:grabbing;scroll-snap-type:none}
.pf-bs-card{flex:0 0 300px;width:300px;scroll-snap-align:center;display:block;user-select:none;-webkit-user-select:none}
.pf-bs-imgwrap{position:relative;width:300px;height:300px;overflow:hidden;background:#f5f5f4;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,.05);border-radius:2px}
.pf-bs-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.25,.46,.45,.94);pointer-events:none}
.pf-bs-card:hover .pf-bs-imgwrap img{transform:scale(1.05)}
.pf-bs-tag{position:absolute;top:12px;left:12px;background:#1c1917;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:4px 8px;font-weight:700;z-index:2}
.pf-bs-view{position:absolute;inset-x:0;bottom:0;padding:16px;transform:translateY(100%);opacity:0;transition:transform .3s cubic-bezier(.25,.46,.45,.94),opacity .3s ease;z-index:2}
.pf-bs-card:hover .pf-bs-view{transform:translateY(0);opacity:1}
.pf-bs-view span{display:block;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);text-align:center;padding:12px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#1c1917;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transition:background .2s ease,color .2s ease}
.pf-bs-card:hover .pf-bs-view span{background:#1c1917;color:#fff}
.pf-bs-name{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:#1c1917;margin:0 0 4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}
.pf-bs-card:hover .pf-bs-name{color:#78716c}
.pf-bs-price{font-size:14px;font-weight:600;color:#78716c;margin:0}
.pf-bs-price s{color:#a8a29e;font-weight:400;margin-right:8px}
.pf-bs-info{text-align:center}
@media(min-width:768px){.pf-bs-info{text-align:left}}

/* skeleton */
.pf-bs-card.is-skel .pf-bs-img,.pf-bs-card.is-skel .pf-bs-l,.pf-bs-card.is-skel .pf-bs-p{background:linear-gradient(110deg,#f5f5f4 8%,#fafaf9 18%,#f5f5f4 33%);background-size:200% 100%;animation:pf-shine 1.5s linear infinite}
.pf-bs-card.is-skel .pf-bs-img{width:300px;height:300px;margin-bottom:16px}
.pf-bs-card.is-skel .pf-bs-l{height:20px;width:75%;margin-bottom:8px}
.pf-bs-card.is-skel .pf-bs-p{height:16px;width:25%}
@keyframes pf-shine{to{background-position-x:-200%}}

.pf-bs-cta{margin-top:32px;text-align:center}
@media(min-width:768px){.pf-bs-cta{display:none}}
.pf-bs-cta a{display:inline-block;border:1px solid #d6d3d1;padding:12px 32px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#57534e;font-weight:700;transition:border-color .2s ease,color .2s ease}
.pf-bs-cta a:hover{border-color:#1c1917;color:#1c1917}

/* ---------- Sección 2: Piccolo Lovers ---------- */
.pf-lovers{padding:80px 0;background:#fafaf9;font-family:'Inter',system-ui,sans-serif}
@media(min-width:768px){.pf-lovers{padding:96px 0}}
.pf-lv-head{text-align:center;margin-bottom:64px}
.pf-lv-title{font-family:'Playfair Display',serif;font-size:1.875rem;line-height:1.25;color:#1c1917;margin:0 0 24px;font-weight:400}
@media(min-width:768px){.pf-lv-title{font-size:2.25rem}}
.pf-lv-title em{font-weight:400;font-style:italic;color:#78716c}
.pf-lv-rule{width:48px;height:2px;background:#d6d3d1;margin:24px auto 0}
.pf-lv-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:768px){.pf-lv-grid{grid-template-columns:repeat(3,1fr);gap:32px}}
.rv-card{background:#fff;padding:40px 32px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.04);border:1px solid #f5f5f4;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .5s cubic-bezier(.34,1.56,.64,1);border-color:transparent}
@media(min-width:768px){.rv-card{padding:40px}}
.rv-card:hover{transform:translateY(-8px) rotate(.5deg);box-shadow:0 25px 30px -10px rgba(225,48,108,.15),0 10px 15px -5px rgba(225,48,108,.05);border-color:rgba(225,48,108,.3)}
.rv-q{color:#d6d3d1;opacity:.5;margin-bottom:16px}
.rv-card p{font-size:14px;line-height:1.75;color:#57534e;font-style:italic;margin:0 0 24px}
.rv-stars{display:flex;gap:4px;color:#fbbf24;margin-bottom:8px}
.rv-card b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#1c1917;font-weight:700}
.rv-ig{display:flex;align-items:center;gap:4px;font-size:10px;color:#a8a29e;margin-top:4px;transition:color .2s ease}
.rv-card:hover .rv-ig{color:#57534e}
.rv-ig svg{transition:transform .3s ease,color .3s ease}
.rv-card:hover .rv-ig svg{transform:scale(1.2) rotate(10deg);color:#e1306c}
.pf-lv-cta{text-align:center;margin-top:64px}
.pf-lv-cta a{display:inline-flex;align-items:center;justify-content:center;padding:16px 40px;border:1px solid #d6d3d1;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#78716c;font-weight:700;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);border-radius:2px;transition:all .3s ease}
.pf-lv-cta a:hover{border-color:#1c1917;background:#1c1917;color:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}
.pf-lv-cta svg{margin-right:12px}

/* ==========================================================================
   FICHA DE PRODUCTO · replica del codigo Elementor original
   ========================================================================== */
/* ==========================================================================
   FICHA DE PRODUCTO · replica del código Elementor original
   ========================================================================== */
/* El original: <div class="piccolo-wrapper container mx-auto px-4 md:px-8">
   pero el contenido visual vive en un max-w-5xl (1024px). El .container global de
   la web es de 1220px -> por eso quedaba aire muerto a la derecha. */
.pf-product{padding:56px 0 96px;color:#1c1917;max-width:1024px;margin:0 auto}
@media(min-width:1024px){.pf-product{padding-left:32px;padding-right:32px;width:100%}}
.pf-crumbs{font-size:12px;color:#a8a29e;margin-bottom:28px;display:flex;gap:8px;flex-wrap:wrap}
.pf-crumbs a{color:#a8a29e;transition:color .2s ease}
.pf-crumbs a:hover{color:#1c1917}
.pf-crumbs span{color:#d6d3d1}

/* Grid principal: foto 50% / compra 50% */
.pf-pgrid{display:grid;grid-template-columns:1fr;gap:40px}
/* Original: flex flex-col lg:flex-row gap-8 lg:gap-12 con dos columnas w-[50%] */
@media(min-width:1024px){.pf-pgrid{grid-template-columns:1fr 1fr;gap:48px;align-items:start}}
@media(min-width:1024px){.pf-grid{grid-template-columns:1fr 1fr;gap:48px;align-items:start}}

/* Galería */
.pf-main{background:#fafaf9;border-radius:2px;overflow:hidden}
.pf-main img{width:100%;height:auto;display:block;object-fit:contain}
.pf-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.thumb{border:1px solid #e5e7eb;background:#fff;padding:0;cursor:pointer;border-radius:2px;overflow:hidden;width:74px;transition:border-color .2s ease}
.thumb:hover{border-color:#a8a29e}
.thumb.is-active{border-color:#1c1917}
.thumb img{width:100%;height:82px;object-fit:cover;display:block}

/* Columna de compra */
.pf-buy{position:relative}
@media(min-width:1024px){.pf-buy{position:sticky;top:88px}}
.pf-cats{font-size:12px;margin-bottom:10px}
.pc-link{color:#78716c;transition:color .2s ease}
.pc-link:hover{color:#1c1917}
.pf-title{font-family:'Playfair Display',serif;font-size:1.875rem;line-height:1.2;color:#1c1917;margin:0 0 8px;font-weight:400}
.pf-price{font-size:1.125rem;color:#57534e;font-weight:500;margin-bottom:16px}
.pf-excerpt{font-size:14px;line-height:1.7;color:#78716c;font-style:italic;margin:0 0 24px}

/* Swatches de talla */
.pf-opt{margin-bottom:20px}
.pf-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#57534e;margin-bottom:8px}
.pf-swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatch{border:1px solid #e5e7eb;background:#fff;color:#57534e;padding:9px 16px;font-size:13px;cursor:pointer;border-radius:2px;transition:all .2s ease;min-width:44px;text-align:center;font-family:inherit}
.swatch:hover{border-color:#1c1917}
.swatch.is-on{background:#1c1917;border-color:#1c1917;color:#fff;font-weight:500}
.swatch.is-off{opacity:.4;cursor:not-allowed;text-decoration:line-through}

/* Cantidad */
.pf-qty-row{margin-bottom:16px}
.qty{display:inline-flex;align-items:center;border:1px solid #e5e7eb;border-radius:2px;overflow:hidden;height:46px}
.qty-btn{background:#f9fafb;border:0;width:42px;height:46px;cursor:pointer;font-size:19px;color:#57534e;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;font-family:inherit}
.qty-btn:hover{background:#e5e7eb;color:#1c1917}
.qty-in{width:46px;border:0!important;text-align:center;font-weight:600;padding:0!important;height:46px;font-size:15px;background:#fff;color:#1c1917;font-family:inherit}
.qty-in:focus{outline:none}

/* Botón comprar */
.pf-buy-btn{display:block;width:100%;background:#1c1917;color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.1em;padding:15px 32px;border-radius:2px;font-weight:600;height:52px;display:flex;align-items:center;justify-content:center;transition:background .2s ease;border:0;cursor:pointer;text-decoration:none}
.pf-buy-btn:hover{background:#44403c;color:#fff}

/* Sellos de confianza */
.pf-trust{list-style:none;margin:24px 0 0;padding:24px 0 0;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:12px}
.pf-trust li{display:flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#a8a29e}
.pf-trust svg{flex-shrink:0}

/* Secciones: descripción + ficha técnica */
.pf-sections{display:grid;grid-template-columns:1fr;gap:40px;margin-top:56px;padding-top:48px;border-top:1px solid #f3f4f6}
@media(min-width:1024px){.pf-sections{grid-template-columns:1.6fr 1fr;gap:48px}}
.pf-h{font-family:'Playfair Display',serif;font-size:1.375rem;color:#1c1917;margin:0 0 20px;padding-bottom:8px;border-bottom:1px solid #e7e5e4;display:inline-block;font-weight:400}
.pf-rich{font-size:14px;line-height:1.8;color:#57534e}
.pf-rich p{margin:0 0 14px}
.pf-rich img{max-width:100%;height:auto;border-radius:2px}
.pf-rich ul{margin:0 0 14px;padding-left:20px}
.pf-spec-box{background:#fafaf9;border:1px solid #f5f5f4;border-radius:2px;padding:24px}
.pf-spec-box table{width:100%;font-size:13px;border-collapse:collapse}
.pf-spec-box td{padding:12px 0;border-bottom:1px solid #e7e5e4;vertical-align:top}
.pf-spec-box tr:last-child td{border-bottom:0}
.pf-spec-box td:first-child{font-weight:500;color:#1c1917;padding-right:16px;width:40%}
.pf-spec-box td:last-child{color:#57534e}
.pf-guide-btn{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:24px;padding-top:20px;border:0;border-top:1px solid #e7e5e4;background:transparent;cursor:pointer;color:#1c1917;transition:color .2s ease;font-family:inherit}
.pf-guide-btn:hover{color:#78716c}
.pf-guide-btn span{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:8px}

/* Relacionados */
/* El original mantiene los relacionados DENTRO del container (no full-bleed).
   El bleed 50vw era mio y por eso se veian tan anchos. */
.pf-related{margin-top:56px;padding:48px 0 0;border-top:1px solid #f3f4f6;background:transparent;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.pf-rel-title{font-family:'Playfair Display',serif;font-size:1.75rem;text-align:center;color:#1c1917;margin:0 0 6px;font-weight:500}
.pf-rel-sub{text-align:center;font-size:14px;color:#78716c;margin:0 0 40px}
.pf-rel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:768px){.pf-rel-grid{grid-template-columns:repeat(4,1fr);gap:20px}}
.pf-rel-card{display:block;background:#fff;border:1px solid transparent;transition:box-shadow .3s ease,border-color .3s ease}
.pf-rel-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1);border-color:#f3f4f6}
.pf-rel-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.pf-rel-body{padding:16px}
.pf-rel-body h3{font-family:'Playfair Display',serif;font-size:15px;color:#1c1917;margin:0 0 4px;font-weight:500;line-height:1.3}
.pf-rel-body span{font-size:13px;color:#78716c}

/* Modal guía de tallas */
.pf-guide{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}
.pf-guide.is-open{opacity:1;visibility:visible;pointer-events:auto}
.pf-guide-box{background:#fff;border-radius:2px;position:relative;max-width:1024px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.pf-guide-box img{width:100%;height:auto;display:block}
.pf-guide-x{position:absolute;right:16px;top:16px;background:rgba(255,255,255,.92);border:1px solid #f3f4f6;border-radius:9999px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#1c1917;z-index:10;transition:transform .2s ease,background .2s ease}
.pf-guide-x:hover{transform:scale(1.05);background:#fff}
.pf-guide-fallback{padding:32px;text-align:center;color:#57534e;font-size:14px}

/* Barra fija móvil */
.pf-bar{display:none}
@media(max-width:1023px){
  .pf-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid #f3f4f6;padding:12px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between;box-shadow:0 -5px 15px rgba(0,0,0,.05);transform:translateY(100%);transition:transform .3s ease}
  .pf-bar.is-up{transform:translateY(0)}
  .pf-bar-info{min-width:0;flex:1}
  .pf-bar-info b{display:block;font-family:'Playfair Display',serif;font-size:14px;color:#1c1917;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pf-bar-info span{display:block;font-size:12px;color:#78716c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
  .pf-bar-btn{background:#1c1917;color:#fff;padding:12px 22px;border:0;border-radius:2px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.1em;cursor:pointer;flex-shrink:0;font-family:inherit}
}
