/*
Theme Name: The Hide Collection Exclusive
Description: Private editorial experience for The Hide Collection.
Version: 1.0.29
Template: wprentals
*/
:root{--black:#030303;--red:#ae0d1a;--bone:#eee9df;--muted:#a7a29b;--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--bone);font-family:Arial,sans-serif}body.lock{overflow:hidden}a{color:inherit}.mast{position:fixed;z-index:30;left:0;right:0;top:0;height:84px;padding:10px 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#030303ed,transparent)}.brand{width:230px;height:62px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:28px}.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#ddd}.nav a:hover,.nav a.active{color:#fff}.key-btn{border:1px solid #a91522;background:#7b0812;color:#fff!important;padding:14px 19px}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:120px 6vw 10vh;overflow:hidden}.hero-bg{position:absolute;inset:0;background:center/cover no-repeat;filter:saturate(.8) brightness(.5) contrast(1.12);transform:scale(1.035);animation:drift 16s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030303e8 0%,#03030391 38%,transparent 72%),linear-gradient(0deg,#030303 0%,transparent 35%)}.hero-copy{position:relative;z-index:2;max-width:790px}.chapter{color:#d22130;text-transform:uppercase;letter-spacing:.3em;font-size:11px}.hero h1{font:400 clamp(58px,8vw,122px)/.9 Georgia,serif;margin:20px 0 28px;letter-spacing:-.035em}.hero h1 em,.gallery-intro h1 em{font-weight:400;color:#c91423}.hero p{font:italic clamp(18px,1.6vw,24px)/1.6 Georgia,serif;max-width:650px;color:#d8d3cc}.actions{display:flex;gap:14px;margin-top:33px}.primary,.secondary{display:inline-block;padding:16px 24px;text-transform:uppercase;text-decoration:none;letter-spacing:.17em;font-size:11px}.primary{border:1px solid var(--red);background:var(--red);color:#fff}.secondary{border:1px solid #fff7;background:#05050580;color:#fff}.prologue{min-height:92vh;padding:12vh 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center;border-top:1px solid #171717}.prologue h2{font:400 clamp(45px,6vw,92px)/.98 Georgia,serif;margin:18px 0}.prologue p{font:400 clamp(18px,1.6vw,24px)/1.8 Georgia,serif;color:#c9c4bc}.signature{display:block;color:#c71422;font-style:italic;margin-top:24px}.ritual{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.step{min-height:76vh;position:relative;padding:45px;display:flex;align-items:flex-end;overflow:hidden;border-right:1px solid var(--line);background:center/cover no-repeat}.step:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,#030303f2 92%)}.step>div{position:relative;z-index:1}.step h3{font:400 clamp(30px,3vw,48px) Georgia,serif;margin:12px 0}.step p{color:#bbb;line-height:1.6}.numeral{color:#d31a29;font:italic 16px Georgia,serif}.reveal{min-height:100svh;position:relative;display:flex;align-items:center;padding:8vw;background:center/cover fixed no-repeat}.reveal:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030303ed,#0303039c 45%,#03030324),linear-gradient(0deg,#030303,transparent 25%,transparent 75%,#030303)}.reveal-card{position:relative;z-index:1;max-width:620px;border-left:1px solid #b91421;padding:35px 0 35px 40px}.reveal h2{font:400 clamp(48px,6vw,90px)/1 Georgia,serif;margin:12px 0 25px}.reveal p{font-size:18px;line-height:1.7;color:#ccc}.details{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.details span{border:1px solid #ffffff34;padding:11px 13px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;background:#0505059e}.social{padding:13vh 6vw;background:#050505;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:42px}.section-head h2{font:400 clamp(44px,6vw,86px)/.95 Georgia,serif;margin:13px 0 0}.section-copy{max-width:430px;color:#aaa;font:italic 18px/1.6 Georgia,serif}.social-grid{display:grid;grid-template-columns:1.15fr 1.15fr .7fr;gap:12px}.social-tile{min-height:62vh;position:relative;overflow:hidden;background:#111}.social-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.social-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#030303c9)}.social-tile span{position:absolute;z-index:1;left:22px;bottom:20px;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.testimony{padding:13vh 0 14vh;overflow:hidden;background:radial-gradient(circle at center,#1b0407,#030303 58%);border-top:1px solid var(--line)}.testimony .section-head{padding-inline:7vw}.review-reel{display:flex;width:max-content;animation:reviews-left 38s linear infinite}.review-reel:hover{animation-play-state:paused}.review-set{display:flex;gap:16px;padding-right:16px}.review-card{width:min(390px,82vw);min-height:270px;padding:30px;border:1px solid #ffffff24;background:linear-gradient(145deg,#151111,#080808);display:flex;flex-direction:column;justify-content:space-between}.stars{color:#d31a29;letter-spacing:.2em}.review-card blockquote{font:italic 23px/1.45 Georgia,serif;margin:24px 0}.review-meta{display:flex;justify-content:space-between;gap:14px;text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#888}.review-source{color:#ddd;border:1px solid #ffffff27;padding:6px 8px}.trustindex-live{padding:0 7vw}.finale{min-height:70vh;padding:10vh 7vw;display:flex;align-items:center;justify-content:space-between;gap:8vw;border-top:1px solid var(--line)}.finale h2{font:400 clamp(50px,7vw,100px)/.96 Georgia,serif;margin:0}.finale p{max-width:450px;color:#aaa;line-height:1.7}.footer{padding:35px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.gate{position:fixed;z-index:100;inset:0;background:#000;transition:opacity .8s ease,visibility 0s linear .85s}.gate.done{opacity:0;visibility:hidden}.gate-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,58vw);aspect-ratio:955/422;padding:0;border:0;background:none;cursor:pointer;transition:.3s}.gate-logo:hover{transform:translate(-50%,-50%) scale(1.035)}.gate-logo img{width:100%;height:100%;object-fit:contain}.gate-copy{position:absolute;left:50%;bottom:5vh;transform:translateX(-50%);text-align:center;width:90vw;color:#aaa;letter-spacing:.18em;text-transform:uppercase;font-size:11px}.gate-copy strong{display:block;color:#eee;font:italic 17px Georgia,serif;text-transform:none;letter-spacing:.04em;margin-bottom:11px}.gate-copy button{border:0;background:none;color:#aaa;letter-spacing:.2em;text-transform:uppercase;font-size:11px;cursor:pointer}.gallery-page .mast{position:sticky;background:#030303ed;border-bottom:1px solid var(--line)}.gallery-intro{padding:11vh 6vw 8vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:7vw}.gallery-intro h1{font:400 clamp(65px,10vw,145px)/.84 Georgia,serif;letter-spacing:-.045em;margin:22px 0 0}.gallery-intro p{font:italic clamp(18px,1.7vw,25px)/1.6 Georgia,serif;color:#c6c1b9}.filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 6vw 35px}.filter{border:1px solid #ffffff31;background:none;color:#aaa;padding:11px 15px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;cursor:pointer}.filter.active{background:#99101b;border-color:#99101b;color:#fff}.gallery-grid{padding:0 18px 12vh;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:16vw;gap:8px}.tile{position:relative;overflow:hidden;border:0;padding:0;background:#111;cursor:zoom-in}.tile.wide{grid-column:span 2}.tile.tall{grid-row:span 2}.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}.tile:hover img{transform:scale(1.035)}.lightbox{position:fixed;z-index:150;inset:0;background:#000ed;display:none;align-items:center;justify-content:center;padding:5vh 7vw}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain}.close,.prev,.next{position:absolute;border:1px solid #ffffff3b;background:#050505aa;color:#fff;width:48px;height:48px;font-size:24px;cursor:pointer}.close{right:24px;top:22px}.prev{left:22px;top:50%}.next{right:22px;top:50%}.counter{position:absolute;left:24px;top:28px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#aaa}.content-shell{min-height:100vh;padding:120px 6vw 80px;background:#fff;color:#222}.content-shell a{color:#7b0812}@keyframes drift{to{transform:scale(1.08) translate(-.8%,-.5%)}}@keyframes reviews-left{to{transform:translateX(-50%)}}@media(max-width:820px){.mast{height:72px}.brand{width:170px;height:48px}.nav a:not(.key-btn){display:none}.hero{padding:100px 24px 80px}.hero h1{font-size:61px}.actions{flex-direction:column;align-items:flex-start}.prologue{grid-template-columns:1fr;padding:90px 25px}.ritual{grid-template-columns:1fr}.step{min-height:67vh;border-right:0;border-bottom:1px solid var(--line);padding:30px 25px}.reveal{background-attachment:scroll;padding:25px}.social{padding:90px 24px}.section-head{display:block}.section-copy{margin-top:25px}.social-grid{grid-template-columns:1fr}.social-tile{min-height:58vh}.finale{display:block;padding:90px 25px}.gallery-intro{grid-template-columns:1fr;padding:9vh 25px 6vh}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:38vw}.filters{padding-inline:25px}.footer{display:block;line-height:2}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.hero-bg,.review-reel{animation:none}}


/* Gallery: Instagram After Dark */
.after-dark{margin:110px auto 70px;padding:72px 5vw;border-top:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 50% 20%,rgba(145,0,18,.16),transparent 48%)}.after-dark-copy{max-width:760px;margin:0 auto 44px;text-align:center}.after-dark-copy h2{margin:12px 0 18px;font:56px/.98 Georgia,serif;color:#f4efe7}.after-dark-copy h2 em{color:#bc1321;font-weight:400}.after-dark-copy p{max-width:620px;margin:auto;color:#aaa;font:18px/1.65 Arial,sans-serif}.after-dark-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1120px;margin:auto}.after-dark-media iframe{display:block;width:100%;height:650px;border:1px solid rgba(255,255,255,.14);background:#090909}.after-dark-link{display:table;margin:34px auto 0;padding:16px 24px;border:1px solid rgba(255,255,255,.3);color:#f5f1ea;text-transform:uppercase;letter-spacing:.16em;font:12px/1 Arial,sans-serif;text-decoration:none}@media(max-width:900px){.after-dark{margin-top:70px;padding:54px 20px}.after-dark-copy h2{font-size:44px}.after-dark-media{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding-bottom:14px}.after-dark-media iframe{flex:0 0 82vw;width:82vw;height:610px;scroll-snap-align:center}}


/* Reserve page: live cross-platform availability */
.availability-overview{max-width:1280px;margin:0 auto;padding:70px 5vw 55px;background:#050505;color:#f3efe8}.availability-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:42px}.availability-heading h1{margin:10px 0 0;font:64px/.95 Georgia,serif}.availability-heading h1 em{color:#be1423;font-weight:400}.availability-heading p{color:#aaa;font:17px/1.65 Arial,sans-serif}.availability-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.availability-month{padding:22px;border:1px solid rgba(255,255,255,.14);background:#0b0b0b}.availability-month h2{margin:0 0 18px;color:#f3efe8;font:24px/1.1 Georgia,serif}.weekday-row,.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-row{margin-bottom:8px;color:#777;font:10px/1 Arial,sans-serif;text-align:center}.calendar-day,.empty{display:grid;place-items:center;aspect-ratio:1;border:1px solid transparent;font:12px/1 Arial,sans-serif}.calendar-day.is-open{border-color:rgba(255,255,255,.14);color:#eee;background:#121212}.calendar-day.is-booked{color:#fff;background:#86101a;border-color:#a71622}.calendar-day.is-past{opacity:.25}.availability-key{display:flex;gap:24px;margin:22px 0 0;color:#aaa;font:12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}.availability-key span{display:flex;align-items:center;gap:8px}.availability-key i{width:12px;height:12px;border:1px solid rgba(255,255,255,.2)}.open-dot{background:#121212}.booked-dot{background:#86101a}.availability-prompt{margin:24px 0 0;color:#d9d2ca;font:italic 17px/1.5 Georgia,serif}@media(max-width:980px){.availability-heading{grid-template-columns:1fr}.availability-heading h1{font-size:48px}.availability-months{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.availability-month{flex:0 0 82vw;scroll-snap-align:start}}


/* Reserve page: dark direct-booking presentation */
.booking-page {
  max-width: none;
  padding: 118px 6vw 90px;
  background: #030303;
  color: #eee9df;
}
.booking-page .availability-overview { max-width: 1320px; }
.direct-booking-panel {
  max-width: 1280px;
  margin: 0 auto;
  padding: 76px 5vw;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 8vw;
  background: linear-gradient(135deg,#0d0b0b,#050505 58%);
  border: 1px solid rgba(255,255,255,.14);
  color: #eee9df;
}
.direct-booking-copy h2 {
  margin: 14px 0 22px;
  font: 400 clamp(43px,5vw,72px)/.98 Georgia,serif;
}
.direct-booking-copy h2 em { color: #c91423; font-weight: 400; }
.direct-booking-copy > p,
.booking-partners p { color: #bcb6ae; font-size: 17px; line-height: 1.7; }
.direct-inclusions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px 30px;
  margin: 30px 0 34px;
  padding: 0;
  list-style: none;
}
.direct-inclusions li { position: relative; padding-left: 20px; color: #ddd6cd; line-height: 1.45; }
.direct-inclusions li::before { content: '•'; position: absolute; left: 0; color: #c91423; }
.direct-cta { color: #fff !important; }
.direct-booking-copy small { display: block; max-width: 580px; margin-top: 16px; color: #85807a; line-height: 1.55; }
.booking-partners {
  align-self: center;
  padding: 34px;
  border-left: 1px solid rgba(255,255,255,.16);
}
.booking-partners h3 { margin: 13px 0 14px; font: 400 31px/1.1 Georgia,serif; }
.partner-logos { display: flex; align-items: center; gap: 34px; margin-top: 28px; }
.partner-logo { text-decoration: none; transition: opacity .2s ease,transform .2s ease; }
.partner-logo:hover { opacity: .76; transform: translateY(-2px); }
.airbnb-logo { color: #ff385c !important; font: 700 27px/1 Arial,sans-serif; letter-spacing: -.05em; }
.vrbo-logo { color: #fff !important; font: 700 29px/1 Arial,sans-serif; letter-spacing: -.06em; }
@media (max-width: 820px) {
  .booking-page { padding: 88px 0 60px; }
  .booking-page .availability-overview { padding: 52px 24px 44px; }
  .direct-booking-panel { grid-template-columns: 1fr; gap: 50px; padding: 60px 24px; border-inline: 0; }
  .direct-inclusions { grid-template-columns: 1fr; }
  .booking-partners { padding: 30px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
}


/* Interactive availability pricing */
.calendar-day { appearance: none; padding: 0; font-family: inherit; }
.calendar-day.is-open:not(:disabled) { cursor: pointer; transition: border-color .18s ease,background .18s ease,color .18s ease; }
.calendar-day.is-open:not(:disabled):hover { border-color: #d51d2c; background: #241014; }
.calendar-day.is-in-range { background: #3a0d13 !important; border-color: #6e111b !important; }
.calendar-day.is-selected { background: #c91423 !important; border-color: #ef4452 !important; color: #fff !important; box-shadow: 0 0 0 2px rgba(201,20,35,.2); }
.availability-selection {
  margin-top: 28px;
  padding: 24px 26px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 30px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(110deg,#111,#090505);
}
.availability-selection span { display: block; color: #f1ece4; font: 400 22px/1.2 Georgia,serif; }
.availability-selection small { display: block; margin-top: 7px; color: #96908a; line-height: 1.4; }
.availability-selection strong { color: #fff; font: 400 30px/1 Georgia,serif; white-space: nowrap; }
.availability-selection p { grid-column: 1/-1; margin: 4px 0 0; color: #e2646f; font-size: 13px; }
@media(max-width:820px){
  .availability-selection { grid-template-columns: 1fr; padding: 22px 20px; }
  .availability-selection strong { margin-top: 10px; font-size: 27px; }
}
