/* Choose Package: presentation only. Keep the existing selection and drawer states. */
body.quote-page-body {
  --heading-font: "Manrope", sans-serif;
  --body-font: "Manrope", sans-serif;
  --coffee: #171310;
  --dark: #24190f;
  --accent: #a76b38;
  background: #f4eddf;
  color: #171310;
  font-family: var(--body-font);
  padding-top: 84px;
}
/* The fixed cart needs no page padding after the footer. */
body.quote-page-body.quote-has-cart { padding-bottom: 0; }
.quote-page-body :focus-visible { outline: 3px solid #b46c30; outline-offset: 4px; }
.quote-page-body .site-nav {
  background: #191511 !important;
  border-bottom: 1px solid #ffffff18 !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 1; transform: none; animation: none;
}
.quote-page-body .site-nav::before,
.quote-page-body .site-nav::after { display: none; }
.quote-page-body .nav-container { width: 100% !important; max-width: none !important; }
.quote-page-body .nav-brand-wordmark { filter: brightness(1.2); }
.quote-page-body .nav-brand-text small { color: #e6bd8e; }
.quote-page-body .site-nav .nav-links a { font-family: var(--body-font); font-weight: 700; }
.quote-page-body .site-nav .nav-events-link {
  background: #dbc09b !important; color: #211811 !important; border-color: transparent !important;
}

/* A quiet, compact introduction keeps the actual choices close to the fold. */
body.quote-page-body .quote-header {
  padding: 56px 24px 60px !important;
  background: #191511;
  border: 0;
}
.quote-page-body .quote-header::before,
.quote-page-body .quote-header::after,
.quote-page-body .quote-header h1::after,
.quote-page-body .quote-kicker { display: none !important; }
.quote-page-body .quote-header-content { width: min(1180px, 100%); }
.quote-page-body .fade-in-up,
.quote-page-body .cart-grid { opacity: 1; transform: none; animation: none; }
body.quote-page-body .quote-header :is(h1, p) { opacity: 1; transform: none; animation: none; }
body.quote-page-body .quote-header .home-title {
  max-width: 100%; margin: 0 0 20px; padding: 0;
  color: #f4eddf; background: none; -webkit-text-fill-color: currentColor;
  font-family: var(--heading-font); font-size: clamp(38px, 4.6vw, 72px) !important;
  font-weight: 800; line-height: 1.08; letter-spacing: -.04em;
  text-wrap: balance; text-shadow: none;
}
body.quote-page-body .quote-header p {
  max-width: 62ch; color: #c8bfb4; font-family: var(--body-font);
  font-size: 16px; line-height: 1.7;
}
.quote-page-body main.container.quote-page {
  width: min(1280px, 100%); padding: 48px 32px 72px;
}
.quote-page-body .all-in-one-package {
  width: 100% !important; max-width: none !important; margin-bottom: 0 !important;
}
.quote-page-body .all-in-one-package .cart-grid {
  width: 100% !important; max-width: none !important;
}
.quote-page-body .all-in-one-package .all-in-one-card,
.quote-page-body .all-in-one-package .all-in-one-card:hover {
  max-width: none !important; min-height: 510px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: #fffaf2; border: 1px solid #d9cbb9 !important;
  border-radius: 8px !important; box-shadow: none !important;
  opacity: 1; transform: none !important; animation: none;
}
.quote-page-body .package-slideshow { min-height: 510px; background: #ece0ce; }
.quote-page-body .all-in-one-package .package-slide,
.quote-page-body .all-in-one-package .all-in-one-card:hover .package-slide {
  background: #ece0ce; object-fit: contain !important; filter: none !important;
}
.quote-page-body .package-slide-controls { border-radius: 5px; background: #191511; box-shadow: none; }
.quote-page-body .package-slide-count { font-family: var(--body-font); color: #f4eddf; }
.quote-page-body .all-in-one-details { padding: clamp(28px, 3.5vw, 52px); }
.quote-page-body .all-in-one-package .all-in-one-card h2,
.quote-page-body .all-in-one-package .all-in-one-card:hover h2 {
  color: #171310 !important; font-family: var(--heading-font);
  font-size: clamp(30px, 2.8vw, 42px) !important;
  font-weight: 800; letter-spacing: -.04em; line-height: 1.12;
}
.quote-page-body .all-in-one-package .all-in-one-card .all-in-one-copy,
.quote-page-body .all-in-one-package .all-in-one-card:hover .all-in-one-copy {
  color: #65513e !important; font-size: 15px; line-height: 1.65; margin-bottom: 28px;
}
.quote-page-body .all-in-one-package .bundle-options { gap: 12px; }
.quote-page-body .all-in-one-package .bundle-option,
.quote-page-body .all-in-one-package .all-in-one-card:hover .bundle-option {
  width: 100%; min-width: 0; min-height: 70px; margin: 0; padding: 12px 14px;
  grid-template-columns: minmax(0, 1fr) auto; gap: 12px;
  background: transparent !important; border: 1px solid #b8a590 !important;
  border-radius: 5px; box-shadow: none; transform: none !important;
  transition: background-color 160ms, border-color 160ms;
}
.quote-page-body .all-in-one-package .bundle-option:hover { border-color: #735035 !important; }
.quote-page-body .all-in-one-package .bundle-option:has(input:checked),
.quote-page-body .all-in-one-package .all-in-one-card:hover .bundle-option:has(input:checked) {
  background: #f0dfc7 !important; border-color: #735035 !important;
}
.quote-page-body .all-in-one-package .bundle-option:has(input:focus-visible) {
  outline: 3px solid #b46c30; outline-offset: 4px;
}
.quote-page-body .all-in-one-card .quote-choice-option > span:not(.quote-choice-hidden-input),
.quote-page-body .all-in-one-card:hover .quote-choice-option > span:not(.quote-choice-hidden-input) {
  color: #24190f !important; font-family: var(--body-font); font-size: 14px; font-weight: 800;
}
.quote-page-body .quote-choice-option::after {
  min-height: 44px; padding: 0 14px; border-radius: 4px; box-shadow: none;
  background: #e6bd8e; color: #24190f; font-family: var(--body-font); font-size: 12px; font-weight: 800;
}
.quote-page-body .quote-choice-option:has(input:checked)::after { background: #241c15; color: #f4eddf; }
.quote-page-body .quote-status { background: #fffaf2; border-color: #d9cbb9; border-radius: 8px; box-shadow: none; }

/* Restyle the existing cart, without overriding hidden / has-items / is-open. */
.quote-page-body .quote-cart-toggle,
.quote-page-body .quote-cart-toggle:hover {
  min-height: 54px; background: #241c15; color: #f4eddf; border: 0; border-radius: 5px;
  font-family: var(--body-font); font-weight: 800; box-shadow: 0 10px 28px #17131026;
  transform: none; filter: none;
}
.quote-page-body .quote-cart-toggle-icon { background: #e6bd8e; border-radius: 4px; }
.quote-page-body .quote-cart-count { background: #e6bd8e; color: #24190f; border: 0; }
.quote-page-body .quote-floating-cart::after { background: #17131099; backdrop-filter: none; }
.quote-page-body .quote-floating-cart .quote-cart-panel {
  background: #f4eddf !important; border-left: 0 !important;
  box-shadow: -16px 0 48px #17131033 !important;
}
.quote-page-body .quote-cart-panel-header {
  min-height: 150px; padding: 30px 80px 30px 28px !important; background: #191511 !important;
}
.quote-page-body .quote-cart-panel-header p {
  padding: 0 !important; border: 0 !important; border-radius: 0; box-shadow: none;
  background: none; color: #e6bd8e !important; font-family: var(--body-font);
}
.quote-page-body .quote-cart-panel-header h3 {
  color: #f4eddf; font-family: var(--heading-font) !important;
  font-size: 38px !important; font-weight: 800 !important; line-height: 1.08;
}
.quote-page-body .quote-cart-panel-close {
  width: 44px !important; height: 44px !important; border-radius: 5px;
  background: #30271e !important; color: #f4eddf; box-shadow: none;
}
.quote-page-body .quote-cart-steps,
.quote-page-body .quote-floating-cart .quote-cart-panel ul,
.quote-page-body .quote-cart-panel .total { background: #f4eddf !important; }
.quote-page-body .quote-cart-steps span { color: #65513e !important; font-family: var(--body-font); }
.quote-page-body .quote-cart-steps span::before { background: #f4eddf; border-color: #b8a590; }
.quote-page-body .quote-cart-steps .is-active::before { background: #241c15; color: #f4eddf; border-color: #241c15; box-shadow: none; }
.quote-page-body .quote-reservation-cart-item { background: #fffaf2 !important; gap: 14px !important; }
.quote-page-body .quote-reservation-item-image { border-radius: 5px !important; background: #ece0ce; border: 0; }
.quote-page-body .quote-reservation-item-copy strong,
.quote-page-body .quote-reservation-cart-item b,
.quote-page-body .quote-cart-panel .total > span {
  font-family: var(--body-font); font-weight: 800; color: #24190f !important;
}
.quote-page-body .quote-reservation-item-copy span,
.quote-page-body .quote-cart-panel .total::before {
  font-family: var(--body-font); color: #65513e !important;
}
.quote-page-body .quote-reservation-remove { width: 44px !important; height: 44px !important; border-radius: 5px; }
.quote-page-body .quote-reservation-cart-item { grid-template-columns: 76px minmax(0, 1fr) auto 44px !important; }
.quote-page-body .quote-reservation-item-image { width: 76px !important; height: 76px !important; }
.quote-page-body .quote-cart-panel .btn-reserve {
  min-height: 56px !important; border: 1px solid transparent; border-radius: 5px !important;
  background: #e6bd8e !important; color: #24190f !important; font-family: var(--body-font);
  font-size: 14px !important; font-weight: 800 !important; line-height: 1.5;
  box-shadow: none !important;
  margin-bottom: max(24px, env(safe-area-inset-bottom)) !important;
}
.quote-page-body .quote-cart-panel .btn-reserve:not(.disabled):hover { background: #f0d0a8 !important; transform: none; }
.quote-page-body .quote-cart-panel .btn-reserve.disabled { opacity: .5; }

.quote-page-body .site-footer { background: #15120f; font-family: var(--body-font); }
.quote-page-body .site-footer::before,
.quote-page-body .site-footer::after { display: none; }
.quote-page-body .footer-column h3,
.quote-page-body .footer-column h4 { font-family: var(--heading-font); color: #e6bd8e; }
.quote-page-body .footer-column a,
.quote-page-body .footer-column p { color: #d6cabc; font-family: var(--body-font); }
.quote-page-body .footer-trust,
.quote-page-body .footer-bottom { font-family: var(--body-font); }
/* The decorative badge must not cover controls in an open drawer. */
.quote-page-body:is(.quote-cart-open, .nav-open) .recaptcha-badge { visibility: hidden; }
.quote-page-body #akopi-cookie-consent {
  z-index: 1000000; border-radius: 6px; background: #211b16; font-family: var(--body-font);
}
.quote-page-body .akopi-cookie-button { background: #e6bd8e; color: #24190f; border-color: #e6bd8e; border-radius: 5px; }

@media (max-width: 1280px) {
  /* Keep the floating cart between the trust line and copyright, not over text. */
  .quote-page-body.quote-has-cart .footer-bottom { margin-top: 84px !important; }
}
@media (max-width: 980px) {
  body.quote-page-body { padding-top: 76px; }
  body.quote-page-body.nav-open { overflow: hidden; }
  .quote-page-body .site-nav .nav-menu#navLinks {
    background: #191511; border-color: #e6bd8e30; border-radius: 0 !important;
    box-shadow: 18px 0 40px #17131033;
  }
  .quote-page-body .site-nav .nav-brand,
  .quote-page-body .site-nav .nav-toggle { z-index: 9999; }
  .quote-page-body .site-nav .nav-toggle {
    position: relative; border-radius: 5px; border-color: #e6bd8e66;
    background: #26211b; color: #f4eddf; box-shadow: none;
  }
  .quote-page-body .site-nav .nav-toggle span { background: #f4eddf; }
  .quote-page-body .site-nav .nav-menu#navLinks .nav-links a {
    border: 1px solid transparent; border-radius: 5px !important; background: transparent;
    color: #f4eddf; font-family: var(--body-font);
  }
  .quote-page-body .site-nav .nav-menu#navLinks .nav-links a:is(:hover, :focus-visible, .active) { background: #2c251e; border-color: #e6bd8e40; }
  .quote-page-body .site-nav .nav-menu#navLinks .nav-links .nav-events-link { background: #e6bd8e !important; color: #191511 !important; }
  .quote-page-body .nav-mobile-backdrop { background: #171310a8; }
  .quote-page-body .all-in-one-details { padding: 28px; }
}
@media (max-width: 760px) {
  body.quote-page-body .quote-header { padding: 38px 22px 40px !important; }
  body.quote-page-body .quote-header .home-title { font-size: clamp(34px, 7.5vw, 50px) !important; }
  body.quote-page-body .quote-header p { font-size: 14px; }
  .quote-page-body main.container.quote-page { padding: 28px 20px 44px !important; }
  .quote-page-body .all-in-one-package .all-in-one-card { grid-template-columns: minmax(0, 1fr) !important; min-height: 0; }
  .quote-page-body .all-in-one-package .package-slideshow { min-height: 0; height: clamp(260px, 72vw, 420px); }
  .quote-page-body .all-in-one-package .all-in-one-card h2 { font-size: 30px !important; }
  .quote-page-body .all-in-one-details { padding: 26px 22px; }
  .quote-page-body .all-in-one-package .all-in-one-card .all-in-one-copy { margin-bottom: 22px; font-size: 14px; }
  .quote-page-body .quote-reservation-cart-item { grid-template-columns: 64px minmax(0, 1fr) 44px !important; padding: 18px 20px !important; gap: 12px !important; }
  .quote-page-body .quote-reservation-item-image { width: 64px !important; height: 64px !important; }
  .quote-page-body .quote-cart-panel-header { min-height: 138px; }
  .quote-page-body .quote-cart-panel-header h3 { font-size: 32px !important; }
  .quote-page-body .quote-cart-panel .total { flex-wrap: wrap; row-gap: 12px; }
  .quote-page-body .quote-cart-panel .total > span { font-size: 34px !important; }
}
@media (max-width: 520px) {
  body.quote-page-body { padding-top: 70px; }
  .quote-page-body .site-nav .nav-links a { font-size: 14px !important; }
  .quote-page-body .all-in-one-package .bundle-option { padding: 10px; gap: 8px; }
  .quote-page-body .all-in-one-card .quote-choice-option > span:not(.quote-choice-hidden-input) { font-size: 13px; }
  .quote-page-body .quote-choice-option::after { padding: 0 10px; font-size: 11px; }
}
@media (max-width: 360px) {
  .quote-page-body main.container.quote-page { padding-inline: 14px !important; }
  .quote-page-body .all-in-one-details { padding-inline: 16px; }
  .quote-page-body .quote-cart-panel-header { padding-left: 20px !important; }
}
@media (max-height: 560px) {
  .quote-page-body .quote-cart-panel-header { min-height: 80px; padding: 20px 80px 20px 24px !important; }
  .quote-page-body .quote-cart-panel-header p { display: none; }
  .quote-page-body .quote-cart-panel-header h3 { font-size: 28px !important; margin: 0; }
  .quote-page-body .quote-cart-panel-close { top: 18px !important; }
  .quote-page-body .quote-cart-steps { padding: 8px 22px !important; }
  .quote-page-body .quote-cart-steps span::before { width: 24px; height: 24px; margin-bottom: 4px; }
  .quote-page-body .quote-cart-steps span::after { top: 12px; }
  .quote-page-body .quote-cart-panel .total { padding: 12px 24px 0 !important; }
  .quote-page-body .quote-cart-panel .total > span { font-size: 28px !important; }
  .quote-page-body .quote-cart-panel .btn-reserve { min-height: 48px !important; margin-top: 12px !important; margin-bottom: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .quote-page-body *, .quote-page-body *::before, .quote-page-body *::after { animation: none !important; transition: none !important; }
}
