/* Elkton Lodge: a warm, editorial hospitality design.
   Loaded last so every public, booking and account page shares these tokens. */
:root {
  --primary-color: #943e35;
  --el-ink: #231f20;
  --el-muted: #686260;
  --el-line: #dedad6;
  --el-cream: #f5f3ef;
  --body-color: #514c49;
  --body-font: Arial, Helvetica, sans-serif;
  --heading-font: Arial, Helvetica, sans-serif;
  --acct-line: #dedad6;
  --acct-ink: #231f20;
  --acct-muted: #686260;
  --acct-accent: #943e35;
  --acct-soft: #f5f3ef;
  --acct-dark: #231f20;
  --box-shadow-1: 0 8px 28px rgb(35 31 32 / 7%);
  --box-shadow-2: 0 3px 14px rgb(35 31 32 / 5%);
}
body { background: #fff; font-size: 16px; line-height: 1.65; }
h1, h2, h3, h4, h5, h6 { color: var(--el-ink); font-weight: 600; letter-spacing: -.035em; }
h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.18; }
p { line-height: 1.7; }
::selection { background: #ead1ca; color: #231f20; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--primary-color); outline-offset: 4px; }
section[id], #main { scroll-margin-top: 110px; }
.container { max-width: 1240px; padding-left: 32px; padding-right: 32px; }
.section-padding { padding-top: 76px; padding-bottom: 76px; }
.section-head { margin-bottom: 32px; }
.section-head p { max-width: 720px; margin-top: 14px; }
.subtitle__one, .eyebrow { padding-left: 0; font-size: 11px; font-weight: 700; letter-spacing: .16em; color: var(--primary-color); }
.subtitle__one::before { display: none; }
.theme-btn, .theme-border-btn { border-radius: 30px; padding: 13px 26px; font-family: var(--body-font); font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; line-height: 1.4; min-height: 48px; }
.theme-btn { background: var(--el-ink); border: 1px solid var(--el-ink); color: #fff; }
.theme-btn::before, .theme-btn::after, .theme-border-btn::before, .theme-border-btn::after { display: none; }
.theme-btn:hover, .theme-btn:focus-visible { background: var(--primary-color); border-color: var(--primary-color); color: #fff; }
.theme-border-btn { background: transparent; color: var(--el-ink); border: 1px solid var(--el-ink); }
.theme-border-btn:hover { background: var(--el-ink); border-color: var(--el-ink); color: #fff; }
.simple-btn { color: var(--primary-color); font-family: var(--body-font); }

/* White two-level navigation and a compact reservation action. */
.top__bar { background: #f5f3ef; color: #514c49; font-size: 12px; border-top: 4px solid var(--el-ink); }
.top__bar-inner { min-height: 40px; }
.top__bar a:hover { color: var(--primary-color); }
.top__bar i { color: #514c49; }
.header-stay-times { display: none; }
.header__area { padding: 0; border-bottom: 1px solid var(--el-line); }
.custom__container { max-width: 1440px; padding-left: 32px; padding-right: 32px; }
.header__area-menubar { min-height: 88px; gap: 24px; }
.header__area-menubar-left { flex: 0 0 160px; }
.header__area-menubar-left-logo img, .header__sticky-sticky-menu .header__area-menubar-left-logo img { width: 156px; }
.header__area-menubar-right { flex: 1; }
.header__area-menubar-right-menu > ul > li { margin: 0 3px; }
.header__area-menubar-right-menu > ul > li > a { padding: 31px 10px; font-size: 13px; font-weight: 600; letter-spacing: 0; }
.header__area-menubar-right-menu ul li.menu-item-has-children > a { padding-right: 24px; }
.header__area-menubar-right-menu > ul > li.active > a { color: var(--el-ink); box-shadow: inset 0 -3px var(--primary-color); }
.header__area-menubar-right-menu ul li .sub-menu { border-top: 3px solid var(--primary-color); box-shadow: var(--box-shadow-1); }
.header__area-menubar-right-menu ul li:focus-within > .sub-menu { visibility: visible; opacity: 1; top: 100%; transform: none; }
.header__area-menubar-right-box-btn { display: flex; align-items: center; }
.header__area-menubar-right-box-btn .theme-btn { font-size: 13px; padding: 0 22px; }
.header__area-menubar-right-box .header__call, .header__account { display: none !important; }
.header__sticky-sticky-menu { box-shadow: 0 3px 18px rgb(0 0 0 / 8%); }

/* Booking first, with the original photography and slide content. */
.hero--slider { background: var(--el-cream); display: flex; flex-direction: column; }
.hero__search { margin: 0 auto; padding-top: 22px; padding-bottom: 0; max-width: 1240px; width: 100%; z-index: 2; }
.check__area, .hero__search .check__area { background: #fff; border: 1px solid var(--el-line); border-radius: 12px; box-shadow: 0 5px 18px rgb(35 31 32 / 6%); padding: 18px 22px; backdrop-filter: none; gap: 20px; }
.check__area-item label, .hero__search .check__area-item label { color: #686260; font-size: 10px; letter-spacing: .12em; }
.check__area-item input, .check__area-item select.plain-select { background: #fff; color: var(--el-ink); border: 0; border-bottom: 1px solid var(--el-line); border-radius: 0; padding: 0 3px; height: 44px; min-height: 44px; font-weight: 600; font-size: 16px; color-scheme: light; }
.check__area-item input::-webkit-calendar-picker-indicator { filter: none; opacity: .7; }
.check__area .theme-btn { min-height: 50px; font-size: 14px; letter-spacing: 0; }
.check__area .theme-btn i { margin: 0 9px 0 0; }
.hero__trust { margin: 14px 0 18px; gap: 8px 24px; font-size: 11px; color: #514c49; }
.hero-slider { background: #39332e; }
.hero-slide { min-height: 530px; max-height: none; padding: 85px 0 100px; text-align: left; justify-content: flex-start; }
.hero-slide::before { background: linear-gradient(90deg, rgb(20 17 15 / 77%) 0%, rgb(20 17 15 / 42%) 45%, rgb(20 17 15 / 5%) 85%); }
.hero-slide__content { max-width: 590px; margin: 0; }
.hero__kicker { color: #fff; font-size: 11px; letter-spacing: .16em; padding: 0; margin-bottom: 12px; }
.hero__kicker::before, .hero__kicker::after { display: none; }
.hero-slide h1, .hero-slide .hero-title { color: #fff; font-size: clamp(36px, 4.1vw, 57px); font-weight: 500; letter-spacing: -.045em; line-height: 1.08; margin: 0 0 20px; text-shadow: none; }
.hero__lead { max-width: 520px; margin: 0 0 26px; font-size: 16px; color: #fff; }
.hero__actions { justify-content: flex-start; gap: 12px; }
.hero__actions .theme-btn, .hero__actions .theme-border-btn { font-size: 13px; letter-spacing: 0; min-height: 46px; min-width: 0; padding: 12px 22px; }
.hero__actions .theme-btn { background: #fff; border-color: #fff; color: var(--el-ink); }
.hero__actions .theme-btn:hover { background: #f1e8e3; border-color: #f1e8e3; }
.hero__actions .theme-border-btn { color: #fff; border-color: #fff; }
.hero__actions .theme-border-btn:hover { background: #fff; color: var(--el-ink); }
.hero-slider__nav { top: auto; bottom: 28px; right: 32px; left: auto; width: auto; gap: 8px; transform: none; padding: 0 !important; }
.hero-slider__arrow { width: 40px; height: 40px; padding: 0; flex: 0 0 40px; background: rgb(35 31 32 / 50%); }
.hero-slider__arrow::after { display: none; }
.hero-slider__arrow:hover { color: #fff; border-color: #fff; background: var(--el-ink); }
.hero-slider__pager { bottom: 37px; left: 32px; right: auto; gap: 16px; }
.hero-slider__dots .swiper-pagination-bullet-active::after { background: #fff; }
.hero-slider__scroll { display: none; }
.lodge-jump { border-bottom: 1px solid var(--el-line); background: #fff; }
.lodge-jump .container { display: flex; align-items: center; gap: 34px; overflow-x: auto; white-space: nowrap; }
.lodge-jump span { font-size: 12px; color: var(--el-muted); margin-right: auto; }
.lodge-jump a { padding: 23px 0; font-size: 13px; font-weight: 600; }
.lodge-jump a:hover { color: var(--primary-color); }

/* Editorial cards, generous photography, understated dividers. */
.room-card, .attraction { border: 1px solid var(--el-line); border-radius: 10px; box-shadow: none; }
.room-card:hover, .attraction:hover { transform: translateY(-3px); box-shadow: var(--box-shadow-1); }
.room-card__image { overflow: hidden; }
.room-card__image img { aspect-ratio: 1.5; }
.room-card__price { background: #fff; color: var(--el-ink); bottom: 16px; left: 16px; border-radius: 4px; padding: 6px 12px; }
.room-card__price strong { color: var(--el-ink); }
.room-card__body { padding: 24px; }
.room-card__body h4 { font-size: 22px; }
.room-card__body p { font-size: 14px; }
.room-card__meta { font-size: 12px; gap: 8px 12px; }
.room-card__actions { margin-top: 16px; }
.room-card__actions .theme-btn, .room-card__actions .theme-border-btn { font-size: 12px; padding: 10px 12px; }
.el-strip__head { align-items: center; }
.el-carousel__arrow, .hl-arrow { border-color: #a9a29d; color: var(--el-ink); background: #fff; border-radius: 50%; }
.el-carousel__arrow { padding: 0; flex: 0 0 44px; width: 44px; height: 44px; }
.el-carousel__arrow.swiper-button-lock { display: none; }
.el-carousel__arrow:hover, .hl-arrow:hover { background: var(--el-ink); color: #fff; border-color: var(--el-ink); }
.el-carousel__dots .swiper-pagination-bullet-active { background: var(--el-ink); }
.offers-band { background: var(--el-cream); color: var(--body-color); }
.offers-band h2, .offer-card h4 { color: var(--el-ink); }
.offer-card, .page-light .offer-card { background: #fff; border: 1px solid var(--el-line); border-top: 4px solid var(--primary-color); border-radius: 8px; padding: 30px; box-shadow: none; }
.offer-card:hover { transform: translateY(-3px); box-shadow: var(--box-shadow-1); }
.offer-card__badge { background: #f0e1dc; color: #78342c; border-radius: 3px; font-size: 10px; }
.offer-card p, .page-light .offer-card p { color: var(--body-color); font-size: 14px; }
.offer-card__code { color: var(--el-ink); border-color: #c5bdb7; background: #faf9f7; }
.offer-card small { color: var(--el-muted); }
.why-direct { background: #eae3db; }
.why-item { background: transparent; box-shadow: none; border-radius: 0; border-left: 1px solid #c9bfb5; padding: 8px 24px; }
.why-item:hover { transform: none; box-shadow: none; }
.why-item i { color: var(--el-ink); font-size: 28px; margin-bottom: 18px; }
.why-item h5 { font-size: 18px; }
.why-item p { color: #514c49; }
.about-block__images { gap: 10px; padding-left: 28px; }
.about-block__images img { border-radius: 6px; }
.about-block__images img:first-child { aspect-ratio: 16/10; }
.about-block__stats { gap: 32px; border-top: 1px solid var(--el-line); padding-top: 22px; }
.about-block__stats h3 { color: var(--el-ink); font-weight: 500; }
.about-block__stats span { font-size: 10px; }
.award-badge { border: 0; background: #f5f3ef; font-size: 12px; font-weight: 500; }
.highlights__panel { background: var(--el-cream); border-color: var(--el-line); }
.hl-item h3 { font-size: 30px; }
.amenity-card { border: 0; border-bottom: 1px solid var(--el-line); border-radius: 0; padding: 24px 18px; text-align: left; }
.amenity-card:hover { box-shadow: none; transform: none; background: #faf9f7; }
.amenity-card i { color: var(--el-ink); font-size: 26px; }
.amenity-card h6 { font-size: 16px; }
.testimonial__area-bg { background: var(--el-cream); border-radius: 8px; }
.testimonial__area-item-content p { font-size: 22px; line-height: 1.6; color: #3e3835; }
.stars { color: var(--primary-color); }
.attraction__distance { background: #fff; color: var(--el-ink); border-radius: 3px; }
.attraction__body { padding: 22px; }
.attraction__body h5 { font-size: 20px; }
.gallery-grid { gap: 16px; }
.gallery-grid a, .room-gallery a { border-radius: 8px; }
.explore { border-radius: 8px; border-color: var(--el-line); }
.explore__item.is-active { background: #f0e6df; color: var(--el-ink); }
.explore__item.is-active strong, .explore__item.is-active small { color: var(--el-ink); }
.highlights__panel { padding: 30px; border-radius: 8px; }
.room__details-right-faq-item { border-color: var(--el-line); }
.room__details-right-faq-item-card-header { padding-top: 20px; padding-bottom: 20px; }
.room__details-right-faq-item-card-header h5 { letter-spacing: -.015em; }

/* Secondary pages, booking forms and guest accounts. */
.page__banner { padding: 78px 0; background-position: center 52%; }
.page__banner::before { background: linear-gradient(90deg, rgb(25 21 19 / 80%), rgb(25 21 19 / 26%)); }
.page__banner-title { text-align: left; }
.page__banner-title h1 { font-size: clamp(34px, 4.5vw, 55px); font-weight: 500; text-shadow: none; letter-spacing: -.04em; }
.page__banner-title-menu ul { justify-content: flex-start; }
.page__banner-title-menu ul li, .page__banner-title-menu ul li a, .page__banner-sub { color: #fff; }
.page__banner-title-menu { margin-top: 20px; }
.page__banner-title-menu ul li { font-size: 12px; }
.book-card, .price-summary, .account-card, .invoice, .policy-box, .all__sidebar-item { border: 1px solid var(--el-line); border-radius: 10px; box-shadow: none; }
.book-card h3::after { display: none; }
.book-card h3 { padding-bottom: 0; }
.book-steps li.current::before { background: var(--el-ink); color: #fff; border-color: var(--el-ink); }
.check__area--compact { box-shadow: none; }
.book-card .check__area--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.book-card .check__area--compact .check__area-item { grid-column: auto; }
.book-card .check__area--compact .check__area-item.button { grid-column: 1 / -1; }
.avail { --avail-selected: #943e35; --avail-ink: #231f20; --avail-free: #f6f3ef; --avail-free-edge: #dedad6; border-radius: 8px; }
.avail-item { border: 1px solid var(--el-line); border-radius: 8px; box-shadow: none; }
.form-field input, .form-field select, .form-field textarea, .account-card .form-field input { border-radius: 5px; border-color: #c5bfba; }
.account-nav__link { border-radius: 4px; }
.account-nav__link.is-on { background: var(--el-ink); border-color: var(--el-ink); }
.account-aside, .points-card, .coupon { border-radius: 8px; }
.account-card .btn-primary, .account-aside .btn-primary, .coupon .btn-primary, .promo .btn-primary, .cookie-bar .btn-primary, .invoice-actions .btn-primary,
.account-card .btn-outline, .points-card .btn-outline, .coupon .btn-outline, .cookie-bar .btn-outline, .invoice-actions .btn-outline { border-radius: 30px; }
.points-card .btn-outline { color: #fff; border-color: #fff; }
.table > :not(caption) > * > * { padding: 18px 14px; border-color: var(--el-line); }
.table thead { background: var(--el-cream); }

/* Quiet, light footer with all existing hotel information. */
.footer__area { background: #f5f3ef; padding-top: 64px; border-top: 1px solid var(--el-line); }
.footer__area-widget h5 { color: var(--el-ink); font-size: 16px; letter-spacing: 0; padding-bottom: 0; }
.footer__area-widget h5::after { display: none; }
.footer__area-widget-about-logo a { background: transparent; padding: 0; margin-bottom: 18px; }
.footer__area-widget-about p, .footer__area-widget-contact-item-content span, .footer__area-widget-contact-item-content span a,
.footer__area-widget-menu ul li a { color: #514c49; font-size: 13px; }
.footer__area-widget-menu ul li a i { display: none; }
.footer__area-widget-contact-item-icon i { color: var(--primary-color); }
.footer__area-widget-about-social ul li a { background: #fff; color: var(--el-ink); border: 1px solid var(--el-line); border-radius: 50%; }
.copyright__area { background: #eeeae5; border-top: 1px solid var(--el-line); margin-top: 44px; }
.copyright__area-left p, .copyright__area-right ul li a { color: #514c49; font-size: 12px; }
.cookie-bar { padding: 12px 24px; box-shadow: 0 -2px 12px rgb(0 0 0 / 5%); }
.cookie-bar p { font-size: 12px; }
.promo__close { padding: 0; background: #fff; border: 1px solid var(--el-line); border-radius: 50%; color: var(--el-ink); }
.sticky-book__call { border-radius: 26px; font-size: 13px; }
.sticky-book__btn { border-radius: 26px; }
.scroll-up { background: #fff; }

@media (max-width: 1199px) and (min-width: 992px) {
  .header__area-menubar { gap: 12px; }
  .header__area-menubar-left { flex-basis: 135px; }
  .header__area-menubar-left-logo img { width: 130px; }
  .header__area-menubar-right-menu > ul > li > a { font-size: 12px; padding-left: 5px; padding-right: 5px; }
  .header__area-menubar-right-box-btn .theme-btn { padding: 0 14px; font-size: 12px; }
}
@media (max-width: 991px) {
  .header__area-menubar { min-height: 76px; }
  .header__area-menubar-left { flex: 1; }
  .header__area-menubar-right-box { display: none; }
  .header__area-menubar-left-logo img { width: 142px; }
  .header__area-menubar-right { flex: 0; }
  .mean-container .mean-nav { max-height: calc(100dvh - 150px); overflow-y: auto; }
  .mean-container .mean-nav ul li a { font-family: var(--body-font); font-size: 14px; }
  .hero-slide { min-height: 490px; padding-top: 64px; padding-bottom: 84px; }
  .hero__search .check__area { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hero__search .check__area-item { grid-column: span 2; }
  .hero__search .check__area-item--half { grid-column: span 1; }
  .hero__search .check__area-item.button { grid-column: span 2; }
  .hero__trust { gap: 6px 18px; }
  .lodge-jump .container { gap: 26px; }
  .lodge-jump span { display: none; }
  .about-block__images { padding-left: 0; }
  .section-padding { padding-top: 56px; padding-bottom: 56px; }
}
@media (max-width: 575px) {
  .container, .custom__container { padding-left: 20px; padding-right: 20px; }
  .hero__search { padding-top: 16px; }
  .check__area, .hero__search .check__area { padding: 16px; gap: 12px; border-radius: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero__search .check__area-item, .hero__search .check__area-item--half { grid-column: span 1; min-width: 0; }
  .hero__search .check__area-item.button { grid-column: 1 / -1; }
  .check__area-item input, .check__area-item select.plain-select { font-size: 14px; min-width: 0; }
  .hero__trust { justify-content: flex-start; font-size: 10px; gap: 4px 12px; margin: 12px 0 16px; }
  .hero-slide { min-height: 490px; padding: 55px 0 80px; }
  .hero-slide::before { background: linear-gradient(90deg, rgb(20 17 15 / 77%), rgb(20 17 15 / 35%)); }
  .hero-slide h1, .hero-slide .hero-title { font-size: 38px; }
  .hero__lead { font-size: 14px; }
  .hero-slider__pager { bottom: 30px; left: 20px; }
  .hero-slider__nav { display: flex; right: 20px; bottom: 22px; }
  .hero__actions .theme-btn, .hero__actions .theme-border-btn { padding: 12px 17px; }
  .lodge-jump a { padding: 18px 0; font-size: 12px; }
  .section-padding { padding-top: 44px; padding-bottom: 44px; }
  .room-card__body { padding: 20px; }
  .offer-card { padding: 24px; }
  .about-block__stats { gap: 18px; }
  .about-block__stats h3 { font-size: 28px; }
  .page__banner { padding: 56px 0; }
  .why-item { padding: 12px 20px; }
  .testimonial__area-item-content p { font-size: 18px; }
  .footer__area .row { row-gap: 28px; }
  .cookie-bar { padding: 12px 16px 80px; }
  .cookie-bar__actions { width: 100%; }
  .cookie-bar__actions button { flex: 1; }
}
@media print {
  .top__bar, .header__sticky, .lodge-jump { display: none !important; }
}

/* Reference layout: compact masthead, overlaid booking and editorial offers. */
:root { --primary-color: #a65442; --el-cream: #f4f4f4; }
.lodge-masthead { position: relative; border-top: 5px solid #231f20; background: #fff; }
.lodge-masthead .top__bar { position: absolute; right: 0; top: 0; left: 190px; z-index: 3; background: #fff; border: 0; }
.lodge-masthead .top__bar-left { display: none; }
.lodge-masthead .top__bar-inner { justify-content: flex-end; min-height: 46px; }
.lodge-masthead .top__bar-right { gap: 26px; font-size: 13px; }
.lodge-masthead .header__area { border: 0; }
.lodge-masthead .custom__container { max-width: 1240px; }
.lodge-masthead .header__area-menubar { min-height: 106px; align-items: flex-end; gap: 28px; }
.lodge-masthead .header__area-menubar-left { flex: 0 0 184px; align-self: stretch; background: #fff; display: flex; align-items: center; }
.lodge-masthead .header__area-menubar-left-logo { padding: 14px 8px; }
.lodge-masthead .header__area-menubar-left-logo img { width: 168px; max-width: none; height: auto; filter: none; }
.lodge-masthead .header__area-menubar-right { justify-content: flex-start; }
.lodge-masthead .header__area-menubar-right-menu > ul > li > a { padding: 18px 10px; font-size: 13px; font-weight: 400; }
.lodge-masthead .header__area-menubar-right-menu > ul > li.active > a { box-shadow: none; font-weight: 600; }
.lodge-masthead .header__area-menubar-right-box { padding-bottom: 10px; }
.lodge-masthead .header__area-menubar-right-box-btn .theme-btn { min-height: 36px; font-size: 12px; padding: 0 18px; }
.lodge-masthead.header__sticky-sticky-menu { border-top: 0; }
.lodge-home .hero--slider { display: block; }
.lodge-home .hero__search { position: absolute; top: 24px; left: 0; right: 0; margin: 0 auto; padding-top: 0; z-index: 8; }
.reservation-bar { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.15fr 1.25fr; align-items: center; gap: 0; padding: 18px 24px; border-radius: 14px; background: #fff; color: #231f20; box-shadow: 0 3px 12px #0002; }
.reservation-bar > div, .reservation-guests { padding: 0 18px; min-width: 0; }
.reservation-bar > div:first-child { padding-left: 6px; border-right: 1px dashed #ccc; }
.reservation-place > span, .reservation-date label, .reservation-guests summary > span { display: block; font-size: 10px; line-height: 1.4; letter-spacing: .1em; color: #666; margin-bottom: 6px; }
.reservation-place i, .reservation-date i { color: #b57964; margin-right: 5px; }
.reservation-place strong { font-size: 20px; font-weight: 400; display: block; line-height: 1.25; }
.reservation-place small { font-size: 11px; color: #666; display: block; }
.reservation-date input { border: 0; padding: 0; height: 32px; min-height: 32px; background: #fff; color: #231f20; font-size: 17px; width: 100%; font-weight: 400; color-scheme: light; }
.reservation-date input:focus-visible { outline: 2px solid #a65442; }
.reservation-guests { position: relative; border-left: 1px dashed #ccc; }
.reservation-guests summary { cursor: pointer; padding-right: 13px; list-style: none; position: relative; }
.reservation-guests summary::-webkit-details-marker { display: none; }
.reservation-guests summary::after { content: '\2304'; position: absolute; right: 0; bottom: 2px; }
.reservation-guests summary strong { font-weight: 400; font-size: 14px; white-space: nowrap; }
.reservation-guests__panel { position: absolute; top: calc(100% + 24px); right: 0; width: 240px; padding: 24px; background: #fff; box-shadow: 0 8px 28px #0003; border-radius: 8px; border: 1px solid #ddd; z-index: 20; }
.reservation-guests__panel label { display: block; font-size: 13px; margin: 10px 0 5px; }
.reservation-guests__panel select { display: block; width: 100%; min-height: 42px; border: 1px solid #aaa; border-radius: 4px; padding: 8px; color: #231f20; background: white; }
.reservation-bar .theme-btn { font-size: 16px; min-height: 50px; padding: 12px; gap: 7px; }
.reservation-bar .theme-btn i { margin: 0; }
.lodge-home .hero-slide { min-height: 540px; padding: 190px 0 105px; align-items: center; }
.lodge-home .hero-slide::before { background: linear-gradient(90deg, #17141191 0%, #17141142 55%, #17141105 100%); }
.lodge-home .hero-slide__content { max-width: 590px; }
.lodge-home .hero-slide h1, .lodge-home .hero-slide .hero-title { font-size: clamp(32px,3.4vw,44px); line-height: 1.12; margin-bottom: 10px; letter-spacing: -.04em; }
.lodge-home .hero__kicker { margin-bottom: 10px; letter-spacing: .02em; font-size: 11px; }
.lodge-home .hero__lead { font-size: 15px; line-height: 1.55; max-width: 570px; margin-bottom: 26px; }
.lodge-home .hero__actions .theme-btn, .lodge-home .hero__actions .theme-border-btn { font-size: 12px; min-height: 42px; padding: 10px 20px; }
.lodge-home .hero__actions .btn-arrow { display: none; }
.lodge-home .hero-slider__pager { left: auto; right: 142px; bottom: 32px; }
.lodge-home .hero-slider__count { display: none; }
.lodge-home .hero-slider__nav { bottom: 20px; }
.lodge-home .offers-band { background: #f4f4f4; padding: 48px 0 56px; }
.lodge-home .offers-heading { position: relative; margin-bottom: 28px; padding-right: 150px; }
.lodge-home .offers-heading > .subtitle__one { display: none; }
.lodge-home .offers-heading h2 { font-size: 28px; font-weight: 500; }
.offers-heading > a { position: absolute; right: 0; bottom: 4px; font-size: 13px; text-decoration: underline; }
.offer-card--photo, .page-light .offer-card--photo { border: 0; border-radius: 8px; padding: 0; overflow: hidden; background: #fff; box-shadow: 0 3px 10px #00000009; }
.offer-card__photo { display: block; position: relative; overflow: hidden; }
.offer-card__photo img { width: 100%; height: 230px; object-fit: cover; transition: transform .4s; }
.offer-card__photo:hover img { transform: scale(1.035); }
.offer-card__photo > span { position: absolute; right: 16px; bottom: 16px; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #222; display: grid; place-items: center; font-size: 23px; }
.offer-card__content { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.offer-card--photo .offer-card__badge { background: none; color: #686260; padding: 0; font-size: 10px; letter-spacing: .1em; margin-bottom: 12px; }
.offer-card--photo h4 { font-size: 24px; font-weight: 500; line-height: 1.25; }
.offer-card--photo .offer-card__code { font-size: 12px; margin-top: auto; padding: 5px 10px; }
.offer-card--photo .offer-card__code button { padding: 6px; }
.offer-card--photo .theme-btn { min-height: 40px; font-size: 12px; align-self: flex-start; padding: 9px 16px; }
.lodge-home .why-direct { background: #fff; padding: 55px 0; border-bottom: 1px solid #e5e5e5; }
.lodge-home .why-direct > .container { display: grid; grid-template-columns: 1fr 1.4fr; gap: 20px 48px; align-items: center; }
.lodge-home .membership-intro { margin: 0; }
.lodge-home .membership-intro .subtitle__one { color: #686260; }
.lodge-home .membership-intro h2 { font-size: 30px; font-weight: 500; }
.lodge-home .membership-intro p { font-size: 14px; }
.membership-actions { display: flex; align-items: center; gap: 24px; margin-top: 24px; font-size: 13px; }
.membership-actions > a:last-child { text-decoration: underline; }
.lodge-home .why-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.lodge-home .why-item { border: 0; text-align: center; padding: 0; }
.lodge-home .why-item i { font-size: 32px; margin: 0 auto 18px; }
.lodge-home .why-item h5 { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 500; }
.lodge-home .why-item p { font-size: 11px; line-height: 1.5; }
.lodge-home .why-direct > .container > p { grid-column: 1 / -1; margin-top: 0 !important; }
.lodge-home .why-direct > .container > p a { border: 0; padding: 0; min-height: 20px; font-size: 12px; text-decoration: underline; background: none; color: #514c49; }
.lodge-home .lodge-jump { display: none; }
.lodge-home .el-strip { padding-top: 55px; padding-bottom: 55px; }
.lodge-home .el-strip .subtitle__one { display: none; }
.lodge-home .el-strip h2 { font-size: 30px; font-weight: 500; }
.lodge-home .el-strip .section-head p { font-size: 14px; }
.lodge-home .room-card { border: 0; border-radius: 8px; box-shadow: 0 3px 12px #0001; }
.lodge-home .room-card__image img { aspect-ratio: 1.25; }
.lodge-home .room-card__body h4 { font-size: 23px; font-weight: 500; }
.lodge-benefits { border-top: 1px solid #eee; border-bottom: 1px solid #eee; padding-top: 4px; padding-bottom: 4px; }
.lodge-benefits .hero__trust { font-size: 11px; }
@media (max-width:1199px) and (min-width:992px) {
 .lodge-masthead .header__area-menubar { gap: 14px; }
 .lodge-masthead .header__area-menubar-right-menu > ul > li > a { font-size: 12px; padding-left: 5px; padding-right: 5px; }
 .lodge-masthead .header__area-menubar-right-box { display: none; }
 .reservation-bar { padding: 16px; grid-template-columns: 1.1fr 1fr 1fr 1.1fr 1fr; }
 .reservation-bar > div, .reservation-guests { padding: 0 10px; }
 .reservation-place strong { font-size: 18px; }
 .reservation-date input { font-size: 14px; }
}
@media (max-width:991px) {
 .lodge-masthead { border-top-width: 3px; }
 .lodge-masthead .header__area-menubar { min-height: 78px; align-items: center; }
 .lodge-masthead .header__area-menubar-left { background: #fff; flex: 1; display: block; }
 .lodge-masthead .header__area-menubar-left-logo { padding: 10px 0; }
 .lodge-masthead .header__area-menubar-left-logo img { filter: none; width: 130px; }
 .lodge-masthead .header__area-menubar-right-box { display: none; }
 .reservation-bar { grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px; }
 .reservation-bar > div, .reservation-guests { padding: 0; }
 .reservation-bar > div:first-child { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid #ddd; padding-bottom: 12px; }
 .reservation-place strong { display: inline; font-size: 18px; }
 .reservation-place small { display: inline; margin-left: 8px; }
 .reservation-guests { border: 0; }
 .reservation-guests__panel { right: auto; left: 0; }
 .lodge-home .hero-slide { padding: 340px 0 85px; min-height: 680px; }
 .lodge-home .why-direct > .container { grid-template-columns: 1fr; gap: 30px; }
 .lodge-home .why-grid { gap: 22px; }
 .offer-card__photo img { height: 180px; }
 .offer-card__content { padding: 18px; }
 .offer-card--photo h4 { font-size: 20px; }
}
@media (max-width:575px) {
 .lodge-home .hero__search { top: 16px; }
 .reservation-bar { padding: 16px; gap: 12px; border-radius: 10px; }
 .reservation-date input { font-size: 15px; }
 .reservation-bar .theme-btn { font-size: 13px; min-height: 44px; }
 .lodge-home .hero-slide { min-height: 730px; padding: 335px 0 95px; }
 .lodge-home .hero-slide h1, .lodge-home .hero-slide .hero-title { font-size: 34px; }
 .lodge-home .hero__lead { font-size: 14px; }
 .lodge-home .offers-heading { padding-right: 0; }
 .lodge-home .offers-heading h2 { font-size: 26px; }
 .offers-heading > a { position: static; display: inline-block; margin-top: 8px; }
 .lodge-home .offer-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 87%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 18px; gap: 16px; }
 .lodge-home .offer-card { scroll-snap-align: start; }
 .offer-card__photo img { height: 210px; }
 .lodge-home .why-grid { grid-template-columns: 1fr 1fr; }
 .lodge-home .why-item { padding: 14px; }
 .lodge-home .why-item h5 { font-size: 12px; }
 .lodge-home .why-item p { font-size: 12px; }
 .lodge-home .offers-band, .lodge-home .why-direct, .lodge-home .el-strip { padding-top: 38px; padding-bottom: 38px; }
}

/* Shared motion language: understated entrances and responsive interactions. */
.lodge-masthead, .lodge-masthead.header__sticky-sticky-menu { position: sticky; top: 0; z-index: 999; width: 100%; animation: none; transition: box-shadow .25s ease; }
.lodge-masthead .header__area-menubar-right-menu ul li .sub-menu { transition: opacity .22s ease, transform .22s ease, visibility .22s; transform: translateY(8px); }
.lodge-masthead .header__area-menubar-right-menu ul li:hover > .sub-menu, .lodge-masthead .header__area-menubar-right-menu ul li:focus-within > .sub-menu { transform: translateY(0); }
.lodge-masthead .header__area-menubar-right-menu > ul > li > a { transition: color .2s ease; }
.theme-btn, .theme-border-btn { transition: background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease; }
.theme-btn:hover { box-shadow: 0 4px 12px #00000018; }
.offer-card, .room-card, .attraction { transition: transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease; }
.offer-card__photo img, .room-card__image img, .attraction img, .gallery-grid img { transition: transform .65s cubic-bezier(.2,.7,.3,1); }
.attraction:hover img { transform: scale(1.035); }
.offer-card__photo > span { transition: transform .25s ease, background-color .25s ease; }
.offer-card__photo:hover > span { transform: translate(2px,-2px); background: #f5eee9; }
.reservation-bar { transition: box-shadow .25s ease; }
.reservation-bar:focus-within { box-shadow: 0 6px 25px #0003; }
.reservation-guests[open] .reservation-guests__panel { animation: dropdown-enter .2s ease both; }
.hero-slider__pause { font-family: Arial, sans-serif; font-size: 16px; }
.hero-slider__pause[hidden] { display: none; }
.lodge-home .hero-slider__pager { right: 188px; }
.hero-slider.is-paused .swiper-pagination-bullet-active::after { animation-play-state: paused; }
.motion-ready.is-revealed { animation: section-enter .65s cubic-bezier(.2,.7,.3,1) var(--entrance-delay,0ms) both; }
@keyframes section-enter { from { opacity: 0; translate: 0 20px; } to { opacity: 1; translate: 0 0; } }
@keyframes dropdown-enter { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .motion-ready { opacity: 1; translate: none; }
 .room-card:hover, .offer-card:hover, .attraction:hover, .offer-card__photo:hover img, .room-card:hover img, .gallery-grid a:hover img, .attraction:hover img { transform: none; }
}
/* Keep the utility row above the inherited theme header stacking layer. */
.lodge-masthead .header__area { z-index: 1; }
.lodge-masthead .top__bar { z-index: 2; }
/* The logo keeps its own colours (blue mark, red tagline) on a white ground. */
.lodge-masthead .header__area-menubar-left-logo img { filter: none; }
.hero-slider .hero-slider__dots .swiper-pagination-bullet { width: 8px; height: 8px; min-width: 8px; padding: 0; border-radius: 50%; background: #fff; opacity: .5; }
.hero-slider .hero-slider__dots .swiper-pagination-bullet-active { opacity: 1; }
.hero-slider .hero-slider__dots .swiper-pagination-bullet::after { display: none; }
@media (max-width:991px) { .lodge-masthead .header__area-menubar-left-logo img { filter: none; } }
/* A small visible dot inside the existing 24px accessible tap target. */
.hero-slider .hero-slider__dots .swiper-pagination-bullet { padding: 8px; background-clip: content-box; }
.lodge-masthead .top__bar { left: max(166px, calc((100% - 1240px) / 2 + 166px)); right: max(0px, calc((100% - 1240px) / 2)); }

/* Whole-site finishing pass: shared spacing, controls and responsive details. */
main > .section { padding: 76px 0; }
.room-card__body { display: flex; flex-direction: column; flex: 1; }
.room-card__actions { margin-top: auto; padding-top: 16px; }
.offer-card__content { min-width: 0; }
.offer-card__content p { margin-bottom: 18px; }
.lodge-masthead .header__area-menubar-right-menu ul li.menu-item-has-children > a { padding-right: 28px; }
.lodge-masthead .header__area-menubar-right-menu ul li.menu-item-has-children > a::before { display: none; }
.lodge-masthead .header__area-menubar-right-menu ul li.menu-item-has-children > a::after {
  width: 6px; height: 6px; right: 12px; top: 48%; border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor; background: none; transform: translateY(-50%) rotate(45deg);
}
.room__details-right-faq-item-card-header { position: relative; padding-right: 58px; }
.room__details-right-faq-item-card-header h5 { line-height: 1.45; }
.room__details-right-faq-item-card-header i { position: absolute; right: 20px; top: 20px; flex-shrink: 0; }
.contact__area-map { padding: 32px 0 0; }
.contact__area-map iframe { display: block; background: #eeeae5; border: 1px solid #dedad6; }
.el-carousel__dots { display: flex; justify-content: center; gap: 4px; padding-top: 14px; }
.el-carousel__dots .swiper-pagination-bullet { width: 24px; height: 24px; padding: 8px; border-radius: 50%; background-clip: content-box; }
.account-card, .account-aside { min-width: 0; }
.form-field input, .form-field select, .form-field textarea { border-radius: 5px; }
.avail { --avail-selected: #231f20; }
.avail .btn-primary { border-radius: 999px; background: #231f20; border-color: #231f20; color: #fff; }
.avail .btn-outline { border-radius: 999px; }
.promo__panel { border-radius: 10px; }
@media (max-width: 767px) {
  main > .section { padding: 40px 0; }
  .room__details-right-faq-item-card-header { padding-right: 48px; }
  .room__details-right-faq-item-card-header i { right: 14px; }
  .footer__area { padding-top: 40px; }
  .footer__area > .container > .row { row-gap: 28px; }
  .footer__area > .container > .row > div { margin-bottom: 0 !important; }
  .footer__area-widget-about-logo { margin-bottom: 16px; }
  .footer__area-widget-about p { max-width: none; }
  .footer__area-widget h5 { margin-bottom: 18px; }
  .footer__area-widget-menu ul li { margin-bottom: 8px; }
  .footer__area-widget-contact-item { margin-bottom: 16px; }
  .footer__area .copyright__area { margin-top: 36px; padding: 24px 0; }
  .promo__art { max-height: 220px; overflow: hidden; }
  .promo__art img { height: 220px; min-height: 0; }
}
