/* GRAND ARRIVAL / HOTEL LOBBY
   Immersive premium Billboard theme. Consolidated for Stylelint.
   Shared layout, interaction, media and typography contracts preserved.
*/

body.billboard-theme-hotel {
background-color: #21182d;
background-image: radial-gradient(ellipse at 50% -7%, rgb(236 185 106 / 30%), transparent 38%), repeating-linear-gradient(90deg, transparent 0 117px, rgb(222 186 117 / 16%) 118px 121px, transparent 122px 238px), linear-gradient(105deg, #161628, #40324c 55%, #171626);
background-attachment: fixed;
}

body.billboard-theme-hotel .billboard-page {
--billboard-surface: #fff7e9;
--billboard-surface-strong: #fffdf5;
--billboard-surface-soft: #f4e2c5;
--billboard-text: #392c3d;
--billboard-muted-text: #65565b;
--billboard-heading: #4c3350;
--billboard-link: #8b4f35;
--billboard-purple: #895333;
--billboard-border: #b6996b;
--billboard-shadow: 0 22px 45px rgb(11 7 23 / 35%);
--billboard-flair-border: #c1a376;
--billboard-flair-background: none;
max-width: 1120px;
}

body.billboard-theme-hotel .billboard-card {
position: relative;
margin-bottom: 34px;
border: 3px solid #d0a96f;
border-radius: 18px 18px 3px 3px;
background-color: #fff7e9;
box-shadow: 0 0 0 5px #2c2239, 0 23px 45px rgb(9 7 24 / 36%);
}

body.billboard-theme-hotel .billboard-card::after {
  pointer-events: none;
  opacity: 0.65;
}

body.billboard-theme-hotel .billboard-hero {
position: relative;
isolation: isolate;
overflow: hidden;
padding: clamp(32px, 5.5vw, 70px);
text-align: center;
border: 9px solid #dec18d;
border-top: 24px solid #37263d;
border-bottom: 17px solid #37263d;
border-radius: 190px 190px 7px 7px / 105px 105px 7px 7px;
background: radial-gradient(ellipse 86% 82% at 50% 43%, #fff7e8 0 67%, transparent 68%), repeating-linear-gradient(90deg, #b99163 0 10px, #e7cc9c 10px 21px, #594357 21px 29px);
box-shadow: inset 0 0 0 7px #fff2d5, inset 0 0 0 14px #9a7655;
}

body.billboard-theme-hotel .billboard-hero > * {
  position: relative;
  z-index: 2;
}

body.billboard-theme-hotel .billboard-logo-frame {
width: min(460px, 100%);
min-height: 0;
margin: 0 auto 20px;
padding: 18px;
border: 7px double #ad8a5a;
border-radius: 170px 170px 5px 5px / 56px 56px 5px 5px;
background: #fffdf4;
box-shadow: 0 0 0 5px #49354b, 0 13px 26px rgb(29 14 30 / 19%);
}

body.billboard-theme-hotel .billboard-logo {
  max-width: 100%;
  max-height: 180px;
  object-fit: contain;
}

body.billboard-theme-hotel .billboard-kicker.billboard-managed-by {
  max-width: 720px;
  margin: 0 auto 18px;
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

body.billboard-theme-hotel .billboard-hero h1 {
max-width: 850px;
margin: 0 auto;
color: #4b304c;
font-size: clamp(2.5rem, 5vw, 4.8rem);
letter-spacing: -0.053em;
line-height: 1.03;
text-align: center;
text-transform: uppercase;
text-shadow: 3px 4px 0 #dcb778;
}

body.billboard-theme-hotel .billboard-category {
display: inline-block;
width: fit-content;
max-width: 100%;
margin-top: 22px;
padding: 10px 25px;
border: 3px double #c39959;
border-radius: 30px;
background: #38283c;
color: #ffeac7;
font-size: 0.88rem;
font-weight: 900;
letter-spacing: 0.13em;
text-transform: uppercase;
box-shadow: 0 5px 0 #bc9160;
}

body.billboard-theme-hotel .billboard-summary {
  max-width: 750px;
  margin: 22px auto;
  font-size: clamp(1.06rem, 2vw, 1.27rem);
  line-height: 1.66;
  text-align: center;
}

body.billboard-theme-hotel .billboard-actions {
  justify-content: center;
  gap: 12px;
}

body.billboard-theme-hotel .billboard-button,
body.billboard-theme-hotel .billboard-link {
  min-height: 51px;
  padding: 12px 24px;
  font-weight: 900;
  letter-spacing: 0.035em;
}

body.billboard-theme-hotel .billboard-button {
  background: #482d59;
  color: white !important;
  border: 2px solid #f1ddbe;
  box-shadow: 0 5px 0 #1c142c;
}

body.billboard-theme-hotel .billboard-link {
  background: white;
  color: #986d58 !important;
  border: 2px solid #986d58;
  border-color: #e1c9b5;
}

body.billboard-theme-hotel .billboard-button:hover,
body.billboard-theme-hotel .billboard-button:focus-visible {
  filter: brightness(1.17);
}

body.billboard-theme-hotel .billboard-link:hover,
body.billboard-theme-hotel .billboard-link:focus-visible {
  background: #ebe2d3;
}

body.billboard-theme-hotel .billboard-section-label,
body.billboard-theme-hotel .community-feedback-heading .billboard-section-label {
  font-weight: 900;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
}

body.billboard-theme-hotel .billboard-details h2,
body.billboard-theme-hotel .billboard-community h2,
body.billboard-theme-hotel .community-feedback-heading h2 {
  text-align: center;
  letter-spacing: -0.035em;
}

body.billboard-theme-hotel .billboard-details {
padding: clamp(24px, 4vw, 48px);
border: 7px solid #d5b683;
border-top: 17px solid #44314b;
background: repeating-linear-gradient(0deg, transparent 0 68px, rgb(137 90 56 / 7%) 69px 71px), #fff5df;
}

body.billboard-theme-hotel .billboard-detail-grid {
  gap: 14px;
}

body.billboard-theme-hotel .billboard-detail-item {
padding: 21px;
border: 2px solid #a17c57;
border-left: 9px solid #59405b;
border-radius: 8px;
background: #fffaf0;
box-shadow: 5px 6px 0 rgb(85 52 69 / 14%);
}

body.billboard-theme-hotel .billboard-detail-item h3 {
  font-size: .81rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.billboard-theme-hotel .billboard-page .billboard-hours-panel .billboard-hours-list {
  gap: 8px;
}

body.billboard-theme-hotel .billboard-page .billboard-hours-panel .billboard-hours-row {
  border: 2px solid #ac927f;
  background: #ebe2d3;
}

body.billboard-theme-hotel .billboard-media-showcase {
padding: clamp(24px, 4vw, 48px);
border: 8px double #d5b07c;
border-top: 18px solid #e4c997;
background: repeating-linear-gradient(90deg, transparent 0 83px, rgb(241 210 161 / 10%) 84px 87px), linear-gradient(145deg, #211b34, #4b3750);
}

body.billboard-theme-hotel .billboard-media-showcase h2 {
  color: #fff6e8;
}

body.billboard-theme-hotel .billboard-media-showcase .billboard-section-label {
  color: #dcb773;
}

body.billboard-theme-hotel .billboard-media-carousel {
  border: 3px solid #ac927f;
  background: #141726;
}

body.billboard-theme-hotel .billboard-media-image-link {
  background: #141726;
}

body.billboard-theme-hotel .billboard-media-showcase .billboard-media-content {
  background: white;
  color: #342a3f;
}

body.billboard-theme-hotel .billboard-featured-publication,
body.billboard-theme-hotel .billboard-published-feed {
  background: #fff9e9;
  border-top: 12px solid #8d5b46;
}

body.billboard-theme-hotel .billboard-publication-placeholder {
  min-height: 0;
  border: 2px dashed #ac927f;
  background: white;
}

body.billboard-theme-hotel .billboard-published-feed .billboard-media-grid,
body.billboard-theme-hotel .billboard-around-town .billboard-media-grid {
  gap: 20px;
}

body.billboard-theme-hotel .billboard-snap-card {
  border: 2px solid #ac927f;
  background: white;
  box-shadow: 0 10px 22px rgb(0 0 0 / 12%);
  border-radius: 4px;
  border-bottom: 7px solid #704b45;
}

body.billboard-theme-hotel .billboard-snap-card:hover {
  box-shadow: 0 14px 28px rgb(0 0 0 / 19%);
}

body.billboard-theme-hotel .billboard-snap-card:focus-within {
  outline-color: #986d58;
}

body.billboard-theme-hotel .billboard-snap-card .billboard-media-content {
  background: white;
  border-top: 4px solid #ead4c5;
}

body.billboard-theme-hotel .billboard-feature-art {
  background-color: #ebe2d3;
}

body.billboard-theme-hotel .billboard-around-town {
border-top: 15px solid #9a6e4c;
background: #f1e2d2;
}

body.billboard-theme-hotel .billboard-around-town .billboard-media-content {
  background: white;
}

body.billboard-theme-hotel .billboard-published-comments {
border-top: 13px solid #443149;
background: #fff3df;
}

body.billboard-theme-hotel .billboard-community-postcard {
--postcard-paper-start: #fffaf0;
--postcard-paper-end: #eed6b6;
--postcard-ink: #3e3145;
--postcard-accent: #8b5840;
--postcard-stamp-bg: #d7b478;
--postcard-stamp-ink: #3b2e43;
--postcard-rule: #b89b78;
border: 3px double #b08c5a;
border-radius: 8px;
}

body.billboard-theme-hotel .billboard-page .community-feedback {
border: 8px solid #b89a69;
border-top: 18px solid #37273d;
border-radius: 14px;
background: repeating-linear-gradient(90deg, #fff7e8 0 61px, #f3e7d6 61px 64px);
}

body.billboard-page-active.billboard-theme-hotel .billboard-page {
  --billboard-past-frame: #443051;
  --billboard-past-accent: #dcb773;
  --billboard-past-paper: #fff6e8;
  --billboard-past-status-bg: #443051;
  --billboard-past-status-text: white;
}

body.billboard-theme-hotel .billboard-hero::before {
content: "";
position: absolute;
z-index: 0;
inset: 24px 22px;
border: 3px double rgb(129 84 53 / 32%);
border-radius: 150px 150px 4px 4px / 85px 85px 4px 4px;
background: repeating-linear-gradient(90deg, transparent 0 65px, rgb(160 122 85 / 6%) 66px 67px);
pointer-events: none;
}

body.billboard-theme-hotel .billboard-hero .billboard-kicker,
body.billboard-theme-hotel .billboard-hero .billboard-summary {
  color: #433247;
}

body.billboard-theme-hotel .billboard-hero .billboard-category {
  background: #f6e8d9;
  color: #343047;
  border: 3px solid #c9b6aa;
}

body.billboard-theme-hotel .billboard-section-label {
  color: #9e654c;
}

@media (width <= 640px) {
  body.billboard-theme-hotel .billboard-card {
    margin-bottom: 20px;
  }

  body.billboard-theme-hotel .billboard-hero {
    padding: 26px 18px;
  }

  body.billboard-theme-hotel .billboard-hero::before {
    inset: 11px;
  }

  body.billboard-theme-hotel .billboard-logo-frame {
    width: min(100%, 380px);
  }

  body.billboard-theme-hotel .billboard-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.billboard-theme-hotel .billboard-button,
  body.billboard-theme-hotel .billboard-link {
    width: 100%;
  }

  body.billboard-theme-hotel .billboard-detail-item {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.billboard-theme-hotel .billboard-snap-card {
    transition: none;
  }
}

body.billboard-theme-hotel .billboard-hero .billboard-managed-by-link {
color: #543d50;
text-decoration-color: #8c593b;
text-decoration-thickness: 2px;
}

body.billboard-theme-hotel .billboard-hero .billboard-managed-by-link:hover,
body.billboard-theme-hotel .billboard-hero .billboard-managed-by-link:focus-visible {
  color: #543d50;
  text-decoration-color: currentColor;
  text-decoration-thickness: 3px;
}
