/* Gravity Forms: replace "(Required)" with red star */
.gform_wrapper .gfield_required_text {
    font-size: 0 !important;
}

.gform_wrapper .gfield_required_text::after {
    content: "*";
    font-size: 24px;
    color: #FF0000;
    line-height: 1;
    position: relative;
    left: -3px; /* moves star to the left */
}

/* Make the + circle red */
.gfield_list_icons .add_list_item {
    background-color: #ff0000 !important;
    border-color: #ff0000 !important;
}

/* Make the plus icon white (if needed) */
.gfield_list_icons .add_list_item::before {
    color: #ffffff !important;
}

/* Optional: hover state */
.gfield_list_icons .add_list_item:hover {
    background-color: #cc0000 !important;
    border-color: #cc0000 !important;
}

/* Make the - (remove) circle red */
.gfield_list_icons .delete_list_item {
    background-color: #ff0000 !important;
    border-color: #ff0000 !important;
}

/* Make the minus icon white */
.gfield_list_icons .delete_list_item::before {
    color: #ffffff !important;
}

/* Optional: hover state */
.gfield_list_icons .delete_list_item:hover {
    background-color: #cc0000 !important;
    border-color: #cc0000 !important;
}

body.page-id-1234 .page-header {
    display: none !important;
}

body.page-id-1234 .site-main,
body.page-id-1234 .elementor-section-wrap {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* CART PAGE ONLY */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wp-block-woocommerce-cart * {
  font-family: "Montserrat", sans-serif !important;
}

/* Main button */
.woocommerce-cart .wc-block-components-button,
.woocommerce-cart .wp-element-button,
.woocommerce-cart .wc-block-cart__submit-button {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
}

/* Button hover */
.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-cart .wp-element-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:hover {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Product name red */
.woocommerce-cart .wc-block-components-product-name {
  color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
}

/* Product name hover */
.woocommerce-cart .wc-block-components-product-name:hover {
  color: #CC1D1D !important;
}

/* Cart totals heading and labels */
.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-panel__button,
.woocommerce-cart .wc-block-components-product-details,
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-formatted-money-amount,
.woocommerce-cart .wc-block-cart-item__remove-link,
.woocommerce-cart .wc-block-components-quantity-selector__input,
.woocommerce-cart .wc-block-components-quantity-selector__button {
  font-family: "Montserrat", sans-serif !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__input {
  font-size: 16px !important;
  line-height: normal !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

.woocommerce-cart .wc-block-components-quantity-selector {
  height: 48px !important;
  min-height: 48px !important;
  align-items: stretch !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
  height: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Quantity + and - hover color */
.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
  background-color: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Also apply when focused/active */
.woocommerce-cart .wc-block-components-quantity-selector__button:focus,
.woocommerce-cart .wc-block-components-quantity-selector__button:active {
  background-color: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Product name styling */
.woocommerce-cart .wc-block-components-product-name {
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Hide cart page title */
.woocommerce-cart .entry-title {
  display: none !important;
}

/* Push cart page content below fixed header */
.woocommerce-cart .site-main {
  padding-top: 160px !important;
}

/* Mobile cart page overflow fix */
@media (max-width: 767px) {
  .woocommerce-cart,
  .woocommerce-cart .site-main,
  .woocommerce-cart .entry-content,
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-cart .wc-block-cart {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .wp-block-woocommerce-cart {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .woocommerce-cart .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

body.page-id-1261 .page-header {
    display: none !important;
}

body.page-id-1261 .site-main,
body.page-id-1261 .elementor-section-wrap {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* FOOEVENTS ATTENDEE PAGE ONLY */
#fooevents-attendee-page,
#fooevents-attendee-page * {
  font-family: "Montserrat", sans-serif !important;
  box-sizing: border-box;
}

/* Main page spacing */
#fooevents-attendee-page {
  padding: 00px 20px 0px 20px;
  max-width: 1100px;
  margin: 0 auto;
}

/* Event title */
#fooevents-attendee-page h2 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 40px;
  color: #000000;
}

/* Attendee card */
#fooevents-attendee-page .fooevents-attendee-item {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  padding: 35px;
  border-radius: 12px;
  margin-bottom: 30px;
}

/* Attendee heading */
#fooevents-attendee-page .fooevents-attendee-item h3 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 30px;
  color: #CC1D1D;
}

/* Labels */
#fooevents-attendee-page label {
  font-size: 15px;
  font-weight: 600;
  color: #000000;
  margin-bottom: 8px;
  display: block;
}

/* Required star */
#fooevents-attendee-page .required {
  color: #CC1D1D !important;
}

/* Inputs */
#fooevents-attendee-page input.input-text,
#fooevents-attendee-page input[type="text"],
#fooevents-attendee-page input[type="email"],
#fooevents-attendee-page input[type="tel"] {
  width: 100%;
  height: 52px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 0 16px;
  font-size: 16px;
  transition: all 0.2s ease;
  background: #ffffff;
  color: #000000;
}

/* Input focus */
#fooevents-attendee-page input:focus {
  border-color: #CC1D1D !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #CC1D1D;
}

/* Form spacing */
#fooevents-attendee-page .form-row {
  margin-bottom: 24px;
}

/* Submit button */
#fooevents-attendee-page button.button,
#fooevents-attendee-page .wp-element-button {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border: 1px solid #CC1D1D !important;
  border-radius: 8px;
  padding: 16px 28px;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.2s ease;
  cursor: pointer;
}

/* Button hover */
#fooevents-attendee-page button.button:hover,
#fooevents-attendee-page .wp-element-button:hover {
  background: #a91616 !important;
  border-color: #a91616 !important;
  color: #ffffff !important;
}

/* Mobile styling */
@media (max-width: 767px) {

  #fooevents-attendee-page {
    padding: 00px 20px 00px 20px;
  }

  #fooevents-attendee-page h2 {
    font-size: 28px;
    line-height: 1.2;
  }

  #fooevents-attendee-page .fooevents-attendee-item {
    padding: 24px;
  }

  #fooevents-attendee-page .fooevents-attendee-item h3 {
    font-size: 20px;
  }

  /* Stack first/last name fields */
  #fooevents-attendee-page .form-row-first,
  #fooevents-attendee-page .form-row-last {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }

  #fooevents-attendee-page button.button,
  #fooevents-attendee-page .wp-element-button {
    width: 100%;
  }
}

/* =========================
   CHECKOUT PAGE STYLING
   ========================= */

/* Hide checkout page title */
.woocommerce-checkout h1.entry-title {
  display: none !important;
}

/* Montserrat everywhere on checkout */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout *,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wc-block-checkout * {
  font-family: "Montserrat", sans-serif !important;
}

/* Add page spacing */
.woocommerce-checkout .site-main {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

/* Main buttons */
.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .wp-element-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
}

/* Larger place order button */
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  font-size: 20px !important;
  min-height: 44px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Button hover/focus */
.woocommerce-checkout .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-button:focus,
.woocommerce-checkout .wp-element-button:hover,
.woocommerce-checkout .wp-element-button:focus,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Return to cart link */
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
}

/* Section headings */
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-product-name {
  font-family: "Montserrat", sans-serif !important;
}

/* Product name in summary */
.woocommerce-checkout .wc-block-components-product-name {
  color: #CC1D1D !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Inputs and selects */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  font-family: "Montserrat", sans-serif !important;
}

/* Checkbox labels and misc text */
.woocommerce-checkout .wc-block-components-checkbox__label,
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-blocks-components-select__label,
.woocommerce-checkout .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-product-details,
.woocommerce-checkout .wc-block-formatted-money-amount {
  font-family: "Montserrat", sans-serif !important;
}

/* Remove old checkout offset */
.woocommerce-checkout .wp-block-woocommerce-checkout {
  margin-top: 0 !important;
}

/* Mobile overflow fix */
@media (max-width: 767px) {

  .woocommerce-checkout,
  .woocommerce-checkout .site-main,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .wp-block-woocommerce-checkout,
  .woocommerce-checkout .wc-block-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-top: 0 !important;
  }

  .woocommerce-checkout .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .woocommerce-checkout .wc-block-checkout__main,
  .woocommerce-checkout .wc-block-checkout__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce-checkout,
  .woocommerce-checkout *:not(svg):not(path) {
    font-family: "Montserrat", sans-serif !important;
  }

  /* Hide sidebar/order summary on mobile */
  .woocommerce-checkout .wc-block-checkout__sidebar {
    display: none !important;
  }

  /* Slightly smaller button on mobile */
  .woocommerce-checkout .wc-block-components-checkout-place-order-button {
    font-size: 20px !important;
    min-height: 58px !important;
  }
}

/* Checkout payment method radio buttons overlapping text fix */
.woocommerce-checkout .wc-block-components-radio-control__option {
  position: relative !important;
  padding-left: 68px !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-checkout .wc-block-components-radio-control__input {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

.woocommerce-checkout .wc-block-components-radio-control__label-group {
  width: 100% !important;
}

.woocommerce-checkout .wc-block-components-payment-method-label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* Hide WooPay express checkout globally */
.wcpay-express-checkout-wrapper {
  display: none !important;
}