/* ════ BLACK ROSE CLASSIC: STRICTLY SCOPED THEME ════ */

/* By attaching these variables to the specific WordPress template class, 
   they will ONLY exist on the Classic property page. */
body.page-template-page-classic {
  /* Classic Palette */
  --ink: #0e0c0b;
  --warm: #1a1612;
  --rose: #8B1A2E;
  --rose-mid: #a8233a;
  --rose-light: #c0394f;
  --gold: #C9A84C;
  --cream: #F4EFE8;
  --cream-dim: #e8e0d4;
  --white: #fff;
  --linen: #f9f5ef;
  --muted: rgba(14,12,11,0.48);
  --dim: rgba(14,12,11,0.28);
  --border: rgba(14,12,11,0.1);
  --border-h: rgba(14,12,11,0.2);
  --text-main: #0e0c0b;

  /* Apply the theme background and text color safely */
  background: var(--cream);
  color: var(--text-main);
}

/* ── HERO ── */
.hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; background:var(--cream); position:relative; overflow:hidden; }
.hero-left { display:flex; flex-direction:column; justify-content:flex-end; padding:100px 56px 72px; position:relative; z-index:2; }
.hero-texture { position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(255,255,255,.025) 79px,rgba(255,255,255,.025) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,255,255,.02) 79px,rgba(255,255,255,.02) 80px),var(--cream); }
.hero-num { position:absolute; bottom:60px; right:-20px; font-family:'Cormorant Garamond',serif; font-size:clamp(140px,16vw,220px); font-weight:300; color:rgba(255,255,255,.03); line-height:1; user-select:none; pointer-events:none; letter-spacing:-8px; }
.badge-row { display:flex; align-items:center; gap:12px; margin-bottom:24px; opacity:0; animation:fadeIn .8s .2s forwards; }
.prop-badge { font-size:9px; font-weight:400; letter-spacing:4px; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:8px; }
.prop-badge::before { content:''; width:20px; height:1px; background:var(--gold); opacity:.6; }
.prop-num-badge { font-size:9px; font-weight:400; letter-spacing:3px; text-transform:uppercase; color:var(--dim); border:1px solid var(--border); padding:3px 10px; }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(46px,5.5vw,76px); font-weight:300; line-height:1; color:var(--ink); margin-bottom:6px; opacity:0; animation:fadeIn .8s .35s forwards; }
.hero-title em { font-style:italic; color:var(--rose-light); }
.hero-sub-name { font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.5vw,28px); font-weight:300; font-style:italic; color:var(--muted); margin-bottom:36px; opacity:0; animation:fadeIn .8s .45s forwards; }
.hero-meta-row { display:flex; align-items:center; gap:0; margin-bottom:40px; opacity:0; animation:fadeIn .8s .55s forwards; }
.hero-meta-item { padding:14px 20px; border:1px solid rgba(14, 12, 11, 0.1); border-right:none; }
.hero-meta-item:last-child { border-right:1px solid rgba(255,255,255,.08); }
.hero-meta-label { font-size:8px; font-weight:300; letter-spacing:2.5px; text-transform:uppercase; color:var(--dim); margin-bottom:4px; }
.hero-meta-val { font-family:'Cormorant Garamond',serif; font-size:16px; font-weight:300; color:var(--ink); }
.hero-btns { display:flex; gap:10px; opacity:0; animation:fadeIn .8s .65s forwards; }
.btn-book { background:var(--rose); color:var(--white); font-family:'Jost',sans-serif; font-size:10px; font-weight:400; letter-spacing:3px; text-transform:uppercase; padding:13px 28px; border:none; cursor:pointer; transition:background .2s; }
.btn-book:hover { background:var(--rose-mid); }
.btn-ghost-light { background:transparent; color:var(--dim); font-family:'Jost',sans-serif; font-size:10px; font-weight:400; letter-spacing:3px; text-transform:uppercase; padding:13px 24px; border:1px solid rgba(14, 12, 11, 0.2); cursor:pointer; transition:all .2s; }
.btn-ghost-light:hover { border-color:rgba(255,255,255,.3); color:rgba(255,255,255,.75); }
.hero-direct-note { margin-top:14px; font-size:11px; font-weight:300; color:rgba(255,255,255,.22); opacity:0; animation:fadeIn .8s .8s forwards; }
.hero-direct-note a { color:rgba(201,168,76,.55); text-decoration:underline; cursor:pointer; }
.hero-right { position:relative; overflow:hidden; }
.hero-img-wrap { position:absolute; inset:0; opacity:0; animation:fadeIn .8s .3s forwards; }
.hero-photo-fill { width:100%; height:100%; background:linear-gradient(160deg,#1c1008 0%,#2e1e10 40%,#1a1208 100%); display:flex; align-items:center; justify-content:center; position:relative; }
.hero-photo-fill::after { content:''; position:absolute; left:0; top:0; bottom:0; width:60px; background:linear-gradient(to right,var(--ink),transparent); }
.hero-right-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(14,12,11,.35),transparent 40%); }
@keyframes fadeIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }

/* ── STAT STRIP ── */
.stat-strip { background:var(--linen); border-bottom:1px solid var(--border); display:grid; grid-template-columns:repeat(4,1fr); }
.s-stat { padding:26px 32px; border-right:1px solid var(--border); position:relative; overflow:hidden; transition:background .3s; cursor:default; }
.s-stat:last-child { border-right:none; }
.s-stat:hover { background:var(--cream-dim); }
.s-stat-n { font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:300; color:var(--ink); margin-bottom:3px; line-height:1; }
.s-stat-l { font-size:9px; font-weight:300; letter-spacing:2px; text-transform:uppercase; color:var(--dim); }
.s-stat-bar { position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--rose); transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.22,1,.36,1); }
.s-stat:hover .s-stat-bar { transform:scaleX(1); }

/* ── GLOBALS FOR CLASSIC ── */
.eyebrow { font-size:9px; font-weight:400; letter-spacing:5px; text-transform:uppercase; color:var(--rose); margin-bottom:12px; display:block; }
.section-h { font-family:'Cormorant Garamond',serif; font-size:clamp(32px,3.8vw,50px); font-weight:300; line-height:1.08; }
.section-h em { font-style:italic; color:var(--rose); }
.divider { width:100%; height:1px; background:var(--border); }

/* ── INTRO ── */
.intro-section { max-width:1200px; margin:0 auto; padding:96px 56px 80px; }
.intro-grid { display:grid; grid-template-columns:5fr 4fr; gap:80px; align-items:start; }
.intro-pull { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,2.8vw,34px); font-weight:300; font-style:italic; color:var(--ink); line-height:1.4; padding-left:24px; border-left:2px solid var(--rose); margin-bottom:36px; }
.intro-body { font-size:14px; font-weight:300; color:var(--muted); line-height:1.95; }
.intro-body p+p { margin-top:18px; }
.differentiator-card { background:var(--ink); color:var(--white); padding:36px 32px; position:relative; overflow:hidden; margin-bottom:2px; }
.differentiator-card::after { content:''; position:absolute; top:0; right:0; bottom:0; width:3px; background:var(--rose); }
.diff-eyebrow { font-size:9px; font-weight:400; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:block; opacity:.8; }
.diff-title { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; color:var(--white); margin-bottom:12px; line-height:1.2; }
.diff-body { font-size:12px; font-weight:300; color:rgba(255,255,255,.45); line-height:1.8; }
.diff-vs { background:var(--linen); border:1px solid var(--border); border-top:none; padding:20px 32px; display:flex; align-items:center; gap:12px; }
.diff-vs-label { font-size:10px; font-weight:300; letter-spacing:2px; text-transform:uppercase; color:var(--dim); }
.diff-vs-link { font-size:11px; font-weight:300; color:var(--rose); cursor:pointer; text-decoration:underline; transition:opacity .2s; }
.diff-vs-link:hover { opacity:.7; }

/* ── ROOMS ── */
.rooms-section { background:var(--linen); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:96px 0; }
.rooms-inner { max-width:1200px; margin:0 auto; padding:0 56px; }
.rooms-header { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:56px; }
.rooms-stack { display:flex; flex-direction:column; gap:2px; }
.room-row { display:grid; grid-template-columns:1fr 1.8fr; background:var(--white); border:1px solid var(--border); overflow:hidden; transition:border-color .3s; cursor:pointer; position:relative; }
.room-row:hover { border-color:rgba(139,26,46,.25); }
.room-row::before { content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--rose); transition:width .35s cubic-bezier(.22,1,.36,1); z-index:1; }
.room-row:hover::before { width:3px; }
.room-img { overflow:hidden; position:relative; min-height:200px; }
.room-img-fill { width:100%; height:100%; transition:transform .7s cubic-bezier(.22,1,.36,1); }
.room-row:hover .room-img-fill { transform:scale(1.04); }
.rph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; min-height:200px; }
.rph.standard { background:linear-gradient(145deg,#1a1510 0%,#2a2018 50%,#1a1510 100%); }
.rph.double { background:linear-gradient(145deg,#100f14 0%,#1a1824 50%,#100f14 100%); }
.room-info { padding:32px 36px; display:flex; flex-direction:column; justify-content:space-between; position:relative; z-index:2; }
.room-badge-row { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.room-type-badge { font-size:9px; font-weight:400; letter-spacing:2.5px; text-transform:uppercase; padding:4px 10px; border:1px solid; }
.room-type-badge.standard { color:var(--rose); border-color:rgba(139,26,46,.2); background:rgba(139,26,46,.04); }
.room-type-badge.double { color:#5a4a8a; border-color:rgba(90,74,138,.2); background:rgba(90,74,138,.04); }
.room-name { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; margin-bottom:8px; color:var(--ink); line-height:1.1}
.room-card-link{
    text-decoration: none;
}
.room-tagline { font-size:13px; font-weight:300; color:var(--muted); line-height:1.7; margin-bottom:24px; }
.room-feats { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:28px; }
.room-feat { font-size:9px; font-weight:300; letter-spacing:1.5px; text-transform:uppercase; color:#6b6159; padding:4px 10px; border:1px solid #6b6159; }
.room-footer { display:flex; align-items:center; justify-content:space-between; }
.room-cta-text { font-size:10px; font-weight:400; letter-spacing:2.5px; text-transform:uppercase; color:var(--rose); transition:letter-spacing .3s; }
.room-row:hover .room-cta-text { letter-spacing:3.5px; }
.room-arrow-icon { font-size:14px; color:var(--border-h); transition:all .3s; }
.room-row:hover .room-arrow-icon { color:var(--rose); transform:translateX(4px); }

/* ── AMENITIES ── */
.amenities-section { max-width:1200px; margin:0 auto; padding:96px 56px; }
.amenities-header { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:52px; }
.amenities-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); }
.am-item { background:var(--linen); padding:28px 24px; transition:background .3s; position:relative; overflow:hidden; }
.am-item:hover { background:var(--white); }
.am-item-top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:14px; }
.am-icon { opacity:.6; }
.am-check { width:16px; height:16px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.am-check-inner { width:6px; height:6px; background:var(--rose); opacity:0; transition:opacity .2s; }
.am-item:hover .am-check-inner { opacity:1; }
.am-name { font-family:'Cormorant Garamond',serif; font-size:17px; font-weight:400; color:var(--ink); margin-bottom:6px; }
.am-detail { font-size:11px; font-weight:300; color:var(--muted); line-height:1.65; }

/* ── GALLERY ── */
.gallery-section { background:var(--linen); padding:96px 56px; }
.gallery-inner { max-width:1200px; margin:0 auto; }
.gallery-header { display:flex; align-items:end; justify-content:space-between; margin-bottom:40px; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:auto auto; gap:3px; }
.g-item { overflow:hidden; cursor:pointer; position:relative; }
.g-item.wide { grid-column:span 2; }
.g-item.tall { grid-row:span 2; }
.g-fill { width:100%; height:100%; min-height:160px; transition:transform .7s cubic-bezier(.22,1,.36,1); display:flex; align-items:center; justify-content:center; }
.g-item:hover .g-fill { transform:scale(1.06); }
.g1 { background:linear-gradient(145deg,#180c08 0%,#2e1810 50%,#180c08 100%); }
.g2 { background:linear-gradient(145deg,#0e0c14 0%,#1a1628 50%,#0e0c14 100%); }
.g3 { background:linear-gradient(145deg,#0c100e 0%,#141820 50%,#0c100e 100%); }
.g4 { background:linear-gradient(145deg,#100c08 0%,#1e1610 50%,#100c08 100%); }
.g5 { background:linear-gradient(145deg,#14100e 0%,#241c18 50%,#14100e 100%); }
.g6 { background:linear-gradient(145deg,#0e0e14 0%,#181828 50%,#0e0e14 100%); }
.g-overlay { position:absolute; inset:0; background:rgba(14,12,11,0); transition:background .3s; }
.g-item:hover .g-overlay { background:rgba(139,26,46,.07); }
.g-label { position:absolute; bottom:12px; left:14px; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.22); z-index:2; opacity:0; transition:opacity .3s; }
.g-item:hover .g-label { opacity:1; }
.gallery-note { margin-top:16px; text-align:right; font-size:10px; font-weight:300; color:rgba(255,255,255,.2); letter-spacing:.5px; }

/* ── REVIEWS ── */
.reviews-section{max-width:1200px;margin:0 auto;padding:96px 56px}
.reviews-header{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;margin-bottom:56px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.review-card{background:var(--linen);border:1px solid var(--border);padding:32px 28px;transition:background .3s,border-color .3s}
.review-card:hover{background:var(--white);border-color:rgba(201,168,76,.2)}
.review-stars{display:flex;gap:2px;margin-bottom:18px}
.star{width:12px;height:12px;background:var(--gold);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.review-text{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:300;font-style:italic;color:var(--ink);line-height:1.65;margin-bottom:24px}
.review-meta{display:flex;align-items:center;gap:10px}
.review-av{width:32px;height:32px;border-radius:50%;background:rgba(139,26,46,.1);border:1px solid rgba(139,26,46,.2);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:400;color:var(--rose)}
.review-name{font-size:12px;font-weight:400;color:var(--ink)}
.review-src{font-size:10px;font-weight:300;letter-spacing:1px;color:var(--dim)}
.reviews-cta{margin-top:24px;text-align:center;font-size:11px;font-weight:300;color:var(--dim)}
.reviews-cta a{color:var(--rose);text-decoration:underline;cursor:pointer}

/* ── LOCATION ── */
.location-section {     background: var(--cream);
    padding: 96px 56px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border); }
.location-inner { max-width:1200px; margin:0 auto; }
.loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.loc-map { background:linear-gradient(145deg,#14100e 0%,#201810 50%,#14100e 100%); border:1px solid rgba(255,255,255,.07); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.loc-grid-lines { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:44px 44px; }
.loc-pin { width:20px; height:20px; background:var(--rose); border-radius:50% 50% 50% 0; transform:rotate(-45deg); border:1px solid rgba(255,255,255,.15); position:relative; z-index:2; }
.loc-text { color:var(--ink); }
.loc-eyebrow { color:#7a6020; font-size:9px; font-weight:400; letter-spacing:5px; text-transform:uppercase; margin-bottom:14px; display:block; }
.loc-title { font-family:'Cormorant Garamond',serif; font-size:clamp(30px,3.5vw,46px); font-weight:300; line-height:1.1; margin-bottom:20px; }
.loc-title em { font-style:italic; color:var(--rose-light); }
.loc-body {  font-size:14px; font-weight:300; color:var(--muted); line-height:1.9; margin-bottom:36px; }
.distances { display:flex; flex-direction:column; gap:0; margin-bottom:36px; }
.dist-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.dist-row:first-child { border-top:1px solid rgba(255,255,255,.06); }
.dist-place { font-size:12px; font-weight:300; color:rgba(255,255,255,.5); }
.dist-km { font-family:'Cormorant Garamond',serif; font-size:17px; font-weight:300; color:var(--white); }
.loc-addr { padding: 18px 22px;
    background: var(--linen);
    border: 1px solid var(--border);
    margin-bottom: 24px;}
.loc-addr-label { font-size:8px; font-weight:400; letter-spacing:3px; text-transform:uppercase; color:var(--rose-light); margin-bottom:8px; display:block; }
.loc-addr-text { font-family:'Cormorant Garamond',serif; font-size:15px; font-weight:300; color:var(--muted); line-height:1.7; }
.loc-btns { display:flex; gap:10px; }
.btn-light { 
    background: var(--rose);
    color: #fff;
    font-family: 'Jost', sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 12px 24px;
    border: none;
    cursor: pointer;
    transition: background .2s; }
.btn-light:hover { background:var(--rose-mid); }
.btn-ghost-dark {     
    background: transparent;
    color: var(--ink);
    font-family: 'Jost', sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 12px 20px;
    border: 1px solid var(--border-h);
    cursor: pointer;
    transition: all .2s; }
.btn-ghost-dark:hover { border-color:var(--rose); color:var(--rose); }

/* ── BOOKING STRIP ── */
.booking-strip { background:var(--rose); padding:72px 56px; display:flex; align-items:center; justify-content:space-between; gap:48px; position:relative; overflow:hidden; }
.booking-strip::before { content:''; position:absolute; top:-80px; right:-80px; width:240px; height:240px; border-radius:50%; background:rgba(0,0,0,.12); }
.booking-strip::after { content:''; position:absolute; bottom:-50px; left:280px; width:150px; height:150px; border-radius:50%; background:rgba(0,0,0,.08); }
.booking-text { position:relative; z-index:1; }
.booking-text h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(30px,4vw,50px); font-weight:300; margin-bottom:8px; color:var(--white); }
.booking-text h2 em { font-style:italic; opacity:.72; }
.booking-text p { font-size:13px; font-weight:300; color:rgba(255,255,255,.6); max-width:460px; line-height:1.85; }
.booking-actions { display:flex; flex-direction:column; align-items:flex-end; gap:12px; flex-shrink:0; position:relative; z-index:1; }
.btn-book-big { background:var(--white); color:var(--rose); font-family:'Jost',sans-serif; font-size:11px; font-weight:500; letter-spacing:3px; text-transform:uppercase; padding:16px 36px; border:none; cursor:pointer; transition:background .2s; white-space:nowrap; }
.btn-book-big:hover { background:var(--cream); }
.booking-note { font-size:11px; font-weight:300; color:rgba(255,255,255,.42); text-align:right; }
.booking-note a { color:rgba(255,255,255,.65); text-decoration:underline; cursor:pointer; }

/* ── RESPONSIVE BREADPOINTS ── */
@media(max-width:900px){
  .hero { grid-template-columns:1fr; }
  .hero-right { height:55vw; }
  .hero-left { padding:90px 24px 48px; }
  .hero-num { display:none; }
  .stat-strip { grid-template-columns:1fr 1fr; }
  .intro-section { padding:60px 24px; }
  .intro-grid { grid-template-columns:1fr; gap:40px; }
  .rooms-section { padding:60px 0; }
  .rooms-inner { padding:0 24px; }
  .rooms-header { grid-template-columns:1fr; gap:24px; }
  .room-row { grid-template-columns:1fr; }
  .amenities-section { padding:60px 24px; }
  .amenities-header { grid-template-columns:1fr; gap:24px; }
  .amenities-grid { grid-template-columns:1fr 1fr; }
  .gallery-section { padding:60px 24px; }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .g-item.wide, .g-item.tall { grid-column:auto; grid-row:auto; }
  .reviews-section { padding:60px 24px; }
  .reviews-header { grid-template-columns:1fr; gap:24px; }
  .reviews-grid { grid-template-columns:1fr; }
  .location-section { padding:60px 24px; }
  .loc-grid { grid-template-columns:1fr; }
  .booking-strip { flex-direction:column; padding:48px 24px; }
  .booking-actions { align-items:flex-start; }
}




/* ════ CSS ARMOR: PREVENT GLOBAL BLEED FROM OTHER PROPERTIES ════ */

/* 1. Force sections to be transparent so the Cream body color shows through */
body.page-template-page-classic .amenities-section,
body.page-template-page-classic .reviews-section,
body.page-template-page-classic .intro-section {
    background: transparent !important;
}

/* 2. Force standard headers to be Ink (Black) */
body.page-template-page-classic .section-h {
    color: var(--ink) !important;
}


