/*
Theme Name: Studio Baes Editorial
Theme URI: https://example.com/
Author: Studio Baes
Description: Editorial WordPress theme for Studio Baes, with companion booking plugin.
Version: 1.5.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: studio-baes
*/
:root{--paper:#F5E9C9;--ink:#153E51;--red:#C96B58;--white:#FFFDF8;--line:rgba(21,62,81,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Literata,Georgia,serif;font-weight:400;letter-spacing:-.045em}p{line-height:1.8}.sb-header{min-height:82px;padding:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);position:relative;z-index:4}.sb-brand{font-weight:700;letter-spacing:.045em;font-size:22px;white-space:nowrap}.sb-nav{display:flex;gap:38px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.sb-nav a:hover,.sb-textlink:hover{color:var(--red)}.sb-nav .sb-pill{background:var(--ink);color:var(--white);padding:14px 21px;border-radius:40px}.sb-nav .sb-pill:hover{background:var(--red);color:var(--white)}.sb-hamburger{display:none;background:none;border:0;color:var(--ink);font-size:25px}.sb-hero{position:relative;height:min(76vw,720px);min-height:420px;overflow:hidden}.sb-hero img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.sb-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),transparent 45%,rgba(0,0,0,.38));pointer-events:none}.sb-hero-caption{position:absolute;bottom:35px;left:5%;right:5%;z-index:1;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:20px}.sb-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.21em;font-weight:700}.sb-intro{padding:135px max(6vw,24px) 145px;max-width:1260px;margin:auto}.sb-intro .sb-eyebrow{color:#9D4F3D;margin-bottom:35px}.sb-intro h1{font-size:clamp(53px,7.5vw,108px);line-height:1.08;max-width:1000px}.sb-intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:50px}.sb-intro-bottom p{max-width:560px;font-size:18px}.sb-textlink{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:8px}.sb-section{padding:105px max(6vw,24px)}.sb-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:48px}.sb-section-head h2{font-size:clamp(40px,5vw,75px);line-height:1.16;max-width:770px}.sb-section-head .sb-eyebrow{color:#9D4F3D;margin-bottom:22px}.sb-story{display:grid;grid-template-columns:1.06fr .94fr;gap:8vw;align-items:center}.sb-story-img{height:660px}.sb-story-img img,.sb-gallery img,.sb-view-img img,.sb-details .sb-photo img{width:100%;height:100%;object-fit:cover}.sb-story-text{max-width:470px}.sb-story-text h2{font-size:clamp(42px,4.5vw,70px);line-height:1.17;margin:26px 0}.sb-story-text p{font-size:17px;margin-bottom:30px}.sb-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:270px 270px;gap:16px}.sb-gallery img:first-child{grid-row:span 2}.sb-gallery img{min-height:0}.sb-blue{background:var(--ink);color:var(--paper)}.sb-view{padding:110px max(6vw,24px) 105px}.sb-view-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.sb-view h2{font-size:clamp(47px,6vw,92px);line-height:1.08}.sb-view p{max-width:390px;font-size:15px}.sb-view-img{height:620px}.sb-view-foot{display:flex;justify-content:space-between;padding-top:20px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.sb-details{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.sb-details .sb-photo{height:640px}.sb-details h2{font-size:clamp(44px,5vw,70px);line-height:1.13;margin:20px 0 28px}.sb-details p{max-width:480px}.sb-features{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border-top:1px solid var(--line)}.sb-feature{border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.sb-feature:nth-child(odd){margin-right:18px}.sb-booking{background:var(--white);padding:115px max(6vw,24px)}.sb-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.sb-booking h2{font-size:clamp(45px,5vw,77px);line-height:1.13;margin:25px 0}.sb-booking .sb-sub{max-width:480px;font-size:16px}.sb-footer{background:var(--paper);padding:80px max(6vw,24px) 25px}.sb-footer-top{display:flex;justify-content:space-between;gap:30px}.sb-footer h2{font-size:clamp(55px,9vw,140px);line-height:1}.sb-footer-links{display:flex;flex-direction:column;gap:12px;font-size:13px}.sb-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:85px;padding-top:20px;font-size:11px}.sb-standard{max-width:900px;margin:0 auto;padding:80px 24px 140px}.sb-standard h1{font-size:clamp(40px,6vw,72px);margin-bottom:30px}.sb-standard .entry-content>*{margin-bottom:24px}.sb-standard .entry-content a{text-decoration:underline}.sb-standard .entry-content img{height:auto}.sb-alert{padding:18px;border:1px solid var(--red);margin-top:20px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{clip:auto;height:auto;width:auto;position:static}.sb-header a:focus-visible,.sb-header button:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media(max-width:850px){.sb-header{min-height:70px}.sb-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:26px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.sb-nav.open{display:flex}.sb-hamburger{display:block}.sb-hero{height:70vh;min-height:430px}.sb-hero-caption span:last-child{display:none}.sb-intro{padding:85px 24px}.sb-intro-bottom{display:block}.sb-intro-bottom p{margin-bottom:25px}.sb-section{padding:70px 24px}.sb-story,.sb-details,.sb-booking-grid{grid-template-columns:1fr;gap:40px}.sb-story-img,.sb-details .sb-photo{height:520px}.sb-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 230px 230px}.sb-gallery img:first-child{grid-column:span 2;grid-row:auto}.sb-view{padding:80px 24px}.sb-view-top{display:block}.sb-view-top p{margin-top:25px}.sb-view-img{height:400px}.sb-booking{padding:75px 24px}.sb-footer{padding:70px 24px 25px}.sb-footer-top{display:block}.sb-footer-links{margin-top:30px}.sb-footer-bottom{margin-top:55px}}@media(max-width:500px){.sb-brand{font-size:19px}.sb-hero{height:66vh;min-height:350px}.sb-intro h1{font-size:52px}.sb-intro-bottom p{font-size:16px}.sb-story-img,.sb-details .sb-photo{height:430px}.sb-gallery{grid-template-rows:240px 160px 160px;gap:9px}.sb-view-img{height:280px}.sb-view-foot{font-size:9px}.sb-footer-bottom{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v1.1: full-bleed carousel, lightbox and customisable content */
.sb-brand{padding-left:clamp(16px,2.5vw,40px)}
.sb-hamburger{margin-right:16px}
.sb-gallery .sb-gallery-link{display:block;min-height:0;overflow:hidden;cursor:zoom-in}
.sb-gallery .sb-gallery-link:first-child{grid-row:span 2}
.sb-gallery .sb-gallery-link img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.sb-gallery .sb-gallery-link:hover img{transform:scale(1.025)}
.sb-view{padding-bottom:60px}
.sb-view-carousel{position:relative;width:100%;overflow:hidden;background:#153E51}
.sb-carousel-track{display:flex;transition:transform .45s ease;will-change:transform}
.sb-carousel-slide{flex:0 0 100%;height:min(65vw,740px)}
.sb-carousel-slide img{width:100%;height:100%;object-fit:cover}
.sb-carousel-prev,.sb-carousel-next{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(21,62,81,.65);color:white;font-size:24px;z-index:2}
.sb-carousel-prev{left:20px}.sb-carousel-next{right:20px}
.sb-carousel-counter{position:absolute;bottom:20px;right:24px;background:rgba(21,62,81,.7);color:white;padding:8px 13px;font-size:12px}
.sb-view-foot{padding:20px max(6vw,24px) 75px}
.sb-lightbox{position:fixed;inset:0;background:rgba(6,20,27,.94);z-index:99999;display:flex;align-items:center;justify-content:center;padding:60px 25px}
.sb-lightbox[hidden]{display:none}
.sb-lightbox img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain}
.sb-lightbox button{position:absolute;top:14px;right:20px;border:0;background:transparent;color:#fff;font-size:35px}
@media(max-width:850px){.sb-gallery .sb-gallery-link:first-child{grid-column:span 2;grid-row:auto}.sb-carousel-slide{height:55vw;min-height:270px}}
@media(max-width:500px){.sb-carousel-slide{height:300px}.sb-carousel-prev,.sb-carousel-next{width:38px;height:38px}.sb-carousel-prev{left:8px}.sb-carousel-next{right:8px}}
@media(prefers-reduced-motion:reduce){.sb-carousel-track,.sb-gallery .sb-gallery-link img{transition:none}}

/* Studio Baes v1.2 — brand accent, menu breathing room, expandable gallery */
.sb-brand-accent{color:var(--red)}
.sb-nav{padding-right:clamp(20px,3vw,52px)}
.sb-gallery-wrap{position:relative}
.sb-gallery-slider .sb-gallery{display:flex;grid-template-columns:none;grid-template-rows:none;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding-bottom:10px}
.sb-gallery-slider .sb-gallery-link,.sb-gallery-slider .sb-gallery-link:first-child{flex:0 0 clamp(230px,31vw,440px);height:clamp(230px,31vw,410px);grid-column:auto;grid-row:auto;scroll-snap-align:start}
.sb-gallery-slider .sb-gallery-link img{width:100%;height:100%;object-fit:cover}
.sb-gallery-actions{display:flex;justify-content:flex-end;gap:10px;margin:-28px 0 15px;position:relative;z-index:1}
.sb-gallery-actions button{width:43px;height:43px;border-radius:50%;border:1px solid var(--ink);color:var(--ink);background:transparent;font-size:22px}
.sb-gallery-actions button:hover{background:var(--ink);color:var(--paper)}
@media(max-width:850px){.sb-nav{padding-right:20px}.sb-gallery-slider .sb-gallery-link,.sb-gallery-slider .sb-gallery-link:first-child{flex-basis:68vw;height:55vw;max-height:370px;grid-column:auto;grid-row:auto}}
@media(max-width:500px){.sb-gallery-slider .sb-gallery-link,.sb-gallery-slider .sb-gallery-link:first-child{flex-basis:82vw;height:70vw;grid-column:auto;grid-row:auto}.sb-gallery-actions{margin-top:0}}
@media(prefers-reduced-motion:reduce){.sb-gallery-slider .sb-gallery{scroll-behavior:auto}}

/* v1.4: touch-friendly lightbox and full-width view carousel */
.sb-view-carousel,.sb-lightbox{touch-action:pan-y}
.sb-view-carousel img,.sb-lightbox img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.sb-lightbox-prev,.sb-lightbox-next{position:absolute!important;top:50%!important;right:auto!important;transform:translateY(-50%);width:44px;height:44px;border-radius:50%!important;background:rgba(21,62,81,.65)!important;border:1px solid rgba(255,255,255,.5)!important;color:#fff;font-size:22px!important;z-index:3}
.sb-lightbox-prev{left:12px}.sb-lightbox-next{right:12px!important}
.sb-lightbox-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:white;font-size:13px;letter-spacing:.08em}
@media(max-width:600px){.sb-lightbox{padding:56px 8px 50px}.sb-lightbox img{max-width:100%;max-height:calc(100dvh - 120px)}.sb-lightbox-prev,.sb-lightbox-next{width:38px;height:38px;opacity:.85}.sb-lightbox-prev{left:4px}.sb-lightbox-next{right:4px!important}}

/* Three-language navigation, unobtrusive and accessible */
.sb-header{display:flex;align-items:center;gap:16px}
.sb-languages{display:flex;align-items:center;gap:7px;flex-shrink:0;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;white-space:nowrap}
.sb-languages a{text-decoration:none;color:#153E51;opacity:.52;padding:6px 2px;border-bottom:1px solid transparent}
.sb-languages a:hover,.sb-languages a:focus-visible{opacity:1}
.sb-languages a[aria-current="page"]{color:#C96B58;opacity:1;border-color:#C96B58}
@media(max-width:850px){.sb-header{flex-wrap:wrap}.sb-languages{margin-left:auto;order:1}.sb-hamburger{order:2}.sb-nav{order:3;width:100%}}
