@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

/* HOMAGE FONT */
body, p, div, span, li, h1, h2, h3, h4, h5, h6 {
  font-family: "Cormorant Garamond", serif !important;
}

/* KEEP THE HEADER CENTERED */
h1, h2, h3, h4,
[class*="heading"],
[class*="title"] {
  text-align: center !important;
}

/* Leave all images alone by default */
img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Vertically center the image column next to the text column */
.row:has(> .bl-image.image-highlight-right) {
  display: flex !important;
  align-items: center !important;
}

/* Desktop: image right, text left */
.row:has(> .bl-image.image-highlight-right) > .bl-image.image-highlight-right {
  order: 2 !important;
}

.row:has(> .bl-image.image-highlight-right) > .bl-content {
  order: 1 !important;
}

/* Float animation, scoped ONLY to the leaf image */
@keyframes leafFloat {
  0%   { transform: translate(0px, 0px) rotate(0deg); }
  25%  { transform: translate(3px, -6px) rotate(1deg); }
  50%  { transform: translate(-2px, -3px) rotate(-1deg); }
  75%  { transform: translate(-4px, -8px) rotate(0.5deg); }
  100% { transform: translate(0px, 0px) rotate(0deg); }
}

img[src*="038ff6dda715812b0392"] {
  animation: leafFloat 6s ease-in-out infinite;
}

/* MOBILE VERSION */
@media (max-width: 768px) {

  .row:has(> .bl-image.image-highlight-right) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0 !important;
  }

  /* PHOTO FIRST */
  .row:has(> .bl-image.image-highlight-right) > .bl-image.image-highlight-right {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 40px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .row:has(> .bl-image.image-highlight-right) > .bl-image.image-highlight-right img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* TEXT SECOND */
  .row:has(> .bl-image.image-highlight-right) > .bl-content {
    order: 2 !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    padding: 0 30px 50px 30px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  /* CENTER ALL TEXT */
  .row:has(> .bl-image.image-highlight-right) .bl-content,
  .row:has(> .bl-image.image-highlight-right) .bl-content p,
  .row:has(> .bl-image.image-highlight-right) .bl-content div,
  .row:has(> .bl-image.image-highlight-right) .bl-content span,
  .row:has(> .bl-image.image-highlight-right) .bl-content li,
  .row:has(> .bl-image.image-highlight-right) .bl-content h1,
  .row:has(> .bl-image.image-highlight-right) .bl-content h2,
  .row:has(> .bl-image.image-highlight-right) .bl-content h3,
  .row:has(> .bl-image.image-highlight-right) .bl-content h4 {
    text-align: center !important;
  }

  .row:has(> .bl-image.image-highlight-right) .bl-content p {
    width: 100% !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.45 !important;
  }

  .row:has(> .bl-image.image-highlight-right) .bl-content p + p {
    margin-top: 24px !important;
  }

  .row:has(> .bl-image.image-highlight-right) .bl-content h1,
  .row:has(> .bl-image.image-highlight-right) .bl-content h2,
  .row:has(> .bl-image.image-highlight-right) .bl-content h3 {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 28px !important;
    line-height: 1.1 !important;
  }

  .row:has(> .bl-image.image-highlight-right) .bl-content ul,
  .row:has(> .bl-image.image-highlight-right) .bl-content ol {
    display: inline-block !important;
    margin: 15px auto 30px auto !important;
    padding-left: 0 !important;
    list-style-position: inside !important;
    text-align: center !important;
  }

  .row:has(> .bl-image.image-highlight-right) .bl-content li {
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
  }
}

/* ========================================
   REGISTRATION / WAITLIST — COLORS ONLY
   ======================================== */

#section_register,
.sold-out-register {
  background-color: #34483B !important;
  color: #F5F0E6 !important;
}

/* Sold-out ticket: sage + ivory */
#section_register label:has(input[type="radio"]:disabled),
.sold-out-register label:has(input[type="radio"]:disabled) {
  background-color: #879487 !important;
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
}

#section_register label:has(input[type="radio"]:disabled) *,
.sold-out-register label:has(input[type="radio"]:disabled) * {
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
  opacity: 1 !important;
}

/* Waitlist ticket: ivory + dark green */
#section_register label:has(input[type="radio"]:not(:disabled)),
.sold-out-register label:has(input[type="radio"]:not(:disabled)) {
  background-color: #F2EBDD !important;
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
}

#section_register label:has(input[type="radio"]:not(:disabled)) *,
.sold-out-register label:has(input[type="radio"]:not(:disabled)) * {
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
  opacity: 1 !important;
}

/* Sold Out badge */
#section_register [class*="sold" i],
.sold-out-register [class*="sold" i] {
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
  opacity: 1 !important;
}

/* ========================================
   CONTINUE BUTTON — EXACT TRIPLESEAT ELEMENT
   ======================================== */

html body #section_register button#continue-btn.btn.btn-primary,
html body #section_register button#continue-btn.btn.btn-primary:disabled,
html body #section_register button#continue-btn.btn.btn-primary[disabled],
html body .sold-out-register button#continue-btn.btn.btn-primary,
html body .sold-out-register button#continue-btn.btn.btn-primary:disabled,
html body .sold-out-register button#continue-btn.btn.btn-primary[disabled] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #B98245 !important;
  background-color: #B98245 !important;
  background-image: none !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border: 1px solid #B98245 !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}

html body #section_register button#continue-btn.btn.btn-primary:hover,
html body #section_register button#continue-btn.btn.btn-primary:focus {
  background: #A87339 !important;
  background-color: #A87339 !important;
  background-image: none !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
}


/* ========================================
   RESTORE REGISTRATION TEXT VISIBILITY
   ======================================== */

/* General registration-area text stays ivory */
#section_register h1,
#section_register h2,
#section_register h3,
#section_register h4,
#section_register .attendease-reg-form-header,
#section_register .attendease-ticket-list-buttons > h1,
#section_register .attendease-ticket-list-buttons > h2,
#section_register .attendease-ticket-list-buttons > h3,
#section_register .attendease-ticket-list-buttons > h4,
#section_register .attendease-ticket-list-buttons > p,
#section_register .attendease-ticket-list-buttons > span {
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
}

/* Specifically restore REGISTER, Tickets, and currency note */
#section_register [class*="header" i],
#section_register [class*="currency" i],
#section_register [class*="amount" i] {
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
}

/* Waitlist card remains ivory with dark-green text */
#section_register label:has(input[type="radio"]:not(:disabled)),
#section_register label:has(input[type="radio"]:not(:disabled)) * {
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
}

/* Continue button remains ochre with ivory text */
html body #section_register button#continue-btn.btn.btn-primary,
html body #section_register button#continue-btn.btn.btn-primary:disabled,
html body #section_register button#continue-btn.btn.btn-primary[disabled] {
  background: #B98245 !important;
  background-color: #B98245 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
}


/* ========================================
   FINAL TWEAKS
   - Make SOLD OUT pop
   - Hide Registration Code box
   - Keep everything else unchanged
   ======================================== */

/* Hide the registration code input + Apply button */
#section_register input[placeholder*="Registration Code" i],
#section_register input[placeholder*="registration code" i],
#section_register [class*="registration-code" i],
#section_register [id*="registration-code" i],
#section_register [class*="registration_code" i],
#section_register [id*="registration_code" i],
#section_register button:has(+ input[placeholder*="Registration Code" i]),
#section_register input[placeholder*="Registration Code" i] + button {
  display: none !important;
}

/* Hide common wrapper around the registration code area */
#section_register *:has(> input[placeholder*="Registration Code" i]) {
  display: none !important;
}

/* Make SOLD OUT badge stand out clearly */
#section_register [class*="sold" i],
.sold-out-register [class*="sold" i] {
  background-color: #B98245 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border: 1px solid #B98245 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}


/* ========================================
   SOLD OUT — SIMPLE + LEGIBLE
   ======================================== */

/* Remove the large gold treatment from sold-out elements */
#section_register [class*="sold" i],
.sold-out-register [class*="sold" i] {
  background: transparent !important;
  background-color: transparent !important;
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
  border: 1px solid #26382E !important;
  border-radius: 999px !important;
  padding: 2px 9px !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Keep the sold-out ticket itself sage with readable ivory/dark details */
#section_register label:has(input[type="radio"]:disabled),
.sold-out-register label:has(input[type="radio"]:disabled) {
  background-color: #A8B2A9 !important;
}

/* Keep normal sold-out ticket text legible without a gold price block */
#section_register label:has(input[type="radio"]:disabled) *,
.sold-out-register label:has(input[type="radio"]:disabled) * {
  background-color: transparent !important;
  opacity: 1 !important;
}

/* Ticket title and price: dark forest for clean contrast on sage */
#section_register label:has(input[type="radio"]:disabled),
#section_register label:has(input[type="radio"]:disabled) span,
#section_register label:has(input[type="radio"]:disabled) div,
.sold-out-register label:has(input[type="radio"]:disabled),
.sold-out-register label:has(input[type="radio"]:disabled) span,
.sold-out-register label:has(input[type="radio"]:disabled) div {
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
}


/* ========================================
   SOLD OUT — FINAL CLEAN VERSION
   No circle, border, box, or gold
   ======================================== */

#section_register [class*="sold" i],
.sold-out-register [class*="sold" i] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  outline: none !important;
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Keep the $40 and SOLD OUT simple and legible on the sage ticket */
#section_register label:has(input[type="radio"]:disabled),
#section_register label:has(input[type="radio"]:disabled) *,
.sold-out-register label:has(input[type="radio"]:disabled),
.sold-out-register label:has(input[type="radio"]:disabled) * {
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
}

/* Preserve gold ONLY for Continue */
html body #section_register button#continue-btn.btn.btn-primary,
html body #section_register button#continue-btn.btn.btn-primary:disabled,
html body #section_register button#continue-btn.btn.btn-primary[disabled] {
  background: #B98245 !important;
  background-color: #B98245 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border: 1px solid #B98245 !important;
  border-radius: 4px !important;
}


/* ========================================
   SECOND PAGE ONLY — ATTENDEE PROFILE
   Activated only when the First name field exists
   ======================================== */

#section_register:has(input[placeholder*="First name" i]) {
  color: #F5F0E6 !important;
}

/* Headings, labels, consent copy, required fields, helper text */
#section_register:has(input[placeholder*="First name" i]) h1,
#section_register:has(input[placeholder*="First name" i]) h2,
#section_register:has(input[placeholder*="First name" i]) h3,
#section_register:has(input[placeholder*="First name" i]) h4,
#section_register:has(input[placeholder*="First name" i]) h5,
#section_register:has(input[placeholder*="First name" i]) label,
#section_register:has(input[placeholder*="First name" i]) p,
#section_register:has(input[placeholder*="First name" i]) small,
#section_register:has(input[placeholder*="First name" i]) span,
#section_register:has(input[placeholder*="First name" i]) div {
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
}

/* Inputs stay ivory with dark forest text */
#section_register:has(input[placeholder*="First name" i]) input[type="text"],
#section_register:has(input[placeholder*="First name" i]) input[type="email"],
#section_register:has(input[placeholder*="First name" i]) input[type="tel"],
#section_register:has(input[placeholder*="First name" i]) input[type="number"],
#section_register:has(input[placeholder*="First name" i]) textarea,
#section_register:has(input[placeholder*="First name" i]) select {
  background-color: #F2EBDD !important;
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
  border-color: rgba(38, 56, 46, 0.28) !important;
}

/* Input placeholders */
#section_register:has(input[placeholder*="First name" i]) input::placeholder,
#section_register:has(input[placeholder*="First name" i]) textarea::placeholder {
  color: #6F786F !important;
  -webkit-text-fill-color: #6F786F !important;
  opacity: 1 !important;
}

/* Links on attendee page */
#section_register:has(input[placeholder*="First name" i]) a,
#section_register:has(input[placeholder*="First name" i]) a * {
  color: #D5A15C !important;
  -webkit-text-fill-color: #D5A15C !important;
  text-decoration-color: #D5A15C !important;
}

/* Checkbox/radio accent */
#section_register:has(input[placeholder*="First name" i]) input[type="checkbox"],
#section_register:has(input[placeholder*="First name" i]) input[type="radio"] {
  accent-color: #B98245 !important;
}

/* REGISTER button — gold */
#section_register:has(input[placeholder*="First name" i]) .btn-primary,
#section_register:has(input[placeholder*="First name" i]) button[type="submit"] {
  background: #B98245 !important;
  background-color: #B98245 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border-color: #B98245 !important;
  opacity: 1 !important;
}

/* BACK button — sage */
#section_register:has(input[placeholder*="First name" i]) .btn-default,
#section_register:has(input[placeholder*="First name" i]) .btn-secondary,
#section_register:has(input[placeholder*="First name" i]) button:not(.btn-primary):not([type="submit"]) {
  background-color: #879487 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border-color: #879487 !important;
  opacity: 1 !important;
}

/* Ensure actual button text stays light */
#section_register:has(input[placeholder*="First name" i]) button,
#section_register:has(input[placeholder*="First name" i]) button * {
  -webkit-text-fill-color: #FFF9EE !important;
}


/* ========================================
   CONFIRMATION / ORDER PAGE
   Homage branding colors
   ======================================== */

/* Confirmation card */
#section_register:has(table),
.attendease-registration-form:has(table),
.attendease-block-content:has(table) {
  background-color: #637363 !important;
  color: #F5F0E6 !important;
}

/* Confirmation headings and general copy */
#section_register:has(table) h1,
#section_register:has(table) h2,
#section_register:has(table) h3,
#section_register:has(table) h4,
#section_register:has(table) p,
#section_register:has(table) span,
#section_register:has(table) label,
.attendease-block-content:has(table) h1,
.attendease-block-content:has(table) h2,
.attendease-block-content:has(table) h3,
.attendease-block-content:has(table) h4,
.attendease-block-content:has(table) p {
  color: #F5F0E6 !important;
  -webkit-text-fill-color: #F5F0E6 !important;
}

/* Order table: ivory surface with dark forest text */
#section_register:has(table) table,
#section_register:has(table) table tbody,
#section_register:has(table) table thead,
#section_register:has(table) table tr,
#section_register:has(table) table th,
#section_register:has(table) table td,
.attendease-block-content:has(table) table,
.attendease-block-content:has(table) table tbody,
.attendease-block-content:has(table) table thead,
.attendease-block-content:has(table) table tr,
.attendease-block-content:has(table) table th,
.attendease-block-content:has(table) table td {
  background-color: #F2EBDD !important;
  color: #26382E !important;
  -webkit-text-fill-color: #26382E !important;
  border-color: rgba(38, 56, 46, 0.18) !important;
}

/* Primary confirmation action */
#section_register:has(table) .btn-primary,
.attendease-block-content:has(table) .btn-primary {
  background: #B98245 !important;
  background-color: #B98245 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border-color: #B98245 !important;
  opacity: 1 !important;
}

/* Secondary confirmation action */
#section_register:has(table) .btn-default,
#section_register:has(table) .btn-secondary,
.attendease-block-content:has(table) .btn-default,
.attendease-block-content:has(table) .btn-secondary {
  background-color: #879487 !important;
  color: #FFF9EE !important;
  -webkit-text-fill-color: #FFF9EE !important;
  border-color: #879487 !important;
  opacity: 1 !important;
}

/* Confirmation links */
#section_register:has(table) a,
.attendease-block-content:has(table) a {
  color: #D5A15C !important;
  -webkit-text-fill-color: #D5A15C !important;
}
