/* Clone runtime styles: replaces state GoDaddy's widget JS normally sets after hydration. */

/* desktop nav items are hidden until the original JS measures overflow */
.x [data-aid="HEADER_NAV_RENDERED"] li { visibility: visible; }
.x [data-aid="HEADER_NAV_RENDERED"] li.clone-more { display: none; }

/* mobile drawer */
.x [data-ux="NavigationDrawer"].clone-open { transform: translateX(0); visibility: visible; }
.clone-scrim {
  position: fixed; inset: 0; z-index: 10001;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0; pointer-events: none; transition: opacity .3s ease-in-out;
}
.clone-scrim.clone-open { opacity: 1; pointer-events: auto; }
.x [data-ux="NavigationDrawerCloseIcon"] { cursor: pointer; }

/* past events carousel; the original wrapper stays at opacity:0 until its JS adds .loaded */
.x [data-ux="Carousel"] .carousel { opacity: 1; }
/* centre mode as on the original: slides keep their ratio at a fixed 600px height,
   5px apart, neighbours dimmed to 0.3 (values from the original inline li styles) */
.clone-carousel { position: relative; width: 100%; height: 600px; overflow: hidden; }
.clone-carousel-track { display: flex; height: 100%; transition: transform .5s ease-in-out; }
.clone-carousel-slide {
  flex: 0 0 auto; height: 100%; margin-left: 5px;
  opacity: .3; transition: opacity .5s ease-in-out; cursor: pointer;
}
.clone-carousel-slide.is-current { opacity: 1; cursor: auto; }
.clone-carousel-slide.is-current a { cursor: pointer; }
.clone-carousel-slide a { display: block; height: 100%; }
.clone-carousel-slide img { display: block; height: 100%; width: auto; max-width: none; }
@media (max-width: 1023px) { .clone-carousel { height: 400px; } }
/* phones: same centre-mode slider as desktop, every poster 210px tall (original viewport height),
   dimmed neighbours peeking at both sides */
@media (max-width: 767px) {
  .clone-carousel { height: 210px; }
}
.clone-thumbs { display: flex; gap: 12px; justify-content: flex-start; padding: 104px 0 0; }
@media (max-width: 767px) { .clone-thumbs { display: none; } }
.clone-thumbs button {
  width: 80px; height: 80px; padding: 0; border: 0; background: rgb(0, 0, 0);
  cursor: pointer; transition: opacity .2s;
}
.clone-thumbs button img { width: 100%; height: 100%; object-fit: cover; object-position: left center; display: block; }
.clone-thumbs button:hover { opacity: .8; }
/* arrows sit at the vertical middle of the 600px stage and fade in on hover, as before */
@media (max-width: 1023px) { .x [data-aid^="GALLERY_SCROLL_"] { margin-top: 200px; } }
@media (max-width: 767px) { .x [data-aid^="GALLERY_SCROLL_"] { margin-top: 105px; } }
.clone-thumbs button:focus-visible,
.x [data-aid^="GALLERY_SCROLL_"]:focus-visible { outline: 2px solid rgb(247, 247, 247); outline-offset: 2px; }

/* calendar: collapsed descriptions on small screens */
.clone-desc-hidden { display: none !important; }

/* contact form */
.x #desktop-form-expanded13034.clone-open,
.x [data-aid="CONTACT_FORM_CONTAINER_REND"].clone-open { position: relative; transform: none; opacity: 1; }
.clone-form-status { margin-top: 16px; font-size: 14px; color: rgb(27, 27, 27); }
.clone-form-status[data-state="error"] { color: rgb(178, 34, 34); }
.clone-map { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* reviews: the original loads these Facebook reviews at runtime; content copied from the live widget.
   Cards 290 x 440 as on the original, spaced 24px apart. */
.clone-reviews { --rev-card-bg: rgb(255, 255, 255); --rev-ink: rgb(27, 27, 27); --rev-muted: rgb(89, 89, 89);
  --rev-on-photo: rgb(255, 255, 255); --rev-gap: 24px; width: 100%; margin-top: 24px; }
.clone-rev-summary { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--rev-on-photo);
  text-align: center; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45); }
.clone-rev-summary p { margin: 0; }
.clone-rev-biz { font-size: 18px; font-weight: 500; }
.clone-rev-score { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.clone-rev-pct { font-size: 18px; font-weight: 600; }
.clone-rev-basis { font-size: 14px; }
.clone-rev-all { color: var(--rev-on-photo); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.clone-rev-all:hover { text-decoration-thickness: 2px; }
/* centre mode like the original: the current review sits in the middle, the row loops */
.clone-rev-carousel { position: relative; margin-top: 32px; }
.clone-rev-viewport { position: relative; overflow: hidden; padding: 8px 0 16px; }
/* desktop/tablet: three whole cards in a centred window, arrows outside the cards */
@media (min-width: 768px) {
  .clone-rev-carousel { max-width: calc(3 * 290px + 2 * var(--rev-gap) + 2 * 64px); margin-left: auto; margin-right: auto; padding: 0 64px; box-sizing: border-box; }
}
.clone-rev-track { display: flex; gap: var(--rev-gap); list-style: none; margin: 0; padding: 0;
  transition: transform .5s ease-in-out; will-change: transform; touch-action: pan-y; }
.clone-rev-card { flex: 0 0 290px; height: 440px; box-sizing: border-box;
  display: flex; flex-direction: column; padding: 24px; background: var(--rev-card-bg); color: var(--rev-ink);
  border-radius: 4px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18); text-align: left; text-shadow: none; }
.clone-rev-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.clone-rev-avatar { width: 64px; height: 64px; border-radius: 50%; flex: 0 0 64px; display: flex; align-items: center;
  justify-content: center; background: rgb(226, 226, 226); color: rgb(71, 71, 71); font-size: 24px; font-weight: 500; }
.clone-rev-rec { display: flex; align-items: center; gap: 6px; }
.clone-rev-rec p { margin: 0; font-size: 14px; color: var(--rev-muted); }
.clone-rev-body { flex: 1; display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
.clone-rev-quote { margin: 0; font-size: 16px; line-height: 1.6; }
.clone-rev-more { display: inline-flex; align-items: center; gap: 4px; color: var(--rev-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.clone-rev-more:hover { text-decoration: underline; }
.clone-rev-foot { display: flex; align-items: center; gap: 8px; color: rgb(24, 119, 242); }
.clone-rev-foot p { margin: 0; font-size: 13px; line-height: 1.4; color: var(--rev-muted); display: flex; flex-direction: column; min-width: 0; }
.clone-rev-foot strong { color: var(--rev-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clone-rev-nav { position: absolute; top: 228px; transform: translateY(-50%); z-index: 1; width: 44px; height: 44px;
  border: 0; border-radius: 50%; background: rgba(22, 22, 22, 0.55); color: rgb(255, 255, 255); cursor: pointer;
  display: flex; align-items: center; justify-content: center; font-size: 20px; }
.clone-rev-nav:hover { background: rgb(51, 51, 51); }
@media (min-width: 768px) {
  .clone-rev-nav { width: 48px; height: 48px; background: rgb(255, 255, 255); color: rgb(27, 27, 27); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); }
  .clone-rev-nav:hover { background: rgb(235, 235, 235); }
}
.clone-rev-prev { left: 0; } .clone-rev-prev svg { transform: rotate(180deg); }
.clone-rev-next { right: 0; }
.clone-rev-more:focus-visible, .clone-rev-all:focus-visible, .clone-rev-nav:focus-visible { outline: 2px solid rgb(255, 255, 255); outline-offset: 2px; }
.clone-rev-more:focus-visible { outline-color: var(--rev-ink); }
@media (max-width: 767px) { .clone-rev-card { flex-basis: 78%; height: 400px; } .clone-rev-nav { top: 208px; width: 40px; height: 40px; } }
/* only the current page's cards show; the rest fade out while the row slides */
.clone-rev-card { transition: opacity .3s ease, visibility .3s; }
.clone-rev-card[aria-hidden="true"] { opacity: 0; visibility: hidden; }
/* page bullets under the cards, as on the original */
.clone-rev-dots { display: flex; justify-content: center; gap: 12px; margin-top: 16px; }
.clone-rev-dots[hidden] { display: none; }
.clone-rev-dot { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(255, 255, 255, 0.5); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); transition: background-color .2s; }
.clone-rev-dot[aria-selected="true"] { background: rgb(255, 255, 255); }
.clone-rev-dot:hover { background: rgba(255, 255, 255, 0.8); }
.clone-rev-dot:focus-visible { outline: 2px solid rgb(255, 255, 255); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .clone-rev-track { transition: none; } }

/* section background photos: the lazy layer is an empty div that GoDaddy's script stretched over the section */
.x [data-aid="SECTION_BACKGROUND"] { position: relative; }
.x [data-aid="SECTION_BACKGROUND"] > [data-lazybg] { position: absolute; inset: 0; }
.x [data-aid="SECTION_BACKGROUND"] > section { position: relative; z-index: 1; }
.clone-rev-date { white-space: nowrap; }

/* "Get directions": top-right of the map, clear of Google's address card (top-left) */
.x [data-aid="CONTACT_MAP_REND"] ~ button[icon="direction"] {
  left: auto; right: 16px; top: 16px; z-index: 2;
  background-color: rgb(255, 255, 255); color: rgb(27, 27, 27); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
.x [data-aid="CONTACT_MAP_REND"] ~ button[icon="direction"]:hover { background-color: rgb(235, 235, 235); }
@media (max-width: 767px) { .x [data-aid="CONTACT_MAP_REND"] ~ button[icon="direction"] { left: auto; right: 8px; top: 8px; } }

/* guest directory: one consistent rhythm for every episode entry */
.clone-guest { --ep-gap: 24px; --ep-rule: rgba(27, 27, 27, 0.12); --ep-muted: rgb(89, 89, 89); --ep-ink: rgb(27, 27, 27); }
.x.clone-guest [data-ux="ContentBasic"] { margin: 0; padding: var(--ep-gap) 0; border-bottom: 1px solid var(--ep-rule); }
/* the six episode groups read as one continuous list: no extra section padding between them */
.x.clone-guest section[data-ux="Section"]:has(.clone-ep-meta) { padding-bottom: 0; }
.x.clone-guest section[data-ux="Section"]:has(.clone-ep-meta):not(:has(h1)) { padding-top: 0; }
.x.clone-guest section[data-ux="Section"]:has(h1) [data-ux="GridCell"] > [data-ux="ContentBasic"]:first-child { padding-top: 0; }
.x.clone-guest [data-ux="Page"] > [data-ux="Block"] > div:has(.clone-ep-meta):not(:has(~ div .clone-ep-meta)) section[data-ux="Section"] { padding-bottom: 56px; }
.x.clone-guest [data-ux="ContentHeading"] { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.clone-ep-meta { display: block; font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ep-muted); }
.clone-ep-name { display: block; font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--ep-ink); }
.x.clone-guest [data-ux="ContentText"] { margin: 8px 0 0; padding: 0; font-size: 15px; line-height: 1.6; color: var(--ep-muted); }
.x.clone-guest [data-ux="ContentText"] p { margin: 0; }
.x.clone-guest [data-ux="ContentText"] p + p { margin-top: 4px; }
/* keep the episode video in view while its list scrolls past */
@media (min-width: 768px) {
  .x.clone-guest [data-ux="GridCell"]:has(> [data-ux="Block"] [data-ux="Video"]) { position: sticky; top: 88px; align-self: flex-start; }
}
