/* PM Grup 21 · edición fotográfica v2.2. Mantiene intactas las reservas WooCommerce. */
:root{--pm-green:#1e3c2f;--pm-dark:#173126;--pm-gold:#dbb36b;--pm-ink:#263029;--pm-muted:#667169;--pm-paper:#f8f8f5;--pm-border:#e0e4dd;--pm-sage:#eef2eb}
body.pm21-body{font-family:Arial,Helvetica,sans-serif;background:var(--pm-paper);font-size:15px;line-height:1.55}
body.pm21-body h1,body.pm21-body h2,body.pm21-body h3,body.pm21-body h4{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.032em;line-height:1.16;font-weight:750}
.pm21-wrap{max-width:1230px;width:calc(100% - 64px)}
.pm21-topbar{background:#24362e;color:#f4f5ef;letter-spacing:.01em;font-size:11px;font-weight:400}.pm21-topbar .pm21-wrap{height:39px}
.pm21-header{background:#fff;color:#26372a;border-bottom:1px solid #e1e7de;box-shadow:0 2px 10px rgba(0,0,0,.025)}
.pm21-nav-row{min-height:77px;gap:28px}.pm21-logo{color:#1c392a!important}.pm21-logo-big{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.11em;font-size:41px}.pm21-logo-side{font-size:11px}.pm21-logo-big span{color:#aa8a50}.pm21-main-menu{gap:20px}.pm21-main-menu a{color:#304436!important;font-size:13px;font-weight:650;padding:26px 0}.pm21-main-menu a.current:after,.pm21-main-menu a:hover:after{background:#9d7840;bottom:20px}
.pm21-action{background:#244e36;color:#fff!important;border-radius:3px;font-size:12px;font-weight:700;padding:12px 18px}.pm21-action:hover{background:#163925}.pm21-basket{border-color:#d4dbd3;color:#244734}.pm21-hamburger span{background:#2d3e30}
.pm21-alert{background:#e6d8b9;color:#384035;letter-spacing:0;font-weight:650;font-size:11px;min-height:31px}.pm21-alert>span:last-child{font-weight:400}
.pm21-btn{border-radius:3px;min-height:47px;font-size:13px;font-weight:700;letter-spacing:0;gap:20px;padding:13px 20px;transition:background .2s,box-shadow .2s}
.pm21-btn:hover{transform:none;box-shadow:0 5px 12px #00000015}.pm21-btn.gold{background:#d9ac5b}.pm21-btn.forest{background:#2e573d}
.pm21-section{padding:76px 0}.pm21-section h2{font-size:clamp(30px,3.2vw,44px)}.pm21-section h2 em,.pm21-page-hero h1 em{font-style:normal;color:inherit;font-weight:inherit}
.pm21-v3-label,.pm21-v3-eyebrow{display:inline-block;font-weight:750;font-size:11px;letter-spacing:.11em;color:#667c68;margin-bottom:16px}.pm21-v3-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:28px}.pm21-v3-heading h2{max-width:650px;margin:0!important}.pm21-v3-heading>p,.pm21-v3-heading-info{width:370px;max-width:100%;flex-shrink:0;color:#68736b;font-size:14px;margin:0;line-height:1.65}.pm21-v3-heading-info>p{margin:0 0 12px}.pm21-v3-more{font-weight:700;font-size:13px;color:#27573a!important;text-decoration:underline!important;text-underline-offset:4px}
.pm21-v3-hero{background:#f1f3ed;border-bottom:1px solid #dfe6dc}.pm21-v3-hero-layout{display:grid;grid-template-columns:48% 52%;gap:0;min-height:545px;align-items:stretch}.pm21-v3-hero-copy{padding:75px 52px 45px 0;display:flex;flex-direction:column;justify-content:center}.pm21-v3-eyebrow{color:#4b7257}.pm21-v3-hero h1{font-size:clamp(40px,4.4vw,62px);line-height:1.1;color:#20392a;margin:0 0 23px;max-width:650px}.pm21-v3-hero h1 span{color:#416249}.pm21-v3-hero-copy>p{font-size:16px;color:#54665a;line-height:1.72;max-width:535px;margin-bottom:25px}.pm21-v3-buttons{display:flex;flex-wrap:wrap;gap:22px;align-items:center}.pm21-v3-textbutton{color:#2d573a!important;font-weight:700;font-size:13px;border-bottom:1px solid #7d9683;padding-bottom:3px;white-space:nowrap}.pm21-v3-hero-foot{border-top:1px solid #cbd8cc;margin-top:44px;padding-top:17px;display:flex;flex-wrap:wrap;gap:11px 16px}.pm21-v3-hero-foot span{font-size:11px;color:#526559;white-space:nowrap}.pm21-v3-hero-foot span:before{content:'•';color:#9c7a42;margin-right:8px}
.pm21-v3-hero-photo{min-height:530px;position:relative;background:#dae4d5;margin-right:0;overflow:hidden}.pm21-v3-picture-fill{position:absolute;inset:0}.pm21-v3-picture-fill img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.pm21-v3-picture-fill:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#08180b68);pointer-events:none}.pm21-v3-hero-photo-caption{position:absolute;bottom:20px;left:22px;right:22px;color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:end;font-size:12px;text-shadow:0 2px 5px #0008}.pm21-v3-hero-photo-caption b{font-size:13px}.pm21-v3-hero-photo-caption span{text-align:right}
.pm21-v3-categories{background:#fff}.pm21-v3-service-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.pm21-v3-service-photo{min-height:375px;position:relative;overflow:hidden;background:#3a513e;display:block}.pm21-v3-service-img{position:absolute;inset:0}.pm21-v3-service-img img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s}.pm21-v3-service-photo:hover .pm21-v3-service-img img{transform:scale(1.035)}.pm21-v3-service-photo:before{position:absolute;z-index:1;content:'';inset:0;background:linear-gradient(to top,rgba(9,25,15,.92),rgba(9,25,15,.23) 64%,rgba(9,25,15,.01))}.pm21-v3-service-overlay{position:absolute;z-index:2;bottom:0;padding:27px;color:#fff;width:100%}.pm21-v3-service-overlay span{font-size:11px;letter-spacing:.07em;color:#ead19a;font-weight:750}.pm21-v3-service-overlay h3{font-size:25px;margin:11px 0;color:#fff;line-height:1.2}.pm21-v3-service-overlay p{font-size:13px;line-height:1.55;color:#e0e5db;margin:0 0 17px}.pm21-v3-service-overlay b{font-size:13px;border-bottom:1px solid #e1e7cf;padding-bottom:5px}
.pm21-v3-rent{background:#f5f6f2}.pm21-v3-actions{text-align:center;margin-top:29px}.pm21-products{gap:19px}.pm21-product{border:1px solid #dce2db;border-radius:2px;box-shadow:0 1px 3px #1a2c2110}.pm21-product:hover{transform:none;box-shadow:0 8px 25px #263a261c}.pm21-cover{height:235px;background:#e2e6df}.pm21-cover img{object-fit:cover}.pm21-card-info{padding:21px 22px 19px}.pm21-card-info h3{font-size:19px;letter-spacing:-.015em}.pm21-card-info p{font-size:13px}.pm21-card-arrow{background:#d9ac5b;width:31px;height:31px;font-size:18px}.pm21-pic-tag{font-size:9px;background:#f8f9f1f2;color:#415145}.pm21-card-line strong{font-size:22px}.pm21-tag{color:#526b58;letter-spacing:.02em}
.pm21-v3-photo-story{background:#fff}.pm21-actual-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:185px;gap:12px}.pm21-gallery-image{margin:0;position:relative;overflow:hidden;background:#d4ddd1}.pm21-gallery-image:nth-child(1){grid-column:span 2;grid-row:span 2}.pm21-gallery-image:nth-child(6){grid-column:span 2}.pm21-gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.pm21-gallery-image:hover img{transform:scale(1.02)}.pm21-v3-photo-note{margin-top:12px;color:#8c928b;font-size:11px}
.pm21-v3-how{background:#203e2d;color:#fff;padding:78px 0}.pm21-v3-how-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.pm21-v3-how .pm21-v3-label{color:#d8bc83}.pm21-v3-how h2{font-size:clamp(30px,3.4vw,45px);line-height:1.2;margin:0 0 17px}.pm21-v3-how p{color:#d2dfd1;line-height:1.7}.pm21-v3-how .pm21-btn{margin-top:12px}.pm21-v3-how ol{list-style:none;padding:0;margin:0}.pm21-v3-how li{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px 0;border-top:1px solid #67836d6b}.pm21-v3-how li b{font-size:18px;color:#dfb870}.pm21-v3-how li h3{font-size:19px;color:#fff;margin:0 0 5px}.pm21-v3-how li p{font-size:13px;margin:0}
.pm21-v3-aixam{background:#fff}.pm21-v3-aixam-grid{display:grid;grid-template-columns:52% 1fr;gap:62px;align-items:center}.pm21-v3-aixam-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pm21-v3-aixam-images>div{height:355px;background:#e4e9e2;overflow:hidden}.pm21-v3-aixam-images img{width:100%;height:100%;object-fit:cover}.pm21-v3-aixam-text h2{font-size:clamp(30px,3.3vw,45px);margin:0 0 18px}.pm21-v3-aixam-text>p{color:#67746a;font-size:15px;line-height:1.75}.pm21-v3-aixam-text ul{padding-left:17px;margin:16px 0 27px;color:#395a42;line-height:1.9;font-size:14px}
.pm21-v3-visit{padding:78px 0;background:#eff1e9}.pm21-v3-visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.pm21-v3-visit h2{font-size:clamp(32px,4vw,48px);margin:0 0 22px}.pm21-v3-visit p{font-size:16px;line-height:1.8;color:#52685a}.pm21-v3-visit-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:23px}.pm21-v3-visit-card{background:#fff;border:1px solid #dce2d7;padding:23px 28px}.pm21-v3-visit-card h3{font-size:18px;margin:0 0 17px}.pm21-v3-visit-card a{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e2e6e0;padding:15px 0;font-size:13px;color:#58685b}.pm21-v3-visit-card a strong{font-size:14px;white-space:nowrap;color:#2c5637}
/* Las páginas interiores utilizan las mismas fotografías reales de origen. */
.pm21-page-hero{background:#e9eee7;color:#25402d;padding:60px 0}.pm21-page-hero h1{font-size:clamp(36px,4.5vw,60px);max-width:930px;line-height:1.12}.pm21-page-hero p{color:#53685a;max-width:680px;font-size:15px}.pm21-page-num{color:#29472c09}.pm21-page-hero .pm21-kicker{color:#536b55}
.pm21-v3-banner{background:#e1e6dc}.pm21-v3-banner-in{height:280px;overflow:hidden;position:relative}.pm21-v3-banner-in>img{height:100%;width:100%;object-fit:cover}.pm21-v3-banner-in>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:25px 30px;background:linear-gradient(transparent,#15271a9f);color:#fff}.pm21-v3-banner-in span{font-size:10px;font-weight:800;letter-spacing:.12em}.pm21-v3-banner-in p{margin:5px 0 0;font-size:20px;font-weight:750}.pm21-v3-about-gallery{background:#fff}.pm21-v3-about-gallery h2{margin-bottom:25px}.pm21-v3-car-photo{height:190px;background:#e3e9df;margin:-28px -28px 18px}.pm21-v3-car-photo img{width:100%;height:100%;object-fit:cover}
.pm21-aixam-card{padding-top:28px}.pm21-photo-blank{height:100%;min-height:160px;display:grid;place-items:center;font-size:12px;padding:20px;background:#e0e9dd;color:#4d684f;text-align:center}.pm21-photo-error{object-fit:contain!important;background:#dce3d5!important;padding:18px}.pm21-v3-hero-photo .pm21-photo-error{padding:80px}
/* Corregir adornos excesivos del tema anterior en páginas internas. */
.pm21-page-hero .pm21-page-num{display:none}.pm21-formsheet{border-radius:2px}.pm21-filter-note{border-radius:2px}.pm21-aixam-card>strong{letter-spacing:-.025em}
@media(max-width:1100px){.pm21-wrap{width:calc(100% - 50px)}.pm21-main-menu{gap:12px}.pm21-main-menu a{font-size:12px}.pm21-v3-hero-layout{grid-template-columns:50% 50%}.pm21-v3-hero-copy{padding-right:30px}.pm21-v3-hero h1{font-size:48px}.pm21-v3-service-photo{min-height:350px}.pm21-v3-service-overlay h3{font-size:22px}.pm21-v3-how-grid{gap:45px}.pm21-v3-aixam-grid{gap:38px}.pm21-v3-visit-layout{gap:40px}}
@media(max-width:1040px){.pm21-main-menu{background:#fff;box-shadow:0 15px 24px #172c2240}.pm21-main-menu a{color:#263a2e!important;font-size:14px;border-bottom:1px solid #e7ece5}.pm21-hamburger{display:block}.pm21-hamburger span{background:#2e4735}}
@media(max-width:780px){.pm21-wrap{width:calc(100% - 36px)}.pm21-section{padding:54px 0}.pm21-v3-heading{display:block;margin-bottom:24px}.pm21-v3-heading>p,.pm21-v3-heading-info{width:auto;margin-top:13px}.pm21-v3-hero-layout{display:flex;flex-direction:column}.pm21-v3-hero-copy{padding:48px 0 28px}.pm21-v3-hero h1{font-size:clamp(38px,8vw,54px);max-width:680px}.pm21-v3-hero-copy>p{font-size:14px}.pm21-v3-hero-foot{margin-top:28px}.pm21-v3-hero-photo{height:360px;min-height:360px;margin:0 -18px}.pm21-v3-service-photos{grid-template-columns:1fr;gap:12px}.pm21-v3-service-photo{min-height:270px}.pm21-v3-service-overlay{padding:23px}.pm21-v3-service-overlay h3{font-size:22px}.pm21-v3-service-overlay p{max-width:500px}.pm21-actual-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:145px;gap:8px}.pm21-gallery-image:nth-child(1){grid-column:span 2;grid-row:span 2}.pm21-gallery-image:nth-child(6){grid-column:span 2}.pm21-v3-how{padding:55px 0}.pm21-v3-how-grid{grid-template-columns:1fr;gap:32px}.pm21-v3-aixam-grid{grid-template-columns:1fr;gap:28px}.pm21-v3-aixam-images>div{height:240px}.pm21-v3-visit{padding:57px 0}.pm21-v3-visit-layout{grid-template-columns:1fr;gap:29px}.pm21-v3-banner-in{height:205px}.pm21-v3-car-photo{height:205px}}
@media(max-width:480px){.pm21-v3-hero-copy{padding-top:38px}.pm21-v3-hero h1{font-size:40px}.pm21-v3-buttons{align-items:stretch;gap:16px}.pm21-v3-hero-foot span{font-size:10px}.pm21-v3-hero-photo{height:245px;min-height:245px}.pm21-v3-hero-photo-caption{font-size:10px;bottom:10px;left:12px;right:12px}.pm21-v3-hero-photo-caption span{max-width:170px}.pm21-v3-hero-photo .pm21-photo-error{padding:25px}.pm21-v3-service-photo{min-height:285px}.pm21-v3-aixam-images>div{height:195px}.pm21-v3-visit-card{padding:15px}.pm21-v3-visit-card a{flex-direction:column;align-items:flex-start;gap:2px}.pm21-v3-visit-card a strong{white-space:normal}}

/* v2.2 - más superficie fotográfica, menos aspecto de plantilla. */
.pm21-v3-hero{background:#f6f6f2}
.pm21-v3-hero-layout{max-width:1410px;width:calc(100% - 64px);grid-template-columns:42% 58%;min-height:600px}
.pm21-v3-hero-copy{padding-right:48px}
.pm21-v3-hero-photo{min-height:600px}
.pm21-v3-picture-fill img{object-position:50% 50%}
.pm21-v3-service-photos{gap:10px}
.pm21-v3-service-photo{min-height:420px}
.pm21-v3-service-photo:before{background:linear-gradient(0deg,rgba(8,23,14,.88),rgba(8,23,14,.06) 78%)}
.pm21-v3-photo-story{background:#f6f7f4}
.pm21-actual-gallery{gap:9px;grid-auto-rows:205px}
.pm21-cover{height:255px}
.pm21-cover img{width:100%;height:100%;object-fit:cover}
.pm21-product{background:#fff}
.pm21-product .pm21-card-media{background:#e9ece8}
.pm21-v3-hero-photo-caption{background:#142717a1;padding:12px;bottom:0;left:0;right:0}
.pm21-v3-how{background:#273b2d}
.pm21-v3-hero-foot{gap:7px 14px}
@media(max-width:1100px){.pm21-v3-hero-layout{grid-template-columns:48% 52%}.pm21-v3-hero-copy{padding-right:30px}}
@media(max-width:780px){.pm21-v3-hero-layout{width:calc(100% - 36px);display:flex;flex-direction:column}.pm21-v3-hero-photo{min-height:340px;height:340px;margin:0 -18px}.pm21-v3-service-photo{min-height:300px}.pm21-actual-gallery{grid-auto-rows:170px}}
@media(max-width:480px){.pm21-v3-hero-photo{min-height:280px;height:280px}.pm21-v3-hero h1{font-size:clamp(35px,9.2vw,43px)}.pm21-cover{height:225px}.pm21-v3-service-photo{min-height:285px}}
