/*
Theme Name: Patatsfontein Stay
Theme URI: https://www.patatsfonteinstay.co.za/
Author: Patatsfontein Stay
Description: A bespoke, responsive accommodation theme for Oakron and Aloeron, with editable WordPress pages, photo galleries, NightsBridge links and guest guides.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: patatsfontein-stay
*/
@import url('assets/approved.css');
@font-face{font-family:'Cormorant Garamond';src:url('assets/fonts/Cormorant-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('assets/fonts/Cormorant-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/DM-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/DM-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{--pfs-paper:#f8f5ee;--pfs-ivory:#efe9dd;--pfs-ink:#282722;--pfs-brown:#65512d;--pfs-olive:#394334;--pfs-gold:#bcaa56;--pfs-muted:#626256}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pfs-paper);color:var(--pfs-ink);font:16px/1.75 'DM Sans',Arial,sans-serif}img{max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #9a7c24;outline-offset:4px}h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08;color:var(--pfs-ink)}h1{font-size:clamp(43px,5vw,68px)}h2{font-size:clamp(32px,3.5vw,48px)}h3{font-size:29px}p{margin:0 0 18px}figure{margin:0}.wp-block-image{margin:0}.wp-block-image img{vertical-align:middle}.pfs-content>.wp-block-group{margin-block-start:0}.pfs-content .wp-block-group> :first-child{margin-block-start:0}.pfs-content .wp-block-group> :last-child{margin-block-end:0}.pfs-content .wp-block-group{max-width:none}.pfs-content .wp-block-image img{height:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;z-index:999;background:var(--pfs-ivory);padding:12px 20px}
.pfs-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 5%;background:var(--pfs-ivory)}.pfs-logo{flex:0 0 152px}.pfs-logo a{display:block}.pfs-logo img{display:block;width:152px;height:88px;object-fit:contain}.pfs-nav{display:flex;align-items:center;gap:24px;font-size:13px}.pfs-menu-list{display:flex;align-items:center;gap:23px;list-style:none;padding:0;margin:0}.pfs-menu-list a{text-decoration:none;white-space:nowrap}.pfs-menu-list a:hover,.pfs-menu-list .current-menu-item>a{color:var(--pfs-brown);text-decoration:underline;text-underline-offset:6px}.pfs-menu-list li{position:relative}.pfs-menu-list .sub-menu{display:none;list-style:none;position:absolute;background:var(--pfs-ivory);padding:16px;min-width:170px;z-index:10;box-shadow:0 8px 20px #0002}.pfs-menu-list li:hover>.sub-menu,.pfs-menu-list li:focus-within>.sub-menu{display:block}.pfs-mobile-menu{display:none;border:1px solid #65512d55;padding:10px 15px;background:transparent;color:var(--pfs-brown)}
.pfs-button,.ps-home a.pfs-button,.ps-stay a.pfs-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:13px 22px;background:var(--pfs-olive);color:var(--pfs-paper);font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:500;line-height:1.5;letter-spacing:.015em;border:1px solid var(--pfs-olive);text-decoration:none;white-space:normal;text-align:center}.pfs-button:hover{background:#273321}.pfs-button-light,.ps-home a.pfs-button-light,.ps-stay a.pfs-button-light{background:var(--pfs-ivory);color:var(--pfs-olive);border-color:var(--pfs-ivory)}.pfs-button-light:hover{background:#e4dcc9}.pfs-text-link{color:var(--pfs-brown);text-decoration:none;border-bottom:1px solid var(--pfs-gold);padding-bottom:5px}.pfs-eyebrow{color:var(--pfs-brown);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.pfs-icon{width:20px!important;height:20px!important;object-fit:contain;flex:none}.wp-block-image.pfs-icon{display:inline-flex;width:20px!important;height:20px!important;margin:0!important}.pfs-icon img{width:20px;height:20px}
.ps-home,.ps-stay{font-size:16px!important}.ps-home .ps-hero>.wp-block-image,.ps-stay .o-hero>.wp-block-image{position:absolute;inset:0;height:100%;z-index:-2}.ps-home .ps-hero>.wp-block-image img,.ps-stay .o-hero>.wp-block-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.ps-home .ps-tub>.wp-block-image{height:100%}.ps-home .ps-tub>.wp-block-image img{height:100%;min-height:410px;object-fit:cover}.ps-home .ps-hero-content>.ps-eyebrow{color:#f2e9c7}.ps-home .ps-hero h1{font-size:clamp(49px,6vw,82px)}.ps-home .ps-hero{min-height:600px}.ps-home .ps-stays{gap:35px}.ps-home .ps-stay-photo .wp-block-image img{aspect-ratio:1.45;object-fit:cover}.ps-home .ps-story>.wp-block-image img{aspect-ratio:1.05;object-fit:cover}.ps-home .ps-stay-copy details{margin-top:15px}.ps-home .ps-stay-copy>.ps-text-link{display:inline-flex;margin-top:15px}.ps-home .ps-hero p,.ps-home .ps-stay-copy>p,.ps-home .ps-tub-copy p,.ps-home .ps-story p,.ps-home .ps-explore p{font-size:15px}.ps-home .ps-info details,.ps-home .ps-benefits span,.ps-home .ps-explore-items span{font-size:13px}.ps-home .ps-quote{padding:65px 12%}.ps-home .ps-quote blockquote{border:0;padding:0}.ps-home .ps-book h2{color:var(--pfs-ivory)}.ps-home .ps-hero-content .ps-actions{align-items:center}.ps-home .ps-hero-caption{position:absolute!important}.ps-home .ps-stay-title{margin-bottom:14px!important}.ps-home .ps-hero .pfs-button{border-color:#e3d7aa}.ps-home .ps-hero .pfs-button:not(.pfs-button-light){background:#394334}
.ps-stay .o-hero{min-height:510px}.ps-stay .o-overview-copy p,.ps-stay .o-feature p{font-size:15px}.ps-stay .o-booking p,.ps-stay .o-info details p,.ps-stay .o-info details ul{font-size:14px}.ps-stay .o-facts span,.ps-stay .o-amenity-grid div{font-size:13px}.ps-stay .o-feature>.wp-block-image img{aspect-ratio:.98;object-fit:cover}.ps-stay .o-guide>.wp-block-image img{aspect-ratio:.708;object-fit:contain}.ps-stay .o-guide .pfs-button{font-size:12px;padding:12px 15px}.ps-stay .o-gallery h2{margin-bottom:24px}.ps-stay .o-booking .pfs-button{width:100%}.ps-stay .o-info summary{font-size:14px}.ps-stay .o-info details[open] p{margin-top:10px}.ps-stay .o-guide{grid-template-columns:100px 1fr auto}.ps-stay .o-hero-link{margin-block-end:0!important}.ps-stay .o-overview-copy h2{font-size:clamp(34px,4vw,49px)}
.pfs-gallery{width:100%}.pfs-gallery figure{background:var(--pfs-ivory)}.pfs-gallery-main{display:block;width:100%;aspect-ratio:1.8;object-fit:cover}.pfs-gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 17px;font-size:13px;color:var(--pfs-brown);margin:0}.pfs-gallery-controls{display:flex;align-items:center;gap:9px;flex:none}.pfs-gallery-controls>span{font-size:11px}.pfs-gallery-controls button{width:42px;height:42px;border:1px solid #65512d55;background:transparent;color:var(--pfs-brown)}.pfs-thumbs{position:relative;display:flex;gap:10px;overflow-x:auto;padding:12px 0 7px;scrollbar-width:thin}.pfs-thumbs button{flex:0 0 calc((100% - 50px)/6);background:transparent;border:0;border-bottom:3px solid transparent;padding:0 0 5px}.pfs-thumbs img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover;opacity:.65}.pfs-thumbs button[aria-pressed=true]{border-color:var(--pfs-brown)}.pfs-thumbs button[aria-pressed=true] img{opacity:1}
.pfs-page-hero{position:relative;padding:160px 8% 70px;min-height:425px;isolation:isolate;display:flex;align-items:flex-end;color:var(--pfs-paper)}.pfs-page-hero>.wp-block-image{position:absolute;inset:0;height:100%;z-index:-2}.pfs-page-hero>.wp-block-image img{width:100%;height:100%;object-fit:cover}.pfs-page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1a261fcc,#1a261f33)}.pfs-page-hero>div{max-width:760px}.pfs-page-hero h1{color:var(--pfs-paper);margin:0 0 20px}.pfs-page-hero .pfs-eyebrow{color:#e3d7aa}.pfs-page-hero p{margin-bottom:0}.pfs-section{padding:65px 8%}.pfs-section h2{margin:0 0 24px}.pfs-section p{color:var(--pfs-muted)}.pfs-center{text-align:center}.pfs-center>p{max-width:750px;margin-left:auto;margin-right:auto}.pfs-soft{background:var(--pfs-ivory)}.pfs-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.pfs-split>.wp-block-image img{aspect-ratio:1.05;object-fit:cover}.pfs-stay-cards{padding:0 8% 65px;display:grid;grid-template-columns:1fr 1fr;gap:36px}.pfs-stay-cards img{width:100%;aspect-ratio:1.45;object-fit:cover}.pfs-stay-cards h2{margin:23px 0 15px}.pfs-stay-cards p{color:var(--pfs-muted)}.pfs-note{background:#e1e5d9;padding:35px 8%}.pfs-note h2{font-size:30px;margin:0 0 12px}.pfs-note p{margin:0}.pfs-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 35px;margin:30px 0}.pfs-experience-grid article{border-top:1px solid #65512d44;padding:20px 0 0}.pfs-experience-grid h3{margin:0 0 14px}.pfs-experience-grid p{font-size:14px}.pfs-reading{max-width:none}.pfs-reading>*{max-width:850px;margin-left:auto;margin-right:auto}.ps-inner details{border-bottom:1px solid #65512d33;padding:10px 0}.ps-inner details summary{display:flex;justify-content:space-between;align-items:center;list-style:none;font-weight:500;padding:10px 0}.ps-inner details summary:after{content:'+';font-size:24px;color:var(--pfs-brown)}.ps-inner details[open] summary:after{content:'−'}.ps-inner details summary::-webkit-details-marker{display:none}.ps-inner details p{margin:12px 0 20px}.pfs-downloads{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:25px}.pfs-cta{padding:47px 8%;background:var(--pfs-olive);color:var(--pfs-ivory);display:flex;align-items:center;justify-content:space-between;gap:35px}.pfs-cta h2{color:var(--pfs-ivory);margin:0 0 12px}.pfs-cta p{color:#e2e2d5;margin:0}.pfs-cta .pfs-eyebrow{color:#d8c881;margin-bottom:18px}.pfs-contact-links{display:flex;flex-direction:column;gap:4px;margin:17px 0;overflow-wrap:anywhere}.pfs-contact-links a{text-decoration:none}.pfs-contact-links a:hover{text-decoration:underline}.pfs-reading li{padding-left:8px;margin-bottom:13px}.pfs-enquiry label{display:block;font-size:13px;color:var(--pfs-ink);margin-bottom:15px}.pfs-enquiry input,.pfs-enquiry textarea{display:block;width:100%;padding:12px;background:var(--pfs-paper);border:1px solid #65512d55;margin-top:6px;border-radius:0;font-size:16px}.pfs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pfs-form-note{font-size:12px}.pfs-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.pfs-form-status{padding:14px;background:var(--pfs-ivory);border-left:3px solid var(--pfs-olive)}.pfs-generic{padding:70px 8%;max-width:1150px;margin:auto;min-height:50vh}.pfs-generic article{padding:25px 0;border-bottom:1px solid #65512d33}
.pfs-footer{background:var(--pfs-ivory);padding:32px 6% 20px;font-size:13px}.pfs-footer-main{display:flex;justify-content:space-between;align-items:center;gap:25px}.pfs-footer-brand{font:20px/1.4 Georgia,serif;letter-spacing:.04em;color:var(--pfs-brown);text-decoration:none}.pfs-footer small{display:block;font-size:10px;color:var(--pfs-muted);letter-spacing:.06em;margin-top:6px}.pfs-footer-contact{text-align:right}.pfs-footer-contact .pfs-contact-links{margin:2px 0 0;gap:0}.pfs-footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #65512d33;margin-top:25px;padding-top:17px;font-size:11px;color:var(--pfs-muted)}.pfs-footer-menu{display:flex;list-style:none;gap:20px;padding:0;font-size:12px}
@media(min-width:1550px){.pfs-header{padding-left:max(5%,calc((100vw - 1450px)/2));padding-right:max(5%,calc((100vw - 1450px)/2))}.pfs-content{max-width:1600px;margin:auto}.pfs-footer{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}
@media(max-width:1000px){.pfs-header{gap:18px;padding:12px 4%}.pfs-nav{gap:18px;font-size:12px}.pfs-menu-list{gap:16px}.pfs-logo{flex-basis:130px}.pfs-logo img{width:130px;height:80px}.pfs-nav>.pfs-button{font-size:12px;padding:12px 16px}.ps-stay .o-guide{grid-template-columns:80px 1fr}.ps-stay .o-guide>.pfs-button{grid-column:2;justify-self:start}.pfs-split{gap:32px}.pfs-experience-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.pfs-header{flex-wrap:wrap}.pfs-mobile-menu{display:block;margin-left:auto}.pfs-nav{display:none;width:100%;flex-basis:100%;padding:12px 0 7px;flex-wrap:wrap;gap:18px}.pfs-nav.is-open{display:flex}.pfs-menu-list{flex-wrap:wrap;gap:8px 20px;width:100%}.pfs-menu-list a{display:inline-block;padding:7px 0}.pfs-menu-list .sub-menu{position:static;display:block;box-shadow:none;padding:5px 10px}.pfs-split{grid-template-columns:1fr}.pfs-page-hero{min-height:375px;padding:120px 7% 45px}.pfs-cta{align-items:flex-start;flex-direction:column}.ps-home .ps-book{flex-direction:column;align-items:flex-start}.ps-stay .o-overview{gap:25px}.ps-stay .o-final{align-items:flex-start;flex-direction:column}}
@media(max-width:550px){.pfs-header{padding:10px 6%}.pfs-logo img{height:70px}.ps-home .ps-hero{min-height:545px}.ps-home .ps-tub>.wp-block-image img{min-height:0;aspect-ratio:1.4}.ps-home .ps-story>.wp-block-image img{aspect-ratio:1.35}.ps-home .ps-stays{gap:35px}.ps-home .ps-hero h1{font-size:49px}.ps-stay .o-hero{min-height:430px}.ps-stay .o-feature>.wp-block-image img{aspect-ratio:1.3}.ps-stay .o-guide{grid-template-columns:66px 1fr}.ps-stay .o-guide>.pfs-button{grid-column:1/-1;width:100%}.pfs-gallery-main{aspect-ratio:1.25}.pfs-gallery figcaption{align-items:flex-start;font-size:11px;padding:11px;gap:10px}.pfs-gallery-controls{gap:5px}.pfs-gallery-controls button{width:37px}.pfs-thumbs button{flex-basis:calc((100% - 20px)/3)}.pfs-stay-cards{grid-template-columns:1fr;padding:0 7% 45px;gap:40px}.pfs-section{padding:42px 7%}.pfs-experience-grid{grid-template-columns:1fr;gap:18px}.pfs-section h2{font-size:36px}.pfs-form-row{grid-template-columns:1fr;gap:0}.pfs-footer-main{flex-direction:column;align-items:flex-start}.pfs-footer-contact{text-align:left}.pfs-footer-bottom{flex-wrap:wrap}.pfs-page-hero h1{font-size:45px}.pfs-gallery-controls>span{min-width:35px}.ps-home .ps-benefits span{font-size:11px}.ps-stay .o-facts span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep grid items aligned when WordPress adds block spacing. */
.ps-home .ps-stays>*,.ps-home .ps-tub>*,.ps-home .ps-story>*,.ps-home .ps-explore>*,.ps-stay .o-overview>*,.ps-stay .o-feature>*,.ps-stay .o-amenities>*,.ps-stay .o-amenity-grid>*,.ps-stay .o-info>*,.ps-stay .o-guide>*,.pfs-split>*,.pfs-stay-cards>*,.pfs-experience-grid>*{margin-block-start:0}
.ps-stay .o-hero .o-kicker{font-family:"DM Sans",Arial,sans-serif;font-size:11px;line-height:1.7;letter-spacing:.16em;text-transform:uppercase}
