:root{--eg-primary:#22262C;--eg-primary-dark:#16181c;--eg-accent:#E0B53C;--eg-ink:#1A1A1A;--eg-ink-muted:#6B7A8D;--eg-bg:#FFFFFF;--eg-bg-soft:#F0F5FB;--eg-border:#B8CCE0;--eg-font-heading:system-ui, sans-serif;--eg-font-body:system-ui, sans-serif;--eg-radius:10px;--eg-hero-overlay:0.45;}
:root{
--t-fondo:#FFFFFF;
--t-fondo-2:#F3F3F1;
--t-tinta:#1A1A1A;
--t-suave:#666660;
--t-acento:#2D5A8E;
--t-linea:#DDDDD8;
--t-titular:Georgia,serif;
--t-texto:"Segoe UI",system-ui,sans-serif;
--t-radio:0px;
--t-ancho:1180px;
--t-aire:76px;      
}
*,*::before,*::after{box-sizing:border-box}
body{
margin:0; background:var(--t-fondo); color:var(--t-tinta);
font-family:var(--t-texto); font-size:17px; line-height:1.65;
-webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block; height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--t-titular); margin:0; line-height:1.15}
:focus-visible{outline:2px solid var(--t-acento); outline-offset:3px}
.wrap{width:min(var(--t-ancho),100% - 48px); margin-inline:auto}
.eyebrow{
font-size:12px; letter-spacing:.2em; text-transform:uppercase;
color:var(--t-acento); margin:0 0 16px; font-weight:700;
}
.sec{padding:var(--t-aire) 0}
.sec-hd{margin-bottom:40px}
.sec-more{margin-top:30px}
.sec-more a{font-weight:650; color:var(--t-acento)}
.sec-hd h2{font-size:clamp(28px,3.4vw,42px)}
.sec-intro{margin:16px 0 0; color:var(--t-suave); max-width:58ch}
.hero,.hero-split{padding:calc(var(--t-aire) * 1.4) 0}
.hero h1,.hero-split h1{font-size:clamp(38px,6vw,80px); margin:0 0 26px}
.hero p,.hero-split p{font-size:19px; color:var(--t-suave); max-width:54ch; margin:0 0 34px}
.usp{padding:var(--t-aire) 0}
.usp .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:28px}
.usp b{display:block; margin-bottom:9px; font-family:var(--t-titular); font-size:20px}
.usp span{font-size:15px; color:var(--t-suave); line-height:1.6}
.items{display:grid; grid-template-columns:repeat(4,1fr); gap:32px}
.services{display:grid; grid-template-columns:repeat(3,1fr); gap:32px}
.item img{width:100%; aspect-ratio:3/4; object-fit:cover; background:var(--t-fondo-2); border-radius:var(--t-radio)}
.item h3,.service h3{font-size:21px; margin:18px 0 6px}
.item p,.service p{margin:0; font-size:15px; color:var(--t-suave)}
.price{margin:11px 0 0; font-weight:700; font-variant-numeric:tabular-nums}
.pasos-lista{list-style:none; margin:0; padding:0; counter-reset:paso}
.pasos-lista li{
counter-increment:paso; display:grid; grid-template-columns:72px 1fr;
gap:0 26px; padding:30px 0; border-top:1px solid var(--t-linea);
}
.pasos-lista li:last-child{border-bottom:1px solid var(--t-linea)}
.pasos-lista li::before{
content:counter(paso,decimal-leading-zero); grid-row:span 2;
font-family:var(--t-titular); font-size:36px; color:var(--t-acento); line-height:.9;
}
.pasos-lista h3{font-size:22px; margin:0 0 8px}
.pasos-lista p{margin:0; color:var(--t-suave); max-width:62ch}
.pasos-nota{margin:32px 0 0; font-size:14px; color:var(--t-suave)}
.precios-grupos{display:grid; grid-template-columns:repeat(2,1fr); gap:52px}
.precios-grupo h3{
font-family:var(--t-texto); font-size:12px; letter-spacing:.2em;
text-transform:uppercase; color:var(--t-acento); font-weight:700; margin:0 0 16px;
}
.precios-filas{list-style:none; margin:0; padding:0}
.precios-filas li{
display:flex; align-items:baseline; gap:12px; padding:13px 0;
border-bottom:1px solid var(--t-linea); font-size:17px;
}
.precio-que{flex-shrink:0}
.precio-que em{font-style:normal; font-size:14px; color:var(--t-suave)}
.precio-cuanto{margin-left:auto; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap}
.precios-nota{margin:28px 0 0; font-size:14px; color:var(--t-suave)}
.cifras{padding:calc(var(--t-aire) * .75) 0}
.cifras .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:28px}
.cifra b{display:block; font-family:var(--t-titular); font-size:46px; line-height:1; margin-bottom:9px}
.cifra span{font-size:14px; color:var(--t-suave); line-height:1.5}
.equipo-fichas{display:grid; grid-template-columns:repeat(3,1fr); gap:32px}
.equipo-ficha h3{font-size:22px; margin:0 0 6px}
.equipo-cargo{margin:0 0 11px; font-size:13px; color:var(--t-acento); font-weight:700}
.equipo-ficha p{margin:0; color:var(--t-suave); font-size:15px}
.obras-rejilla{display:grid; grid-template-columns:repeat(3,1fr); gap:32px}
.obra img{width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:var(--t-radio)}
.obra h3{font-size:20px; margin:18px 0 14px}
.obra > p{margin:0; font-size:15px; color:var(--t-suave)}
.obra-ficha{margin:0 0 14px; font-size:13px; border-top:1px solid var(--t-linea)}
.obra-ficha > div{display:flex; justify-content:space-between; gap:14px; padding:7px 0; border-bottom:1px solid var(--t-linea)}
.obra-ficha dt{color:var(--t-suave)}
.obra-ficha dd{margin:0; font-weight:700}
.antes-despues-par{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--t-linea)}
.antes-despues figure{margin:0; position:relative; background:var(--t-fondo-2)}
.antes-despues img{width:100%; height:clamp(300px,38vw,480px); object-fit:cover}
.antes-despues figcaption{
position:absolute; top:0; left:0; background:var(--t-fondo); color:var(--t-tinta);
padding:11px 20px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
}
.comparativa-caja,.cuartos-caja{overflow-x:auto}
.comparativa table,.cuartos table{width:100%; border-collapse:collapse; font-size:15px}
.comparativa caption,.cuartos caption{text-align:left; font-size:14px; color:var(--t-suave); padding-bottom:13px}
.comparativa th,.comparativa td,.cuartos th,.cuartos td{
text-align:left; padding:14px 18px; border-bottom:1px solid var(--t-linea); font-weight:400;
}
.comparativa thead th{font-family:var(--t-titular); font-size:17px}
.cuarto-plazas,.cuarto-precio{text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; width:1%}
.cuarto-precio{font-family:var(--t-titular); font-size:19px}
.comparativa-nota,.cuartos-nota{margin:22px 0 0; font-size:14px; color:var(--t-suave)}
.zona-texto{margin:0 0 22px; max-width:56ch; color:var(--t-suave)}
.zona-lista,.accesos ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:9px}
.zona-lista li,.accesos a{
border:1px solid var(--t-linea); border-radius:var(--t-radio);
padding:8px 16px; font-size:14px; text-decoration:none; display:inline-block;
}
.accesos a:hover{border-color:var(--t-acento); color:var(--t-acento)}
.accesos{padding:0 0 36px}
.accesos-rot{margin:0 0 13px; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--t-acento); font-weight:700}
.zona-nota{margin:20px 0 0; font-size:14px; color:var(--t-suave)}
.disponible-dias{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(10,1fr); gap:8px}
.disponible-dias li{border:1px solid var(--t-linea); border-radius:var(--t-radio); padding:11px 8px; text-align:center}
.disponible-dias b{display:block; font-family:var(--t-titular); font-size:21px; line-height:1}
.disponible-dias span{display:block; margin-top:6px; font-size:11px}
.disponible-dias .lleno{background:var(--t-fondo-2); color:var(--t-suave)}
.buscador{display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:0; background:var(--t-fondo)}
.buscador p{margin:0; padding:16px 20px; border-right:1px solid var(--t-linea)}
.buscador label{display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--t-suave); font-weight:700; margin-bottom:5px}
.buscador input{width:100%; border:0; font:inherit; font-size:16px; color:var(--t-tinta); background:transparent}
.buscador button{border:0; background:var(--t-acento); color:#fff; font:inherit; font-weight:700; padding:0 30px; cursor:pointer}
.quotes,.story,.contacto,.gallery{padding:var(--t-aire) 0}
.quote p,.story p{color:var(--t-suave)}
.horario{width:100%; border-collapse:collapse}
.horario th,.horario td{text-align:left; padding:12px 0; border-bottom:1px solid var(--t-linea); font-weight:400; font-size:16px}
.horario th{color:var(--t-suave); width:44%}
.ocultar{display:none}
.foot .resp{border-top:1px solid rgba(255,255,255,.14); margin-top:0; padding:16px 0 24px}
.foot .resp p{margin:0; font-size:13px; line-height:1.6; opacity:.72; max-width:80ch}
.ph{background:var(--t-fondo-2); position:relative; overflow:hidden}
.ph::after{
content:""; position:absolute; inset:0; opacity:.14;
background-image:radial-gradient(currentColor 1px,transparent 1px);
background-size:5px 5px; color:var(--t-suave);
}
.btn.ghost{background:transparent; color:var(--t-acento); border:1px solid var(--t-acento)}
.btn.ghost:hover{background:var(--t-acento); color:var(--t-fondo)}
.btn.light{background:var(--t-fondo); color:var(--t-tinta)}
.btn.sm{padding:9px 15px; font-size:14px}
.wa::before{
content:""; width:18px; height:18px; flex:none; background:currentColor;
-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 00-8.6 15L2 22l5.2-1.4A10 10 0 1012 2zm5.5 14.1c-.2.6-1.2 1.2-1.7 1.2-.4 0-1 .1-3.1-.8-2.6-1.1-4.3-3.8-4.4-4-.1-.2-1-1.4-1-2.7s.7-1.9 1-2.1c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.4.5-.3.3c-.1.1-.2.3-.1.5.1.2.6 1.1 1.4 1.8 1 .9 1.8 1.1 2 1.2.2.1.4.1.5-.1l.7-.8c.2-.2.3-.2.5-.1l2 1c.2.1.4.2.4.3.1.2.1.7-.1 1.3z'/></svg>") center/contain no-repeat;
mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 00-8.6 15L2 22l5.2-1.4A10 10 0 1012 2zm5.5 14.1c-.2.6-1.2 1.2-1.7 1.2-.4 0-1 .1-3.1-.8-2.6-1.1-4.3-3.8-4.4-4-.1-.2-1-1.4-1-2.7s.7-1.9 1-2.1c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.4.5-.3.3c-.1.1-.2.3-.1.5.1.2.6 1.1 1.4 1.8 1 .9 1.8 1.1 2 1.2.2.1.4.1.5-.1l.7-.8c.2-.2.3-.2.5-.1l2 1c.2.1.4.2.4.3.1.2.1.7-.1 1.3z'/></svg>") center/contain no-repeat;
}
.item-top{display:block; position:relative; text-decoration:none}
.item h3 a{color:inherit; text-decoration:none}
.item h3 a:hover{text-decoration:underline}
.item .ph,.item .item-img{
width:100%; aspect-ratio:3/4; object-fit:cover;
background:var(--t-fondo-2); border-radius:var(--t-radio);
}
.item .body{display:flex; flex-direction:column; gap:6px; flex:1}
.badge{
position:absolute; top:12px; left:12px; z-index:2;
background:var(--t-acento); color:var(--t-fondo);
font-size:11.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
border-radius:100px; padding:5px 12px;
}
.price small{font-size:13px; font-weight:600; color:var(--t-suave)}
.more{text-align:center; margin-top:34px}
.precio-antes{color:var(--t-suave); font-weight:400; text-decoration-thickness:1px; margin-right:.35em}
.promo-tag{
display:inline-block; background:var(--t-acento); color:var(--t-fondo);
font-size:13px; font-weight:600; line-height:1; padding:4px 8px;
border-radius:999px; vertical-align:middle; white-space:nowrap;
}
.story .ph,.story .story-img{aspect-ratio:4/5; object-fit:cover; border-radius:var(--t-radio)}
.pull{
border-left:3px solid var(--t-acento); padding-left:18px;
font-family:var(--t-titular); font-size:19px; line-height:1.45; margin:24px 0 0;
}
.stars{color:var(--t-acento); letter-spacing:2px; font-size:15px; margin-bottom:11px}
.quotes-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.hs-txt .tag{color:var(--t-suave); font-size:clamp(16px,1.4vw,19px); margin:0 0 24px; max-width:46ch}
.hs-txt .since{
display:inline-block; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
color:var(--t-acento); font-weight:700; margin-bottom:14px;
}
.hs-img img{width:100%; height:auto; display:block; border-radius:var(--t-radio)}
.hs-img .ph{width:100%; aspect-ratio:4/3; border-radius:var(--t-radio)}
.services-cta{margin:28px 0 0; text-align:center}
.cta{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.where{display:grid; grid-template-columns:1.15fr 1fr; border:1px solid var(--t-linea); overflow:hidden}
.map{min-height:340px; background:var(--t-fondo-2); position:relative}
.pin{
position:absolute; left:44%; top:46%; width:18px; height:18px;
background:var(--t-acento); border:3px solid var(--t-fondo);
border-radius:50% 50% 50% 2px; transform:rotate(-45deg);
}
.map.map-real{margin:0; padding:0; background:none; display:flex;
flex-direction:column; min-height:0}
.map.map-real img{width:100%; height:100%; object-fit:cover; display:block; flex:1}
.map.map-real figcaption{padding:6px 10px; font-size:11.5px; line-height:1.4}
.map.map-real figcaption{background:var(--t-fondo); color:var(--t-suave)}
.map.map-real figcaption a{color:inherit}
.where-info{padding:30px}
.where-info h3{font-size:22px; margin-bottom:5px}
.addr{color:var(--t-suave); font-size:15.5px; margin:0 0 20px}
.final{background:var(--t-acento); color:var(--t-fondo); text-align:center}
.final h2{font-size:clamp(28px,4vw,42px); max-width:20ch; margin:0 auto 16px}
.final p{font-size:18px; max-width:48ch; margin:0 auto 28px; color:inherit; opacity:.85}
.final small{display:block; margin-top:16px; font-size:13.5px; opacity:.7}
.legal-notice{
margin:14px 0; font-size:12.5px; line-height:1.5; opacity:.8;
border-left:2px solid var(--t-linea); padding-left:12px;
}
.legal-notice h2,.legal-notice h3{font-size:13px; margin:0 0 4px; font-weight:600}
.legal-notice p{margin:0 0 6px}
.legal-notice p:last-child{margin-bottom:0}
.wa-notice{max-width:52ch; margin-inline:auto; text-align:left; border-left-color:currentColor}
.mkt-notice{font-size:13.5px; line-height:1.5; opacity:.85}
.mkt-notice p{margin:0}
.legal a.ownerlog{opacity:.75}
.legal a.ownerlog:hover{opacity:1}
@media (max-width:980px){
.items,.services,.obras-rejilla,.equipo-fichas{grid-template-columns:repeat(2,1fr); gap:26px}
.usp .wrap,.cifras .wrap{grid-template-columns:repeat(2,1fr); row-gap:32px}
.precios-grupos{grid-template-columns:1fr; gap:34px}
.disponible-dias{grid-template-columns:repeat(5,1fr)}
.buscador{grid-template-columns:1fr 1fr}
.buscador button{grid-column:1/-1; padding:15px}
}
@media (max-width:820px){
.wrap{width:min(var(--t-ancho),100% - 32px)}
.where,.quotes-grid{grid-template-columns:1fr}
.antes-despues-par{grid-template-columns:1fr}
.pasos-lista li{grid-template-columns:1fr; gap:6px}
.pasos-lista li::before{grid-row:auto; font-size:30px; margin-bottom:6px}
}
@media (max-width:560px){
.items,.services,.obras-rejilla,.equipo-fichas{grid-template-columns:1fr}
.usp .wrap,.cifras .wrap{grid-template-columns:1fr}
.disponible-dias{grid-template-columns:repeat(3,1fr)}
.buscador{grid-template-columns:1fr}
.buscador p{border-right:0; border-bottom:1px solid var(--t-linea)}
}
.vecinos-alta{text-align:center}
.vecinos-alta .wrap{max-width:44rem}
.vecinos-alta h2{margin-bottom:14px}
.va-texto{font-size:18px; line-height:1.6; margin:0 0 26px; color:var(--t-suave)}
.va-nota{margin:16px 0 0; font-size:14px; color:var(--t-suave)}
.lo-de-siempre{text-align:center}
.lo-de-siempre .wrap{max-width:44rem}
.lo-de-siempre h2{margin-bottom:12px}
.lds-sec-texto{font-size:17px; line-height:1.6; margin:0 0 24px; color:var(--t-suave)}
.avisos .wrap{max-width:46rem}
.avisos h2{margin-bottom:18px}
.avi-lista{list-style:none; margin:0; padding:0; display:grid; gap:14px}
.avi-item{padding:16px 18px; border:1px solid var(--t-linea); border-radius:var(--t-radio)}
.avi-texto{margin:0; font-size:18px; line-height:1.5}
.avi-cuando{margin:6px 0 0; font-size:13px; color:var(--t-suave)}
.mi-libreta{text-align:center}
.mi-libreta .wrap{max-width:44rem}
.mi-libreta h2{margin-bottom:12px}
.lib-sec-texto{font-size:17px; line-height:1.6; margin:0 0 24px; color:var(--t-suave)}
:root{
--t-ok:#2C7A52;
--t-mal:#A33B2C;
--t-wa:#25D366;
--t-wa-burbuja:#DCF8C6;
}
.page-hd{padding:clamp(38px,6vw,72px) 0 clamp(20px,3vw,32px); border-bottom:1px solid var(--t-linea)}
.page-hd h1{font-size:clamp(30px,4.6vw,46px); line-height:1.08; margin:0}
.page-intro{margin:14px 0 0; max-width:62ch; color:var(--t-suave); font-size:17.5px}
.crumb{margin:0 0 18px; font-size:14px}
.crumb a{text-decoration:none; color:var(--t-acento); font-weight:600}
.cat-tools{display:grid; gap:14px; margin-bottom:28px}
#catSearch{
font:inherit; font-size:16px; padding:12px 16px; width:min(440px,100%);
border:1px solid var(--t-linea); border-radius:var(--t-radio);
background:var(--t-fondo); color:var(--t-tinta);
}
#catSearch:focus{outline:none; border-color:var(--t-acento)}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{
border:1px solid var(--t-linea); background:var(--t-fondo); border-radius:100px;
padding:7px 14px; font-size:13.5px; cursor:pointer;
font-family:var(--t-texto); color:var(--t-tinta);
}
.chip[aria-pressed=true]{background:var(--t-acento); border-color:var(--t-acento); color:var(--t-fondo)}
.chip.sub{margin-left:14px; font-size:13.5px; opacity:.9}
.chip.sub::before{content:"·"; margin-right:7px; opacity:.5}
.empty-note{color:var(--t-suave); text-align:center; padding:36px 0; font-size:15px}
.empty{text-align:center; color:var(--t-suave); font-size:17px; margin:0}
.pd{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,4vw,52px); align-items:start}
.pd-img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--t-radio); border:1px solid var(--t-linea)}
.pd-thumbs{display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:10px}
.pd-thumbs img{width:100%; aspect-ratio:1; object-fit:cover; border-radius:var(--t-radio); border:1px solid var(--t-linea)}
.pd h1{font-size:clamp(26px,3.6vw,36px); margin:6px 0 12px}
.pd-price{font-size:28px; margin:0 0 16px}
.pd-short{font-size:17px; line-height:1.6; margin:0 0 14px}
.pd-desc p{font-size:15.5px; line-height:1.7; color:var(--t-suave); margin:0 0 12px}
.rico > :first-child{margin-top:0}
.rico > :last-child{margin-bottom:0}
.rico p{font-size:15.5px; line-height:1.7; color:var(--t-suave); margin:0 0 12px}
.rico h2{font-size:22px; line-height:1.3; margin:24px 0 10px}
.rico h3{font-size:18px; line-height:1.35; margin:20px 0 8px}
.rico h4{font-size:16px; line-height:1.4; margin:18px 0 6px}
.rico ul, .rico ol{margin:0 0 12px; padding-left:22px}
.rico li{font-size:15.5px; line-height:1.7; color:var(--t-suave); margin:0 0 5px}
.rico strong, .rico b{font-weight:700; color:var(--t-tinta)}
.rico blockquote{margin:0 0 14px; padding:2px 0 2px 14px;
border-left:3px solid var(--t-linea); color:var(--t-suave); font-style:italic}
.rico a{color:var(--t-marca); text-decoration:underline; text-underline-offset:2px}
.rico a:hover{text-decoration:none}
.rico .ql-align-center{text-align:center}
.rico .ql-align-right{text-align:right}
.rico .ql-align-justify{text-align:justify}
.soldout{
display:inline-block; background:var(--t-fondo-2); border:1px solid var(--t-linea);
border-radius:var(--t-radio); padding:10px 16px; font-weight:700; color:var(--t-suave);
}
.hint{font-size:13px; color:var(--t-suave)}
.pd-b .pd{grid-template-columns:1fr; gap:28px; max-width:820px; margin:0 auto}
.pd-b .pd-img{aspect-ratio:16/7}
.pd-b .pd h1{font-size:clamp(30px,4.4vw,44px); text-align:center}
.pd-b .pd-price{text-align:center}
.pd-b .pd-desc{font-size:17px; line-height:1.75}
.pd-b .pd-thumbs{grid-template-columns:repeat(4,1fr); max-width:520px; margin-inline:auto}
.pd-c .pd{grid-template-columns:1fr; gap:24px}
.pd-c .pd > div:first-child{order:2}
.pd-c .pd > div:last-child{order:1}
.pd-c .pd-img{aspect-ratio:3/2}
.pd-c .pd-thumbs{grid-template-columns:repeat(6,1fr)}
.pd-c .pd-desc{columns:2; column-gap:34px}
.pd-options{margin:18px 0 20px; display:flex; flex-direction:column; gap:14px}
.pd-opt-name{display:block; font-size:13px; font-weight:600; margin-bottom:7px; opacity:.75}
.pd-opt-vals{display:flex; flex-wrap:wrap; gap:8px}
.pd-val{
font:inherit; font-size:14.5px; padding:9px 15px; cursor:pointer;
border:1px solid var(--t-linea); border-radius:var(--t-radio);
background:var(--t-fondo); color:inherit; transition:border-color .12s, box-shadow .12s;
}
.pd-val:hover{border-color:var(--t-acento)}
.pd-val.on{border-color:var(--t-acento); box-shadow:inset 0 0 0 1px var(--t-acento); font-weight:600}
.pd-val:focus-visible{outline:2px solid var(--t-acento); outline-offset:2px}
.sel-color .pd-val{padding-left:38px; position:relative}
.sel-color .pd-val::before{
content:""; position:absolute; left:12px; top:50%; transform:translateY(-50%);
width:17px; height:17px; border-radius:50%; background:var(--sw,#ccc);
box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
}
.pd-variant-note{margin:2px 0 0; font-size:13.5px; opacity:.75; min-height:1.2em}
[data-cart-add][disabled]{opacity:.45; cursor:not-allowed}
.vd{font-weight:400; opacity:.7; font-size:.92em}
.faqs{max-width:820px; margin-inline:auto; display:grid; gap:10px}
.faq{background:var(--t-fondo); border:1px solid var(--t-linea); border-radius:var(--t-radio); overflow:hidden}
.faq summary{
cursor:pointer; padding:18px 22px; font-weight:650; font-size:17px; list-style:none;
display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-size:22px; line-height:1; color:var(--t-acento); flex:0 0 auto}
.faq[open] summary::after{content:"−"}
.faq summary:hover{background:var(--t-fondo-2)}
.faq-a{padding:0 22px 20px}
.faq-a p{margin:0; color:var(--t-suave); font-size:16.5px; line-height:1.65}
.gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.gallery figure{margin:0}
.gallery img{width:100%; height:100%; aspect-ratio:1/1; object-fit:cover; display:block; border-radius:var(--t-radio)}
.events{display:grid; gap:14px; max-width:880px; margin-inline:auto}
.event{
display:grid; grid-template-columns:132px 1fr; gap:20px; background:var(--t-fondo);
border:1px solid var(--t-linea); border-radius:var(--t-radio); padding:20px 22px;
}
.ev-when{border-right:1px solid var(--t-linea); padding-right:18px}
.ev-date{display:block; font-weight:700; font-size:16px; text-transform:capitalize}
.ev-time{display:block; color:var(--t-suave); font-size:14.5px; margin-top:3px}
.ev-body h3{font-size:19px; margin:0 0 7px}
.ev-body p{margin:0 0 11px; color:var(--t-suave); font-size:16px}
.ev-meta{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:0; font-size:15px}
.ev-cta{font-weight:650; color:var(--t-acento)}
.rich .col{max-width:70ch; margin-inline:auto}
.rich .col p{margin:0 0 14px; font-size:17px; line-height:1.7}
.contact-direct{display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-bottom:32px}
.contact-form{
max-width:720px; margin-inline:auto; background:var(--t-fondo);
border:1px solid var(--t-linea); border-radius:var(--t-radio); padding:clamp(20px,3vw,32px);
}
.cf-row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.cf-field{display:block; margin-bottom:16px}
.cf-field span{display:block; font-size:14px; font-weight:650; margin-bottom:6px}
.cf-field input,.cf-field textarea,.cf-field select{
width:100%; font:inherit; font-size:16px; padding:12px 14px;
border:1px solid var(--t-linea); border-radius:var(--t-radio);
background:var(--t-fondo); color:inherit;
}
.cf-field input:focus,.cf-field textarea:focus,.cf-field select:focus{outline:none; border-color:var(--t-acento)}
.cf-field textarea{resize:vertical; min-height:120px}
.cf-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.cf-actions{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px}
.cf-hint{margin:-6px 0 16px; font-size:13.5px; opacity:.72}
.cf-notice{margin:0 0 16px; font-size:13px; line-height:1.55; opacity:.8}
.cf-check{display:flex; gap:10px; align-items:flex-start; margin-bottom:18px; font-size:14.5px}
.cf-check input{margin-top:3px; flex:0 0 auto}
.cf-msg{margin:0; font-size:15px}
.cf-msg.ok{color:var(--t-ok)}
.cf-msg.bad{color:var(--t-mal)}
.legal-doc{max-width:78ch; margin-inline:auto}
.legal-doc h2{font-size:clamp(21px,2.4vw,26px); margin:38px 0 12px}
.legal-doc h3{font-size:18px; margin:26px 0 9px}
.legal-doc p,.legal-doc li{font-size:16px; line-height:1.72; color:var(--t-suave)}
.legal-doc ul,.legal-doc ol{margin:0 0 16px; padding-left:22px}
.legal-doc li{margin:0 0 7px}
.legal-table{width:100%; border-collapse:collapse; margin:0 0 24px; font-size:15.5px}
.legal-table th,.legal-table td{
text-align:left; padding:11px 14px; border:1px solid var(--t-linea); vertical-align:top;
}
.legal-table th{width:34%; background:var(--t-fondo-2); font-weight:650; color:var(--t-tinta)}
.legal-ver{margin:0 0 30px; font-size:13px; color:var(--t-suave)}
.nf{min-height:60vh; display:grid; place-items:center; text-align:center; padding:40px 20px}
.nf h1{font-size:clamp(32px,5vw,52px); margin-bottom:14px}
.nf p{color:var(--t-suave); margin:0 0 26px}
.utility{font-size:13px; color:var(--t-suave)}
.logo{font-family:var(--t-titular); font-size:20px}
.logo small{color:var(--t-acento)}
@media (max-width:900px){
.pd{grid-template-columns:1fr}
.pd-b .pd,.pd-c .pd{grid-template-columns:1fr}
.pd-c .pd > div:first-child,.pd-c .pd > div:last-child{order:initial}
.pd-c .pd-desc{columns:1}
.gallery{grid-template-columns:repeat(2,1fr)}
.event{grid-template-columns:1fr}
.ev-when{
border-right:0; border-bottom:1px solid var(--t-linea); padding:0 0 12px;
display:flex; gap:12px; align-items:baseline;
}
.cf-row{grid-template-columns:1fr}
.legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block; width:auto}
.legal-table th{border-bottom:0}
.legal-table td{border-top:0; margin-bottom:10px}
}
.co .secure{margin-left:auto; font-size:13px; color:var(--t-suave); display:flex; align-items:center; gap:7px}
.co .secure::before{
content:""; width:14px; height:16px; background:var(--t-ok);
-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1L3 5v6c0 5.6 3.8 10.7 9 12 5.2-1.3 9-6.4 9-12V5l-9-4z'/></svg>") center/contain no-repeat;
mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1L3 5v6c0 5.6 3.8 10.7 9 12 5.2-1.3 9-6.4 9-12V5l-9-4z'/></svg>") center/contain no-repeat;
}
.co .btn.big{padding:17px 26px; font-size:17.5px}
.co .btn.block{width:100%}
.co .btn.green{background:var(--t-wa); color:#06331A}
.co .btn[disabled]{background:var(--t-fondo-2); color:var(--t-suave); border-color:var(--t-linea); cursor:not-allowed}
.co .steps{border-bottom:1px solid var(--t-linea); background:var(--t-fondo)}
.co .steps ol{list-style:none; margin:0; padding:0; display:flex; overflow:auto}
.co .steps li{flex:1; min-width:104px}
.co .steps a,.co .steps li>span{
width:100%; border-bottom:3px solid transparent; padding:14px 10px;
font-size:13.5px; font-weight:600; color:var(--t-suave); text-decoration:none;
display:flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;
}
.co .steps li>span{opacity:.5; cursor:default}
.co .steps .n{
display:grid; place-items:center; width:22px; height:22px; border-radius:50%;
border:1.5px solid currentColor; font-size:12px; flex:none;
}
.co .steps li[data-state=done] a{color:var(--t-ok)}
.co .steps li[data-state=done] .n{background:var(--t-ok); border-color:var(--t-ok); color:#fff}
.co .steps li[data-state=now] a,.co .steps li[data-state=now]>span{
color:var(--t-acento); border-bottom-color:var(--t-acento); opacity:1;
}
.co .steps li[data-state=now] .n{background:var(--t-acento); border-color:var(--t-acento); color:var(--t-fondo)}
.co .pagehead{padding:26px 0 4px}
.co .pagehead h1{font-size:clamp(25px,3.6vw,34px)}
.co .pagehead p{color:var(--t-suave); font-size:16px; margin:0 0 9px}
.co .cols{display:grid; grid-template-columns:1fr 340px; gap:34px; align-items:start; padding:24px 0 60px}
.co .card{background:var(--t-fondo); border:1px solid var(--t-linea); border-radius:var(--t-radio); margin-bottom:16px}
.co .card>h2{font-size:18px; padding:16px 19px; border-bottom:1px solid var(--t-linea); margin:0}
.co .card .in{padding:19px}
.co .co-nav{display:flex; gap:11px; align-items:center; margin-top:6px}
.co .co-nav .back{
background:none; border:0; color:var(--t-suave); font-size:14.5px;
cursor:pointer; font-family:inherit; padding:8px; text-decoration:none;
}
.co .co-nav .back:hover{color:var(--t-acento)}
.co .push{margin-left:auto}
.co .line{
display:grid; grid-template-columns:58px 1fr auto; gap:13px; padding:14px 19px;
border-bottom:1px solid var(--t-linea); align-items:center;
}
.co .line:last-of-type{border-bottom:0}
.co .line .ph,.co .line img{width:58px; height:58px; border-radius:var(--t-radio); object-fit:cover; aspect-ratio:auto}
.co .line h3{font-size:16.5px; margin:0 0 2px}
.co .line .u{font-size:13px; color:var(--t-suave); margin:0}
.co .line .right{text-align:right; display:grid; gap:7px; justify-items:end}
.co .lt{font-family:var(--t-titular); font-size:18px; font-weight:700}
.co .qty{display:inline-flex; border:1px solid var(--t-linea); border-radius:100px; overflow:hidden; background:var(--t-fondo)}
.co .qty button{
width:32px; height:32px; border:0; background:none; font-size:17px;
cursor:pointer; color:var(--t-acento); font-family:inherit; line-height:1;
}
.co .qty button:hover{background:var(--t-fondo-2)}
.co .qty span{min-width:34px; display:grid; place-items:center; font-weight:700; font-size:15px}
.co .rm{
background:none; border:0; color:var(--t-suave); font-size:12px; cursor:pointer;
text-decoration:underline; text-underline-offset:3px; padding:0; font-family:inherit;
}
.co .rm:hover{color:var(--t-mal)}
.co .empty{text-align:center; padding:38px 20px; color:var(--t-suave)}
.co .co-more{
background:var(--t-fondo-2); border:1px solid var(--t-linea);
border-radius:var(--t-radio); padding:17px 19px; margin-bottom:16px;
}
.co .co-more h2{font-size:18px; margin:0 0 3px}
.co .co-more>p{margin:0 0 14px; font-size:14px; color:var(--t-suave)}
.co .addons{display:grid; grid-template-columns:repeat(3,1fr); gap:11px}
.co .addon{
background:var(--t-fondo); border:1px solid var(--t-linea); border-radius:var(--t-radio);
padding:11px; text-align:center; display:flex; flex-direction:column; gap:8px;
}
.co .addon .ph,.co .addon img{height:64px; width:100%; border-radius:var(--t-radio); object-fit:cover; aspect-ratio:auto}
.co .addon b{font-size:14px; line-height:1.3}
.co .addon .p{font-family:var(--t-titular); font-size:16px; font-weight:700}
.co .addon .btn{margin-top:auto}
.co .opts{display:grid; gap:10px}
.co .opt{
display:grid; grid-template-columns:19px 1fr auto; gap:12px; align-items:start;
border:1px solid var(--t-linea); border-radius:var(--t-radio); padding:14px; cursor:pointer;
}
.co .opt:hover{border-color:var(--t-acento)}
.co .opt:has(input:checked){border-color:var(--t-acento); box-shadow:inset 0 0 0 1px var(--t-acento); background:var(--t-fondo-2)}
.co .opt input{width:18px; height:18px; margin:2px 0 0; accent-color:var(--t-acento)}
.co .opt b{display:block; font-size:15.5px}
.co .opt span{font-size:13.5px; color:var(--t-suave); display:block; line-height:1.45}
.co .opt .fee{font-weight:700; font-size:15px; white-space:nowrap; color:var(--t-tinta)}
.co .grid2{display:grid; grid-template-columns:1fr 1fr; gap:15px}
.co .f{display:flex; flex-direction:column; gap:5px; min-width:0}
.co .f.full{grid-column:1/-1}
.co label{font-size:13px; font-weight:700}
.co label .o{font-weight:400; color:var(--t-suave)}
.co input[type=text],.co input[type=tel],.co input[type=email],.co input[type=date],.co select,.co textarea{
font:inherit; font-size:16px; padding:11px 12px; border:1px solid var(--t-linea);
border-radius:var(--t-radio); background:var(--t-fondo); color:var(--t-tinta); width:100%;
}
.co input:focus,.co select:focus,.co textarea:focus{outline:none; border-color:var(--t-acento)}
.co input[aria-invalid=true]{border-color:var(--t-mal)}
.co textarea{resize:vertical; min-height:76px}
.co .err{font-size:12.5px; color:var(--t-mal); display:none}
.co .err.on{display:block}
.co .hint{font-size:12.5px; color:var(--t-suave)}
.co .toggle{
display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:start; padding:13px;
border:1px solid var(--t-linea); border-radius:var(--t-radio); background:var(--t-fondo-2);
cursor:pointer; margin-top:15px;
}
.co .toggle input{width:18px; height:18px; margin:2px 0 0; accent-color:var(--t-acento)}
.co .toggle b{display:block; font-size:14.5px}
.co .toggle span{font-size:13px; color:var(--t-suave)}
.co .check{display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:start; font-size:14px; padding:9px 0}
.co .check input{width:18px; height:18px; margin:3px 0 0; accent-color:var(--t-acento)}
.co .pmnote{font-size:13px; color:var(--t-suave); margin:11px 0 0}
.co .rev{
border:1px solid var(--t-linea); border-radius:var(--t-radio); background:var(--t-fondo);
padding:16px 19px; margin-bottom:13px;
}
.co .rev header{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px}
.co .rev h3{font-size:15px; margin:0}
.co .rev .edit{color:var(--t-acento); font-size:13.5px; font-weight:600; text-decoration:underline; text-underline-offset:3px}
.co .rev p{margin:0; font-size:14.5px; color:var(--t-suave); line-height:1.55}
.co .rev p b{color:var(--t-tinta); font-weight:600}
.co .bump{
border:2px solid var(--t-acento); background:var(--t-fondo-2); border-radius:var(--t-radio);
padding:15px; margin-bottom:16px; display:grid; grid-template-columns:auto 54px 1fr auto;
gap:13px; align-items:center; cursor:pointer;
}
.co .bump input{width:19px; height:19px; accent-color:var(--t-acento); margin:0}
.co .bump .ph,.co .bump img{width:54px; height:54px; border-radius:var(--t-radio); object-fit:cover; aspect-ratio:auto}
.co .bump b{display:block; font-size:15px}
.co .bump span{font-size:13.5px; color:var(--t-suave)}
.co .bump .p{font-family:var(--t-titular); font-size:19px; font-weight:700; white-space:nowrap}
.co .sum{position:sticky; top:18px; background:var(--t-fondo); border:1px solid var(--t-linea); border-radius:var(--t-radio)}
.co .sum h2{font-size:17px; padding:15px 18px; border-bottom:1px solid var(--t-linea); margin:0}
.co .sum .in{padding:16px 18px}
.co .mini{display:flex; gap:10px; align-items:center; font-size:14px; padding:6px 0}
.co .mini .ph,.co .mini img{width:36px; height:36px; border-radius:var(--t-radio); flex:none; object-fit:cover; aspect-ratio:auto}
.co .mini .q{color:var(--t-suave); font-size:13px}
.co .mini .m{margin-left:auto; font-weight:600; white-space:nowrap}
.co .sline{display:flex; justify-content:space-between; gap:14px; font-size:14.5px; padding:4px 0; color:var(--t-suave)}
.co .sline b{color:var(--t-tinta); font-weight:600}
.co .total{
display:flex; justify-content:space-between; align-items:baseline;
border-top:1px solid var(--t-linea); margin-top:11px; padding-top:13px;
font-family:var(--t-titular); font-size:15px;
}
.co .total b{font-size:28px; font-weight:700}
.co .tax{font-size:12.5px; color:var(--t-suave); margin:5px 0 0; text-align:right}
.co .gap{
font-size:13.5px; background:var(--t-fondo-2); border:1px solid var(--t-acento);
border-radius:var(--t-radio); padding:11px 12px; margin:13px 0;
}
.co .gap b{display:block; margin-bottom:7px}
.co .gap .picks{display:grid; gap:6px}
.co .gap .pick{
display:flex; align-items:center; gap:9px; background:var(--t-fondo);
border:1px solid var(--t-linea); border-radius:var(--t-radio); padding:7px 9px;
font-size:13.5px; cursor:pointer; text-align:left; width:100%;
font-family:inherit; color:var(--t-tinta);
}
.co .gap .pick:hover{border-color:var(--t-acento)}
.co .gap .pick .m{margin-left:auto; font-weight:700}
.co .paynote{font-size:13px; color:var(--t-suave); background:var(--t-fondo-2); border-radius:var(--t-radio); padding:10px 12px; margin:13px 0 0}
.co .done-in{max-width:600px; margin:0 auto; text-align:center; padding:36px 0 70px}
.co .tick{width:70px; height:70px; margin:0 auto 20px; border-radius:50%; background:var(--t-ok); display:grid; place-items:center}
.co .tick::after{
content:""; width:25px; height:13px; border-left:4px solid #fff; border-bottom:4px solid #fff;
transform:rotate(-45deg) translate(2px,-3px);
}
.co .done-in h1{font-size:clamp(27px,3.8vw,36px); margin:0 0 9px}
.co .done-in .sub{font-size:17px; color:var(--t-suave); margin:0}
.co .code{
display:inline-block; font-family:var(--t-titular); font-size:26px; font-weight:700;
letter-spacing:.06em; background:var(--t-fondo-2); border:1px solid var(--t-linea);
border-radius:var(--t-radio); padding:9px 21px; margin:15px 0 10px;
}
.co .paid{
display:inline-flex; align-items:center; gap:8px; background:#E6F3EC; color:var(--t-ok);
border:1px solid #B4D9C6; border-radius:100px; padding:6px 15px; font-size:14px;
font-weight:700; margin-bottom:22px;
}
.co .paid.later{background:var(--t-fondo-2); color:var(--t-suave); border-color:var(--t-linea)}
.co .chat{background:#ECE5DD; border-radius:14px; padding:17px; text-align:left; margin-bottom:20px}
.co .chat .to{font-size:12.5px; color:#5A6169; margin:0 0 11px; text-align:center}
.co .bubble{
background:var(--t-wa-burbuja); border-radius:10px 2px 10px 10px; padding:12px 14px;
margin-left:auto; max-width:96%; font-size:14px; line-height:1.55; white-space:pre-wrap;
box-shadow:0 1px 1px rgba(0,0,0,.1); color:#1A1D24;
}
.co .bubble .t{display:block; text-align:right; font-size:11px; color:#6B7A6B; margin-top:6px}
.co .foot-note{font-size:14px; color:var(--t-suave); margin:17px 0 0; line-height:1.6}
.co .co-foot{background:var(--t-tinta); color:rgba(255,255,255,.78); font-size:13.5px}
.co .co-foot .wrap{display:flex; gap:17px; flex-wrap:wrap; align-items:center; padding:24px 0}
.co .co-foot a{color:rgba(255,255,255,.78); text-decoration:none}
.co .co-foot a:hover{color:#fff; text-decoration:underline}
.co .co-foot .made{margin-left:auto}
.co .co-foot .made a{color:#fff; font-weight:600}
.cart-link{position:relative; font-weight:700; text-decoration:none; color:var(--t-acento); font-size:15px; white-space:nowrap}
.cart-link .cn{
display:none; background:var(--t-acento); color:var(--t-fondo); border-radius:100px;
font-size:12px; min-width:19px; height:19px; padding:0 5px; text-align:center;
line-height:19px; position:relative; top:-8px; left:2px;
}
.cart-link .cn.on{display:inline-block}
.cesta{position:relative}
.cesta .cn{
display:none; background:var(--t-fondo); color:var(--t-acento); border-radius:100px;
font-size:12px; min-width:19px; height:19px; padding:0 5px; text-align:center;
line-height:19px; margin-left:6px;
}
.cesta .cn.on{display:inline-block}
.card.seller .in{padding:16px 18px}
.seller-who{margin:0 0 8px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.seller-who .lbl{font-size:12px; text-transform:uppercase; letter-spacing:.09em; color:var(--t-suave); font-weight:700}
.seller-who b{font-size:16.5px}
.seller-who .nif{font-size:13.5px; color:var(--t-suave)}
.seller-note{margin:0; font-size:13.5px; color:var(--t-suave); line-height:1.55}
.seller-note a{font-weight:650}
.pending{margin:10px auto 0; max-width:46ch; font-size:15px; color:var(--t-suave); line-height:1.55}
.platform-role{
margin-top:22px; padding-top:18px; border-top:1px solid var(--t-linea);
font-size:14.5px; color:var(--t-suave); line-height:1.6;
}
.co .co-foot .resp{border-top:1px solid rgba(255,255,255,.14); margin-top:0; padding:16px 0 24px}
.co .co-foot .resp p{margin:0; font-size:13px; line-height:1.6; opacity:.72; max-width:80ch}
@media (max-width:940px){
.co .cols{grid-template-columns:1fr; gap:0}
.co .sum{position:static; margin-bottom:16px}
.co .grid2{grid-template-columns:1fr}
.co .addons{grid-template-columns:1fr}
.co .addon{flex-direction:row; text-align:left; align-items:center}
.co .addon .ph,.co .addon img{width:56px; height:56px; flex:none}
.co .addon .btn{margin:0 0 0 auto}
.co .steps .lbl{display:none}
.co .steps li{min-width:0}
.co .bump{grid-template-columns:auto 1fr auto}
.co .bump .ph,.co .bump img{display:none}
}
.eg-consent{position:fixed; inset:auto 0 0 0; z-index:900; padding:16px; display:flex; justify-content:center; pointer-events:none}
.eg-consent[hidden]{display:none}
.eg-consent-box{
pointer-events:auto; background:var(--t-fondo); color:var(--t-tinta);
border:1px solid var(--t-linea); border-radius:var(--t-radio);
box-shadow:0 8px 40px rgba(0,0,0,.18); max-width:640px; width:100%;
padding:clamp(18px,3vw,26px); max-height:82vh; overflow:auto;
}
.eg-consent-box h2{margin:0 0 8px; font-size:19px}
.eg-consent-box>p{margin:0 0 16px; font-size:14.5px; line-height:1.6}
.eg-consent-cats{list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:10px}
.eg-consent-cats label{display:flex; gap:11px; align-items:flex-start; cursor:pointer}
.eg-consent-cats input{margin-top:3px; flex:0 0 auto; width:17px; height:17px}
.eg-consent-cats b{display:block; font-size:14.5px}
.eg-consent-cats i{display:block; font-style:normal; font-size:13px; opacity:.7; line-height:1.5}
.eg-consent-cats input[disabled]+span b::after{content:" ·"; opacity:.4}
.eg-consent-detail{margin:0 0 16px; font-size:13px}
.eg-consent-detail summary{cursor:pointer; opacity:.8}
.eg-consent-detail ul{margin:8px 0 0 18px; padding:0; line-height:1.7}
.eg-consent-detail code{background:var(--t-fondo-2); padding:1px 5px; border-radius:3px}
.eg-consent-actions{display:flex; gap:10px; flex-wrap:wrap}
.eg-consent-actions .btn{flex:1 1 auto; justify-content:center; min-width:150px}
.eg-consent-foot{display:flex; justify-content:space-between; gap:12px; margin:14px 0 0; font-size:12.5px; opacity:.65; flex-wrap:wrap}
.eg-blocked{
display:flex; flex-direction:column; align-items:center; justify-content:center;
gap:12px; text-align:center; min-height:220px; padding:24px;
background:var(--t-fondo-2); border:1px dashed var(--t-linea); border-radius:var(--t-radio);
}
.eg-blocked p{margin:0; font-size:14px; max-width:46ch; line-height:1.55}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.vec-caja{max-width:38rem; margin-inline:auto}
.vec-lead{font-size:18px; line-height:1.6; margin:0 0 28px}
.vec-que{margin:0 0 30px; padding:18px 20px; border:1px solid var(--t-linea)}
.vec-que h2{font-size:15px; margin:0 0 10px; text-transform:uppercase; letter-spacing:.1em}
.vec-que ul{margin:0; padding-left:20px}
.vec-que li{margin:0 0 6px; font-size:15.5px; line-height:1.55}
.vec .cf-check span{font-size:14.5px; line-height:1.55}
.vec .cf-actions{margin-top:20px}
.co .lds .in{padding:16px 19px}
.co .lds-sub{margin:0 0 12px; font-size:14.5px; color:var(--t-suave)}
.co .lds-lineas{list-style:none; margin:0 0 14px; padding:0}
.co .lds-lineas li{padding:6px 0; font-size:15px; border-bottom:1px solid var(--t-linea)}
.co .lds-lineas li:last-child{border-bottom:0}
.co .lds-q{color:var(--t-suave); font-variant-numeric:tabular-nums}
.co .lds-fuera{margin:0 0 14px; font-size:13.5px; color:var(--t-suave)}
.lib-caja{max-width:34rem; margin-inline:auto}
.lib-saldo{font-size:26px; line-height:1.3; margin:0 0 26px; font-weight:700}
.lib-h2{font-size:14px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 12px}
.lib-apuntes{list-style:none; margin:0 0 26px; padding:0}
.lib-apuntes li{
display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:baseline;
padding:11px 0; border-bottom:1px solid var(--t-linea); font-size:15px;
}
.lib-f{font-size:13px; color:var(--t-suave); font-variant-numeric:tabular-nums}
.lib-i{font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap}
.lib-nada,.lib-pie{font-size:15px; color:var(--t-suave); line-height:1.6}
.lib-pie{margin:0 0 20px}
.logo.con-logo{display:inline-flex; align-items:center; gap:12px; padding:0}
.logo.con-logo .logo-txt{display:block}
.logo.con-logo img{height:70px; width:auto; max-width:100%; object-fit:contain; display:block}
.foot .logo.con-logo img{height:56px}
@media (max-width:640px){ .logo.con-logo img{height:44px}
.foot .logo.con-logo img{height:40px} }
.head .wrap:has(.logo.con-logo){padding:10px 0}
.pq-sec{padding-top:34px; padding-bottom:60px}
.pq-wrap{max-width:760px}
.pq-cargando,.pq-nada{color:var(--eg-muted,#5C6A66); text-align:center; padding:40px 0}
.pq{background:#fff; border:1px solid var(--eg-line,#DDE5E3); border-radius:6px;
padding:30px 34px}
.pq-cab{display:flex; justify-content:space-between; align-items:flex-start; gap:18px;
border-bottom:1px solid var(--eg-line,#DDE5E3); padding-bottom:18px; margin-bottom:20px}
.pq-cab h1{margin:2px 0 0; font-size:26px}
.pq-num{color:var(--eg-muted,#5C6A66); font-weight:400}
.pq-datos{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
gap:14px; margin:0 0 20px}
.pq-datos dt{font-size:12px; letter-spacing:.04em; text-transform:uppercase;
color:var(--eg-muted,#5C6A66); margin-bottom:3px}
.pq-datos dd{margin:0; font-weight:600}
.pq-intro{margin:0 0 22px; line-height:1.55}
.pq-lista{list-style:none; margin:0; padding:0}
.pq-li{display:grid; grid-template-columns:1fr auto; gap:6px 18px;
padding:13px 0; border-bottom:1px solid var(--eg-line-soft,#EDF1EF)}
.pq-li-t{display:flex; flex-wrap:wrap; gap:9px; align-items:baseline}
.pq-li-d{grid-column:1/2; margin:0; font-size:14px; color:var(--eg-muted,#5C6A66);
line-height:1.5}
.pq-li-i{grid-row:1/2; grid-column:2/3; font-variant-numeric:tabular-nums;
white-space:nowrap; font-weight:600}
.pq-cant,.pq-dto{font-size:13px; color:var(--eg-muted,#5C6A66)}
.pq-sumas{margin-top:18px; display:grid; gap:5px; justify-content:end}
.pq-sumas div{display:grid; grid-template-columns:auto 130px; gap:16px; align-items:baseline}
.pq-sumas span{color:var(--eg-muted,#5C6A66); font-size:14px; text-align:right}
.pq-sumas b{font-variant-numeric:tabular-nums; text-align:right}
.pq-total{padding-top:8px; border-top:1px solid var(--eg-line,#DDE5E3)}
.pq-total b{font-size:22px}
.pq-h2{font-size:16px; margin:28px 0 8px}
.pq-nota{margin:0 0 10px; font-size:14px; color:var(--eg-muted,#5C6A66)}
.pq-opc-total{margin:10px 0 0; text-align:right; font-variant-numeric:tabular-nums}
.pq-cond p{margin:0; line-height:1.55; white-space:pre-line}
.pq-responder{margin-top:30px; padding:22px 24px; border-radius:6px;
background:var(--eg-surface-2,#F4F5F3)}
.pq-lab{display:block; font-size:13px; font-weight:700; margin-bottom:5px}
.pq-responder input{width:100%; max-width:340px; padding:11px 13px;
border:1px solid var(--eg-line,#DDE5E3); border-radius:4px; font:inherit; font-size:16px}
.pq-botones{display:flex; gap:11px; flex-wrap:wrap; margin-top:16px}
.pq-err{color:#B4472E; margin:8px 0 0; font-size:14px}
.pq-legal{margin:14px 0 0; font-size:13px; color:var(--eg-muted,#5C6A66); line-height:1.5}
.pq-resp{margin-top:28px; padding:16px 18px; border-radius:6px;
background:var(--eg-surface-2,#F4F5F3); font-weight:600}
.pq-resp.ok{background:#EEF6F1; color:#2F7D5C}
.pq-pie{margin-top:28px; padding-top:16px; border-top:1px solid var(--eg-line,#DDE5E3);
font-size:13px; color:var(--eg-muted,#5C6A66)}
@media (max-width:560px){
.pq{padding:22px 18px; border:0; border-radius:0}
.pq-cab{flex-direction:column}
}
@media print{
.site-hd,.site-ft,.pq-print,.pq-responder,.eg-consent{display:none !important}
.pq{border:0; padding:0}
.pq-sec{padding:0}
}
:root{
--t-fondo:#F4F3EF;
--t-fondo-2:#FFFFFF;
--t-tinta:#111111;
--t-suave:#5C5C58;
--t-acento:var(--eg-accent,#D92B1E);
--t-linea:#111111;
--t-titular:"Arial Black","Franklin Gothic Heavy","Segoe UI Black",Impact,sans-serif;
--t-texto:Tahoma,Verdana,"Segoe UI",sans-serif;
--t-radio:0px;
--t-ancho:1220px;
--t-aire:64px;
--amarillo:#FFD400;
}
body{font-size:16px; line-height:1.6}
h1,h2,h3,h4{text-transform:uppercase; letter-spacing:-.02em; font-weight:400; line-height:.98}
.alarma{
position:sticky; top:0; z-index:20; background:var(--t-tinta); color:var(--amarillo);
border-bottom:4px solid var(--amarillo); font-size:14px;
}
.alarma .wrap{display:flex; align-items:center; gap:18px; height:46px}
.alarma a{
text-decoration:none; font-family:var(--t-titular); font-size:20px; color:#fff;
}
.alarma a:hover{color:var(--amarillo)}
.alarma .lang{margin-left:auto; display:flex; gap:10px; color:#B9B9B0}
.head{background:var(--t-tinta); color:#fff}
.head .wrap{display:flex; align-items:center; gap:30px; padding:20px 0}
.head .open{display:flex; align-items:center; gap:7px; font-size:13px; color:#D7D7CE}
.head .open i{width:8px; height:8px; background:#5FA366; display:block; border-radius:50%}
.mark{
font-family:var(--t-titular); font-size:32px; text-transform:uppercase;
letter-spacing:-.03em; text-decoration:none; color:var(--amarillo);
}
.mark small{display:block; font-family:var(--t-texto); font-size:11px; letter-spacing:.14em; color:#B9B9B0; margin-top:5px}
.nav{display:flex; gap:26px; margin-left:auto; flex-wrap:wrap}
.nav a{
font-size:14px; font-weight:700; text-decoration:none; text-transform:uppercase;
letter-spacing:.04em; padding:6px 0; border-bottom:4px solid transparent; color:#fff;
}
.nav a:hover,.nav a[aria-current]{border-color:var(--amarillo)}
.btn{
display:inline-block; background:var(--amarillo); color:var(--t-tinta); text-decoration:none;
border:3px solid var(--amarillo); padding:11px 22px; font-weight:700; font-size:15px;
text-transform:uppercase; letter-spacing:.04em;
}
.btn:hover{background:var(--t-acento); border-color:var(--t-acento); color:#fff}
.btn.ghost{background:transparent; color:var(--t-tinta); border:3px solid var(--t-tinta)}
.btn.ghost:hover{background:var(--t-tinta); color:var(--amarillo)}
.burger{display:none; background:none; border:0; font-size:22px; cursor:pointer; color:#fff}
.foot{background:var(--t-tinta); color:#C6C6BE; padding:58px 0 0; border-top:8px solid var(--amarillo)}
.foot .mark{font-size:28px}
.cols{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:46px}
.cols p{margin:20px 0 0; font-size:15px; line-height:1.75}
.cols h4{
font-family:var(--t-texto); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
font-weight:700; margin:0 0 16px; color:var(--amarillo);
}
.cols a{display:block; text-decoration:none; font-size:15px; padding:5px 0}
.cols a:hover{color:var(--amarillo)}
.legal{
border-top:2px solid #333; padding:22px 0; display:flex; flex-wrap:wrap;
gap:10px 20px; align-items:center; font-size:13px;
}
.legal a{text-decoration:none}
.legal .made{margin-left:auto}
.resp{border-top:2px solid #333; padding:18px 0 30px}
.resp p{margin:0; font-size:13px; color:#8C8C86; max-width:80ch; line-height:1.7}
.hero,.hero-split{background:var(--amarillo); padding:clamp(36px,5vw,76px) 0}
.hero h1,.hero-split h1{font-size:clamp(38px,5.4vw,76px)}
.hero p,.hero-split p{font-weight:700; color:var(--t-tinta); font-size:19px; max-width:34ch}
.cifras{background:var(--t-tinta); color:#fff}
.cifra b{color:var(--amarillo); font-size:44px}
.cifra span{color:#C6C6BE}
.services{gap:0; border-top:4px solid var(--t-tinta)}
.service{
padding:30px; border-bottom:4px solid var(--t-tinta); border-right:4px solid var(--t-tinta);
background:#fff;
}
.service:nth-child(3n){border-right:0}
.service h3{font-size:22px}
.zona-lista li{background:var(--amarillo); border:3px solid var(--t-tinta); font-weight:700;
text-transform:uppercase; letter-spacing:.04em}
.precios-filas li{border-bottom:2px solid #DEDDD7}
.precio-cuanto{font-family:var(--t-titular); font-size:22px}
@media (max-width:980px){
.service:nth-child(3n){border-right:4px solid var(--t-tinta)}
.service:nth-child(2n){border-right:0}
.head .wrap{flex-wrap:wrap; gap:16px}
.nav{order:3; flex-basis:100%; margin-left:0; gap:18px}
.cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.alarma .ocultar{display:none}
.service{border-right:0 !important}
.cols{grid-template-columns:1fr}
.legal .made{margin-left:0}
}