/*
Theme Name: Family Farm Resort
Author: Family Farm Resort
Description: A photo-rich resort theme with an interactive 3D gallery, video and Facebook Messenger links. Includes the supplied resort media.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: family-farm-resort
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--green:#103e30;--dark:#092b22;--lime:#ddf594;--paper:#f8f9f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--green);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #91bd29;outline-offset:5px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:28px;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:2px;font-size:17px;line-height:1.25}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:7px}.mark{font-family:Georgia,serif;font-size:40px;border:1px solid #809386;border-radius:50%;width:52px;height:58px;display:flex;align-items:center;justify-content:center;position:relative}.mark span{font-size:18px;position:absolute;right:5px;top:0}nav{display:flex;gap:32px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:40px;background:var(--green);color:white;font-size:14px;font-weight:600;transition:transform .2s}.button:hover{transform:translateY(-3px)}.small{padding:13px 22px}.lime{background:var(--lime);color:var(--dark)}.hero{height:760px;min-height:680px;max-height:calc(100svh - 96px);position:relative;color:white;margin:0 20px;border-radius:6px;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:60% 54%;position:absolute}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,29,20,.79),rgba(4,29,20,.4) 48%,rgba(4,29,20,.03)),linear-gradient(0deg,rgba(2,30,21,.65),transparent 25%)}.hero-content{position:relative;padding:58px 5%;max-width:750px}.eyebrow{font-size:12px;letter-spacing:2.3px;font-weight:600;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-2.2px;line-height:1.1}h1{font-size:clamp(48px,5.6vw,80px);margin-bottom:24px}h1 em{color:var(--lime)}em{font-weight:500}h2{font-size:clamp(40px,4.7vw,66px);margin-bottom:24px}.hero-content>p:not(.eyebrow){font-size:17px;line-height:1.7}.hero-foot{position:absolute;bottom:24px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px}.intro,.showcase,.film,.visit{padding:95px 6%}.intro-row{display:flex;justify-content:space-between;gap:60px;align-items:center;margin-bottom:35px}.intro-row>p{max-width:420px;color:#53695e}.intro h2 em{color:#668338}.experiences{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;perspective:1100px}.experiences article{transition:transform .2s;transform-style:preserve-3d}.experiences img{width:100%;height:310px;object-fit:cover;border-radius:5px}.experiences article:nth-child(3) img{object-position:50% 40%}.experiences article div{padding:22px 0}.experiences span{font-size:12px;letter-spacing:2px;color:#647667}h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:500;line-height:1.3;margin:12px 0}.experiences p{color:#5c6c61;font-size:14px}.showcase{background:var(--green);color:white;overflow:hidden}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-top>p{color:#bed0bf;font-size:14px}.showcase h2 em{color:var(--lime)}.stage{height:390px;perspective:1200px;display:grid;place-items:center;margin-top:30px;touch-action:pan-y}#carousel{width:min(54vw,650px);height:340px;position:relative;transform-style:preserve-3d}.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:6px solid white;border-radius:4px;box-shadow:0 25px 45px #00170b70;transition:transform .55s,opacity .55s;cursor:pointer}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin:20px 0 48px}.carousel-controls button{width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid #7c9c86;color:white;font-size:22px}.carousel-controls p{margin:0;min-width:200px;text-align:center;font-size:14px}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery button{padding:0;border:0;background:transparent;overflow:hidden;border-radius:3px;aspect-ratio:1.2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery button:hover img{transform:scale(1.08)}.film{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:center}.film p{color:#607467}.film video{width:100%;max-height:480px;background:#092b22;border-radius:5px}.visit{background:#e7efdd;display:grid;grid-template-columns:1.5fr 1fr;gap:90px}.visit>div>p:not(.eyebrow){max-width:470px;color:#506650}.visit aside{border-left:1px solid #b9c8ac;padding-left:55px}.visit aside a{display:block;text-decoration:underline;text-underline-offset:5px;margin:20px 0;font-size:14px}.visit h3{font-size:30px}.note{font-size:12px;max-width:300px;color:#66785d}footer{padding:36px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}footer .brand{font-size:13px}.chat-launch{position:fixed;right:25px;bottom:25px;display:flex;gap:10px;align-items:center;background:var(--lime);color:var(--dark);border:1px solid #afc36e;border-radius:40px;padding:14px 22px;box-shadow:0 5px 25px #001c2330;z-index:20;font-size:14px;font-weight:600}.chat{position:fixed;right:25px;bottom:90px;width:340px;max-width:calc(100vw - 32px);background:white;z-index:21;border-radius:16px;box-shadow:0 12px 60px #001c2340;overflow:hidden}.chat-head{padding:20px;background:var(--green);color:white;display:flex;justify-content:space-between;align-items:center}.chat-head button{background:transparent;color:white;border:0;font-size:26px}.chat-body{padding:24px}.chat-body p{font-size:14px}.chat small{display:block;color:#657368;font-size:12px;margin-top:15px}dialog{border:0;padding:20px;background:var(--paper);max-width:90vw;max-height:92vh;border-radius:8px}dialog::backdrop{background:#001b17d9}dialog img{display:block;max-width:82vw;max-height:75vh;object-fit:contain}dialog p{margin:10px 0 0}#closeLightbox{position:absolute;right:8px;top:8px;border:0;border-radius:50%;background:white;width:38px;height:38px;font-size:26px}
@media(max-width:800px){header{height:80px;padding:0 5%;gap:10px}nav{display:none}.brand{font-size:13px}.mark{width:40px;height:45px;font-size:30px}.brand small{font-size:9px;letter-spacing:2px}header .button{font-size:12px;padding:11px 15px}.hero{margin:0 10px;max-height:none;min-height:660px;height:calc(90svh - 80px)}.hero-image{object-position:64% center}.hero-content{padding:45px 6%}h1{font-size:54px}.hero-content>p:not(.eyebrow){font-size:16px}.hero-foot{font-size:10px;letter-spacing:.7px}.intro,.showcase,.film,.visit{padding:65px 6%}.intro-row,.section-top{display:block}.intro-row>p{max-width:none}.experiences{grid-template-columns:1fr;gap:24px}.experiences img{height:320px}.experiences article div{padding:15px 0}.section-top h2{max-width:440px}.stage{height:290px}#carousel{width:74vw;height:240px}.gallery{grid-template-columns:repeat(3,1fr);gap:8px}.carousel-controls{gap:12px}.carousel-controls p{min-width:180px;font-size:12px}.film,.visit{grid-template-columns:1fr;gap:30px}.visit aside{padding:30px 0 0;border-left:0;border-top:1px solid #b9c8ac}footer{flex-direction:column;align-items:start;padding-bottom:100px}.chat-launch{bottom:18px;right:16px}.chat{right:16px}.eyebrow{font-size:11px;letter-spacing:1.7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.skip-link{position:absolute;left:-9999px;z-index:100}.skip-link:focus{left:20px;top:10px;background:white;padding:12px}.wp-content{max-width:1000px;padding:70px 6%;margin:auto;min-height:50vh}.wp-content img{max-width:100%;height:auto}.wp-content a{text-decoration:underline}.wp-content article{margin-bottom:45px}.wp-content .entry-content{overflow-wrap:anywhere}.wp-content .entry-title{font-size:clamp(32px,5vw,56px)}.wp-content input,.wp-content textarea{max-width:100%;padding:10px;font:inherit}.wp-content .screen-reader-text{position:absolute;left:-9999px}.wp-content iframe{max-width:100%}

/* Original supplied logo: preserve the full artwork without cropping. */
.resort-logo{display:block;width:80px;height:80px;object-fit:contain;flex-shrink:0;border-radius:50%;background:#fff}
footer .resort-logo{width:60px;height:60px}
@media(max-width:800px){header .resort-logo{width:58px;height:58px}header .brand{gap:9px}}
@media(max-width:420px){header{gap:8px;padding-left:12px;padding-right:12px}header .brand{font-size:11px;letter-spacing:1px}header .brand small{font-size:9px;letter-spacing:1px}header .resort-logo{width:50px;height:50px}header .button{padding:10px 12px;font-size:11px}}
