/* Château Gamage – site styles (no framework) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#1b1b1b;font-family:Gudea,Georgia,serif;font-size:16px;line-height:1.5}
img,video,iframe{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
.wrap{max-width:1112px;margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.gh{position:relative;z-index:50;background:#fff;height:64px;display:flex;align-items:center;justify-content:center}
.gh .logo{position:absolute;left:24px;top:0;height:64px;display:flex;align-items:center;font-family:"Old Standard TT",serif;font-style:italic;font-size:24px;text-decoration:none;color:#8f6e6e}
.gn{height:64px}
.gm{display:flex;list-style:none;margin:0;padding:0;height:64px;align-items:stretch}
.gm>li{position:relative;display:flex;align-items:center}
.gm a{text-decoration:none;color:#1b1b1b;font-size:14px;letter-spacing:.994px;white-space:nowrap;transition:color .15s}
.gm>li>a{display:flex;align-items:center;padding:20px 16px;line-height:24px}
.gm a:hover,.gm a:focus-visible{color:#8f6e6e}
.gm a[aria-current="page"]{color:#8f6e6e;font-weight:700}
.chev{margin-left:6px;width:10px;height:6px;flex:none;position:relative;top:1px}
.gm .sub{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;list-style:none;margin:0;padding:10px 0;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.gm li:hover>.sub,.gm li:focus-within>.sub{display:block}
.gm .sub a{display:block;padding:9px 22px;white-space:nowrap}
.burger{display:none;position:absolute;right:12px;top:8px;background:none;border:0;padding:12px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:#1b1b1b;margin:5px 0}
@media(max-width:1060px){
  .burger{display:block}
  .gh{justify-content:flex-start;padding-left:24px}
  .gn{display:none;position:absolute;top:64px;left:0;right:0;height:auto;background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.1);max-height:calc(100vh - 64px);overflow:auto;padding:8px 0 16px}
  .gn.open{display:block}
  .gm{flex-direction:column;height:auto}
  .gm>li{display:block}
  .gm>li>a{padding:12px 24px}
  .gm .sub{display:block;position:static;box-shadow:none;padding:0 0 6px 16px}
  .gm .sub a{padding:7px 24px}
}

/* ---------- hero ---------- */
.b-hero{position:relative;width:100%;overflow:hidden;background:#d9d3d0}
.b-hero>video,.b-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.b-hero-text{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 24px;background:rgba(0,0,0,.18)}
.b-hero-text span{font-size:14px;letter-spacing:4px;text-transform:uppercase;margin-bottom:16px}
.b-hero-text h1{font-family:Adamina,serif;font-weight:400;font-size:44px;line-height:1.2;max-width:900px}
.b-hero-text .btn-o{margin-top:28px;color:#fff;border-color:#fff}

/* ---------- text sections ---------- */
.b-intro{padding:56px 24px 97px}
.b-intro p{max-width:1035px;margin:0 auto;text-align:center;font-family:Adamina,serif;font-size:22px;line-height:30.8px;color:#857272}
.b-title{text-align:center;padding:0 24px}
.b-title h2{font-weight:400;font-family:Adamina,serif}
.b-title-small{padding-top:56px}
.b-title-small h2{font-size:22px;line-height:30.8px;color:#857272}
.b-title-large h2{font-size:28px;line-height:38px;color:#a39090}
.b-title-script h2{font-family:"Old Standard TT",serif;font-style:italic;font-size:32px;line-height:32px;color:#a39090}
.b-heading{padding:48px 0 0}
.b-heading h2{font-family:Adamina,serif;font-weight:400;font-size:28px;line-height:1.3;color:#857272}
.b-heading h3{font-family:Adamina,serif;font-weight:400;font-size:22px;line-height:1.3;color:#857272}
.b-text{padding:20px 0}
.cms-text{font-size:18px;line-height:1.7;color:#5e5e5e}
.cms-text p{margin:0 0 1.2em}
.cms-text a{color:#8f6e6e}
.cms-text ul,.cms-text ol{margin:0 0 1.2em 1.3em}
.cms-text ul{list-style:disc}.cms-text ol{list-style:decimal}
.cms-text h2,.cms-text h3{font-family:Adamina,serif;font-weight:400;color:#857272;margin:1.4em 0 .6em}
.cms-text img{max-width:100%;height:auto}
.b-image{padding:24px 0}
.b-image img{width:100%;height:auto}
.b-image figcaption{margin-top:10px;font-size:14px;color:#857272}
.b-gallery{padding:32px 0}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.g-item{aspect-ratio:3/4;overflow:hidden;background:#eee}
.g-item img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
.b-button{padding:20px 0}
.btn-o{display:inline-block;background:none;border:1px solid #857272;color:#857272;font-family:Gudea,Georgia,serif;font-weight:700;font-size:14px;letter-spacing:.994px;padding:0 32px;height:56px;line-height:54px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn-o:hover{background:#857272;color:#fff}

/* ---------- carousel ---------- */
.b-car{position:relative;padding-bottom:66px}
.car-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-left:max(24px,calc((100vw - 1112px)/2));scroll-padding-left:max(24px,calc((100vw - 1112px)/2))}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:none;scroll-snap-align:start;height:var(--car-h)}
.car-slide img{height:100%;object-fit:cover;user-select:none}
.b-car-fixed .car-slide{width:338px}
.b-car-fixed .car-slide img{width:100%}
.b-car-natural .car-slide img{width:auto;max-width:none}
.car-dots{position:absolute;left:0;right:0;bottom:30px;display:flex;justify-content:center;gap:6px}
.car-dots button{width:24px;height:3px;border:0;padding:0;background:#d6d6d6;cursor:pointer}
.car-dots button.on{background:#333}
@media(max-width:700px){.b-car-fixed .car-slide{width:78vw}}

/* ---------- tiles ---------- */
.b-tiles{padding:56px 24px}
.tiles{display:grid;justify-content:center;column-gap:48px;row-gap:112px}
.tiles-3{grid-template-columns:repeat(3,339px)}
.tiles-2{grid-template-columns:repeat(2,435px)}
.tile{position:relative;display:block;height:470px;overflow:hidden;text-decoration:none;background:#ddd}
.tile-in{position:absolute;inset:0;transform:scale(1.05)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile-shade{position:absolute;inset:0;background:rgba(0,0,0,.2)}
.tile h2{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:291px;padding:24px;text-align:center;color:#fff;font-family:"Old Standard TT",serif;font-style:italic;font-weight:400;font-size:44px;line-height:44px}
@media(max-width:1100px){
  .tiles-3,.tiles-2{grid-template-columns:repeat(2,minmax(0,339px))}
  .tiles{row-gap:48px}
}
@media(max-width:700px){
  .tiles-3,.tiles-2{grid-template-columns:minmax(0,339px)}
  .tile h2{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:291px;padding:24px;text-align:center;color:#fff;font-family:"Old Standard TT",serif;font-style:italic;font-weight:400;font-size:44px;line-height:44px}
  .b-intro p{font-size:19px;line-height:27px}
}

/* ---------- social / contact / map ---------- */
.b-social{text-align:center;padding:56px 24px 64px}
.b-social h2{font-family:Adamina,serif;font-weight:400;font-size:28px;line-height:38px;color:#a39090}
.b-social .icons{display:flex;justify-content:center;margin-top:42px}
.b-social .icons a{display:flex;width:96px;height:48px;justify-content:center}
.b-contact{text-align:center;padding:62px 24px 39px}
.b-contact h2{font-family:"Old Standard TT",serif;font-style:italic;font-weight:400;font-size:32px;line-height:32px;color:#a39090;margin-bottom:31px}
.b-contact h4{font-weight:400;font-size:22px;line-height:28px;color:#1b1b1b;margin-top:40px}
.b-contact h2+h4{margin-top:45px}
.b-contact h4+h4{margin-top:40px}
.b-contact h4 a{text-decoration:none}
.b-contact p{font-size:16px;line-height:24px;color:#5e5e5e;margin-top:23px}
.b-contact .btn-o{margin-top:64px}
.cf{max-width:640px;margin:32px auto 0;display:flex;flex-direction:column;gap:20px;text-align:left}
.cf[hidden]{display:none}
.cf input,.cf textarea,.cf select{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #cfc6c6;border-radius:0;background:#fff;color:#1b1b1b}
.cf textarea{resize:vertical}
.cf .btn-o{align-self:center}
.cf-row{display:grid;gap:20px;grid-template-columns:1fr 1fr}
.cf-row-3{grid-template-columns:repeat(3,1fr)}
.cf label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.9px;text-transform:uppercase;color:#857272}
.cf-msg{text-align:center;color:#8f6e6e;min-height:1.5em;margin:0!important}
.b-form{padding:56px 0}
.b-form h2{font-family:Adamina,serif;font-weight:400;font-size:28px;color:#857272;text-align:center;margin-bottom:8px}
@media(max-width:600px){.cf-row,.cf-row-3{grid-template-columns:1fr}}
.b-map{width:100%}
.b-map iframe{width:100%;height:100%;border:0}

/* ---------- footer ---------- */
.gf{padding:81px 24px 60px}
.gf-in{max-width:1112px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:700;color:#595959}
.gf-in nav{display:flex;gap:20px}
.gf-in a{text-decoration:none}

/* ---------- inner pages ---------- */
.b-photo-in{width:min(1112px,calc(100% - 48px));margin:0 auto;overflow:hidden;background:#eee}
.b-photo-in img{width:100%;height:100%;object-fit:cover}
.art-in{width:min(725px,calc(100% - 48px));margin:0 auto}
.art-in h1{font-family:Adamina,serif;font-weight:400;font-size:22px;line-height:27.5px;color:#1b1b1b}
.art-text{margin-top:26px;font-size:16px;line-height:24px;color:#5e5e5e}
.art-in h1:empty+.art-text,.art-in>.art-text:first-child{margin-top:0}
.art-text p{margin:0}
.art-text a{color:#8f6e6e}
.b-split .split-in{width:min(1112px,calc(100% - 48px));margin:0 auto;display:flex;gap:var(--gap,48px);align-items:flex-start}
.b-split.rev .split-in{flex-direction:row-reverse}
.split-img{overflow:hidden;background:#eee}
.split-img img{width:100%;height:100%;object-fit:cover}
.split-text{flex:1;min-width:0}
.split-text h1{font-family:Adamina,serif;font-weight:400;font-size:22px;line-height:27.5px;color:#1b1b1b}
@media(max-width:800px){.b-split .split-in,.b-split.rev .split-in{flex-direction:column}.split-img{flex:none!important;width:100%}.split-text{padding-top:24px!important}}
.b-title-script{padding-top:62px}
.b-pgrid .pgrid{display:grid;grid-template-columns:repeat(var(--cols),var(--w));gap:var(--gap);justify-content:center}
.pg-item{aspect-ratio:var(--ratio);overflow:hidden;background:#eee}
.pg-item img{width:100%;height:100%;object-fit:cover}
.b-icards .icards{display:grid;grid-template-columns:repeat(var(--cols),var(--w));column-gap:48px;row-gap:48px;justify-content:center}
.icard{text-align:center;display:flex;flex-direction:column;align-items:center}
.icard h4{font-weight:400;font-size:22px;line-height:28px;color:#1b1b1b;margin-bottom:23px}
.ic-img{width:100%;aspect-ratio:var(--ratio);overflow:hidden;background:#eee}
.ic-img img{width:100%;height:100%;object-fit:cover}
.icard p{margin-top:27px;font-size:16px;line-height:24px;color:#5e5e5e;padding:0 2px}
.icard a{margin-top:39px;font-weight:700;font-size:14px;letter-spacing:.994px;color:#857272;text-decoration:none;line-height:23px;margin-bottom:0}
.icard a:hover{text-decoration:underline}
.b-bleed .bleed{display:grid;grid-template-columns:repeat(var(--cols),1fr)}
.bleed img{width:100%;height:var(--h);object-fit:cover}
.split-btn{margin-top:24px;height:56px}
@media(max-width:1180px){.b-pgrid .pgrid,.b-icards .icards{grid-template-columns:repeat(2,minmax(0,var(--w)))}}
@media(max-width:700px){.b-pgrid .pgrid,.b-icards .icards{grid-template-columns:minmax(0,var(--w))}.b-bleed .bleed{grid-template-columns:1fr}}
.b-title-display h2{font-family:"Old Standard TT",serif;font-style:italic;font-size:44px;line-height:53px;color:#1b1b1b}
.btn-wide{display:block;width:min(725px,100%);margin:0 auto;text-align:center}
.b-ccard{position:relative;display:flex;flex-direction:column;align-items:center;padding:56px 24px;background:#6b7a4a;overflow:hidden}
.cc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc-title{position:relative;font-family:"Old Standard TT",serif;font-style:italic;font-weight:400;font-size:44px;line-height:53px;color:#fff;text-align:center}
.cc-card{position:relative;width:min(774px,100%);margin-top:52px;background:#fff;padding:60px 40px 56px;text-align:center;display:flex;flex-direction:column;align-items:center}
.cc-card h4{font-family:Adamina,serif;font-weight:400;font-size:22px;line-height:28px;color:#1b1b1b}
.cc-card p{font-size:16px;line-height:24px;color:#5e5e5e}
.cc-mail{margin-top:25px;font-size:16px;line-height:20px;color:#857272}
.cc-card .cc-mail+p{margin-top:4px}
.cc-wa{display:inline-flex;align-items:center;gap:8px;margin-top:38px;background:#44525c;color:#fff;font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:13px;padding:0 20px;height:56px;text-decoration:none}
.cc-name{margin-top:40px}
.cc-card h4+p{margin-top:24px}
.cc-card .btn-o{margin-top:64px}
.cc-card .cf{width:100%}
.b-msplit .ms-in{display:grid;grid-template-columns:1fr 1fr}
.ms-text{padding:59px 24px 0 132px}
.ms-text span{display:block;font-size:18px;line-height:22px;color:#5e5e5e}
.ms-text h4{font-family:Adamina,serif;font-weight:400;font-size:22px;line-height:28px;color:#1b1b1b;margin-top:43px}
.ms-text p{font-size:18px;line-height:27px;color:#5e5e5e;margin-top:23px}
.ms-map iframe{width:100%;height:100%;border:0}
@media(max-width:800px){.b-msplit .ms-in{grid-template-columns:1fr;height:auto!important}.ms-text{padding:24px}.ms-map{height:300px}}

/* hero video: no poster photo; the video fades in once it can play */
.b-hero>video{opacity:0;transition:opacity .6s ease}
.b-hero>video.ready{opacity:1}
@media(prefers-reduced-motion:reduce){.b-hero>video{transition:none}}

/* admin shortcut bar: only rendered for a signed-in administrator */
.cms-editbar{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;gap:6px;padding:6px;background:rgba(27,27,27,.92);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.25);font:600 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.cms-editbar a{color:#fff;text-decoration:none;padding:10px 14px;border-radius:7px;letter-spacing:0}
.cms-editbar a:hover{background:rgba(255,255,255,.14)}
.cms-editbar .eb-edit{background:#8f6e6e}
.cms-editbar .eb-edit:hover{background:#a58080}
@media print{.cms-editbar{display:none}}

/* reservation form */
.b-resv{padding:56px 0}
.b-resv h2{font-family:Adamina,serif;font-weight:400;font-size:28px;line-height:38px;color:#a39090;text-align:center}
.resv-intro{max-width:640px;margin:14px auto 0;text-align:center;font-size:16px;line-height:24px;color:#5e5e5e}
.b-resv .cf{margin-top:32px}
.b-resv .cf textarea{min-height:110px}

/* "Sent" confirmation shown in place of a form */
.cf-success{max-width:640px;margin:32px auto 0;padding:36px 28px;text-align:center;background:#f7f3f1;border:1px solid #d9cbc6;outline:none}
.cf-success .cf-tick{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;background:#2e7d4f;color:#fff;font-size:30px;line-height:1}
.cf-success strong{display:block;font-family:Adamina,serif;font-weight:400;font-size:28px;line-height:36px;color:#1b1b1b}
.cf-success p{margin:10px auto 22px;max-width:480px;font-size:16px;line-height:24px;color:#5e5e5e}
@media(prefers-reduced-motion:no-preference){.cf-success{animation:cfIn .35s ease-out}}
@keyframes cfIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cms-editbar .eb-note{align-self:center;padding:0 12px;color:#f3d9a4;font-weight:500}

/* 360° tour */
.b-tour{padding:56px 24px 64px;text-align:center}
.b-tour h2{font-family:Adamina,serif;font-weight:400;font-size:28px;line-height:38px;color:#a39090}
.tour-text{max-width:640px;margin:12px auto 0;font-size:16px;line-height:24px;color:#5e5e5e}
.tour-frame{position:relative;width:min(1112px,100%);height:var(--tour-h,620px);margin:32px auto 0;background:#1d1d1d;overflow:hidden}
.tour-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.tour-start{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#2b2b2b center/cover no-repeat;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-family:inherit}
.tour-shade{position:absolute;inset:0;background:rgba(0,0,0,.3);transition:background .2s}
.tour-start:hover .tour-shade,.tour-start:focus-visible .tour-shade{background:rgba(0,0,0,.45)}
.tour-start:focus-visible{outline:3px solid #b08d57;outline-offset:-3px}
.tour-play{position:relative;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.93);display:block;box-shadow:0 6px 24px rgba(0,0,0,.35);transition:transform .2s}
.tour-start:hover .tour-play{transform:scale(1.07)}
.tour-play::after{content:'';position:absolute;left:33px;top:25px;border-left:26px solid #4a0e0e;border-top:16px solid transparent;border-bottom:16px solid transparent}
.tour-label{position:relative;font-weight:700;letter-spacing:1px;font-size:16px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.tour-full{margin-top:20px}
@media(max-width:700px){.tour-frame{height:var(--tour-hm,460px)}.b-tour{padding-left:12px;padding-right:12px}}
