/* Selinger · estilos del resto de la web. Va después del CSS crítico. */
.pc{background:#fff3c4;color:#5a4300;padding:0;font-size:inherit;box-shadow:3px 0 0 #fff3c4,-3px 0 0 #fff3c4;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* Contacto (Contacto.dc.html no lleva el lanzador): en escritorio el botón fijo tapaba el bloque lateral, que ya da WhatsApp y teléfono. */
.more{font-weight:700;color:var(--gold-deep);text-decoration:none;display:inline-block}
.more:hover{text-decoration:underline}
.s-ink .more{color:var(--gold)}
.after-grid{margin-top:var(--s5)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid var(--rule);padding:8px 14px;font-size:14px;background:var(--white);display:inline-flex;align-items:center;gap:8px}
.chips-links{margin-bottom:var(--s5)}
.chips-links li{padding:0}
.chips-links a{display:block;padding:10px 16px;text-decoration:none;min-height:44px}
.chips-links a:hover,.chips-links a[aria-current]{background:var(--ink);color:var(--white)}
.ia{position:relative;display:block}
.ia-tag{position:absolute;left:0;bottom:0;background:rgba(18,18,17,.85);color:var(--white);font-size:10.2px;letter-spacing:.04em;padding:4px 8px}
.split{display:grid;gap:var(--s6)}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px;align-items:start}.split-faq{grid-template-columns:.8fr 1.2fr}.split-head{align-items:end}}
.grid{display:grid;gap:var(--s6)}
@media(min-width:700px){.g2,.g3{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--rule);color:var(--ink);text-decoration:none}
.card>a{display:flex;flex-direction:column;height:100%;text-decoration:none}
.card-img{display:block;overflow:hidden;background:var(--bone-2);aspect-ratio:4/5}
.card-list .card-img{aspect-ratio:4/3}
.card-img img,.card-img .ph{width:100%;height:100%;object-fit:cover;aspect-ratio:auto!important;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.04)}
.card-b{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);flex:1}
.card-b .more{margin-top:auto}
.card-list ul{display:flex;flex-direction:column;gap:6px;font-size:15px}
.card-list li{padding-left:16px;position:relative}
.card-list li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:2px;background:var(--gold-deep)}
.price{font-weight:700}
.facts{display:grid;gap:var(--s5)}
.facts li{display:flex;gap:var(--s4)}
.facts h3{margin-bottom:6px}
.facts p{font-size:16px}
@media(min-width:700px){.facts{grid-template-columns:repeat(2,1fr);gap:var(--s6)}.facts-3{grid-template-columns:repeat(3,1fr)}}
.facts-3{margin-bottom:var(--s5)}
.plano{position:relative;background:radial-gradient(ellipse at 70% 40%,var(--plano-2),var(--plano));color:var(--white);overflow:hidden;min-height:480px;display:flex;align-items:center}
.plano .mod-fill{z-index:0}
.plano-in{position:relative;z-index:1;padding-block:var(--section)}
.plano-txt{max-width:560px}
.plano .kicker{color:var(--gold)}
.plano h2 b{color:var(--gold)}
.steps{display:grid;gap:var(--s5)}
.steps li{display:flex;flex-direction:column;gap:var(--s2);position:relative;border-top:1px solid var(--rule);padding-top:var(--s4)}
.steps .num{position:absolute;right:0;top:var(--s4);font:300 28px/1 var(--f-d);color:var(--gold-deep)}
.steps h3,.steps h4{font:800 19px/1.25 var(--f-d)}
.steps p{font-size:15.5px}
@media(min-width:700px){.steps-4{grid-template-columns:repeat(4,1fr)}.steps-5{grid-template-columns:repeat(5,1fr)}.steps-8{grid-template-columns:repeat(4,1fr)}}
.arrive{margin-top:var(--s6)}
.arrive>h3{margin-bottom:var(--s4)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;background:var(--white)}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:14px 16px;border:1px solid var(--rule)}
.tbl thead th{background:var(--ink);color:var(--white);font-weight:700}
.tbl-wrap:focus-visible{outline:3px solid var(--gold-deep)}
.info>div{border-top:2px solid var(--ink);padding-top:var(--s3)}
.info h3{margin-bottom:6px}
.list li{padding-left:22px;position:relative;margin-bottom:8px}
.list li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:2px;background:var(--gold-deep)}
.prose>*+*{margin-top:var(--s4)}
.prose h2{margin-top:var(--s6);font-size:clamp(28px,3.4vw,40px)}
.prose h3{margin-top:var(--s5)}
.prose h4{font:800 18px/1.3 var(--f-d);margin-top:var(--s4)}
.prose a{color:var(--gold-deep);font-weight:700}
.prose ul,.prose ol{padding-left:22px}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:6px}
.prose img,.prose video{height:auto}
.prose figure{margin-inline:0}
.prose figcaption,.wp-element-caption{font-size:14px;opacity:.8;margin-top:var(--s2)}
.prose blockquote{border-left:3px solid var(--gold);padding-left:var(--s4);font:italic 300 22px/1.4 var(--f-d)}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px}
.prose th,.prose td{border:1px solid var(--rule);padding:10px 14px;text-align:left}
.prose thead th,.prose th{background:var(--bone-2)}
.prose .wp-block-table{overflow-x:auto}
.prose hr{border:0;border-top:1px solid var(--rule);margin-block:var(--s6)}
.prose iframe,.prose .wp-block-embed iframe{max-width:100%;aspect-ratio:16/9;height:auto;width:100%}
.prose-wide{max-width:900px}
.prose .alignwide,.prose .alignfull,.prose .aligncenter{margin-inline:auto}
.prose .alignleft{float:left;margin:0 var(--s4) var(--s2) 0;max-width:50%}
.prose .alignright{float:right;margin:0 0 var(--s2) var(--s4);max-width:50%}
.prose .wp-block-image img{width:100%}
.prose .wp-block-gallery,.prose .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s2);list-style:none;padding:0}
.prose .wp-block-gallery figure,.prose .gallery-item{margin:0}
.prose .wp-block-gallery img,.prose .gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.prose .wp-block-gallery figcaption{font-size:13px}
.prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.prose .wp-block-button__link,.prose .wp-element-button{display:inline-flex;align-items:center;min-height:48px;padding:14px 26px;background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none;border-radius:0}
.prose .is-style-outline .wp-block-button__link{background:none;border:1px solid currentColor;color:var(--ink)}
.prose .wp-block-columns{display:grid;gap:var(--s5)}
@media(min-width:700px){.prose .wp-block-columns{grid-auto-flow:column;grid-auto-columns:1fr}}
.prose .wp-block-separator{border:0;border-top:1px solid var(--rule)}
.prose pre,.prose code{font-size:15px;background:var(--bone-2);padding:2px 5px}
.prose pre{padding:var(--s4);overflow:auto}
.entry-content::after{content:"";display:block;clear:both}
.faq{display:flex;flex-direction:column}
.faq-i{border-top:1px solid var(--rule)}
.faq-i:last-child{border-bottom:1px solid var(--rule)}
.s-ink .faq-i{border-color:var(--rule-dark)}
.faq-i summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s4);padding:20px 0;font:800 20px/1.3 var(--f-d)}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary h3{font:inherit}
.faq-i summary::after{content:"+";color:var(--gold-deep);font-size:26px;line-height:1;flex:none}
.faq-i[open] summary::after{content:"−"}
.faq-i p{padding-bottom:20px;max-width:max(43.9em,68ch)}
.s-ink .faq-i summary::after{color:var(--gold)}
.faq-layout{display:grid;gap:var(--s6)}
.faq-index{background:var(--white);border:1px solid var(--rule);padding:var(--s5)}
.faq-index ul{margin-top:var(--s3)}
.faq-index a{display:flex;align-items:center;gap:var(--s2);padding:10px 8px;text-decoration:none;min-height:44px;border-left:3px solid transparent}
.faq-index a:hover,.faq-index a.is-on{border-left-color:var(--gold-deep);background:var(--bone-2)}
.faq-g{margin-bottom:var(--s6);scroll-margin-top:calc(var(--hd) + 16px)}
.faq-g>h2{margin:var(--s2) 0 var(--s4);font-size:clamp(28px,3.4vw,40px)}
.faq-cta{background:var(--ink);color:var(--white);padding:var(--s6)}
.faq-cta .kicker{color:var(--gold)}
@media(min-width:900px){.faq-layout{grid-template-columns:280px 1fr;gap:64px;align-items:start}.faq-index{position:sticky;top:calc(var(--hd) + 20px)}}
.page-hero .ph-txt,.page-hero .contact-grid>div{max-width:none}
.page-hero .split{align-items:center}
.ph-img-wrap img,.page-hero .split>img,.page-hero .split>.ph,.page-hero .split>.ia{width:100%}
.notes{margin-top:var(--s5);display:flex;flex-direction:column;gap:6px;font-size:14px}
.notes li{padding-left:18px;position:relative}
.notes li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:2px;background:var(--gold-deep)}
.meta{font-size:14px;opacity:.8;display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:var(--s3)}
.pcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--rule)}
.pcard-img{display:block;overflow:hidden;background:var(--bone-2)}
.pcard-img img,.pcard-img .ph{width:100%;aspect-ratio:4/3;object-fit:cover}
.pcard-b{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s2);flex:1}
.pcard-b h3 a{text-decoration:none}
.pcard-b h3 a:hover{text-decoration:underline}
.pcard-b .meta{margin:0}
.pcard-b .more{margin-top:auto}
.post-layout{display:grid;gap:var(--s6)}
.post-main{min-width:0;max-width:760px}
.summary{background:var(--white);border-left:4px solid var(--gold);padding:var(--s5);margin-bottom:var(--s5)}
.summary p+p{margin-top:var(--s2)}
.toc-inline{margin-bottom:var(--s5);border:1px solid var(--rule);background:var(--white)}
.toc-inline summary{padding:14px 18px;cursor:pointer;font-weight:700}
.toc-inline ol{padding:0 18px 14px 40px;list-style:decimal}
.toc{display:none}
.callout{margin-top:var(--s6);background:var(--ink);color:var(--white);padding:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s5);align-items:center;justify-content:space-between}
.callout .kicker{color:var(--gold)}
.side-card{margin-top:var(--s5);border:1px solid var(--rule);background:var(--white);padding:var(--s5)}
@media(min-width:1000px){
.post-layout{grid-template-columns:minmax(0,760px) 280px;justify-content:space-between;align-items:start}
.post-side{position:sticky;top:calc(var(--hd) + 20px)}
.toc{display:block}
.toc ul{margin-top:var(--s3)}
.toc a{display:block;padding:7px 0 7px 12px;border-left:2px solid var(--rule);text-decoration:none;font-size:15px}
.toc a:hover{border-left-color:var(--gold-deep)}
.toc-inline{display:none}
}
.crumb-row{padding-top:var(--s5)}
.crumb-row .crumbs{margin:0}
.prod-gallery{display:flex;flex-direction:column;gap:var(--s2)}
.prod-gallery>img,.prod-gallery>.ph{width:100%}
.prod-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.prod-thumbs img,.prod-thumbs .ph{width:100%;object-fit:cover}
.prod-info h1{margin-block:var(--s3) var(--s4);font-size:clamp(34px,4.4vw,56px)}
.price-box{margin-top:var(--s5);padding:var(--s4) 0;border-block:1px solid var(--rule)}
.price-box .price{font:800 24px/1.2 var(--f-d)}
.cond{margin-top:var(--s5);display:flex;flex-direction:column;gap:var(--s3);font-size:15px}
.cond li{display:flex;gap:var(--s2);align-items:flex-start}
.prod-info>.small{margin-top:var(--s4)}
.qf{display:flex;flex-direction:column;gap:var(--s4);margin-top:var(--s5);max-width:640px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-weight:700;font-size:13px}
.fld input,.fld select,.fld textarea{width:100%;min-height:48px;padding:12px 14px;background:var(--white);border:1px solid var(--rule);border-radius:0;font-size:16px}
.fld textarea{min-height:130px;resize:vertical}
.fld input[type=file]{padding:10px;min-height:0}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:3px solid var(--gold-deep);outline-offset:0;border-color:var(--ink)}
.fld [aria-invalid=true]{border-color:#a32d1f;background:#fff6f4}
.hint{font-size:13px;opacity:.78}
.err{font-size:13px;font-weight:700;color:#a32d1f}
.fld-check{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:var(--s2)}
.fld-check input{width:24px;min-height:24px;height:24px;margin-top:1px}
.fld-check label{flex:1;font-weight:400;font-size:14px;min-width:200px}
.fld-check .err{flex-basis:100%}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{display:flex;gap:var(--s3);padding:var(--s4);border:1px solid var(--rule);background:var(--white)}
.notice.ok{border-left:4px solid #2c7a3f}
.notice.bad{border-left:4px solid #a32d1f}
.guide{font-size:15px}
.guide summary{cursor:pointer;font-weight:700}
.guide ul{margin-top:var(--s2);display:flex;flex-direction:column;gap:6px;padding-left:18px;list-style:disc}
.after p+p{margin-top:var(--s2)}
.qf .btn{align-self:flex-start}
.contact-grid{display:grid;gap:var(--s6)}
.contact-aside{background:var(--ink);color:var(--white);padding:var(--s6);align-self:start}
.contact-aside .kicker{color:var(--gold)}
.contact-aside h2{font-size:clamp(28px,3vw,38px);margin-block:var(--s2) var(--s4)}
.contact-aside h2 b{color:var(--gold)}
.contact-aside .ico{color:var(--gold)}
.rows{margin-top:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}
.rows li{display:flex;gap:var(--s3)}
.rows span{display:flex;flex-direction:column;font-size:15px}
.rows a{text-decoration:none}
@media(min-width:1000px){.contact-grid{grid-template-columns:1.2fr .8fr;gap:64px}.contact-aside{position:sticky;top:calc(var(--hd) + 20px)}}
.search-form{display:flex;gap:8px;margin-block:var(--s5);max-width:520px}
.search-form input{flex:1;min-width:0;min-height:48px;padding:10px 14px;border:1px solid var(--rule);background:var(--white);border-radius:0}
.navigation.pagination{margin-top:var(--s6)}
.nav-links{display:flex;flex-wrap:wrap;gap:6px}
.page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--rule);background:var(--white);text-decoration:none}
.page-numbers.current,a.page-numbers:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Banda de presupuesto (Banda.dc.html) */
.band{background:var(--gold);color:var(--ink);padding:clamp(48px,7vw,88px) var(--gutter)}
.band-in{max-width:var(--wrap);margin:0 auto;display:flex;flex-wrap:wrap;gap:28px 64px;align-items:flex-end;justify-content:space-between}
.band-txt{display:flex;flex-direction:column;gap:14px;flex:1 1 420px;min-width:0}
.band .kicker{color:inherit}
.band h2{font-size:min(clamp(32px,4.4vw,54.4px),max(32px,6.2vh))}
.band-txt>p:last-child{max-width:max(36.2em,56ch)}
.band-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.band-cta .btn-line{border-color:var(--ink);color:var(--ink)}
.band-tel{font-weight:700;font-size:17px;flex-basis:100%;text-decoration:none}
/* Pie (Pie.dc.html) */
.site-footer{background:var(--ink-deep);color:var(--white);font-size:15px;line-height:1.6;padding:56px var(--gutter) 28px;display:flex;flex-direction:column;gap:36px}
.ft-in{display:flex;flex-wrap:wrap;gap:28px 64px;justify-content:space-between;max-width:var(--wrap);width:100%;margin:0 auto}
.ft-col{display:flex;flex-direction:column;gap:8px;flex:1 1 200px}
.ft-brand{gap:14px;flex-basis:280px}
.ft-contact{flex-basis:220px}
.ft-logo{display:block;width:72px;height:72px}
.ft-brand p{max-width:max(21.9em,34ch);opacity:.8}
.ft-col .kicker{color:var(--gold)}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.ft-dim,.site-footer .ft-legal a{opacity:.8}
.site-footer .ft-cookies{display:block;width:fit-content;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer;opacity:.8}
.site-footer .ft-cookies:hover,.site-footer .ft-cookies:focus-visible{opacity:1;text-decoration:underline}
@media (max-width:600px){.cmplz-cookiebanner .cmplz-header{display:none!important}.cmplz-cookiebanner.cmplz-show{padding:12px 14px!important;row-gap:8px!important}.cmplz-cookiebanner .cmplz-buttons{flex-direction:row!important;flex-wrap:wrap;gap:8px!important}#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{flex:1 1 28%!important;width:auto!important;min-width:0;height:42px!important;padding:0 6px!important}}
.ft-copy{margin:0 auto;max-width:var(--wrap);width:100%;border-top:1px solid var(--rule-dark);padding-top:20px;font-size:14px;opacity:.7}
.ft-ia{margin:6px auto 0;max-width:var(--wrap);width:100%;font-size:12px;line-height:1.5;opacity:.6}
.ft-ia a{color:inherit;text-decoration:underline}
/* Lanzador del asistente (Asistente.dc.html, estado «cerrado»): un solo botón, abre WhatsApp si el módulo no está */
.asis{position:fixed;right:var(--gutter);bottom:24px;z-index:50;display:inline-flex;align-items:center;gap:10px;background:var(--ink-deep);border:1px solid var(--gold);color:var(--white);text-decoration:none;padding:12px 20px 12px 14px;border-radius:999px;font-weight:700;font-size:15px;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.asis .ico{color:var(--gold)}
.mod-asistente{position:fixed;right:20px;bottom:90px;z-index:41}
@media print{.site-header,.asis,.band,.hm-hero-video{display:none!important}}/* Logo animado (prototipo v4, .slogo/.lga/.lgr): colores en clases, sin style="" */
.lga{position:relative;aspect-ratio:1;width:clamp(120px,14vw,180px)}
.lga>img,.lga>svg{display:block;width:100%;height:100%}
.lga .lgr{position:absolute;right:0;bottom:0;background:none;border:1px solid var(--rule-dark);color:#fff;width:30px;height:30px;padding:0;font:400 16px/28px var(--f-b);cursor:pointer}
.lga .lgr[hidden]{display:none}
/* Logo animado: espera vacío solo si theme.js ha cargado (clase «sel-js», encargo 21); sin JavaScript o sin theme.js, se ve terminado */
@media(prefers-reduced-motion:no-preference){.sel-js .lga>img{opacity:0}.sel-js .lga[data-sel-state=error]>img{opacity:1}}
.slogo{overflow:visible}
.slogo .sl-p{fill:none;stroke:#fff4d6;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;transition:stroke 1.6s ease,stroke-width 1.6s}
.slogo .sl-p.cool{stroke:#e8702a}
.slogo.sl-filled .sl-p{stroke:#e8b044;stroke-width:.5}
.slogo .sl-fill{filter:drop-shadow(0 0 6px rgba(232,112,42,.55))}
.slogo.sl-done .sl-fill{filter:none;transition:filter 1.5s}
.slogo.sl-still .sl-p,.slogo.sl-still .sl-fill{transition:none}
.slogo .sl-s1{stop-color:#f6d27a}.slogo .sl-s2{stop-color:#e8b044}.slogo .sl-s3{stop-color:#b98322}.slogo .sl-s4{stop-color:#f3c969}
.slogo .sl-w0{stop-color:#fff;stop-opacity:0}.slogo .sl-w1{stop-color:#fff;stop-opacity:.85}
.slogo .sl-white{fill:#fff}.slogo .sl-halo{fill:#9fd8ff;opacity:.55}.slogo .sl-core{fill:#fff}.slogo .sl-k1{fill:#fff3c4}.slogo .sl-k2{fill:#ffb454}
.slogo .sl-shine{opacity:0;transform:skewX(-20deg)}
.slogo.sl-done:not(.sl-still) .sl-shine{opacity:1;animation:slshine 1.6s ease .3s forwards}
@keyframes slshine{from{transform:skewX(-20deg) translateX(0)}to{transform:skewX(-20deg) translateX(320px)}}
/* Cada sección cabe en una pantalla en escritorio (petición de Andreu, 10/10/2026): rellenos, huecos y módulos según el alto de pantalla.
   Prefijo «main»/«.pg» para ganar a portada.css, paginas.css y tienda-blog.css, que se cargan después. */
@media(min-width:960px){
main .hm-in{gap:min(36px,3.2vh)}
main .hm-fact{padding:min(18px,1.4vh) 0 min(22px,1.8vh)}
main .hm-fact .ico{margin-bottom:min(10px,.8vh)}
main .hm-elec{gap:min(clamp(32px,4vw,52px),3vh)}
main .hm-cfg{box-sizing:border-box;min-height:min(clamp(580px,50vw,800px),calc(100vh - var(--hd-alto)))}
main .hm-plano,main .c-plano{box-sizing:border-box;min-height:min(clamp(560px,50vw,780px),calc(100vh - var(--hd-alto)))}
main .hm-plano-stage{max-width:calc(74vh * 620 / 440)}
.pg .c-6a{padding-top:min(clamp(40px,5vw,72px),max(24px,4.5vh));padding-bottom:min(clamp(48px,6vw,88px),max(28px,5.5vh))}
.pg .c-5g{padding-top:min(clamp(24px,3vw,40px),max(16px,3vh));padding-bottom:min(clamp(48px,6vw,88px),max(28px,5.5vh))}
.pg .c-32{padding-top:min(clamp(32px,4vw,48px),max(20px,3.5vh))}
}
/* Fotos y vídeos con tope según el alto de pantalla, solo desde 1280 px de ancho (por debajo las tarjetas bajan de fila y quedarían tiras).
   Suelo por proporción del propio contenedor (cqw = 1 % de su ancho): modelos y «Cada detalle» nunca más apaisados que 4:3, «¿Para dónde?», «Hierro de 3 mm» y héroes de página que 1:1, vídeos que 16:9, líneas que 2,2:1.
   La foto principal de las fichas no se toca (es vertical y se perdería la campana). */
@media(min-width:1280px){
main .hm-model,main .hm-line,main .hm-linea,main .hm-vfig,main .hm-det,main .hm-why-l,.pg figure.c-e{container-type:inline-size}
main .hm-model img{max-height:max(75cqw,calc(84vh - 511px))}
main .hm-model{gap:min(14px,1.1vh);padding-top:min(18px,1.4vh)}
main .hm-sec:has(.hm-model){padding-block:min(var(--section),6.5vh)}
main .hm-lines{flex-wrap:nowrap}
main .hm-line{flex:1 1 0}
main .hm-line img{max-height:max(100cqw,calc(84vh - 450px))}
main .hm-line div{padding:min(18px,1.6vh)}
main .hm-linea img{max-height:max(45cqw,calc(84vh - 430px))}
main .hm-vid{max-height:max(56.25cqw,calc(84vh - 530px))}
main .hm-det img{max-height:max(75cqw,calc(84vh - 425px))}
main .hm-why-l img{max-height:max(100cqw,52vh)}
.pg figure.c-e img{max-height:max(100cqw,62vh)}
.pg figure.c-e img.c-68{max-height:max(290px,calc(100vh - 575px))}
/* «Así quedan en casa del cliente»: las cinco fotos en una fila (con dos filas, la quinta quedaba sola en una tira de 4:1) */
main .hm-gal{flex-wrap:nowrap}
main .hm-gal img{flex:1 1 0;min-width:0}
main .hm-gal .hm-w2{flex:1.5 1 0}
}
/* h1 de las páginas más pequeños en pantallas de menos de 900 px de alto (a 900 o más, los del mockup sin tocar).
   Su ancho máximo en ch encogería con la letra y cambiaría los cortes de línea: se fija en px al de la letra original (ch medido de Fraunces 300 a ese tamaño, con un 3 % de margen: mejor una línea menos que una más). */
@media(min-width:960px) and (max-height:899px){
.pg h1.c-m,main .tb-h1-cat{font-size:min(clamp(38px,6vw,73.6px),max(38px,8.2vh))}
.pg h1.c-5i{font-size:min(clamp(38px,5.6vw,68px),max(38px,7.6vh))}
.pg h1.c-38{font-size:min(clamp(38px,5.4vw,66px),max(38px,7.4vh))}
.pg h1.c-4r{font-size:min(clamp(36px,5vw,62px),max(36px,6.9vh))}
main .tb-h1-prod{font-size:min(clamp(34px,4.8vw,62px),max(34px,6.9vh))}
main .tb-h1-blog{font-size:min(clamp(36px,5vw,62px),max(36px,6.9vh))}
main .tb-h1-post{font-size:min(clamp(34px,4.8vw,58px),max(34px,6.4vh))}
.pg h1.c-m.c-6b,main .tb-h1-cat{max-width:calc(8.6 * clamp(38px,6vw,73.6px))}
.pg h1.c-5i.c-3a{max-width:calc(9.9 * clamp(38px,5.6vw,68px))}
.pg h1.c-38.c-3a{max-width:calc(9.9 * clamp(38px,5.4vw,66px))}
.pg h1.c-4r.c-4t{max-width:calc(11.1 * clamp(36px,5vw,62px))}
main .tb-h1-blog{max-width:calc(12.4 * clamp(36px,5vw,62px))}
main .tb-h1-post{max-width:calc(12.4 * clamp(34px,4.8vw,58px))}
}
/* Móvil (revisión de Andreu, 10/10/2026): ninguna foto más alta que tres cuartos de pantalla en teléfonos bajos */
@media(max-width:959px){
main .hm-why-l img{max-height:min(560px,75vh)}
main .tb-gal-main{max-height:75vh;object-fit:cover}
.pg figure.c-e img{max-height:75vh}
}
/* Teléfonos bajos (≤ 640 px de alto): el botón del asistente deja de flotar y queda como franja oscura al final de la página, tras el pie,
   con su texto visible (no se oculta texto en móvil: manda el SEO). Así no tapa los botones del hero; arriba sigue fija la cabecera con «Pide tu presupuesto». */
@media(max-width:599px) and (max-height:640px){.asis{position:static;display:flex;justify-content:center;margin:0;border:0;border-top:1px solid var(--rule-dark);border-radius:0;padding:16px var(--gutter);box-shadow:none;white-space:normal}}
/* H1 de portada y páginas (encargo 16, H1 de SEO): el realce dorado no se parte entre líneas y se evita la última línea con una sola palabra (text-wrap:pretty, donde el navegador lo admite) */
.hm-hero h1,.pg h1{text-wrap:pretty}
.hm-hero h1 b,.pg h1 b{white-space:nowrap}
/* Móvil: los botones pueden partirse en dos líneas en vez de salirse de la pantalla y recortarse
   («Cómo trabajamos con profesionales» medía 336 px a 320 de ancho; no se oculta ni se recorta texto en móvil) */
@media(max-width:599px){.btn{white-space:normal;max-width:100%;text-align:center}}
/* Reseñas de Google (encargo 18, bloque E): template-parts/resenas.php, en la portada y en /quienes-somos/ */
.rsn{display:flex;flex-direction:column;gap:14px;max-width:var(--wrap)}
.hm-in>.rsn{margin-top:clamp(40px,5vw,64px)}
.rsn-h{font:300 clamp(26px,2.6vw,34px)/1.15 var(--f-d)}
.rsn-nota{font-weight:700}
main .rsn :is(p,ul,h3){margin:0}
main .rsn-list{list-style:none;margin-top:6px;padding:0;display:flex;flex-wrap:wrap;gap:20px 28px}
.rsn-c{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--gold);padding-top:16px}
.rsn-stars svg{display:block;fill:var(--gold)}
.rsn-off{opacity:.25}
.rsn-t{font-size:16px;line-height:1.6}
.rsn-by{font-size:14px}
.rsn-pie{font-size:14px;max-width:max(43.9em,68ch)}
.rsn-links{display:flex;flex-wrap:wrap;gap:10px 28px}
.rsn-links a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Encargo 25 (criterio mínimo): solo aparecen títulos de sección y fotos; «ap» (opacidad 0) la pone theme.js solo bajo la primera pantalla; sin JS todo se ve. Microinteracciones al pasar el ratón */
:root{--e:cubic-bezier(.2,.7,.2,1)}
.ap{opacity:0!important}
@media print{.ap{opacity:1!important}}
.hm-line,.tb-mc-img,.tb-feat-img{overflow:hidden}
:is(.btn-primary,.hd-cta,.hm-pulse,.pg .c-1m,.pg .c-qf button):not(:disabled){--s:linear-gradient(105deg,#fff0 35%,#fff6 50%,#fff0 65%);background-image:var(--s);background-repeat:no-repeat;background-size:260% 100%;background-position:130% 0;transition:background-color .25s,background-position .7s var(--e),box-shadow .3s,translate .12s}
:is(.btn-primary,.hd-cta,.hm-pulse,.pg .c-1m,.pg .c-qf button):not(:disabled):active{translate:0 1px;box-shadow:none}
:is(.hm-line,.hm-cat,.hm-post,.tb-mc,.tb-pc){transition:translate .35s var(--e),box-shadow .35s var(--e)}
:is(.hm-line,.hm-post,.tb-mc,.tb-pc,.tb-feat-img) img{transition:transform .5s var(--e)}
:is(.hm-link,.more,.tb-more,.rsn-links a,.crumbs a,.ft-col a,.pg a:not(.c-21,.c-23),main :is(p,li,dd,td) a:not([class])){width:fit-content;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat content-box}
@media(hover:hover){
:is(.btn-primary,.hd-cta,.hm-pulse,.pg .c-1m,.pg .c-qf button):is(:hover,:focus-visible){background-image:var(--s);background-position:-30% 0;box-shadow:0 8px 22px -8px #e8b044b3}
:is(.hm-line,.hm-cat,.hm-post,.tb-mc,.tb-pc):is(:hover,:focus-visible){translate:0 -3px}
:is(.hm-line,.tb-mc,.tb-pc-light):is(:hover,:focus-visible),:is(.hm-cat,.hm-post,.tb-pc-dark):is(:hover,:focus-visible) :is(.hm-cat-img,.hm-post-img,.tb-pc-img){box-shadow:0 14px 26px -12px #0008}
:is(.hm-line,.hm-post,.tb-mc,.tb-pc,.tb-feat-img):is(:hover,:focus-visible) img{transform:scale(1.04)}
:is(.hm-link,.more,.tb-more,.rsn-links a,.crumbs a,.ft-col a,.pg a:not(.c-21,.c-23),main :is(p,li,dd,td) a:not([class])):is(:hover,:focus-visible){text-decoration-color:#0000;background-size:100% 1.5px;transition:background-size .35s var(--e)}
}
/* Encargo 25, revisión de diseño (hallazgo 2): titulares sin una palabra sola en la última línea. Nunca el H1. Gana al reinicio .pg :where(h1,h2,h3,h4,b) de paginas.css. */
:is(main,.band) :is(h2,h3,summary),:is(main,.band) :is(.kicker,.tb-k){text-wrap:balance}
/* fb1101 · maqueta2 (W7-M2), punto 22: la sección de reseñas de hostelería está en pausa (template-parts/resenas.php no pinta nada para «profesionales» y «hosteleria»); que el contenedor vacío de la categoría no deje hueco. */
section[aria-label="Reseñas de Google"]:not(:has(.rsn)){display:none}
/* fb1101 · maqueta2 (W7-M2), punto 42: placeholder con contraste AA (#666 sobre blanco: 5,7:1). */
.fld ::placeholder{color:#666;opacity:1}

/* ===== Repaso 09/11/2026 (F1) ===== */
/* A1 · Lanzador del asistente: en móvil, un icono redondo en la esquina (el texto sigue en el HTML, solo oculto a la vista) y se aparta
   cuando a la vista hay un bloque de acción (banda de presupuesto) o el pie (clase asis-off, la pone theme.js). En escritorio, también. */
.asis{transition:opacity .2s,transform .2s}
.asis.asis-off{opacity:0;pointer-events:none;transform:translateY(12px)}
@media(max-width:599px){
.asis{right:12px;bottom:14px;width:52px;height:52px;padding:0;justify-content:center;gap:0}
.asis .asis-t{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
}
@media(max-width:599px) and (max-height:640px){.asis{width:auto;height:auto}.asis .asis-t{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal}}
/* A5 · Tablas anchas: con desplazamiento lateral visible (sombra en el borde con más contenido y aviso «Desliza →»; los pone theme.js) */
.tbl-wrap{position:relative;margin:0 0 16px}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tbl-scroll:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.tbl-scroll>table{margin:0}
.tbl-hint{display:none;margin:6px 0 0;font-size:13px;font-weight:700;color:var(--gold-deep);text-align:right}
@media(max-width:699px){
.tbl-scroll>table{min-width:560px}
.tbl-wrap.can-r:after,.tbl-wrap.can-l:before{content:"";position:absolute;top:0;bottom:0;width:26px;pointer-events:none;z-index:1}
.tbl-wrap.can-r:after{right:0;background:linear-gradient(to left,rgba(0,0,0,.22),rgba(0,0,0,0))}
.tbl-wrap.can-l:before{left:0;background:linear-gradient(to right,rgba(0,0,0,.22),rgba(0,0,0,0))}
.tbl-wrap.can-r .tbl-hint{display:block}
}
/* A16 · Mínimos globales: en móvil, los enlaces de texto sueltos y los de «ver más» miden al menos 40 px de alto; texto nunca por debajo de 12 px */
@media(max-width:699px){
.hm-link,.tb-more,.more,.crumbs a,.pg a.c-g:not(.btn){display:inline-flex;align-items:center;min-height:40px}
main .rsn-links a,.pg a.c-4.c-g{display:inline-flex;align-items:center;min-height:40px}
}
.pg .c-1d,.pg .c-r{min-height:0}
/* A24 · Textos legales (escritorio): columna más ancha para que las tablas respiren, con letra de 17 px */
@media(min-width:960px){
.pg-legal .c-78{max-width:min(100%,1000px)}
.pg-legal .c-legal-body table{font-size:16px}
}
/* B6 · Rótulo sobre la foto de llamas de /que-hacemos/: en blanco y sobre un fondo oscuro semitransparente */
.hm-quote .kicker{align-self:flex-start;color:#fff;background:rgba(18,18,17,.72);padding:4px 10px;text-shadow:0 1px 4px rgba(0,0,0,.6)}
/* B7 · Huecos de la portada y de las páginas con reseñas: menos aire bajo las reseñas y la animación del envío sin vacío arriba y abajo */
.hm-sec:has(.rsn){padding-bottom:clamp(24px,4vw,48px)}
@media(max-width:959px){
.hm-env{margin-block:-56px -36px}
.hm-envios .hm-llega{margin-top:0}
}
/* B14 · Resultados de búsqueda: contador y tarjetas más bajas en móvil */
.sr-count{margin:0 0 16px;font-weight:700}
@media(max-width:699px){
.sr-posts img{max-height:220px;object-fit:cover;width:100%}
}
/* E8 · Contacto: nada por debajo de 12 px en el texto legal bajo el formulario */
.pg-contacto .after,.pg-contacto .after p,.pg-contacto .small{font-size:max(13px,1em)}
/* E7 · Índice lateral de la FAQ: se queda pegado al desplazarse (comprobado con scroll real) */
