/*
Theme Name: O.B. Place
Theme URI: https://example.com/
Author: O.B. Place
Description: Tema WordPress custom per O.B. Place - Rooms and Comfort.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ob-place
*/
:root{--bg:#f7f4ee;--paper:#fbfaf7;--ink:#171714;--muted:#68665f;--line:#d9d3c8;--taupe:#b5a48d;--max:1240px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{position:absolute;z-index:10;top:0;left:0;right:0;color:#111}.nav{height:76px;display:flex;align-items:center;gap:36px}.brand{margin-right:auto;font-family:var(--serif);font-size:25px;line-height:.8}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:2.4px;margin-top:9px}.menu{display:flex;gap:31px;font-size:13px}.book-top,.btn{border:1px solid currentColor;border-radius:4px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;letter-spacing:.5px;text-transform:uppercase;background:rgba(250,248,243,.88)}.hero{min-height:560px;background:linear-gradient(90deg,rgba(33,20,11,.56),rgba(33,20,11,.08)),url('assets/images/common-area.jpeg') center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-copy{padding-top:75px;max-width:590px}.eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase}.hero h1{font:72px/1 var(--serif);margin:14px 0 3px}.subtitle{font-size:18px;letter-spacing:4px;text-transform:uppercase}.rule{width:42px;border-top:1px solid;margin:20px 0}.hero p{font-size:18px;max-width:480px}.actions{display:flex;gap:16px;margin-top:26px}.hero .btn{color:#171714;background:#f7f4ee;border-color:#f7f4ee}.hero .btn.ghost{color:#fff;background:transparent;border-color:#fff}.section{padding:72px 0}.section-head{text-align:center;margin-bottom:35px}.section-head h2,.split-copy h2,.location h2{font:44px/1.08 var(--serif);margin:9px 0}.section-head p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid #eee9df}.card img{width:100%;aspect-ratio:1.45;object-fit:cover}.card-body{padding:24px}.card h3{font:31px var(--serif);margin:0 0 12px}.facts{display:flex;gap:15px;flex-wrap:wrap;font-size:13px;color:#4f4d47}.card p{color:var(--muted);min-height:48px}.text-link{display:inline-block;margin-top:6px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid #aaa;padding-bottom:4px}.amenities{border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8;padding:30px 0}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.amenity{padding:6px 15px;border-right:1px solid var(--line)}.amenity:last-child{border:0}.icon{font-size:30px;margin-bottom:7px}.design{display:grid;grid-template-columns:1.05fr .95fr;min-height:390px;background:var(--bg)}.design-photo{background:url('assets/images/common-area.jpeg') center/cover no-repeat}.split-copy{padding:70px clamp(40px,7vw,100px);align-self:center}.split-copy p,.location p{color:var(--muted)}.location-section{padding:58px 0;background:#f1eee7}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.map{min-height:260px;border:1px solid var(--line);background:linear-gradient(135deg,#ebe8e0,#f8f6f0);display:grid;place-items:center;text-align:center;padding:30px}.map-pin{font-size:38px}.contact-box{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:25px;flex-wrap:wrap}.site-footer{padding:32px 0;background:#fbfaf7}.footer-row{display:flex;align-items:center;gap:35px;font-size:12px;color:#5e5b54}.footer-row .brand{color:#111}.footer-links{margin-left:auto;display:flex;gap:20px}.legal{text-align:center;color:#77736b;font-size:10px;margin-top:22px}.mobile-toggle{display:none;background:none;border:0;font-size:25px}@media(max-width:800px){.wrap{width:min(100% - 28px,var(--max))}.menu,.book-top{display:none}.mobile-toggle{display:block}.menu.open{display:flex;position:absolute;top:70px;left:14px;right:14px;flex-direction:column;background:#f8f5ef;color:#111;padding:22px}.hero{min-height:650px;background-position:58% center}.hero h1{font-size:54px}.hero-copy{padding-top:95px}.cards{grid-template-columns:1fr}.card p{min-height:0}.amenity-grid{grid-template-columns:1fr 1fr;gap:20px}.amenity:nth-child(2){border:0}.design,.location-grid{grid-template-columns:1fr}.design-photo{min-height:340px}.split-copy{padding:45px 28px}.footer-row{align-items:flex-start;flex-direction:column}.footer-links{margin:0;flex-wrap:wrap}.actions{flex-wrap:wrap}.section-head h2,.split-copy h2,.location h2{font-size:36px}}
/* V2 production additions */
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:15px;top:15px;z-index:9999;background:#fff;padding:10px;color:#111}.accommodation-page{padding:130px 0 70px;background:var(--paper)}.accommodation-wrap{max-width:960px}.accommodation-head{padding:45px 0 30px}.accommodation-head h1{font:clamp(46px,7vw,76px)/1 var(--serif);margin:10px 0 18px}.accommodation-head p{font-size:19px;color:var(--muted);max-width:700px}.accommodation-cover img{width:100%;max-height:600px;object-fit:cover}.entry-content{font-size:17px;max-width:760px;margin:45px auto}.entry-content h2{font:38px/1.1 var(--serif)}.accommodation-cta{border-top:1px solid var(--line);margin-top:50px;padding-top:35px}.accommodation-cta h2{font:36px var(--serif)}

/* ===== V3 ===== */
:root{--ink:#1e1b18;--paper:#f8f5ef;--line:#d9d1c5;--muted:#756e65;--sand:#ece5da}
.site-loader{position:fixed;inset:0;background:var(--paper);z-index:99999;display:grid;place-items:center;transition:opacity .45s,visibility .45s}.site-loader.hide{opacity:0;visibility:hidden}.loader-mark{width:78px;height:78px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;animation:obPulse 1.35s ease-in-out infinite}.loader-mark svg{width:38px;height:38px;stroke:var(--ink);fill:none;stroke-width:1.4}.loader-text{margin-top:14px;text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase}@keyframes obPulse{50%{transform:scale(.94);opacity:.62}}
.stay-hero{min-height:72vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff}.stay-hero-inner{padding-top:150px;padding-bottom:72px}.stay-back{display:inline-block;color:#fff;margin-bottom:80px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}.eyebrow.light{color:#fff}.stay-hero h1{font-size:clamp(58px,8vw,118px);line-height:.9;margin:10px 0 18px;font-weight:400}.stay-tag{font-size:18px;letter-spacing:.08em}.stay-facts{display:flex;gap:0;margin-top:32px;flex-wrap:wrap}.stay-facts span{padding:0 22px;border-left:1px solid rgba(255,255,255,.5)}.stay-facts span:first-child{padding-left:0;border:0}.stay-intro-grid,.stay-service-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:start}.stay-intro h2,.stay-services h2{font-size:clamp(38px,4.2vw,64px);line-height:1.02;font-weight:400;margin:10px 0}.lead{font-family:Georgia,serif;font-size:clamp(22px,2.1vw,31px);line-height:1.45;margin-top:22px}.gallery-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:280px 280px;gap:14px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid .g1{grid-row:1/3}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.gallery-grid figure:hover img{transform:scale(1.025)}.service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-list div{padding:22px 8px;border-bottom:1px solid var(--line);font-size:16px}.service-list span{display:inline-grid;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;place-items:center;margin-right:12px;font-size:12px}.availability-section{background:var(--sand);padding:70px 0}.availability-card{background:#fff;padding:42px;border-radius:2px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end}.availability-card h3{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:8px 0}.availability-form{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:10px;align-items:end}.availability-form label{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.availability-form input,.availability-form select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:14px;font:inherit}.availability-form .btn{height:48px;white-space:nowrap}.sync-ready{grid-column:2;display:block;color:var(--muted);margin-top:-28px}.mini-stays{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-stays a{position:relative;height:320px;overflow:hidden;color:#fff}.mini-stays img{width:100%;height:100%;object-fit:cover;filter:brightness(.78);transition:transform .6s}.mini-stays a:hover img{transform:scale(1.025)}.mini-stays span{position:absolute;left:26px;bottom:24px;font-family:Georgia,serif;font-size:30px}
@media(max-width:800px){.stay-hero{min-height:64vh}.stay-back{margin-bottom:50px}.stay-intro-grid,.stay-service-grid,.availability-card{grid-template-columns:1fr;gap:24px}.gallery-grid{display:block}.gallery-grid figure{height:270px;margin-bottom:10px}.service-list{grid-template-columns:1fr}.availability-form{grid-template-columns:1fr}.sync-ready{grid-column:1;margin-top:0}.mini-stays{grid-template-columns:1fr}.mini-stays a{height:240px}.stay-facts span{padding:0 12px}.availability-card{padding:26px}}
