/* Sand Tours Final: preserves the approved color palette and homepage structure. */
.st-hidden,.stf-honeypot{display:none!important;position:absolute!important;left:-100vw!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.stf-booking-page .st-simple-page{width:min(100%,1360px);max-width:1360px!important;margin:0 auto!important;padding:30px clamp(16px,4vw,54px) 85px!important}
body.stf-booking-page .st-simple-page>h1,body.stf-native-title-page .st-simple-page>h1,body.strv-page .st-simple-page>h1{display:none!important}
.stf-booking{font-family:Inter,system-ui,-apple-system,sans-serif;color:#263d34;line-height:1.6;max-width:1250px;margin:0 auto}
.stf-booking *{box-sizing:border-box}
.stf-booking-hero{padding:28px 5px 35px;max-width:850px}
.stf-booking .stf-kicker{font-family:Inter,sans-serif;color:#b4843c;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;margin:0 0 8px!important}
.stf-booking-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4.5vw,58px);line-height:1.16;letter-spacing:-.035em;color:#233b30;margin:0 0 13px!important;font-weight:700}
.stf-booking-hero>p:last-child{color:#6c8072;font-size:15px;max-width:760px;margin:0!important}
.stf-booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.86fr);gap:27px;align-items:start}
.stf-card{background:#fff;border:1px solid #e6e0d5;border-radius:17px;box-shadow:0 11px 40px rgba(20,40,30,.07);padding:clamp(20px,3vw,36px);min-width:0}
.stf-booking h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(23px,2.7vw,30px);line-height:1.25;letter-spacing:-.028em;font-weight:700;color:#283b31;margin:0 0 22px!important}
.stf-modes{padding:0;margin:0 0 22px;border:0;display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;min-width:0}
.stf-modes legend{font-size:12px;font-weight:750;color:#63756a;margin-bottom:9px;padding:0}
.stf-mode{flex:1 1 140px;display:block;cursor:pointer;position:relative;min-width:0}
.stf-mode input{position:absolute;width:1px;height:1px;opacity:0}
.stf-mode span{display:block;text-align:center;padding:12px 7px;border-radius:8px;border:1px solid #d9ded5;background:#faf9f6;color:#526359;font-weight:700;font-size:12px}
.stf-mode input:checked+span{border-color:#ba8b42;background:#fff5e4;color:#7f5724}
.stf-mode input:focus-visible+span{outline:3px solid #286653;outline-offset:3px}
.stf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.stf-field{display:flex;flex-direction:column;min-width:0;gap:7px;font-size:12px;font-weight:750;line-height:1.4;color:#52665a}
.stf-field>span{display:block}
.stf-field input,.stf-field select,.stf-field textarea{background:#fff;color:#283c30;border:1px solid #d4ddd4;border-radius:9px;padding:13px 14px;font-size:14px;line-height:1.4;width:100%;min-width:0;max-width:100%;margin:0;font-family:Inter,system-ui,sans-serif;box-shadow:none;min-height:47px}
.stf-field textarea{resize:vertical;min-height:110px}
.stf-field input:focus,.stf-field textarea:focus,.stf-field select:focus{outline:2px solid #bb8a42;outline-offset:0;border-color:#b98a46}
.stf-field.stf-wide{grid-column:1/-1}
.stf-booking-form hr{margin:29px 0;border:0;border-top:1px solid #e6e4da}
.stf-consent{margin:24px 0 17px;display:flex;gap:12px;align-items:flex-start;font-size:12px;color:#57675d;cursor:pointer;line-height:1.6}
.stf-consent input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:#c3944b}
.stf-submit{display:flex!important;align-items:center;justify-content:center;gap:12px;width:100%;min-height:53px;border-radius:9px;background:#bb8b44;color:#fff!important;border:0;font-weight:800;font-size:15px;cursor:pointer;padding:13px 20px;box-shadow:0 8px 22px rgba(176,125,50,.18);transition:transform .15s,background .15s}
.stf-submit:hover{background:#a87731;transform:translateY(-1px)}
.stf-submit:focus-visible{outline:3px solid #163b2d;outline-offset:2px}
.stf-form-footer{font-size:11px;color:#7b8a7d;text-align:center;margin:12px 0 0!important}
.stf-booking-aside{position:sticky;top:115px;display:flex;flex-direction:column;gap:18px}
.stf-aside-card{background:#213d31;border-radius:15px;padding:29px 25px;color:#fff;box-shadow:0 9px 28px rgba(22,46,31,.14)}
.stf-aside-card h2{color:#fff;font-size:27px;margin:0 0 19px!important}
.stf-aside-card ol{list-style:none;counter-reset:step;padding:0;margin:0 0 20px}
.stf-aside-card li{position:relative;padding:13px 0 13px 43px;counter-increment:step;color:#e1e9e0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.14)}
.stf-aside-card li:before{content:counter(step,decimal-leading-zero);position:absolute;top:12px;left:0;font-weight:800;color:#e4bb78;font-size:14px}
.stf-aside-card p{font-size:12px;color:#bdd1bf;margin:0 0 17px!important}
.stf-whatsapp{display:block;text-align:center;background:#f0e6d2;border-radius:8px;padding:13px;color:#2b4636!important;font-weight:800;font-size:13px;text-decoration:none}
.stf-aside-address{border:1px solid #eae2d4;background:#f9f7f1;border-radius:12px;padding:20px 23px;font-size:13px;color:#57675c}
.stf-aside-address strong{color:#304a39;font-size:15px}
.stf-aside-address address{font-style:normal;margin:9px 0}
.stf-aside-address a{color:#805a29!important;text-decoration:none;font-weight:750}
.stf-success,.stf-error{border-radius:10px;padding:15px 19px;margin-bottom:23px;font-weight:700;font-size:14px}
.stf-success{background:#ebf7ee;color:#146b39;border:1px solid #c6e9ce}
.stf-error{background:#fff2ee;color:#a23122;border:1px solid #f2bfb4}
.stf-contact-address{padding:28px 26px;border-radius:11px;background:#f7f2e9;border:1px solid #e5d9c6;margin:26px 0;color:#2f483a}
.stf-contact-address h2{font-size:26px!important;color:#2b4435;margin:0 0 12px!important}
.stf-contact-address address{font-style:normal;font-size:15px}
body.stf-booking-page .st-site-main{min-height:60vh}
/* Classic Manager form: honeypot cannot be displayed accidentally. */
.st-quote-box .st-hidden{display:none!important}
@media(max-width:970px){.stf-booking-layout{grid-template-columns:minmax(0,1fr)}.stf-booking-aside{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.stf-card{padding:24px}}
@media(max-width:640px){body.stf-booking-page .st-simple-page{padding:20px 14px 75px!important}.stf-booking-hero{padding:20px 3px 26px}.stf-booking-hero h1{font-size:36px}.stf-fields{grid-template-columns:minmax(0,1fr);gap:14px}.stf-booking-aside{display:flex;flex-direction:column}.stf-card{padding:20px 16px}.stf-modes{gap:6px}.stf-mode{flex-basis:calc(50% - 3px)}.stf-booking h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.stf-submit{transition:none}.stf-submit:hover{transform:none}}
.stf-return[hidden]{display:none!important}
body.stf-booking-page .st-simple-page{box-sizing:border-box!important}
.stf-booking-page .st-site-header{box-sizing:border-box}

/* OneFix: self-updating Tours cards match the established Sand Tours palette. */
.stfo-tours{max-width:1200px;margin:55px auto;padding:0 20px}.stfo-tours h2{font:700 clamp(28px,3vw,43px)/1.2 'Playfair Display',Georgia,serif;color:#244032;text-align:center;margin:0 0 30px}.stfo-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.stfo-tour-grid article{border:1px solid #ece7db;background:white;border-radius:13px;box-shadow:0 9px 26px rgba(15,45,30,.06);overflow:hidden;padding-bottom:20px}.stfo-tour-grid img,.stfo-tour-photo-empty{display:block;width:100%;height:210px;object-fit:cover;background:#f7f4ee}.stfo-tour-photo-empty{display:grid;place-items:center;color:#887c65}.stfo-tour-grid h3{font:700 18px/1.35 Inter,Arial,sans-serif;color:#243f30;padding:17px 18px 8px;margin:0}.stfo-tour-grid p{padding:6px 18px 11px;color:#6d7c72;font-size:13px;line-height:1.7}.stfo-tour-duration{display:block;padding:0 18px;color:#a06d30;font-weight:800;font-size:12px}.stfo-tour-link{margin-left:18px;color:#a06d30!important;font-size:13px;font-weight:800}.strv-page .st-simple-page>h1{display:none!important}
@media(max-width:800px){.stfo-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.stfo-tour-grid{grid-template-columns:1fr}}
