/* ============================================================
   Indigo Line Hotel — Design System
   All classes prefixed .ilh- so nothing clashes with the theme.
   Edit colours here (or in Elementor per-section).
   ============================================================ */
:root{
  --ilh-ink:#0A1F24;
  --ilh-ink-2:#0E2B32;
  --ilh-ink-3:#13383F;
  --ilh-gold:#F0A020;
  --ilh-gold-lt:#F5B94A;
  --ilh-gold-pale:#F7E3BE;
  --ilh-cream:#FBF6EE;
  --ilh-body:#3E5157;
  --ilh-muted:#71878D;
  --ilh-line:#E6DCCE;
  --ilh-r:14px;
  --ilh-r-lg:22px;
  --ilh-sh-sm:0 2px 10px rgba(10,31,36,.07);
  --ilh-sh:0 14px 40px -14px rgba(10,31,36,.22);
  --ilh-sh-lg:0 30px 70px -28px rgba(10,31,36,.38);
  --ilh-font:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ilh-font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ---------- base inside our sections ---------- */
.ilh-sec{font-family:var(--ilh-font-body);color:var(--ilh-body)}
.ilh-sec p{line-height:1.68}
.ilh-sec img{max-width:100%;height:auto;display:block}
.ilh-sec ul{list-style:none;margin:0;padding:0}

/* ---------- headings ---------- */
.ilh-eyebrow .elementor-heading-title,.ilh-eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--ilh-font);
  font-size:.705rem!important;font-weight:600;letter-spacing:.21em;text-transform:uppercase;
  color:var(--ilh-gold)!important;line-height:1.4}
.ilh-eyebrow .elementor-heading-title::before{content:"";width:26px;height:2px;background:var(--ilh-gold);border-radius:2px;flex:none}
.ilh-eyebrow-c .elementor-heading-title::after{content:"";width:26px;height:2px;background:var(--ilh-gold);border-radius:2px;flex:none}

.ilh-h1 .elementor-heading-title{font-family:var(--ilh-font);font-size:clamp(2.3rem,5.5vw,4rem);font-weight:600;line-height:1.08;letter-spacing:-.025em;color:#fff}
.ilh-h1 .elementor-heading-title em{font-style:normal;color:var(--ilh-gold)}
.ilh-h2 .elementor-heading-title{font-family:var(--ilh-font);font-size:clamp(1.85rem,3.6vw,2.7rem);font-weight:600;line-height:1.18;letter-spacing:-.02em;color:var(--ilh-ink)}
.ilh-h2-sm .elementor-heading-title{font-size:clamp(1.5rem,2.6vw,2rem)}
.ilh-h2-light .elementor-heading-title{color:#fff}

.ilh-lede .elementor-widget-container,.ilh-lede{font-size:1.055rem;color:var(--ilh-muted)}
.ilh-lede p:last-child{margin-bottom:0}
.ilh-lede-light .elementor-widget-container{color:rgba(255,255,255,.72)}
.ilh-body .elementor-widget-container{font-size:1rem;color:var(--ilh-body)}
.ilh-body b,.ilh-body strong{color:var(--ilh-ink)}
.ilh-center{text-align:center}
.ilh-center .ilh-eyebrow .elementor-heading-title{justify-content:center}

/* ---------- buttons ---------- */
.ilh-btn .elementor-button{
  font-family:var(--ilh-font);font-weight:600;font-size:.905rem;padding:14px 27px;
  border-radius:999px;border:1.6px solid transparent;transition:.22s ease;letter-spacing:.005em;
  display:inline-flex;align-items:center;gap:9px;line-height:1.3}
.ilh-btn-gold .elementor-button{background:var(--ilh-gold);color:#17120A;box-shadow:0 12px 26px -12px rgba(240,160,32,.85)}
.ilh-btn-gold .elementor-button:hover{background:var(--ilh-gold-lt);color:#17120A;transform:translateY(-2px)}
.ilh-btn-ghost .elementor-button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff}
.ilh-btn-ghost .elementor-button:hover{background:rgba(255,255,255,.17);border-color:#fff;color:#fff}
.ilh-btn-ink .elementor-button{background:var(--ilh-ink);color:#fff}
.ilh-btn-ink .elementor-button:hover{background:var(--ilh-ink-3);color:#fff;transform:translateY(-2px)}
.ilh-btn-out .elementor-button{background:#fff;border-color:var(--ilh-line);color:var(--ilh-ink)}
.ilh-btn-out .elementor-button:hover{border-color:var(--ilh-gold);color:var(--ilh-gold)}

/* plain <a> buttons used inside HTML widgets */
.ilh-x-gold,.ilh-x-ghost,.ilh-y-ink,.ilh-y-out{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--ilh-font);font-weight:600;font-size:.905rem;
  padding:14px 27px;border-radius:999px;text-decoration:none;transition:.22s;border:1.6px solid transparent;white-space:nowrap;line-height:1.3}
.ilh-x-gold{background:var(--ilh-gold);color:#17120A;box-shadow:0 12px 26px -12px rgba(240,160,32,.85)}
.ilh-x-gold:hover{background:var(--ilh-gold-lt);color:#17120A;transform:translateY(-2px)}
.ilh-x-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff}
.ilh-x-ghost:hover{background:rgba(255,255,255,.17);border-color:#fff;color:#fff}
.ilh-y-ink{background:var(--ilh-ink);color:#fff}
.ilh-y-ink:hover{background:var(--ilh-ink-3);color:#fff;transform:translateY(-2px)}
.ilh-y-out{background:#fff;border-color:rgba(23,18,10,.2);color:var(--ilh-ink)}
.ilh-y-out:hover{border-color:var(--ilh-ink);color:var(--ilh-ink)}
.ilh-btn-row{display:flex;gap:13px;flex-wrap:wrap;margin:6px 0 30px}
.ilh-btn-row-r{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:620px){.ilh-btn-row-r{justify-content:flex-start}}

/* ---------- section backgrounds ---------- */
.ilh-bg-cream{background:var(--ilh-cream);border-top:1px solid var(--ilh-line);border-bottom:1px solid var(--ilh-line)}
.ilh-bg-ink{background:var(--ilh-ink)}
.ilh-bg-ink .elementor-heading-title{color:#fff}
.ilh-bg-gold{background:linear-gradient(100deg,var(--ilh-gold) 0%,var(--ilh-gold-lt) 52%,#F8C96A 100%)}

/* ---------- hero ---------- */
.ilh-hero{position:relative;overflow:hidden}
.ilh-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(104deg,rgba(10,31,36,.95) 0%,rgba(10,31,36,.86) 38%,rgba(10,31,36,.5) 68%,rgba(10,31,36,.66) 100%)}
.ilh-hero>.elementor-container,.ilh-hero>.e-con-inner{position:relative;z-index:2}
.ilh-hero .elementor-widget-container{color:rgba(255,255,255,.84)}
.ilh-hero-sub .elementor-widget-container{color:rgba(255,255,255,.82);font-size:clamp(1rem,1.6vw,1.13rem);max-width:560px}

.ilh-offer-pill{display:inline-flex;align-items:center;gap:11px;background:linear-gradient(95deg,var(--ilh-gold),var(--ilh-gold-lt));
  color:#17120A;font-family:var(--ilh-font);font-weight:600;font-size:.87rem;padding:9px 19px 9px 11px;border-radius:999px;
  box-shadow:0 14px 30px -14px rgba(240,160,32,.9)}
.ilh-offer-pill i{font-style:normal;background:#17120A;color:var(--ilh-gold);font-size:.655rem;letter-spacing:.14em;padding:4px 10px;border-radius:999px;text-transform:uppercase}

.ilh-hstats{display:flex;gap:14px;flex-wrap:wrap}
.ilh-hstat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:11px 17px;backdrop-filter:blur(8px)}
.ilh-hstat b{display:block;font-family:var(--ilh-font);color:#fff;font-size:1.06rem;font-weight:600;line-height:1.2}
.ilh-hstat span{font-size:.735rem;color:rgba(255,255,255,.65);letter-spacing:.055em;text-transform:uppercase}

/* ---------- page header (inner pages) ---------- */
.ilh-phead{position:relative;overflow:hidden;background:var(--ilh-ink)}
.ilh-phead::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,31,36,.94),rgba(10,31,36,.72))}
.ilh-phead>.elementor-container,.ilh-phead>.e-con-inner{position:relative;z-index:2}
.ilh-crumb{font-size:.82rem;color:rgba(255,255,255,.6)}
.ilh-crumb a{color:var(--ilh-gold)}

/* ---------- trust strip ---------- */
.ilh-trust{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ilh-trust .ti{text-align:center;padding:12px 8px;border-right:1px solid var(--ilh-line)}
.ilh-trust .ti:last-child{border-right:none}
.ilh-trust svg{color:var(--ilh-gold);margin:0 auto 9px;display:block}
.ilh-trust b{display:block;font-family:var(--ilh-font);font-size:.845rem;font-weight:600;color:var(--ilh-ink);line-height:1.35}
.ilh-trust span{font-size:.735rem;color:var(--ilh-muted)}

/* ---------- about media ---------- */
.ilh-about-media{position:relative}
.ilh-about-media .m1{border-radius:var(--ilh-r-lg);overflow:hidden;box-shadow:var(--ilh-sh)}
.ilh-about-media .m1 img{aspect-ratio:4/3.1;object-fit:cover;width:100%}
.ilh-about-media .m2{position:absolute;right:-18px;bottom:-30px;width:46%;border-radius:18px;overflow:hidden;border:6px solid #fff;box-shadow:var(--ilh-sh)}
.ilh-about-media .m2 img{aspect-ratio:1/1;object-fit:cover}
.ilh-about-media .badge{position:absolute;left:-16px;top:26px;background:var(--ilh-ink);color:#fff;border-radius:16px;padding:15px 19px;box-shadow:var(--ilh-sh);text-align:center}
.ilh-about-media .badge b{display:block;font-family:var(--ilh-font);font-size:1.5rem;color:var(--ilh-gold);line-height:1}
.ilh-about-media .badge span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.7)}

.ilh-mv{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.ilh-mv .c{background:var(--ilh-cream);border:1px solid var(--ilh-line);border-radius:var(--ilh-r);padding:21px;border-top:3px solid var(--ilh-gold)}
.ilh-mv h4{font-family:var(--ilh-font);font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;color:var(--ilh-gold);margin:0 0 9px;font-weight:600}
.ilh-mv p{font-size:.925rem;color:var(--ilh-body);margin:0}

/* ---------- rooms ---------- */
.ilh-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ilh-room{background:#fff;border-radius:var(--ilh-r-lg);overflow:hidden;box-shadow:var(--ilh-sh-sm);border:1px solid var(--ilh-line);transition:.28s;display:flex;flex-direction:column}
.ilh-room:hover{transform:translateY(-6px);box-shadow:var(--ilh-sh);border-color:rgba(240,160,32,.45)}
.ilh-room .img{position:relative;aspect-ratio:16/10.5;overflow:hidden;background:var(--ilh-ink-2)}
.ilh-room .img img{width:100%;height:100%;object-fit:cover;transition:.6s}
.ilh-room:hover .img img{transform:scale(1.06)}
.ilh-room .tag{position:absolute;top:13px;left:13px;background:rgba(10,31,36,.9);color:#fff;font-family:var(--ilh-font);font-size:.685rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:6px 13px;border-radius:999px}
.ilh-room .tag.hot{background:var(--ilh-gold);color:#17120A}
.ilh-room .b{padding:23px;display:flex;flex-direction:column;flex:1}
.ilh-room h3{font-family:var(--ilh-font);font-size:1.19rem;color:var(--ilh-ink);margin:0 0 8px;font-weight:600;letter-spacing:-.01em}
.ilh-room .b>p{font-size:.91rem;color:var(--ilh-muted);margin:0 0 15px;flex:1}
.ilh-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:17px}
.ilh-chips span{font-size:.745rem;background:var(--ilh-cream);border:1px solid var(--ilh-line);color:var(--ilh-body);padding:4px 11px;border-radius:999px;white-space:nowrap}
.ilh-room .f{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--ilh-line)}
.ilh-room .f .price b{font-family:var(--ilh-font);font-size:1.26rem;color:var(--ilh-ink);font-weight:600;display:block;line-height:1.2}
.ilh-room .f .price .ask{font-size:1rem}
.ilh-room .f .price span{font-size:.75rem;color:var(--ilh-muted);display:block;line-height:1.3}
.ilh-room .f a{font-family:var(--ilh-font);font-size:.84rem;font-weight:600;padding:10px 20px;border-radius:999px;border:1.6px solid var(--ilh-line);color:var(--ilh-ink);background:#fff;transition:.2s;text-decoration:none;white-space:nowrap}
.ilh-room .f a:hover{border-color:var(--ilh-gold);color:var(--ilh-gold)}
.ilh-room .f a.gold{background:var(--ilh-gold);border-color:var(--ilh-gold);color:#17120A}
.ilh-room .f a.gold:hover{background:var(--ilh-gold-lt);border-color:var(--ilh-gold-lt);color:#17120A}

/* placeholder art for missing photos */
.ilh-ph{width:100%;height:100%;background:linear-gradient(135deg,#0E2B32,#13383F 55%,#0A1F24);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;position:relative;overflow:hidden;min-height:160px}
.ilh-ph::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 22% 28%,rgba(240,160,32,.2),transparent 48%),radial-gradient(circle at 78% 76%,rgba(240,160,32,.14),transparent 46%)}
.ilh-ph svg{color:rgba(240,160,32,.72);position:relative}
.ilh-ph span{position:relative;font-family:var(--ilh-font);font-size:.695rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.42);text-align:center;padding:0 14px}

/* ---------- feature grid ---------- */
.ilh-fg{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.ilh-fg .fi{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ilh-line);border-radius:13px;padding:15px 16px;transition:.2s}
.ilh-fg .fi:hover{border-color:var(--ilh-gold);box-shadow:var(--ilh-sh-sm);transform:translateY(-2px)}
.ilh-fg .ic{flex:none;width:38px;height:38px;border-radius:10px;background:rgba(240,160,32,.12);display:grid;place-items:center;color:var(--ilh-gold)}
.ilh-fg b{font-family:var(--ilh-font);font-size:.885rem;font-weight:500;color:var(--ilh-ink);line-height:1.34}

/* ---------- tabs ---------- */
.ilh-tabs{display:flex;gap:9px;justify-content:center;margin-bottom:34px;flex-wrap:wrap}
.ilh-tabs button{font-family:var(--ilh-font);font-size:.86rem;font-weight:500;padding:10px 22px;border-radius:999px;border:1.5px solid var(--ilh-line);background:#fff;color:var(--ilh-body);cursor:pointer;transition:.2s}
.ilh-tabs button:hover{border-color:var(--ilh-gold);color:var(--ilh-ink)}
.ilh-tabs button.on{background:var(--ilh-ink);border-color:var(--ilh-ink);color:#fff}
.ilh-panel{display:none}
.ilh-panel.on{display:block;animation:ilhfade .35s ease}
@keyframes ilhfade{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

/* ---------- services ---------- */
.ilh-serv{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.ilh-serv .s{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;background:var(--ilh-cream);border:1px solid var(--ilh-line);border-radius:12px}
.ilh-serv svg{flex:none;color:var(--ilh-gold);margin-top:2px}
.ilh-serv span{font-size:.9rem;color:var(--ilh-ink);font-family:var(--ilh-font);font-weight:500}

/* ---------- restaurant ---------- */
.ilh-rest-media{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.ilh-rest-media>div{border-radius:16px;overflow:hidden;box-shadow:var(--ilh-sh)}
.ilh-rest-media>div:first-child{grid-column:span 2;aspect-ratio:16/8.6}
.ilh-rest-media>div:not(:first-child){aspect-ratio:1/1}
.ilh-rest-media img{width:100%;height:100%;object-fit:cover}
.ilh-dine{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ilh-dine .d{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:12px 14px;font-size:.885rem;color:rgba(255,255,255,.86);font-family:var(--ilh-font)}
.ilh-dine svg{color:var(--ilh-gold);flex:none}

/* ---------- offer band ---------- */
.ilh-band{color:#17120A}
.ilh-band h3{font-family:var(--ilh-font);color:#17120A;font-size:clamp(1.4rem,2.7vw,1.95rem);margin:0 0 7px;font-weight:700;line-height:1.2}
.ilh-band p{color:rgba(23,18,10,.76);margin:0;font-size:.98rem}
.ilh-band .hot{display:inline-flex;align-items:center;gap:7px;background:#17120A;color:var(--ilh-gold);font-family:var(--ilh-font);font-size:.695rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:12px}

/* ---------- locations ---------- */
.ilh-locs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ilh-loc{background:#fff;border:1px solid var(--ilh-line);border-radius:var(--ilh-r-lg);padding:26px 22px;transition:.25s;position:relative;overflow:hidden}
.ilh-loc::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--ilh-gold);transition:.35s}
.ilh-loc:hover::before{width:100%}
.ilh-loc:hover{transform:translateY(-5px);box-shadow:var(--ilh-sh);border-color:rgba(240,160,32,.4)}
.ilh-loc .pin{width:42px;height:42px;border-radius:12px;background:rgba(240,160,32,.12);display:grid;place-items:center;color:var(--ilh-gold);margin-bottom:15px}
.ilh-loc .lab{font-size:.685rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ilh-gold);font-family:var(--ilh-font);font-weight:600;margin-bottom:10px;display:block}
.ilh-loc h3{font-family:var(--ilh-font);font-size:1.19rem;color:var(--ilh-ink);margin:0 0 5px;font-weight:600}
.ilh-loc p{font-size:.885rem;color:var(--ilh-muted);margin:0}
.ilh-loc.main{background:var(--ilh-ink);border-color:var(--ilh-ink)}
.ilh-loc.main h3{color:#fff}
.ilh-loc.main p{color:rgba(255,255,255,.66)}
.ilh-loc.main .pin{background:rgba(240,160,32,.2)}

/* ---------- nearby ---------- */
.ilh-near{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.ilh-near .n{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--ilh-line);border-radius:12px;padding:14px 18px}
.ilh-near span{font-size:.915rem;color:var(--ilh-ink);font-family:var(--ilh-font);font-weight:500}
.ilh-near b{font-size:.82rem;color:var(--ilh-gold);font-family:var(--ilh-font);font-weight:600;white-space:nowrap}

/* ---------- gallery ---------- */
.ilh-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:168px;gap:13px}
.ilh-gal>div{border-radius:14px;overflow:hidden;box-shadow:var(--ilh-sh-sm)}
.ilh-gal img{width:100%;height:100%;object-fit:cover;transition:.55s}
.ilh-gal>div:hover img{transform:scale(1.07)}
.ilh-gal .w2{grid-column:span 2}
.ilh-gal .h2{grid-row:span 2}

/* ---------- contact ---------- */
.ilh-ct{display:grid;gap:13px}
.ilh-ct .i{display:flex;gap:15px;align-items:flex-start;background:#fff;border:1px solid var(--ilh-line);border-radius:14px;padding:18px}
.ilh-ct .ic{flex:none;width:43px;height:43px;border-radius:12px;background:var(--ilh-ink);color:var(--ilh-gold);display:grid;place-items:center}
.ilh-ct h4{font-family:var(--ilh-font);font-size:.705rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ilh-muted);margin:0 0 5px;font-weight:600}
.ilh-ct p{margin:0;font-size:.975rem;color:var(--ilh-ink);font-family:var(--ilh-font);font-weight:500;line-height:1.5}
.ilh-ct p small{display:block;font-family:var(--ilh-font-body);font-weight:400;font-size:.835rem;color:var(--ilh-muted);margin-top:2px}
.ilh-ct a{color:inherit;text-decoration:none}
.ilh-map{border-radius:var(--ilh-r);overflow:hidden;border:1px solid var(--ilh-line);line-height:0}
.ilh-map iframe{width:100%;height:320px;border:0;display:block}

/* ---------- Contact Form 7 styling ---------- */
.ilh-form{background:var(--ilh-ink);border-radius:var(--ilh-r-lg);padding:34px;box-shadow:var(--ilh-sh)}
.ilh-form .ilh-form-h{font-family:var(--ilh-font);color:#fff;font-size:1.3rem;font-weight:600;margin:0 0 5px}
.ilh-form .ilh-form-p{color:rgba(255,255,255,.6);font-size:.9rem;margin:0 0 22px}
.ilh-form .wpcf7-form p{margin:0 0 12px}
.ilh-form .ilh-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.ilh-form label{display:block;font-family:var(--ilh-font);font-size:.665rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:6px;font-weight:600}
.ilh-form input[type=text],.ilh-form input[type=email],.ilh-form input[type=tel],
.ilh-form input[type=date],.ilh-form input[type=number],.ilh-form select,.ilh-form textarea{
  width:100%;background:rgba(255,255,255,.07);border:1.4px solid rgba(255,255,255,.16);border-radius:11px;
  padding:12px 14px;color:#fff;font-family:var(--ilh-font-body);font-size:.915rem;outline:none;transition:.18s;
  -webkit-appearance:none;appearance:none}
.ilh-form input::placeholder,.ilh-form textarea::placeholder{color:rgba(255,255,255,.34)}
.ilh-form input:focus,.ilh-form select:focus,.ilh-form textarea:focus{border-color:var(--ilh-gold);background:rgba(255,255,255,.12)}
.ilh-form select option{color:#14262B;background:#fff}
.ilh-form textarea{resize:vertical;min-height:88px}
.ilh-form input[type=submit]{
  width:100%;background:var(--ilh-gold);color:#17120A;border:0;border-radius:999px;padding:15px 27px;
  font-family:var(--ilh-font);font-weight:600;font-size:.95rem;cursor:pointer;transition:.22s;margin-top:6px}
.ilh-form input[type=submit]:hover{background:var(--ilh-gold-lt);transform:translateY(-2px)}
.ilh-form .wpcf7-not-valid-tip{color:#FFC9A0;font-size:.78rem;margin-top:4px}
.ilh-form .wpcf7-response-output{border-color:var(--ilh-gold)!important;color:var(--ilh-gold-pale);border-radius:11px;font-size:.88rem;margin:16px 0 0;padding:12px 16px}
.ilh-form .wpcf7-spinner{background-color:var(--ilh-gold)}

/* ---------- header / footer templates ---------- */
.ilh-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.ilh-logo svg{flex:none}
.ilh-logo .l1{display:block;font-family:var(--ilh-font);font-weight:600;font-size:1.19rem;letter-spacing:-.025em;color:#fff;line-height:1}
.ilh-logo .l2{display:flex;align-items:center;gap:6px;font-family:var(--ilh-font);font-size:.555rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ilh-gold);margin-top:3px}
.ilh-logo .l2::before,.ilh-logo .l2::after{content:"";height:1px;width:15px;background:var(--ilh-gold);opacity:.75}

.ilh-topbar{background:var(--ilh-ink);color:rgba(255,255,255,.76);font-family:var(--ilh-font-body);font-size:.795rem;border-bottom:1px solid rgba(255,255,255,.08)}
.ilh-topbar .in{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;flex-wrap:wrap}
.ilh-topbar .l{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ilh-topbar a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.ilh-topbar a:hover{color:var(--ilh-gold)}
.ilh-topbar .r{display:flex;align-items:center;gap:8px;color:var(--ilh-gold-pale)}
.ilh-topbar .r b{font-weight:600;color:var(--ilh-gold)}

.ilh-hdr{background:var(--ilh-ink);border-bottom:1px solid rgba(255,255,255,.09);position:relative;z-index:50}
.ilh-hdr .in{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.ilh-nav{display:flex;align-items:center;gap:3px;list-style:none;margin:0;padding:0}
.ilh-nav li{margin:0}
.ilh-nav a{font-family:var(--ilh-font);font-size:.845rem;font-weight:500;color:rgba(255,255,255,.8);padding:9px 13px;border-radius:9px;transition:.18s;text-decoration:none;display:block}
.ilh-nav a:hover,.ilh-nav .current-menu-item>a{color:#fff;background:rgba(255,255,255,.08)}
.ilh-hdr .cta{display:flex;align-items:center;gap:10px}
.ilh-hdr .cta .book{font-family:var(--ilh-font);font-weight:600;font-size:.84rem;padding:10px 20px;border-radius:999px;background:var(--ilh-gold);color:#17120A;text-decoration:none;transition:.22s;white-space:nowrap}
.ilh-hdr .cta .book:hover{background:var(--ilh-gold-lt)}
.ilh-burger{display:none;width:42px;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);cursor:pointer;align-items:center;justify-content:center;padding:0}
.ilh-burger i{display:block;width:17px;height:1.8px;background:#fff;border-radius:2px;position:relative;transition:.25s}
.ilh-burger i::before,.ilh-burger i::after{content:"";position:absolute;left:0;width:17px;height:1.8px;background:#fff;border-radius:2px;transition:.25s}
.ilh-burger i::before{top:-5.5px}.ilh-burger i::after{top:5.5px}
.ilh-burger.on i{background:transparent}
.ilh-burger.on i::before{top:0;transform:rotate(45deg)}
.ilh-burger.on i::after{top:0;transform:rotate(-45deg)}

.ilh-ft{background:var(--ilh-ink);color:rgba(255,255,255,.62);font-family:var(--ilh-font-body);padding-top:64px}
.ilh-ft .in{max-width:1180px;margin:0 auto;padding:0 22px}
.ilh-ft-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:40px;padding-bottom:48px}
.ilh-ft h4{font-family:var(--ilh-font);color:#fff;font-size:.775rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 17px;font-weight:600}
.ilh-ft p{font-size:.9rem;line-height:1.75;margin:0 0 12px}
.ilh-ft ul{list-style:none;margin:0;padding:0}
.ilh-ft ul li{margin-bottom:9px}
.ilh-ft a{color:rgba(255,255,255,.62);text-decoration:none;font-size:.9rem;transition:.18s}
.ilh-ft ul a:hover{color:var(--ilh-gold);padding-left:4px}
.ilh-ft .gold{color:var(--ilh-gold);font-weight:600}
.ilh-soc{display:flex;gap:9px;margin-top:17px}
.ilh-soc a{width:37px;height:37px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:rgba(255,255,255,.78);transition:.2s}
.ilh-soc a:hover{background:var(--ilh-gold);color:#17120A;transform:translateY(-2px)}
.ilh-ft-b{border-top:1px solid rgba(255,255,255,.1);padding:21px 0;display:flex;justify-content:space-between;gap:16px;font-size:.825rem;flex-wrap:wrap}
.ilh-ft-b a:hover{color:var(--ilh-gold)}

/* ---------- floating buttons ---------- */
.ilh-floats{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:11px}
.ilh-floats a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(0,0,0,.42);transition:.22s;color:#fff;text-decoration:none}
.ilh-floats a:hover{transform:translateY(-3px) scale(1.05)}
.ilh-floats .wa{background:#25D366}
.ilh-floats .ph{background:var(--ilh-gold);color:#17120A}

/* ---------- responsive ---------- */
@media(max-width:1040px){
  .ilh-rooms,.ilh-near,.ilh-serv{grid-template-columns:repeat(2,1fr)}
  .ilh-fg{grid-template-columns:repeat(3,1fr)}
  .ilh-locs{grid-template-columns:repeat(2,1fr)}
  .ilh-trust{grid-template-columns:repeat(3,1fr)}
  .ilh-trust .ti:nth-child(3n){border-right:none}
  .ilh-ft-g{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .ilh-about-media .m2{display:none}
  .ilh-gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .ilh-topbar .l span:nth-child(3),.ilh-topbar .l a:nth-child(3){display:none}
  .ilh-burger{display:flex}
  .ilh-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--ilh-ink);
    padding:10px 16px 20px;gap:0;display:none;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
  .ilh-nav.open{display:flex}
  .ilh-nav a{padding:14px 10px;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.07)}
}
@media(max-width:620px){
  .ilh-fg,.ilh-rooms,.ilh-near,.ilh-serv,.ilh-locs,.ilh-dine,.ilh-mv,.ilh-form .ilh-row{grid-template-columns:1fr}
  .ilh-trust{grid-template-columns:repeat(2,1fr);gap:0}
  .ilh-trust .ti{border-right:none;border-bottom:1px solid var(--ilh-line)}
  .ilh-ft-g{grid-template-columns:1fr;gap:32px}
  .ilh-topbar{display:none}
  .ilh-form{padding:24px}
  .ilh-about-media .badge{left:12px;top:12px}
  .ilh-hstats{gap:9px}
}

/* ============================================================
   OVERRIDE LAYER
   This stylesheet is loaded after the theme and after Elementor,
   but Elementor's Global Kit still sets heading colours and sizes
   with high specificity — so the design-critical rules below are
   marked !important. Change the values here, not the rules above.
   ============================================================ */

/* ---- sticky header ---- */
.ilh-hdr{position:sticky;top:0;z-index:999}
body.admin-bar .ilh-hdr{top:32px}
@media screen and (max-width:782px){body.admin-bar .ilh-hdr{top:46px}}
/* Fallback for setups where the header sits inside a wrapper that is too
   short for position:sticky to travel (added by the script). */
body.ilh-fixed-hdr .ilh-hdr{position:fixed;left:0;right:0;top:0}
body.admin-bar.ilh-fixed-hdr .ilh-hdr{top:32px}
@media screen and (max-width:782px){body.admin-bar.ilh-fixed-hdr .ilh-hdr{top:46px}}
.ilh-hdr-spacer{display:block;width:100%}

/* ---- Elementor spacing rhythm inside our sections ---- */
.ilh-sec .elementor-widget{margin-bottom:20px}
.ilh-sec .elementor-widget:last-child{margin-bottom:0}
.ilh-sec .elementor-widget.ilh-eyebrow{margin-bottom:12px}
.ilh-sec .elementor-widget.ilh-h1,
.ilh-sec .elementor-widget.ilh-h2{margin-bottom:16px}
.ilh-sec .elementor-widget.ilh-lede,
.ilh-sec .elementor-widget.ilh-body,
.ilh-sec .elementor-widget.ilh-hero-sub{margin-bottom:26px}
.ilh-sec .elementor-widget-wrap{align-content:flex-start}

/* ---- hero: full-height, vertically centred, like the design ---- */
.ilh-hero{min-height:min(92vh,820px);display:flex;align-items:center}
.ilh-hero>.elementor-container{width:100%;align-items:center}
.ilh-hero .elementor-widget{max-width:640px}
.ilh-hero .ilh-offer-pill{margin-bottom:4px}
@media(max-width:900px){
  .ilh-hero{min-height:auto}
  .ilh-hero .elementor-widget{max-width:none}
}

/* ---- typography: hold the brand styling against theme + Elementor kit ---- */
.ilh-sec .elementor-heading-title{font-family:var(--ilh-font)!important;margin:0!important}
.ilh-h1 .elementor-heading-title{
  font-size:clamp(2.3rem,5.5vw,4rem)!important;color:#fff!important;font-weight:600!important;
  line-height:1.08!important;letter-spacing:-.025em!important}
.ilh-h1 .elementor-heading-title em{font-style:normal!important;color:var(--ilh-gold)!important}
.ilh-h2 .elementor-heading-title{
  font-size:clamp(1.85rem,3.6vw,2.7rem)!important;color:var(--ilh-ink)!important;font-weight:600!important;
  line-height:1.18!important;letter-spacing:-.02em!important}
.ilh-h2-sm .elementor-heading-title{font-size:clamp(1.5rem,2.6vw,2rem)!important}
.ilh-h2-light .elementor-heading-title{color:#fff!important}
.ilh-eyebrow .elementor-heading-title{
  color:var(--ilh-gold)!important;font-size:.705rem!important;font-weight:600!important;
  letter-spacing:.21em!important;text-transform:uppercase!important;line-height:1.4!important}
.ilh-sec .elementor-widget-text-editor{font-family:var(--ilh-font-body)!important}
.ilh-lede .elementor-widget-container{color:var(--ilh-muted)!important;font-size:1.055rem!important}
.ilh-lede-light .elementor-widget-container{color:rgba(255,255,255,.72)!important}
.ilh-body .elementor-widget-container{color:var(--ilh-body)!important}
.ilh-hero-sub .elementor-widget-container{color:rgba(255,255,255,.82)!important;font-size:clamp(1rem,1.6vw,1.13rem)!important}
.ilh-sec .elementor-widget-text-editor p{margin:0 0 1rem}
.ilh-sec .elementor-widget-text-editor p:last-child{margin-bottom:0}
.ilh-sec h3,.ilh-sec h4{font-family:var(--ilh-font)!important}

/* ---- buttons ---- */
.ilh-btn .elementor-button{font-family:var(--ilh-font)!important;border-radius:999px!important;font-size:.905rem!important;padding:14px 27px!important}
.ilh-btn-gold .elementor-button{background-color:var(--ilh-gold)!important;color:#17120A!important}
.ilh-btn-gold .elementor-button:hover{background-color:var(--ilh-gold-lt)!important;color:#17120A!important}
.ilh-btn-ink .elementor-button{background-color:var(--ilh-ink)!important;color:#fff!important}
.ilh-btn-out .elementor-button{background-color:#fff!important;color:var(--ilh-ink)!important;border:1.6px solid var(--ilh-line)!important}

/* ---- enquiry form: the dark card and its fields ---- */
.elementor-column.ilh-form{background:var(--ilh-ink)!important;border-radius:var(--ilh-r-lg);box-shadow:var(--ilh-sh)}
.elementor-column.ilh-form>.elementor-widget-wrap{padding:34px!important}
.ilh-form .elementor-widget{margin-bottom:0!important}
.ilh-form .wpcf7-form p{margin:0 0 12px!important}
.ilh-form .wpcf7-form .ilh-row p{margin:0!important}
.ilh-form label{
  display:block!important;font-family:var(--ilh-font)!important;font-size:.665rem!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;color:rgba(255,255,255,.55)!important;
  margin:0 0 6px!important;font-weight:600!important}
.ilh-form .wpcf7-form-control-wrap{display:block;width:100%}
.ilh-form input[type=text],.ilh-form input[type=email],.ilh-form input[type=tel],
.ilh-form input[type=date],.ilh-form input[type=number],.ilh-form select,.ilh-form textarea{
  width:100%!important;background:rgba(255,255,255,.07)!important;border:1.4px solid rgba(255,255,255,.16)!important;
  border-radius:11px!important;padding:12px 14px!important;color:#fff!important;
  font-family:var(--ilh-font-body)!important;font-size:.915rem!important;box-shadow:none!important;
  -webkit-appearance:none;appearance:none;max-width:100%}
.ilh-form input:focus,.ilh-form select:focus,.ilh-form textarea:focus{
  border-color:var(--ilh-gold)!important;background:rgba(255,255,255,.12)!important;outline:none!important}
.ilh-form input::placeholder,.ilh-form textarea::placeholder{color:rgba(255,255,255,.34)!important}
.ilh-form select{background-image:none!important}
.ilh-form select option{color:#14262B;background:#fff}
.ilh-form textarea{min-height:88px!important}
.ilh-form input[type=submit],.ilh-form .wpcf7-submit{
  width:100%!important;background:var(--ilh-gold)!important;color:#17120A!important;border:0!important;
  border-radius:999px!important;padding:15px 27px!important;font-family:var(--ilh-font)!important;
  font-weight:600!important;font-size:.95rem!important;cursor:pointer;transition:.22s;margin-top:6px!important;
  text-transform:none!important;letter-spacing:0!important}
.ilh-form input[type=submit]:hover,.ilh-form .wpcf7-submit:hover{background:var(--ilh-gold-lt)!important;transform:translateY(-2px)}
.ilh-form .wpcf7-not-valid-tip{color:#FFC9A0!important;font-size:.78rem!important}
.ilh-form .wpcf7-response-output{
  border:1px solid var(--ilh-gold)!important;color:var(--ilh-gold-pale)!important;border-radius:11px!important;
  font-size:.88rem!important;margin:16px 0 0!important;padding:12px 16px!important}
.ilh-form .wpcf7-spinner{background-color:var(--ilh-gold)!important}
.ilh-form-h{font-family:var(--ilh-font);color:#fff;font-size:1.3rem;font-weight:600;margin:0 0 5px}
.ilh-form-p{color:rgba(255,255,255,.6);font-size:.9rem;margin:0 0 22px}

/* ---- keep our own lists and links clean of theme styling ---- */
.ilh-sec ul,.ilh-ft ul,.ilh-nav{list-style:none!important;margin:0;padding:0}
.ilh-sec ul li::marker,.ilh-ft ul li::marker{content:none}
.ilh-hdr a,.ilh-ft a,.ilh-topbar a{text-decoration:none!important;box-shadow:none!important}
.ilh-room .f a,.ilh-x-gold,.ilh-x-ghost,.ilh-y-ink,.ilh-y-out{text-decoration:none!important}
