/*
Theme Name: Stenebo
Author: Bluezorm
Description: Stenebo Vandrarhem WordPress theme.
Version: 2.0.0
Text Domain: stenebo
*/
:root{--ink:#1d2925;--moss:#31483d;--cream:#f5f2ea;--sand:#e6e1d8;--coral:#d87555;--muted:#68736d;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 var(--sans)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--serif);font-weight:600}h1,h2,h3,p{margin-top:0}.skip-link{position:fixed;top:-60px;left:16px;z-index:99;padding:10px 16px;background:#fff}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{min-height:84px;max-width:1440px;padding:16px clamp(24px,5vw,72px);margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:10px;letter-spacing:-.02em}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;font:25px/1 var(--serif)}.brand strong{display:block;font:600 22px/.8 var(--serif)}.brand small{display:block;margin-top:4px;font-size:8px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.primary-nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,42px);font-size:14px;font-weight:600}.primary-nav a:not(.nav-book){position:relative}.primary-nav a:not(.nav-book):after{position:absolute;right:0;bottom:-5px;left:0;height:1px;background:var(--ink);content:"";transform:scaleX(0);transition:transform .25s}.primary-nav a:not(.nav-book):hover:after{transform:scaleX(1)}.nav-book{padding:12px 17px;border-radius:99px;background:var(--moss);color:var(--cream)}.menu-button{display:none;border:0;background:transparent}
.hero{max-width:1440px;min-height:min(675px,calc(100vh - 84px));padding:0 clamp(24px,5vw,72px) clamp(36px,5vw,72px);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(35px,6vw,105px);align-items:center;position:relative}.hero-image{height:min(590px,70vh);overflow:hidden;border-radius:2px 2px 84px 2px}.hero-image img{width:100%;height:100%;object-fit:cover}.eyebrow,.section-label{margin:0 0 17px;color:var(--coral);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1{max-width:580px;margin-bottom:22px;font-size:clamp(48px,5.1vw,82px);line-height:.99;letter-spacing:-.055em}.hero-text{max-width:440px;margin-bottom:30px;color:#53605a;font-size:18px;line-height:1.65}.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;border:1px solid transparent;border-radius:2px;font-size:14px;font-weight:700;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--moss);color:#fff}.button-light{background:var(--cream);color:var(--ink)}.button-outline{border-color:var(--moss);color:var(--moss)}.text-link{display:inline-flex;gap:10px;align-items:center;padding-bottom:2px;border-bottom:1px solid var(--ink);font-size:14px;font-weight:700}.hero-note{position:absolute;right:clamp(24px,5vw,72px);bottom:14px;display:flex;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.1em}
.section{max-width:1440px;padding:clamp(80px,11vw,156px) clamp(24px,5vw,72px);margin:auto}.intro{max-width:none;background:var(--sand)}.intro>*{max-width:1296px;margin-right:auto;margin-left:auto}.intro-grid,.directions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,10vw,180px)}h2{margin-bottom:0;font-size:clamp(39px,4.5vw,66px);line-height:1.05;letter-spacing:-.05em}.intro-text,.page-content{max-width:620px;padding-top:11px;font-size:18px;line-height:1.7}.intro-text p{margin-bottom:22px}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:clamp(55px,8vw,105px)}.highlights>div{padding-top:15px;border-top:1px solid #a9aaa0}.highlight-number{color:var(--coral);font:19px var(--serif)}.highlights p{margin:28px 0 0;font:22px/1.25 var(--serif)}
.rooms-heading,.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:53px}.rooms-heading>p,.gallery-heading>p{max-width:350px;margin:0 0 6px;color:var(--muted)}.room-grid{display:grid;grid-template-columns:1.05fr .7fr .7fr;gap:22px;align-items:start}.room-card:nth-child(2){margin-top:66px}.room-card:nth-child(3){margin-top:145px}.room-card-image{display:block;overflow:hidden;aspect-ratio:.75}.room-card:first-child .room-card-image{aspect-ratio:.83}.room-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.room-card-image:hover img{transform:scale(1.04)}.room-card-copy{padding-top:15px}.room-card-copy span{color:var(--coral);font-size:11px;font-weight:700}.room-card-copy h3{margin:4px 0;font-size:25px;letter-spacing:-.03em}.room-card-copy p{margin:0;color:var(--muted);font-size:14px}.rooms-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:72px;padding-top:20px;border-top:1px solid #b8b8ae}.rooms-footer p{margin:0;color:var(--muted);font-size:14px}
.nature-strip{min-height:520px;position:relative;overflow:hidden;background:var(--ink);color:#fff}.nature-strip:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,21,16,.62),rgba(10,21,16,.04));content:""}.nature-strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nature-strip div{position:relative;z-index:1;max-width:500px;padding:clamp(35px,8vw,100px) clamp(24px,10vw,150px)}.nature-strip .eyebrow{color:#e3a489}.nature-strip p:last-child{margin:0;font:clamp(30px,3.5vw,50px)/1.12 var(--serif);letter-spacing:-.04em}.gallery-grid{display:grid;grid-template-columns:.9fr 1.2fr 1.1fr;grid-auto-rows:265px;gap:18px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-grid figure:first-child{grid-row:span 2}.gallery-grid figure:last-child{grid-column:span 2}
.booking{max-width:none;padding:0;display:grid;grid-template-columns:1fr 1fr;background:var(--moss);color:#fff}.booking-image{min-height:650px}.booking-image img{width:100%;height:100%;object-fit:cover}.booking-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(65px,9vw,135px)}.booking-copy .eyebrow{color:#e6a78e}.booking-copy h2{margin-bottom:22px}.booking-copy>p:not(.booking-contact){max-width:430px;margin-bottom:30px;color:#d6dfd9;font-size:17px;line-height:1.7}.booking-contact{margin:29px 0 0;color:#c6d2ca;font-size:14px;line-height:1.8}.directions-info{max-width:500px;padding-top:50px}.address{margin-bottom:28px;color:var(--coral);font:27px/1.2 var(--serif)}.directions-info>p:not(.address){margin-bottom:30px;color:var(--muted);font-size:17px;line-height:1.7}
.subpage-hero{max-width:1440px;padding:clamp(65px,9vw,130px) clamp(24px,5vw,72px) 40px;margin:auto;border-bottom:1px solid #c9c5ba}.subpage-hero h1{margin:0}.content-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:80px}.content-section .page-content{padding:0}.content-section .page-content>*{max-width:680px}.content-section .page-content h2,.content-section .page-content h3{margin:1.5em 0 .4em;font-size:30px}.page-content ul{padding-left:1.2em}.site-footer{max-width:1440px;padding:45px clamp(24px,5vw,72px);margin:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b8b8ae;color:var(--muted);font-size:13px}.site-footer p{margin:0}.back-top{color:var(--ink);font-weight:700}
dialog{max-width:min(92vw,560px);padding:0;border:0;box-shadow:0 20px 80px rgba(0,0,0,.28);background:var(--cream)}dialog::backdrop{background:rgba(20,31,27,.62);backdrop-filter:blur(3px)}.booking-dialog form{padding:clamp(32px,5vw,56px)}.booking-dialog h2{margin:0 0 10px;font-size:40px}.booking-dialog label{display:grid;gap:5px;margin:14px 0;font-size:12px;font-weight:700}.booking-dialog input,.booking-dialog textarea{width:100%;padding:11px;border:1px solid #bbb8af;background:#fffefa;color:var(--ink);font-size:15px;font-weight:400}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-close{position:absolute;top:11px;right:15px;z-index:2;border:0;background:transparent;color:var(--ink);font-size:33px;line-height:1}.lightbox{max-width:min(94vw,1100px);background:#17251f;color:#fff}.lightbox figure{margin:0}.lightbox img{max-height:78vh;object-fit:contain}.lightbox figcaption{padding:13px 19px;font-size:14px}.lightbox .dialog-close{color:#fff}
@media(max-width:760px){.site-header{min-height:74px}.menu-button{width:38px;height:35px;display:grid;gap:5px;align-content:center;justify-content:center}.menu-button span:not(.sr-only){display:block;width:23px;height:1.5px;background:var(--ink)}.primary-nav{position:absolute;top:100%;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:22px 24px 30px;background:var(--cream);box-shadow:0 8px 16px rgba(0,0,0,.08)}.primary-nav.is-open{display:flex}.primary-nav a{padding:12px 0}.nav-book{margin-top:8px;text-align:center}.hero,.intro-grid,.directions,.booking{grid-template-columns:1fr}.hero{min-height:auto;padding-bottom:75px;gap:34px}.hero-image{height:52vw;min-height:305px;border-radius:2px 2px 56px 2px}.hero-note{right:24px;bottom:28px}.intro-text{padding:0;font-size:16px}.highlights{grid-template-columns:1fr;gap:24px}.highlights p{margin-top:13px}.rooms-heading,.gallery-heading{display:block;margin-bottom:35px}.rooms-heading>p,.gallery-heading>p{margin-top:18px}.room-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.room-card:first-child{grid-column:span 2}.room-card:first-child .room-card-image{aspect-ratio:1.12}.room-card:nth-child(2),.room-card:nth-child(3){margin-top:0}.rooms-footer{display:block;margin-top:50px}.rooms-footer .button{margin-top:20px}.nature-strip{min-height:405px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:185px;gap:10px}.gallery-grid figure:first-child{grid-row:span 2}.gallery-grid figure:last-child{grid-column:span 1}.booking-image{min-height:330px}.booking-copy{padding:65px 24px}.directions-info{padding-top:0}.content-section{grid-template-columns:1fr;gap:35px}.site-footer{display:grid;gap:18px}.site-footer p{grid-row:2}.back-top{grid-column:2;grid-row:2;text-align:right}}@media(max-width:420px){.hero-image{min-height:260px}.hero-text{font-size:16px}.gallery-grid{grid-auto-rows:150px}.button{width:100%}.hero-actions .text-link{width:auto}}

/* WordPress block editor: all page content lives in the editor, not in templates. */
.stenebo-page{max-width:1440px;margin:0 auto;padding:clamp(64px,9vw,130px) clamp(24px,5vw,72px)}.stenebo-page>*{max-width:900px;margin-right:auto;margin-left:auto}.stenebo-page>.alignwide{max-width:1296px}.stenebo-page>.alignfull{max-width:none}.stenebo-page h1{font-size:clamp(48px,5.1vw,82px)}.stenebo-page h2{margin:0 0 25px}.stenebo-page h3{margin:16px 0 7px;font-size:26px;letter-spacing:-.03em}.stenebo-page p{font-size:17px;line-height:1.7}.stenebo-page .eyebrow{font-size:11px}.stenebo-page .stenebo-lead{max-width:590px;color:#53605a;font-size:20px}.stenebo-page .wp-block-button__link{padding:14px 20px;border-radius:2px;font:700 14px var(--sans);transition:transform .2s}.stenebo-page .wp-block-button__link:hover{transform:translateY(-2px)}.is-style-stenebo-dark .wp-block-button__link{background:var(--moss);color:#fff}.is-style-stenebo-light .wp-block-button__link{background:var(--cream);color:var(--ink)}.stenebo-hero{max-width:1296px!important;padding:0!important;margin-bottom:clamp(90px,12vw,150px)!important}.stenebo-hero .wp-block-columns{gap:clamp(35px,7vw,105px)}.stenebo-hero-image{height:min(590px,70vh);overflow:hidden;border-radius:2px 2px 84px 2px}.stenebo-hero-image img{width:100%;height:100%;object-fit:cover}.stenebo-hero h1{margin:0 0 22px}.stenebo-hero .stenebo-lead{margin-bottom:30px}.stenebo-editorial{max-width:none!important;padding:clamp(80px,10vw,145px) max(24px,calc((100vw - 1296px)/2))!important;margin-bottom:clamp(80px,10vw,145px)!important;background:var(--sand)}.stenebo-editorial .wp-block-columns{max-width:1296px;margin:auto;gap:clamp(40px,12vw,180px)}.stenebo-editorial h2{max-width:500px}.stenebo-editorial .wp-block-column:last-child{max-width:560px}.stenebo-image-break{max-width:none!important;min-height:520px;display:grid;place-items:center;position:relative;overflow:hidden;margin-bottom:clamp(80px,10vw,145px)!important;color:#fff}.stenebo-image-break .wp-block-image{position:absolute;inset:0;margin:0}.stenebo-image-break img{width:100%;height:100%;object-fit:cover;filter:brightness(.52)}.stenebo-image-break h2{z-index:1;max-width:680px;padding:70px 25px;color:#fff;text-align:center;font-size:clamp(32px,4vw,56px)}.stenebo-cta{max-width:none!important;padding:clamp(70px,9vw,125px) max(24px,calc((100vw - 1060px)/2))!important;margin-bottom:0!important;background:var(--moss);color:#fff}.stenebo-cta>*{max-width:600px;margin-left:auto;margin-right:auto;text-align:center}.stenebo-cta h2{color:#fff}.stenebo-cta p:not(.eyebrow){color:#d6dfd9}.stenebo-cta .wp-block-buttons{justify-content:center}.stenebo-page-title{max-width:900px!important;margin-bottom:60px!important}.stenebo-page-title h1{margin-bottom:18px}.stenebo-room-grid{max-width:1296px!important;gap:22px}.stenebo-room-grid .wp-block-image{height:390px;overflow:hidden;margin-bottom:15px}.stenebo-room-grid .wp-block-image img{width:100%;height:100%;object-fit:cover}.stenebo-room-grid .wp-block-column:nth-child(2){margin-top:55px}.stenebo-room-grid .wp-block-column:nth-child(3){margin-top:115px}.stenebo-gallery{max-width:1100px!important;gap:18px}.stenebo-gallery .wp-block-image{margin:0;min-height:270px}.stenebo-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.stenebo-page{padding-top:60px}.stenebo-page p{font-size:16px}.stenebo-hero{margin-bottom:80px!important}.stenebo-hero .wp-block-columns{gap:34px}.stenebo-hero-image{height:52vw;min-height:305px;border-radius:2px 2px 56px 2px}.stenebo-editorial{padding-top:75px!important;padding-bottom:75px!important;margin-bottom:80px!important}.stenebo-editorial .wp-block-columns{gap:24px}.stenebo-image-break{min-height:390px;margin-bottom:80px!important}.stenebo-room-grid{gap:24px}.stenebo-room-grid .wp-block-column:nth-child(2),.stenebo-room-grid .wp-block-column:nth-child(3){margin-top:0}.stenebo-room-grid .wp-block-image{height:330px}.stenebo-gallery .wp-block-image{min-height:180px}}
.stenebo-page-links{max-width:none!important;padding:clamp(70px,9vw,120px) max(24px,calc((100vw - 1296px)/2))!important;background:var(--moss);color:#fff}.stenebo-page-links>*{max-width:1296px;margin-left:auto;margin-right:auto}.stenebo-page-links h2{color:#fff}.stenebo-page-links .eyebrow{color:#e6a78e}.stenebo-page-links .wp-block-buttons{gap:12px}
.stenebo-gallery .wp-block-image{cursor:zoom-in}.stenebo-gallery .stenebo-zoom-trigger{display:block}.stenebo-gallery .stenebo-zoom-trigger:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.stenebo-room-section{max-width:1120px!important;padding:clamp(54px,7vw,90px) 0!important;border-top:1px solid #c9c5ba}.stenebo-room-section:first-of-type{border-top:0}.stenebo-room-section h2{margin-bottom:12px}.stenebo-room-section>p{max-width:680px;margin-bottom:28px}.stenebo-room-note{padding:28px;background:var(--sand);color:var(--muted)}.stenebo-room-carousel{max-width:none!important;display:block!important;position:relative;margin:0!important;overflow:hidden;background:#ded7c9}.stenebo-room-carousel .wp-block-image{display:none!important;width:100%!important;margin:0!important}.stenebo-room-carousel .wp-block-image.is-active{display:block!important}.stenebo-room-carousel .wp-block-image img{width:100%;height:clamp(300px,54vw,630px);object-fit:cover}.stenebo-carousel-controls{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;gap:8px}.stenebo-carousel-button{width:44px;height:44px;border:0;border-radius:50%;background:rgba(29,41,37,.88);color:#fff;font-size:22px;line-height:1}.stenebo-carousel-count{position:absolute;left:18px;bottom:18px;z-index:2;padding:8px 11px;background:rgba(245,242,234,.9);color:var(--ink);font-size:12px;font-weight:700}
@media(max-width:760px){.stenebo-room-section{padding:55px 0!important}.stenebo-room-carousel .wp-block-image img{height:340px}.stenebo-carousel-controls{right:10px;bottom:10px}.stenebo-carousel-count{bottom:10px;left:10px}}
.stenebo-room-carousel{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(165px,220px));gap:12px;overflow:visible;background:transparent}.stenebo-room-carousel .wp-block-image,.stenebo-room-carousel .wp-block-image.is-active{display:block!important;width:auto!important;margin:0!important}.stenebo-room-carousel .wp-block-image img{width:100%;height:145px;object-fit:cover}.stenebo-room-carousel .stenebo-zoom-trigger{display:block;cursor:zoom-in}.stenebo-room-carousel .stenebo-zoom-trigger:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.stenebo-room-carousel .stenebo-carousel-controls,.stenebo-room-carousel .stenebo-carousel-count{display:none!important}@media(max-width:760px){.stenebo-room-carousel{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stenebo-room-carousel .wp-block-image img{height:130px}}
.lightbox{position:fixed;inset:0;max-height:calc(100dvh - 32px);margin:auto}.lightbox img{width:auto;max-width:90vw;max-height:78vh;height:auto}.lightbox-nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;border:0;border-radius:50%;background:rgba(245,242,234,.92);color:var(--ink);font-size:28px;line-height:1;transform:translateY(-50%);cursor:pointer}.lightbox-nav:hover{background:#fff}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-nav:focus-visible{outline:3px solid var(--coral);outline-offset:3px}@media(max-width:760px){.lightbox-nav{width:40px;height:40px;font-size:24px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}
@media(max-width:760px){.menu-button{width:44px;height:44px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;overflow:visible;line-height:0;cursor:pointer}.menu-button span:not(.sr-only){display:block;flex:0 0 2px;width:24px;height:2px;border-radius:1px;background:var(--ink)}}
.language-switcher{display:flex;gap:4px;align-items:center}.language-switcher-link{min-width:30px;padding:5px 6px!important;border:1px solid #b8b8ae;border-radius:3px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.06em}.language-switcher-link.is-current{border-color:var(--moss);background:var(--moss);color:#fff}@media(max-width:760px){.primary-nav .language-switcher{margin:12px 0 4px}.language-switcher-link{width:42px;padding:9px 6px!important}}
