/*
Theme Name: Ecolodge Hotels
Description: English/French Moroccan accommodation theme with nature photography and booking enquiries.
Version: 1.0.2
Author: Ecolodge Hotels
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: ecolodge-hotels
License: GPL-2.0-or-later
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#273b31;--green:#344c3c;--paper:#faf8f3;--muted:#767c70;--line:#dedfd5;--sand:#eeeee4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #a78652;outline-offset:4px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5;gap:20px}.brand{display:flex;align-items:center;gap:10px}.brand>span{font-family:'Playfair Display',serif;font-size:29px;line-height:1.05;letter-spacing:-1px}.brand-sub{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:2.5px;margin-top:8px}.brand svg{color:#6c7757}nav{display:flex;gap:32px;font-size:13px}nav a:hover{color:#a78652}.header-cta{font-size:12px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--ink);padding:8px 0}.menu-button{display:none;background:none;border:0;color:var(--ink)}.language{border:1px solid var(--line);border-radius:20px;background:none;padding:5px 11px;font-size:11px;color:var(--ink)}.hero{height:730px;position:relative;margin:0 22px}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 56%}.hero-shade{background:linear-gradient(90deg,rgba(15,28,23,.68),rgba(15,28,23,.1) 95%),linear-gradient(0deg,rgba(15,28,23,.22),transparent)}.hero-content{position:relative;padding:105px 6%;color:#fff}.eyebrow{display:block;font-size:10px;letter-spacing:2.5px;font-weight:600;color:#6d775b}.eyebrow.light{color:#efeee2}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(65px,7.5vw,108px);font-weight:400;line-height:1.03;margin:28px 0 26px;letter-spacing:-3px}.hero h1 em{font-weight:400;color:#e5dfc8}.hero p{font-size:15px;line-height:1.8;color:#f1eee6}.hero-link{display:inline-flex;gap:35px;align-items:center;margin-top:24px;border-bottom:1px solid #b8c0af;padding-bottom:10px;font-size:12px}.hero-side{position:absolute;right:32px;top:210px;writing-mode:vertical-rl;color:#f3eee3;font-size:9px;letter-spacing:3px}.search-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr 1.5fr;position:absolute;bottom:-39px;left:5%;width:90%;background:var(--paper);padding:26px 30px;box-shadow:0 10px 40px #152b2412;gap:18px;align-items:center}.search-bar label{border-right:1px solid var(--line);padding-right:16px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.search-bar input,.search-bar select{display:block;border:0;background:transparent;width:100%;padding:7px 0 0;color:var(--ink);font-size:13px;min-width:0}.button{background:var(--green);color:#fff;padding:16px 22px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;border:1px solid var(--green);transition:background .2s}.button:hover{background:#20372b}.section{max-width:1330px;margin:auto;padding:100px 6%}h2{font-family:'Playfair Display',serif;font-size:clamp(30px,3.3vw,46px);font-weight:400;line-height:1.25;letter-spacing:-1px;margin:18px 0 24px}h2 em{font-weight:400;color:#748264}h3{font-family:'Playfair Display',serif;font-weight:400;font-size:23px;line-height:1.3}.intro{padding-top:145px;padding-bottom:60px}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;margin-top:10px}.intro-grid h2{margin-top:0}.intro-grid p{margin:0 0 18px;font-size:14px}.muted{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;padding:6px 0;border:0;background:none;border-bottom:1px solid #a1ac98;color:var(--ink)}.values{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:45px;padding-top:30px}.values>div{display:flex;gap:17px;align-items:center;font-size:12px}.values svg{color:#879070}.collection{background:var(--sand);max-width:none;padding-top:78px;padding-bottom:65px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading p{font-size:13px;color:var(--muted);margin-bottom:30px}.filters{display:flex;gap:10px;margin:10px 0 34px;flex-wrap:wrap}.filters button{padding:8px 22px;border:1px solid #cfd4c7;background:transparent;border-radius:25px;font-size:12px;color:var(--ink)}.filters .selected{background:var(--green);border-color:var(--green);color:white}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.card-image{position:relative;display:block;width:100%;height:310px;border:0;padding:0;overflow:hidden;background:#d9dece;text-align:left}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card-image:hover img{transform:scale(1.045)}.stay-card:nth-child(2) img{object-position:70%}.card-tag{position:absolute;top:18px;left:18px;background:#fffdf6ee;padding:4px 14px;font-size:10px;color:var(--ink)}.circle-arrow{position:absolute;right:16px;bottom:16px;background:#fffdf6ee;border-radius:50%;height:42px;width:42px;display:grid;place-items:center;color:var(--ink)}.card-details{padding:20px 0}.card-location{font-size:9px;letter-spacing:.6px;display:flex;align-items:center;gap:4px;color:#67745e}.card-location span{letter-spacing:0}.card-details h3{margin:12px 0}.card-details p{font-size:12px;color:#747d70;margin-bottom:22px}.collection-note{font-size:11px;color:var(--muted);margin:10px 0 0}.food{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.food-image{position:relative;overflow:hidden}.food-image img{height:100%;width:100%;object-fit:cover;position:absolute}.food-image>span{position:absolute;bottom:28px;left:35px;background:#fbf8efed;padding:10px 18px;font-size:9px;letter-spacing:2px}.food-copy{padding:85px 12%;background:#e2e5d6}.food-copy h2{font-size:42px}.food-copy p{font-size:13px;color:#5a6956}.food-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.food-tags span{border:1px solid #b9c3ad;border-radius:20px;padding:6px 12px;font-size:10px}.food-copy p.small-note{font-size:10px;color:#727c65}.journey{text-align:center;padding-bottom:85px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:left;margin-top:40px}.steps>div{border-top:1px solid var(--line);padding-top:22px}.steps>div>span{font-family:'Playfair Display',serif;font-size:25px;color:#909b7f}.steps h3{font-size:21px;margin:12px 0}.steps p{font-size:13px;color:var(--muted)}.reservation{background:#eeeee4;max-width:none;display:grid;grid-template-columns:.85fr 1.2fr;gap:9%;padding-top:85px;padding-bottom:85px}.reservation-intro h2{font-size:49px}.reservation-intro>p{font-size:14px;max-width:350px;color:var(--muted)}.request-note{display:flex;gap:15px;margin-top:40px;max-width:350px;border-top:1px solid #d0d5c5;padding-top:22px}.request-note svg{flex-shrink:0;margin-top:5px;color:#718063}.request-note p{font-size:11px;margin:0;color:#738066}.booking-form label{font-size:11px;font-weight:500;display:block}.booking-form label>span{font-weight:400;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:18px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{display:block;width:100%;background:#faf9f3;border:1px solid #d3d8c9;border-radius:0;padding:11px 12px;margin-top:7px;color:var(--ink);font-size:13px;min-width:0}.booking-form textarea{resize:vertical}.booking-form .honeypot{display:none!important}.booking-form .consent{display:flex;gap:10px;margin:22px 0;font-size:10px;align-items:flex-start;line-height:1.7}.consent input{margin-top:3px;accent-color:var(--green)}.consent a{text-decoration:underline}.submit{width:100%;justify-content:space-between}.form-footnote{text-align:center;font-size:9px;color:var(--muted);margin:12px 0 0}.error{color:#a44430;font-size:12px}.success{padding:35px;background:#faf9f3;border:1px solid #d6dccb;align-self:center}.success-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#e5eadc}.success p{font-size:13px}.success .button{margin-top:25px}.faq{max-width:1000px;padding-top:80px;padding-bottom:85px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-size:14px;cursor:pointer;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq summary>span{font-size:21px;color:#7d8b6d}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:13px;color:var(--muted);max-width:720px;padding:5px 20px 0 0}footer{background:#283f32;color:#ecefe3;padding:50px 6% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:40px;gap:30px}.footer-top p{font-size:12px;color:#c4cfbc}.footer-top .text-link{color:#ecf0e6}footer details{border-top:1px solid #4a5e4a;padding:18px 0;font-size:11px;max-width:800px;color:#c4cfbc}footer summary{cursor:pointer}footer details p{line-height:1.8}.footer-bottom{border-top:1px solid #4a5e4a;padding-top:22px;display:flex;justify-content:space-between;font-size:9px;color:#b2c0aa}.footer-bottom>span:nth-child(2){letter-spacing:2px}@media(min-width:1600px){.hero{height:800px}.hero-content{padding-top:130px}}@media(max-width:1100px){header{padding:0 4%;gap:15px}nav{gap:18px}.header-cta{display:none}.cards{grid-template-columns:repeat(2,1fr)}.card-image{height:350px}.intro-grid{gap:40px}.search-bar{grid-template-columns:repeat(4,1fr);gap:15px;bottom:-65px}.search-bar .button{grid-column:1/-1;padding:11px}.intro{padding-top:170px}.food-copy{padding:60px 9%}.food-copy h2{font-size:35px}.reservation{gap:5%}}@media(max-width:700px){header{height:80px;padding:0 22px}.brand>span{font-size:26px}.menu-button{display:block}nav{display:none}nav.open{display:flex;position:absolute;top:80px;left:0;width:100%;background:var(--paper);padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}.hero{height:620px;margin:0 10px}.hero-content{padding:75px 24px}.hero h1{font-size:64px;letter-spacing:-2px}.hero p{font-size:13px}.hero p br{display:none}.hero-side{display:none}.search-bar{grid-template-columns:1fr 1fr;left:4%;width:92%;padding:20px;bottom:-125px;gap:14px}.search-bar label:nth-child(2n){border:0}.search-bar input,.search-bar select{font-size:12px}.section{padding-left:25px;padding-right:25px;padding-top:65px;padding-bottom:65px}.intro{padding-top:180px}.intro-grid{grid-template-columns:1fr;gap:12px}.values{gap:22px;align-items:flex-start}.values>div{flex-direction:column;text-align:center;font-size:10px;gap:10px}.section-heading{display:block}.section-heading p{margin-top:-5px}.cards{gap:26px;grid-template-columns:1fr}.card-image{height:355px}.card-details{padding:18px 0 8px}.card-details p{font-size:13px}.filters{gap:6px}.filters button{padding:7px 15px;font-size:11px}.food{grid-template-columns:1fr}.food-image{height:370px}.food-copy{padding:50px 25px}.steps{grid-template-columns:1fr;gap:20px}.journey{text-align:left}.reservation{grid-template-columns:1fr;gap:30px}.reservation-intro h2{font-size:43px}.request-note{margin-top:25px}.form-grid{gap:16px 12px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{font-size:12px}.footer-top{flex-direction:column;align-items:flex-start;gap:18px}.footer-bottom{gap:20px;flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}}

.brand-logo{width:110px;height:90px;object-fit:contain;display:block}header{height:110px}.hero-image{object-position:center 60%}.photo-story{padding-bottom:55px}.story-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:25px;margin-top:30px}.story-grid figure{margin:0}.story-grid figure:nth-child(2){padding-top:45px}.story-grid img{width:100%;height:430px;object-fit:cover;display:block}.story-grid figcaption{font-family:'Playfair Display',serif;font-size:20px;margin-top:15px}.food-image img{object-position:center 60%}footer .brand-logo{width:140px;height:140px}footer .brand{background:#fcf6ec} @media(max-width:700px){header{height:90px}.brand-logo{width:90px;height:78px}nav.open{top:90px}.story-grid{grid-template-columns:1fr;gap:30px}.story-grid figure:nth-child(2){padding-top:0}.story-grid img{height:410px}.food-image{height:450px}}

.wp-property-content{max-width:800px;font-size:16px}.wp-property-content img{max-width:100%;height:auto}.wp-block-gallery{margin:30px 0}.detail-hero img{width:100%;height:480px;object-fit:cover}.property-meta{display:flex;gap:16px;flex-wrap:wrap;margin:25px 0}.property-meta span{padding:8px 15px;background:var(--sand);font-size:12px}.wp-notice{padding:15px;background:#e3e9da;margin:15px 0}.wp-error{padding:15px;background:#f5e1dc;margin:15px 0}.wp-admin-bar header{margin-top:32px}.booking-form input[type=number]{width:100%}.eh-hide{display:none!important}.wp-detail-rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.wp-detail-rooms img{width:100%;height:240px;object-fit:cover}@media(max-width:700px){.detail-hero img{height:300px}.wp-detail-rooms{grid-template-columns:1fr}}

input[type=hidden]{display:none!important}.detail-hero+.section h1{font-family:"Playfair Display",serif;font-size:48px;font-weight:400;line-height:1.2}.detail-hero+.section .button{display:inline-flex;margin:25px 10px 0 0}.cards:empty{display:none}.wp-property-content iframe{max-width:100%}.wp-property-content a{text-decoration:underline}.wp-detail-rooms .text-link{margin-top:15px}body.admin-bar header{margin-top:0}

header nav .eh-primary-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}header nav .eh-primary-menu li{list-style:none;margin:0;padding:0}header nav .eh-primary-menu a{display:block}header nav .current-menu-item>a{color:#a78652}@media(max-width:1100px){header nav .eh-primary-menu{gap:18px}}@media(max-width:700px){header nav .eh-primary-menu{flex-direction:column;align-items:flex-start;gap:20px;width:100%}}
