/*
Theme Name: Stenebo
Author: Bluezorm
Description: Stenebo Vandrarhem WordPress theme.
Version: 1.0.2
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}}
