/*
Theme Name: Reformas PM
Description: Web de Reformas PM con contenidos y galerías editables.
Version: 1.2.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: reformas-pm
*/
:root{--ink:#191c1b;--orange:#ff9900;--white:#fff;--muted:#bfc3c0;--line:#dde0dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e78200;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;font-weight:500;letter-spacing:-.035em}em{font-style:normal;color:var(--orange)}.skip{position:absolute;top:-80px;left:10px;padding:10px;background:white;z-index:20}.skip:focus{top:10px}.header{height:96px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #363a36;position:relative;z-index:5}.brand{display:block;width:183px;height:60px;overflow:hidden;position:relative;flex-shrink:0}.brand img{position:absolute;width:300px;height:200px;max-width:none;left:-59px;top:-69px}.header nav{display:flex;align-items:center;gap:34px;font-size:.9375rem}.header nav>a:not(.nav-contact){padding:12px 0}.header nav a:hover{color:var(--orange)}.nav-contact{border:1px solid #747970;padding:12px 20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:47% 53%;background:var(--ink);color:white;min-height:620px}.hero-copy{padding:64px 7% 42px 10.64%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;line-height:1.6;margin-bottom:25px;color:#815000}.hero .eyebrow,.about .eyebrow,.contact .eyebrow{color:var(--orange)}h1{font-size:clamp(3.1rem,4.85vw,5rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:25px}h1 em{display:inline-block}.hero-description{font-size:1.0625rem;color:#c6cac6;max-width:385px;line-height:1.7}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:51px;padding:14px 22px;font-size:.9375rem;font-weight:700;line-height:1.5;transition:background .2s,color .2s}.primary{background:var(--orange);color:#191c1b}.primary:hover{background:#ffb133}.text-link{font-size:.875rem;border-bottom:1px solid #878d86;padding:6px 0}.text-link:hover{color:var(--orange)}.hero-note{display:flex;gap:10px;align-items:center;margin-top:47px;font-size:.8125rem;color:#afb5af}.mini-line{width:24px;height:1px;background:var(--orange)}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{position:absolute;height:100%;width:100%;object-fit:cover;object-position:50% 50%}.hero-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}.photo-caption{position:absolute;bottom:40px;left:40px;z-index:1}.photo-caption>span{font-size:.75rem;letter-spacing:.15em}.photo-caption strong{display:block;font-size:1.7rem;font-weight:400;letter-spacing:-.03em;margin:8px 0}.photo-caption>a{font-size:.875rem;border-bottom:1px solid #fff;padding-bottom:4px}.photo-index{position:absolute;top:28px;right:28px;padding:7px 11px;border:1px solid #ffffff88;font-size:.75rem;letter-spacing:.08em;background:#191c1b55}.principles{padding:28px 5%;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);gap:24px}.principles p+ p{border-left:1px solid var(--line);padding-left:34px}.principles strong{font-size:.9375rem;display:block;font-weight:600}.principles span{color:#666c66;font-size:.875rem;display:block;margin-top:3px}.section{padding:100px 5%;scroll-margin-top:15px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}h2{font-size:clamp(2.35rem,3.8vw,3.6rem)}.section-heading>p{max-width:320px;color:#626960;font-size:1rem;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:30px 26px 32px 0;display:flex;flex-direction:column}.service+.service{border-left:1px solid var(--line);padding-left:26px}.number{color:#895500;font-size:.8125rem;margin-bottom:35px}.service h3{font-size:1.6rem;line-height:1.15;min-height:60px;max-width:220px}.service p{color:#676c66;font-size:.9375rem;margin:18px 0 25px;line-height:1.7}.service>a{font-size:.875rem;text-decoration:underline;text-underline-offset:5px;margin-top:auto}.service a:hover{color:#915600}.projects{background:#f3f4f1}.project-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}.gallery-button{padding:0;border:0;width:100%;display:block;position:relative;cursor:zoom-in;background:#ddd;overflow:hidden}.gallery-button>img{width:100%;height:390px;object-fit:cover;transition:transform .45s}.project-wide .gallery-button>img{object-position:45% center}.gallery-button:hover>img{transform:scale(1.035)}.zoom{position:absolute;bottom:15px;left:15px;right:15px;display:flex;align-items:center;justify-content:space-between;background:#fffef7f2;padding:9px 12px;font-size:.8125rem}.zoom>span{font-size:1.25rem}.project figcaption{padding:22px 0 0}.project h3{font-size:1.35rem}.project figcaption p{font-size:.6875rem;letter-spacing:.08em;color:#666d65;margin-top:10px}.about{background:#202522;color:#fff;display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding-top:90px;padding-bottom:90px}.about-intro>p:not(.eyebrow){color:#bbc3bb;max-width:465px;margin-top:24px;line-height:1.75}.outline{border:1px solid #7c897b;color:white;margin-top:28px;font-size:.875rem}.outline:hover{background:white;color:var(--ink)}.about-points{align-self:center}.about-points article{display:flex;gap:28px;padding:29px 0;border-bottom:1px solid #505b50}.about-points article:first-child{border-top:1px solid #505b50}.about-points article>span{color:var(--orange);font-size:.8125rem}.about-points h3{font-size:1.5rem;margin-bottom:14px}.about-points p{color:#b7c0b7;font-size:.9375rem;line-height:1.75}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps article{border-top:1px solid #adb6ac;padding-top:20px}.steps span{display:block;color:#9e6500;font-size:1.3rem;margin-bottom:25px}.steps h3{font-size:1.5rem;margin-bottom:15px}.steps p{color:#62695f;max-width:340px}.faq{padding-top:40px;display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font-weight:600;cursor:pointer;line-height:1.5;padding-right:15px}.faq details p{color:#666e63;font-size:.9375rem;margin-top:16px;max-width:600px;line-height:1.7}.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.contact h2{font-size:clamp(2.7rem,4.6vw,4.5rem)}.contact p{color:#c2c9bf;max-width:400px;margin:24px 0}.contact-phones{padding-left:20px}.contact-phones>span{font-size:.75rem;letter-spacing:.13em;color:var(--orange);display:block;margin-bottom:23px}.contact-phones>a{display:block;font-size:clamp(1.8rem,3.3vw,3.2rem);line-height:1.6;letter-spacing:-.03em}.contact-phones>a:hover{color:var(--orange)}.contact-phones>p{font-size:.875rem}footer{background:var(--ink);color:#bec6ba;border-top:1px solid #41483e;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 5%;font-size:.8125rem}.lightbox{padding:54px 20px 18px;border:1px solid #4d544d;background:#181c19;color:white;max-width:95vw;max-height:95vh;overflow:auto}.lightbox::backdrop{background:#060a08ed}.lightbox>img{max-height:72vh;width:auto;max-width:85vw;object-fit:contain;margin:auto}.lightbox>p{text-align:center;margin:14px 0 0;font-size:.875rem}.close-dialog{position:absolute;right:14px;top:10px;border:1px solid #788074;background:transparent;color:white;padding:5px 15px;cursor:pointer}.close-dialog:hover{background:#41483e}@media(min-width:1600px){.hero-copy{padding-left:max(80px,calc((100vw - 1440px)/2))}.section,.principles,.header,footer{padding-left:max(80px,calc((100vw - 1440px)/2));padding-right:max(80px,calc((100vw - 1440px)/2))}.hero{min-height:730px}}@media(max-width:1100px){.hero{grid-template-columns:50% 50%}.hero-copy{padding-left:10%;padding-top:50px}.hero-note{margin-top:30px}.hero-photo>img{object-position:48% center}.service-grid{grid-template-columns:repeat(2,1fr)}.service:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.service:nth-child(4){border-top:1px solid var(--line)}.service h3{min-height:auto;max-width:none}.number{margin-bottom:20px}.gallery-button>img{height:320px}.project-grid{gap:18px}.section{padding-top:75px;padding-bottom:75px}.header nav{gap:20px}.about{gap:7%}.steps{gap:30px}.faq{gap:40px}}@media(max-width:760px){html{scroll-padding-top:20px}.header{height:82px;padding:0 6%}.brand{transform:scale(.9);transform-origin:left center}.menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:1px solid #777f74;color:white;padding:8px 12px;font-size:.875rem}.header nav{display:none;position:absolute;left:0;right:0;top:82px;background:#202522;padding:20px 6%;border-top:1px solid #42483f;align-items:stretch;gap:8px}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:10px}.nav-contact{text-align:center;margin-top:8px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:42px 6% 34px}.eyebrow{font-size:.6875rem;margin-bottom:21px}.hero h1{font-size:clamp(3rem,10.5vw,4.7rem);max-width:610px}.hero-description{max-width:480px;font-size:1rem}.hero-note{margin-top:29px}.actions{gap:22px;margin-top:25px}.hero-photo{height:380px}.hero-photo>img{object-position:center 53%}.photo-caption{left:6%;bottom:28px}.photo-caption strong{font-size:1.5rem}.photo-index{right:6%;top:20px}.principles{padding:24px 6%;gap:16px;grid-template-columns:1fr}.principles p{display:flex;justify-content:space-between;gap:15px}.principles p+p{border-left:0;padding-left:0}.principles strong,.principles span{font-size:.8125rem;margin:0}.principles span{text-align:right}.section{padding:64px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:480px;margin-top:23px;font-size:.9375rem}h2{font-size:2.5rem}.service{padding:26px 18px 28px 0}.service+.service{padding-left:18px}.service:nth-child(3){padding-left:0}.service h3{font-size:1.35rem}.service p{font-size:.875rem}.service>a{font-size:.8125rem;line-height:1.6}.project-grid{grid-template-columns:1fr 1fr;gap:32px 16px}.project-wide{grid-column:1/-1}.project-wide .gallery-button>img{height:320px}.gallery-button>img{height:280px}.project h3{font-size:1.15rem;line-height:1.2}.project figcaption p{line-height:1.7}.zoom{left:8px;right:8px;bottom:8px;font-size:.75rem;padding:6px 8px}.about{grid-template-columns:1fr;gap:35px}.about-intro p{font-size:.9375rem}.about-points article{padding:25px 0}.steps{grid-template-columns:1fr;gap:28px}.steps article{display:grid;grid-template-columns:36px 1fr;gap:5px 15px;padding-top:20px}.steps span{grid-row:span 2;margin:0}.steps h3{font-size:1.4rem;margin:0}.steps p{max-width:none;font-size:.9375rem;grid-column:2}.faq{padding-top:8px;grid-template-columns:1fr;gap:30px}.faq h2 br{display:none}.faq details{padding:20px 0}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:2.9rem}.contact-phones{padding-left:0;border-top:1px solid #4e574a;padding-top:30px}.contact-phones>a{font-size:2.2rem}.contact-phones>span{margin-bottom:15px}.contact p{font-size:.9375rem}.contact-phones>p{margin-bottom:0}footer{padding:24px 6%;flex-wrap:wrap;gap:13px}footer p{width:100%;order:3}footer>a:last-child{margin-left:auto}.lightbox{padding-left:10px;padding-right:10px}}@media(max-width:390px){.actions{align-items:flex-start;flex-direction:column;gap:10px}.hero h1{font-size:2.85rem}.principles p{display:block}.principles span{text-align:left;margin-top:2px}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.gallery-button>img{height:350px}.service-grid{grid-template-columns:1fr}.service+.service{padding-left:0;border-left:0;border-top:1px solid var(--line)}.contact h2{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.team{grid-column:1/-1;margin-top:8px;min-width:0}.team>h3{font-size:1.75rem;margin-bottom:22px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:460px;margin-inline:auto}.team-member{min-width:0;text-align:center}.team-member>img{width:100%;max-width:200px;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top;margin-inline:auto}.team-member figcaption{padding:14px 0;border-bottom:1px solid #505b50}.team-member h4{font-size:1.35rem;font-weight:500;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2}.team-member p{font-size:.875rem;color:#c6cec2;line-height:1.5}@media(max-width:760px){.team-grid{gap:20px;max-width:360px}.team-member>img{max-width:150px}.team-member h4{font-size:1.2rem}}@media(max-width:480px){.team-grid{gap:16px;max-width:320px}.team-member>img{max-width:130px}.team-member figcaption{padding:12px 0}}

.reviews{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;background:#f3f4f1;margin-bottom:64px}.reviews-description{max-width:530px;color:#626960;margin-top:22px;line-height:1.7}.reviews-action{border-left:1px solid #c9cec6;padding-left:44px}.reviews-source{display:block;font-size:1.125rem;font-weight:600;margin-bottom:20px}.reviews-action p{font-size:.875rem;color:#626960;max-width:290px;margin-top:16px}@media(max-width:760px){.reviews{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.reviews-action{border-left:0;border-top:1px solid #c9cec6;padding:26px 0 0}.reviews-description{font-size:.9375rem}}

.review-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.review-card{background:white;border:1px solid #dde0dc;padding:28px;min-width:0}.review-card h3{font-size:1.125rem;font-weight:600;line-height:1.4;letter-spacing:-.015em}.review-origin{display:block;color:#676c66;font-size:.875rem;margin-top:5px}.review-stars{color:#915600;font-size:1.25rem;letter-spacing:.12em;margin:19px 0}.review-card blockquote{margin:0;color:#464d44;font-size:1rem;line-height:1.7}.review-card blockquote p+p,.review-more p{margin-top:16px}.review-more{margin-top:18px}.review-more summary{cursor:pointer;color:#191c1b;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}.reviews-note{grid-column:1/-1;color:#626960;font-size:.875rem;margin-top:-20px}@media(max-width:1000px){.review-cards{gap:16px}.review-card{padding:22px}}@media(max-width:760px){.review-cards{grid-template-columns:1fr;gap:18px}.review-card{padding:24px}.reviews-note{margin-top:-8px}}

.installation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}.installation-grid .gallery-button>img{height:360px;object-position:center}.installation-grid .project:last-child .gallery-button>img{object-fit:contain;background:#dedfdc}@media(max-width:760px){.installation-grid{gap:18px;margin-top:32px}.installation-grid .gallery-button>img{height:260px}}@media(max-width:550px){.installation-grid{grid-template-columns:1fr;gap:32px}.installation-grid .gallery-button>img{height:300px}}

.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px}.carousel-controls button{width:44px;height:44px;border:1px solid #9ca497;background:transparent;color:#191c1b;font-size:1.9rem;line-height:1;cursor:pointer}.carousel-controls button:hover:not(:disabled){background:#191c1b;color:white}.carousel-controls button:disabled{opacity:.4;cursor:default}.carousel-count{font-size:.875rem;color:#626960;min-width:42px;text-align:center}.project-carousel figcaption{padding-top:12px}

.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-empty{height:390px;background:#e4e6df;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;color:#626960}.gallery-empty p{line-height:1.7}.gallery-empty+figcaption{padding-top:70px}@media(max-width:1100px){.gallery-empty{height:320px}}@media(max-width:760px){.project-grid{grid-template-columns:1fr}.gallery-empty{height:280px}.gallery-empty+figcaption{padding-top:20px}}

/* ---------- Versión 1.1 ---------- */

/* Logotipo: se ajusta a cualquier imagen, sin recortes a medida. */
.brand{width:auto;height:60px;overflow:visible;display:flex;align-items:center}
.brand img{position:static;width:auto;height:100%;max-width:240px;object-fit:contain}

/* Pie: enlaces legales. */
.legal-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.legal-links a,.site-footer .to-top{text-decoration:underline;text-underline-offset:4px}
.legal-links a:hover,.site-footer .to-top:hover{color:var(--orange)}
@media(max-width:760px){.legal-links{width:100%;order:4}}

/* Contacto: correo, dirección y horario opcionales. */
.contact-extra{list-style:none;padding:0;margin:20px 0 0;font-size:.9375rem;line-height:1.9;color:#c2c9bf}
.contact-extra a{border-bottom:1px solid #878d86}
.contact-extra a:hover{color:var(--orange)}

/* Botones fijos de llamada y WhatsApp en móvil. */
.mobile-bar{display:none}
@media(max-width:760px){
.mobile-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--ink);border-top:1px solid #41483e}
.mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:.9375rem;font-weight:700;color:#fff}
.mobile-bar a+a{background:var(--orange);color:#191c1b}
body{padding-bottom:54px}
}

/* Páginas interiores (aviso legal, privacidad, entradas…). */
.page-main{padding:64px 5% 90px}
.entry{max-width:820px;margin:0 auto}
.entry+.entry{margin-top:56px}
.elementor-page .entry{max-width:none}
.entry-title{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:32px}
.entry-title a:hover{color:#915600}
.entry-content>*+*{margin-top:1.1em}
.entry-content h2{font-size:1.75rem;margin-top:1.8em}
.entry-content h3{font-size:1.35rem;margin-top:1.6em}
.entry-content h4,.entry-content h5,.entry-content h6{font-size:1.1rem;font-weight:600;margin-top:1.5em}
.entry-content a{color:#915600;text-decoration:underline;text-underline-offset:3px}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li+li{margin-top:.4em}
.entry-content img{height:auto}
.entry-content blockquote{margin-left:0;margin-right:0;padding-left:20px;border-left:3px solid var(--orange)}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.entry-actions{margin-top:28px}
.nav-links{max-width:820px;margin:48px auto 0;display:flex;justify-content:space-between;gap:20px}
.nav-links a{text-decoration:underline;text-underline-offset:4px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:760px){.page-main{padding:44px 6% 64px}.entry-title{margin-bottom:24px}}
@media(min-width:1600px){.page-main{padding-left:max(80px,calc((100vw - 1440px)/2));padding-right:max(80px,calc((100vw - 1440px)/2))}}
