/**
Theme Name: Astra Child
Author: Hoageez, LLC
Author URI: http://wpastra.com/about/
Description: Astra Child Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ============================================================
   TABLE OF CONTENTS
   1   Base / Global
   2   Gravity Forms — Ordering UI (Cards, Icons)
   3   Gravity Forms — Edit Button (Three Dots)
   4   Gravity Forms — Portion Buttons
   5   Gravity Forms — Section Badges
   6   Gravity Forms — Topping Price Line
   7   Gravity Forms — Base Pricing Field
   8   Gravity Forms — Jetsloth Collapsible Sections
   9   Gravity Forms — Sides Card
   10  Product Pages — Single Product Layout
   11  Product Pages — Hoagie Builder Nav
   12  Product Pages — Sticky Add Bar
   13  Product Pages — Back to Menu Button
   14  WooCommerce — Order/Menu Listing Cards
   15  WooCommerce — Cart & Checkout
   16  WooCommerce — Thank You Page
   17  WooCommerce — My Account
   18  WooCommerce — Fast Cart
   19  Navigation & Header
   20  Category / Info Filters
   21  Sides Jump Navigation
   22  Homepage — Fan Favorites
   23  Hero Section
   24  Cart Icon & Animations
   25  Adding to Order Overlay
   26  Reorder Loader
   27  Shared — Marketing Page Primitives
   28  Page — Home
   29  Page — About
   30  Page — Catering
   31  Page — Home / About Responsive
   32  Page — Catering Responsive
   33  Page — Gift Card
   34  Page — Gift Card Balance
   35  Page — Contact
   36  Contact Form — Topic Selector
   37  Page — Penn State Health Direct Bill
   38  Footer
   39  Mobile Slide-In Menu
   ============================================================ */


/* ============================================================
   1. Base / Global
   ============================================================ */

/* Prevent iOS Auto-Zoom on Form Focus */
html {
  -webkit-text-size-adjust: 100%;
}

/* Prevent iOS auto-zoom on input focus */
input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="password"],
input[type="search"],
select,
textarea {
  font-size: 16px !important;
}


/* ============================================================
   2. Gravity Forms — Ordering UI (Cards, Icons)
   ============================================================ */

/* Section headings */
.gform_wrapper .gsection_title {
  font-family: 'Anton', sans-serif;
  font-size: 28px;
  font-weight: 900;
  margin-top: 30px;
  text-align: left;
}

h3.gsection_title {
  margin-bottom: -4px;
}

.gform_wrapper .gsection {
  border-bottom: none !important;
}

/* Tighten overall form spacing */
form .gform_body fieldset.gfield {
  margin-bottom: 3px !important;
}

.gform-theme--foundation .gform_fields {
  grid-row-gap: 0 !important;
}

/* Base choice label styling */
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) label {
  -webkit-font-smoothing: antialiased;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  position: relative;
}

/* Hide native inputs */
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) input[type="checkbox"],
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) input[type="radio"] {
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px;
}

body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 4px 0 10px 35px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-sizing: border-box;
  margin-bottom: 6px;
  cursor: pointer;
  box-shadow: none;
  transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

body .gform_wrapper .gfield_radio .gchoice:not(.gfield.portion-buttons .gchoice):has(input[type="radio"]:checked) {
  border: 1.5px solid #99b50f;
  box-shadow: none;
}

body .gform_wrapper .gfield_checkbox .gchoice:not(.gfield.portion-buttons .gchoice):has(input[type="checkbox"]:checked) {
  border: 1.5px solid #99b50f;
  box-shadow: none;
}

/* Visible circle/checkmark — anchored to the card, not the label */
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) label::before,
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) label::after {
  content: none !important;
  display: none !important;
}

body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice)::after {
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: 1px solid #D8D2C8;
  box-sizing: border-box;
  transition: all 0.2s ease;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice):has(input[type="checkbox"]:checked)::after,
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice):has(input[type="radio"]:checked)::after {
  content: "" !important;
  background-color: #8fae4a !important;
  border-color: #8fae4a !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 60% !important;
}

/* Choice images */
body .gform_wrapper .gchoice:not(.gfield.portion-buttons .gchoice) label img {
  width: 50px;
  height: auto;
  margin-right: 0;
  border-radius: 8px;
  flex-shrink: 0;
}

/* GF Totals / Price Display */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer,
.gform_wrapper .ginput_product_price,
.gform_wrapper .ginput_total,
.gform_wrapper .gf_total,
.gform_wrapper .gravityforms-product-addon-totals {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

span.ginput_price {
  font-size: 13px;
  margin-left: 4px;
  margin-top: 4px;
}

label.ginput_quantity_label.gform-field-label {
  display: none !important;
}



.gfield.hgz-show-price .ginput_price {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #a3a3a3 !important;
  margin-top: 2px !important;
}


/* ============================================================
   3. Gravity Forms — Edit Button (Three Dots)
   ============================================================ */

@keyframes hgz-card-pulse {
  0%   { transform: scale(1); }
  30%  { transform: scale(0.97); }
  65%  { transform: scale(1.015); }
  100% { transform: scale(1); }
}
.hgz-card-pulse {
  animation: hgz-card-pulse 0.22s ease forwards !important;
}

@keyframes hgz-card-uncheck {
  0%   { opacity: 1; transform: scale(1); }
  35%  { opacity: 0.4; transform: scale(0.975); }
  100% { opacity: 1; transform: scale(1); }
}
.hgz-card-uncheck {
  animation: hgz-card-uncheck 0.35s ease forwards !important;
}

.gchoice .hgz-edit-btn {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 30px !important;
  color: #C2B4A6 !important;
  cursor: pointer !important;
  z-index: 1 !important;
  padding: 0 8px !important;
  background: transparent !important;
  border: none !important;
  line-height: 1 !important;
}

.gchoice .hgz-edit-btn--done {
  color: #8fae4a !important;
}

.gchoice .hgz-edit-btn::before {
  content: '' !important;
  position: absolute !important;
  top: -20px !important;
  right: -14px !important;
  bottom: -20px !important;
  left: -20px !important;
}


/* ============================================================
   4. Gravity Forms — Portion Buttons
   ============================================================ */

/* Hide portion field by default until triggered */
.gfield.portion-buttons {
  display: none !important;
}

/* When overlay is open via JS */
.gfield.portion-buttons.hgz-edit-open {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  box-shadow: inset 0 3px 8px rgba(0,0,0,0.18), inset 0 1px 3px rgba(0,0,0,0.12) !important;
  background: #e8e4df !important;
}

/* Hide the label GF renders above the radio group */
.gfield.portion-buttons.hgz-edit-open .gfield_label {
  display: none !important;
}

/* The radio container — stretch full width */
.gfield.portion-buttons.hgz-edit-open .ginput_container {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Kill GF framework gap on portion bar radio container */
.gfield.portion-buttons.hgz-edit-open .gfield_radio {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  gap: 0 !important;
}

/* Each radio choice — equal width tiles, full height stretch */
.gfield.portion-buttons.hgz-edit-open .gchoice {
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  position: relative !important;
  cursor: pointer !important;
  min-height: 0 !important;
  height: 100% !important;
}

/* Rounded corners on first tile only */
.gfield.portion-buttons.hgz-edit-open .gchoice:first-child {
  border-radius: 8px 0 0 8px !important;
}

/* Last tile — no border-radius, chevron sits to its right */
.gfield.portion-buttons.hgz-edit-open .gchoice:last-child {
  border-radius: 0 !important;
}

/* Thin divider between tiles */
.gfield.portion-buttons.hgz-edit-open .gchoice + .gchoice {
  border-left: 1px solid rgba(0,0,0,0.10) !important;
}

/* Hide the actual radio input */
.gfield.portion-buttons.hgz-edit-open .gchoice input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Label fills the whole tile — clicking it selects */
.gfield.portion-buttons.hgz-edit-open .gchoice label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 63px !important;
  align-self: stretch !important;
  padding: 16px 6px !important;
  margin: 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #3a3a3a !important;
  text-align: center !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

/* Selected tile */
.gfield.portion-buttons.hgz-edit-open .gchoice input[type="radio"]:checked + label {
  background: #99b50f !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* ── Close/back chevron ──────────────────────────────────────── */
.hgz-portion-close-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 44px !important;
  min-height: 56px !important;
  font-size: 20px !important;
  color: #555 !important;
  cursor: pointer !important;
  background: transparent !important;
  border-left: 1px solid rgba(0,0,0,0.10) !important;
  user-select: none !important;
}
.hgz-portion-close-btn:hover {
  color: #451402 !important;
}

/* =========================================================
   PORTION INDICATOR — Extra / Less / Regular
   ========================================================= */

/* Portion text aligns with the secondary price line */
.hgz-portion-indicator {
  position: absolute !important;

  /* Same starting point as price/name text */
  left: 118px !important;
  bottom: 10px !important;

  margin: 0 !important;

  font-size: 12px !important;
  font-weight: 500 !important;
  color: #a3a3a3 !important;
  line-height: 1.2 !important;

  pointer-events: none !important;
  white-space: nowrap !important;
}


/* If this ingredient HAS a price,
   move Extra/Less to the right of the price */
.gchoice:has(.ginput_price) .hgz-portion-indicator {
  left: 167px !important;
}


/* Add a subtle separator when price + portion are both shown */
.gchoice:has(.ginput_price) .hgz-portion-indicator::before {
  content: "·";
  margin-right: 5px;
  color: #b5b5b5;
}


/* Keep ingredient name / price stacked correctly */
body .gform_wrapper
.gfield.hgz-has-portions
.gchoice label > span:not(.ginput_price):not(.hgz-portion-indicator) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}


/* ============================================================
   5. Gravity Forms — Section Badges
   ============================================================ */

.hgz-section-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}

.hgz-section-badge--required {
  /*background: #fee2e2;*/
  color: #b91c1c;
}

.hgz-section-badge--completed {
  /*background: #dcfce7;*/
  color: #15803d;
}

.hgz-section-badge--optional {
  /*background: #f3f4f6;*/
  color: #6b7280;
}

/* Add selected choice next to completed */
.hgz-selected-label {
  /*background: #f0ede8;*/
  color: #3a3a3a;
  font-size: 16px;
  font-weight: 700;
  padding: 4px 4px;
  border-radius: 20px;
  margin-left: 2px;
}


/* ============================================================
   6. Gravity Forms — Topping Price Line
   ============================================================ */

.gfield.unified-price .ginput_price {
  display: none !important;
}
.gform_wrapper .gfield_checkbox .gchoice {
  position: relative;
}
.gform_wrapper .gfield_checkbox .gchoice > label {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}
.gform_wrapper .gfield_checkbox .gchoice > label img {
  flex: 0 0 auto;
}
.gform_wrapper .gfield_checkbox .gchoice > label .ingredient-text-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.gform_wrapper .gfield_checkbox .gchoice > label .ingredient-title-text {
  display: block !important;
}
.gform_wrapper .gfield_checkbox .gchoice > label .ingredient-meta-line {
  display: block !important;
  margin: -3px 0 0 !important;
  position: static !important;
}
.gform_wrapper .gfield_checkbox .gchoice > label .ingredient-price-line {
  display: block !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #a3a3a3 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  pointer-events: none !important;
}

/* ── Meat/cheese and bacon card layout ── */
.hgz-meat-cheese .gchoice > label,
.hgz-show-price .gchoice > label {
  flex-wrap: wrap !important;
}

.hgz-meat-cheese .gchoice > label img,
.hgz-show-price .gchoice > label img {
  align-self: center !important;
}

.hgz-meat-cheese .gchoice > label .ginput_price,
.hgz-show-price .gchoice > label .ginput_price {
  order: 3 !important;
  flex: 0 0 100% !important;
  padding-left: calc(48px + 2px) !important;  /* image width + gap */
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #a3a3a3 !important;
  line-height: 1.2 !important;
  margin-top: -28px !important;
  display: block !important;
}

.gchoice label span.ginput_price {
  margin-top: -2px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #a3a3a3 !important;
  line-height: 1.2 !important;
}
.gfield.hgz-show-price .ginput_price {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #a3a3a3 !important;
  margin-top: 2px !important;
}

/* Hide zero prices */
.hgz-meat-cheese .gchoice:has(input[value*="|0.00"]) .ginput_price,
.hgz-meat-cheese .gchoice:has(input[value*="|0"]) .ginput_price {
  display: none !important;
}


/* ============================================================
   7. Gravity Forms — Base Pricing Field
   ============================================================ */

/* Hide native GF price on Base field */
.gfield.hgz-base-pricing .ginput_price {
  display: none !important;
}


/* ============================================================
   8. Gravity Forms — Jetsloth Collapsible Sections
   ============================================================ */

.gform_wrapper .cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-open + .collapsible-sections-collapsible-body,
[id^="gform_wrapper_"] .cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-open + .collapsible-sections-collapsible-body {
  padding: 12px !important;
}
.cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-open + .collapsible-sections-collapsible-body {
  box-shadow: none;
  border: 1px solid #e8e6e2 !important;
  border-top: none !important;
  border-radius: 0 0 13px 13px !important;
  margin-bottom: 14px !important;
  padding: 12px !important;
}
/* Increased specificity to beat JetSloth on open header */
.gform_wrapper .cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-open,
[id^="gform_wrapper_"] .cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-open {
  border: 1px solid #e8e6e2 !important;
  border-radius: 13px 13px 0 0 !important;
  border-bottom: none !important;
  padding: 16px 18px !important;
  margin-bottom: 0 !important;
}
.cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-open {
  border: 1px solid #e8e6e2 !important;
  border-radius: 13px 13px 0 0 !important;
  border-bottom: none !important;
  padding: 16px 18px !important;
  margin-bottom: 0 !important;
}
.cs-theme--accordion .gsection.collapsible-sections-field.collapsible-sections-start-field {
  padding: 16px 18px !important;
  margin-bottom: 14px !important;
}
/* Increased specificity to beat JetSloth stylesheet */
.gform_wrapper .cs-theme--accordion .gsection.collapsible-sections-field,
[id^="gform_wrapper_"] .cs-theme--accordion .gsection.collapsible-sections-field {
  border: 1px solid #e8e6e2 !important;
  border-radius: 13px !important;
  padding: 16px 18px !important;
  margin-bottom: 14px !important;
  background-color: #fff !important;
}
.cs-theme--accordion .gsection.collapsible-sections-field {
  border: 1px solid #e8e6e2 !important;
  border-radius: 13px !important;
  padding: 16px 18px !important;
  margin-bottom: 14px !important;
}
.cs-theme--accordion .gform_fields {
  box-shadow: none !important;
  background: transparent !important;
}
.collapsible-sections-field .gsection_title {
  font-size: 18px !important;
  font-weight: 900 !important;
  font-family: 'Anton', sans-serif !important;
  color: #1a1a1a !important;
}
[class*=cs-theme--] .gsection.collapsible-sections-field:after {
  width: 30px !important;
}
[class*=cs-theme--] .gsection.collapsible-sections-field .gsection_title~.gsection_description {
  margin: 0 -5px 0;
}
[class*=cs-theme--] .gsection.collapsible-sections-field {
  padding: 16px 18px !important;
  background-color: #fff !important;
  border-radius: 13px !important;
  border: 1px solid #e8e6e2 !important;
  margin-bottom: 14px !important;
}
/* Fix indentation on non-start sections */
.gform_wrapper .collapsible-sections-collapsible-body .gsection.collapsible-sections-field,
[id^="gform_wrapper_"] .collapsible-sections-collapsible-body .gsection.collapsible-sections-field {
  margin-left: 0 !important;
  padding-left: 18px !important;
}
.gform_wrapper:not(.gform_variation_wrapper):not(.gform_legacy_markup_wrapper) .collapsible-sections-collapsible-body {
  grid-row-gap: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
}
/* Sub-label section heading */
.hgz-sub-label .gsection_title {
  font-size: 20px;
  margin-top: 8px;
}
/* GF list label sizing */
.gform-theme--framework .gfield_list_group_item::before,
.gform-theme--framework .gform-field-label:where(:not([class*=gform-field-label--type-])) {
  margin: 0;
  line-height: 1 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1f2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Builder background — shows between cards */
.single-product .hgz-single-builder {
  background: #f5f3ef;
  padding: 10px 4px 0;
  border-radius: 16px;
}
/* Mobile — remove Astra container padding so builder fills full width */
@media (max-width: 767px) {
  .single-product .ast-container,
  .single-product .ast-container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .single-product .hgz-single-builder {
    padding: 8px !important;
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .single-product .hgz-single-builder .gform_wrapper,
  .single-product .hgz-single-builder .gform-theme,
  .single-product .hgz-single-builder [id^="gform_wrapper_"] {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }
  .single-product .hgz-single-builder .gform_body {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}


/* ============================================================
   9. Gravity Forms — Sides Card
   ============================================================ */

/* Prevent flash while JS enhances card */
.gfield.product-card {
  opacity: 0;
}

.gfield.product-card.enhanced {
  opacity: 1;
  margin-bottom: 18px;
  background: #fff;
  border: 1px solid #eee3d8;
  border-radius: 18px;
  box-shadow: 0 1px 3px rgba(0,0,0,.02);
  padding: 12px 12px 5px 0;
  transition: opacity .15s ease, border-color .15s ease, box-shadow .15s ease;
  display: grid;
  grid-template-columns: 110px 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 11px;
  align-items: stretch;
}

.gfield.product-card.enhanced.has-qty {
  border-color: #99b55f;
  border-width: 2px;
  box-shadow: 0 2px 8px rgba(153,181,95,.12);
}

.gfield.product-card .ginput_container_singleproduct {
  display: contents !important;
}

.gfield.product-card .gfield_description {
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: stretch !important;
  justify-self: center;
  display: flex;
  align-items: stretch;
  margin: 0;
}

.gfield.product-card .gfield_description img {
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.gfield.product-card .product-text {
  grid-column: 2 !important;
  grid-row: 1 / span 2;
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 6px;
  min-width: 0;
  text-align: left;
}

.gfield.product-card .product-text .gfield_label {
  margin: 5px 0 -10px;
  line-height: 1.25;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #1f2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gfield.product-card .product-text .ginput_product_price_label {
  display: none !important;
}

.gfield.product-card .ginput_product_price_wrapper {
  display: block !important;
}

.gfield.product-card .ginput_product_price {
  margin: 0;
  font-size: .95rem !important;
  font-weight: 400;
  color: #777;
  line-height: 1.2;
}

.gfield.product-card .sides-qty-row {
  grid-column: 2 !important;
  grid-row: 3;
  justify-self: start;
  align-self: start;
  margin-top: -10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0;
  border: 1px solid #ccd1d6;
  border-radius: 8px;
  overflow: hidden;
  box-sizing: border-box;
}

.gfield.product-card .sides-qty-row > * {
  flex: 0 0 auto !important;
}

.gfield.product-card .sides-qty-row input.ginput_quantity[type="number"] {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  text-align: center;
  font-size: 16px;
  -moz-appearance: textfield;
  appearance: textfield;
  pointer-events: none;
}

.gfield.product-card .sides-qty-row input.ginput_quantity[type="number"]::-webkit-inner-spin-button,
.gfield.product-card .sides-qty-row input.ginput_quantity[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

body .gform_wrapper .gfield.product-card .sides-qty-row button.quantity-button,
body .gform_wrapper .gfield.product-card .sides-qty-row button.quantity-button.button,
body .gform_wrapper .gfield.product-card .sides-qty-row button.quantity-button.ast-button {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #666 !important;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}

body .gform_wrapper .gfield.product-card .sides-qty-row button.quantity-button:hover {
  color: #c00 !important;
}

body .gform_wrapper .gfield.product-card .sides-qty-row button.quantity-button:focus,
body .gform_wrapper .gfield.product-card .sides-qty-row button.quantity-button:active {
  outline: none !important;
  box-shadow: none !important;
  background: none !important;
}

@media (max-width: 768px) {
  .gfield.product-card.enhanced {
    margin-bottom: 14px;
    border-radius: 14px;
  }
}


/* ============================================================
   10. Product Pages — Single Product Layout
   ============================================================ */

.woocommerce-js div.product .product_title { margin: 0; }

/* Constrain single-product page width — fixes content rendering full-bleed */
.single-product .ast-woocommerce-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Main top section */
.single-product .hgz-single-top {
  display: grid;
  grid-template-columns: 36% minmax(0, 1fr);
  column-gap: 34px;
  align-items: start;
  margin: 0;
}

.single-product .hgz-single-media {
  position: relative;
  min-width: 0;
  align-self: start;
}

.single-product .hgz-single-media .woocommerce-product-gallery,
.single-product .hgz-single-media .woocommerce-product-gallery__wrapper,
.single-product .hgz-single-media .woocommerce-product-gallery__image {
  margin: 16px 0 0  !important;
}

.single-product .hgz-single-media .woocommerce-product-gallery {
  width: 100% !important;
  max-width: 100% !important;
}

.single-product .hgz-single-media img,
.woocommerce-js div.product div.images img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  pointer-events: none !important;
  cursor: default !important;
}

.single-product .hgz-single-media .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__trigger {
  pointer-events: none !important;
  cursor: default !important;
}

.single-product .hgz-single-media .flex-control-thumbs,
.single-product .hgz-single-media .woocommerce-product-gallery__trigger {
  display: none !important;
}

.single-product .hgz-single-summary {
  min-width: 0;
  padding-top: 14px;
}

.single-product .hgz-single-summary .product_title {
  margin: 0 0 6px !important;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(42px, 4vw, 58px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 700;
}

/*
.single-product .hgz-single-summary .price,
.single-product .hgz-single-summary p.price,
.single-product .hgz-single-summary span.price {
  margin: 0 0 12px !important;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 600;
  color: #2c2c2c;
}
*/

.single-product .hgz-single-summary .woocommerce-product-details__short-description {
  margin: 0 !important;
  font-size: 16px;
  line-height: 1.45;
  color: #303030;
  max-width: 38ch;
}

.single-product .hgz-single-summary .woocommerce-product-details__short-description > :last-child {
  margin-bottom: 0 !important;
}

.single-product .hgz-single-builder {
  width: 80%;
  max-width: 80%;
  margin: 8px auto 90px;
  padding-bottom: 0;
}

.single-product .hgz-single-builder form.cart,
.single-product .hgz-single-builder .gform_wrapper,
.single-product .hgz-single-builder .gform-theme,
.single-product .hgz-single-builder [id^="gform_wrapper_"] {
  width: 100% !important;
  max-width: 100% !important;
}

.single-product .hgz-single-builder form.cart {
  display: block !important;
  margin: 0 !important;
}

.single-product .hgz-single-builder form.cart .quantity,
.single-product .hgz-single-builder form.cart .single_add_to_cart_button,
.single-product .hgz-single-builder form.cart .product_totals {
  max-width: none !important;
}

.single-product .hgz-single-builder .gform_wrapper,
.single-product .hgz-single-builder .gform-theme {
  margin-top: 0 !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs,
.single-product .woocommerce-product-gallery__trigger {
  display: none !important;
}

.single-product .woocommerce-product-gallery { margin-bottom: 10px !important; }

/* Sides product page — hide image, full width summary */
.single-product .product.post-10301 .woocommerce-product-gallery,
.single-product .product.post-10301 div.images,
.single-product .product.post-10301 .ast-woocommerce-product-gallery {
  display: none !important;
}

.single-product .product.post-10301 .summary.entry-summary,
.single-product .product.post-10301 .ast-single-product-summary,
.single-product .product.post-10301 .entry-summary {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-left: 0 !important;
}

/* Qty + Add to Order button layout */
.woocommerce-js div.product form.cart {
  display: grid !important;
  grid-template-columns: 140px minmax(0, 1fr);
  column-gap: 6px;
  row-gap: 0;
  align-items: center;
  justify-content: stretch !important;
  justify-items: stretch !important;
  width: 100%;
  text-align: left;
  padding-left: 6px;
  padding-right: 6px;
}

.woocommerce-js div.product form.cart > *:not(div.quantity):not(button.single_add_to_cart_button) {
  grid-column: 1 / -1;
  width: 100%;
}

.woocommerce-js div.product form.cart > div.quantity {
  grid-column: 1;
  width: 140px;
  margin: 0 !important;
  float: none !important;
}

.woocommerce-js div.product form.cart > button.single_add_to_cart_button,
.woocommerce-js div.product form.cart > .single_add_to_cart_button.button {
  grid-column: 2;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  display: block !important;
  white-space: nowrap;
  text-align: center;
}

.single-product form.cart .product_totals {
  order: 20;
  margin: 0 0 12px 0;
  padding: 0;
  border: 0;
}

.single-product form.cart .product_totals ul {
  margin: 0;
  padding: 0;
}

.single-product form.cart .product_totals ul li.wcgfpa_grand_total {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px 0;
  padding: 0;
  border: 0;
}

/* Disabled add to order button */
form.cart .single_add_to_cart_button.hgz-disabled-order {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(15%);
}

/* Desktop sticky image */
@media (min-width: 922px) {
  .single-product .hgz-single-media {
    position: sticky;
    top: 110px;
    align-self: start;
  }

  .single-product #primary,
  .single-product .site-main,
  .single-product .ast-woocommerce-container,
  .single-product .hgz-single-top {
    overflow: visible !important;
  }
}

/* Tablet */
@media (max-width: 921px) {
  .single-product .hgz-single-top {
    grid-template-columns: 40% minmax(0, 1fr);
    column-gap: 18px;
    margin-bottom: 18px;
  }

  .single-product .hgz-single-media { position: relative; top: auto; }
  .single-product .hgz-single-summary { padding-top: 40px; }
  .single-product .hgz-single-summary .product_title { font-size: clamp(34px, 5vw, 46px); margin-bottom: 4px !important; }

/* 
 .single-product .hgz-single-summary .price,
  .single-product .hgz-single-summary p.price,
  .single-product .hgz-single-summary span.price {
    font-size: 18px;
    margin-bottom: 10px !important;
  }
  */

  .single-product .hgz-single-summary .woocommerce-product-details__short-description {
    font-size: 15px;
    line-height: 1.38;
    max-width: none;
  }

  .single-product .hgz-single-builder { width: 58%; max-width: 58%; }
}

/* Mobile */
@media (max-width: 767px) {
  .single-product .hgz-single-top {
    grid-template-columns: 42% minmax(0, 1fr);
    column-gap: 14px;
    align-items: start;
    margin-bottom: 16px;
  }

  .single-product .hgz-single-media { position: relative; top: auto; }
  .single-product .hgz-single-summary { padding-top: 6px; }

  .single-product .hgz-single-summary .product_title {
    font-size: clamp(24px, 8vw, 34px);
    line-height: 0.96;
    letter-spacing: -0.04em;
    margin-bottom: 2px !important;
  }

  /*
  .single-product .hgz-single-summary .price,
  .single-product .hgz-single-summary p.price,
  .single-product .hgz-single-summary span.price {
    font-size: 16px;
    margin-bottom: 8px !important;
  }
  */

  .single-product .hgz-single-summary .woocommerce-product-details__short-description {
    font-size: 14px;
    line-height: 1.32;
    max-width: none;
  }

  .single-product .hgz-single-builder {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 4px;
    padding-bottom: 84px;
  }
}
/* =====================================================
   SINGLE PRODUCT — TWO COLUMN STICKY LAYOUT
===================================================== */

/* Desktop: sticky image left, summary + form right */
@media (min-width: 922px) {
  .single-product div.product.hgz-product-layout {
    display: grid;
    grid-template-columns: 36% minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 34px;
    align-items: start;
    padding: 24px;
  }

  .single-product .hgz-single-left {
    grid-column: 1;
    grid-row: 1 / 3;
    position: sticky;
    top: 160px;
    align-self: start;
  }

  .single-product .hgz-single-summary {
    grid-column: 2;
    grid-row: 1;
    padding-top: 14px;
  }

  .single-product .hgz-single-builder {
    grid-column: 2;
    grid-row: 2;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-bottom: 62px;
  }

  .single-product div.product.hgz-product-layout > *:not(.hgz-single-left):not(.hgz-single-summary):not(.hgz-single-builder) {
    grid-column: 1 / -1;
  }
}

/* Tablet */
@media (max-width: 921px) and (min-width: 768px) {
  .single-product div.product.hgz-product-layout {
    display: grid;
    grid-template-columns: 40% minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-items: start;
  }

  .single-product .hgz-single-left {
    grid-column: 1;
    grid-row: 1 / 3;
    position: relative;
    top: auto;
  }

  .single-product .hgz-single-summary {
    grid-column: 2;
    grid-row: 1;
    padding-top: 8px;
  }

  .single-product .hgz-single-builder {
    grid-column: 2;
    grid-row: 2;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-product div.product.hgz-product-layout > *:not(.hgz-single-left):not(.hgz-single-summary):not(.hgz-single-builder) {
    grid-column: 1 / -1;
  }
}

/* Mobile: thumbnail + title inline row 1, form full width row 2 */
@media (max-width: 767px) {
  .single-product div.product.hgz-product-layout {
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    align-items: start !important;
    padding: 0 !important;
  }

  .single-product .hgz-single-left {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    padding: 0 !important;
  }

  .single-product .hgz-single-summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 6px 12px 0 0 !important;
  }

  .single-product .hgz-single-builder {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-bottom: 84px !important;
  }

  .single-product div.product.hgz-product-layout > *:not(.hgz-single-left):not(.hgz-single-summary):not(.hgz-single-builder) {
    grid-column: 1 / -1 !important;
  }
}

/* Keep notices wrapper full width above the grid */
.single-product div.product.hgz-product-layout .woocommerce-notices-wrapper {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

/* Fix CHOOSE OPTIONS / Add to Order button color */
.single-product .hgz-sticky-addbar .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button {
  background-color: #fe5500 !important;
  border-color: #fe5500 !important;
  color: #fff !important;
}

/* Back to menu — hide on mobile, tighten margin */
.single-product .back-to-menu {
  margin-bottom: 0 !important;
  margin-top: 8px !important;
}

@media (max-width: 767px) {
  .back-to-menu,
  .hgz-back-menu {
    display: none !important;
  }
}

/* SKU number badge — single product page */
.hgz-single-summary .hgz-sku-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fe5500;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  margin-right: 10px;
  flex-shrink: 0;
  vertical-align: middle;
  position: relative;
  top: -4px;
}

/* SKU number badge — menu listing cards */
.hgz-card-title .hgz-sku-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fe5500;
  font-family: arial, sans-serif;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin-right: 6px;
  flex-shrink: 0;
  vertical-align: middle;
  position: relative;
  top: -1px;
}


/* ============================================================
   11. Product Pages — Hoagie Builder Nav
   ============================================================ */

#hgz-builder-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transform: translateY(-110%);
  transition: transform 0.2s ease;
}

#hgz-builder-nav.is-visible {
  transform: translateY(0);
}

#hgz-builder-nav__inner {
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px 10px;
}

#hgz-builder-nav__product {
  font-size: 11px;
  font-weight: 600;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.2;
  margin-bottom: 2px;
}

#hgz-builder-nav__section {
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.2;
}

@media (max-width: 767px) {
  #hgz-builder-nav__product {
    font-size: 10px;
  }

  #hgz-builder-nav__section {
    font-size: 15px;
  }
}


/* ============================================================
   12. Product Pages — Sticky Add Bar
   ============================================================ */

.hgz-sticky-addbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: rgba(255,255,255,0.98);
  border-top: 1px solid #e8e3db;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.06);
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  transform: translateY(110%);
  transition: transform 0.22s ease;
}

.hgz-sticky-addbar.is-visible { transform: translateY(0); }

.hgz-sticky-addbar__inner {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
}

.hgz-sticky-addbar__qty,
.hgz-sticky-addbar__cta { min-width: 0; }

.hgz-sticky-addbar .quantity,
.hgz-sticky-addbar form.cart .quantity {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
}

.hgz-sticky-addbar button,
.hgz-sticky-addbar .button,
.hgz-sticky-addbar .single_add_to_cart_button {
  width: 100%;
  margin: 0 !important;
  min-height: 52px;
  border-radius: 6px;
}

.hgz-sticky-addbar .single_add_to_cart_button.disabled,
.hgz-sticky-addbar .single_add_to_cart_button:disabled,
.hgz-sticky-addbar .single_add_to_cart_button[disabled] { opacity: 1; }

.hgz-sticky-addbar-ready .hgz-single-builder form.cart .quantity,
.hgz-sticky-addbar-ready .hgz-single-builder form.cart button.single_add_to_cart_button,
.hgz-sticky-addbar-ready .hgz-single-builder form.cart .single_add_to_cart_button.button.alt.gform_button {
  display: none !important;
}

@media (max-width: 767px) {
  .hgz-sticky-addbar { padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); }

  .hgz-sticky-addbar__inner {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 8px;
  }

  .hgz-sticky-addbar button,
  .hgz-sticky-addbar .button,
  .hgz-sticky-addbar .single_add_to_cart_button {
    min-height: 46px;
    font-size: 15px;
  }
}


/* ============================================================
   13. Product Pages — Back to Menu Button
   ============================================================ */

.back-to-menu {
  margin-top: 20px;
  margin-bottom: 20px;
}

.hgz-back-menu {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  padding: 10px 14px;
  color: #555;
  text-decoration: none;
  transition: all .15s ease;
  border: none !important;
}

.hgz-back-menu:hover {
  color: #e85b0c;
  transform: translateY(-1px);
}


/* Sides page container padding */
.single-product.postid-10301 .entry-content,
.single-product.postid-10301 #primary,
.single-product.postid-10301 .site-main {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

@media (max-width: 767px) {
  .single-product.postid-10301 .entry-content,
  .single-product.postid-10301 #primary,
  .single-product.postid-10301 .site-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* ============================================================
   14. WooCommerce — Order/Menu Listing Cards
   ============================================================ */

/* Constrain page container width — fixes shop/order page rendering full-bleed */
.woocommerce .entry-content,
body.page-id-43 .entry-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

ul.products,
.woocommerce ul.products {
  list-style: none;
  margin: 0 !important;
  padding: 0 0 10px !important;
}

@media (min-width: 980px) {
  .woocommerce ul.products,
  ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 22px !important;
  }

  .woocommerce ul.products li.product.hgz-product-card,
  ul.products li.product.hgz-product-card {
    width: calc(50% - 11px) !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    padding: 0 !important;
  }
}

@media (max-width: 979px) {
  .woocommerce ul.products,
  ul.products { display: block !important; }

  .woocommerce ul.products li.product.hgz-product-card,
  ul.products li.product.hgz-product-card {
    width: 100% !important;
    margin: 0 0 16px !important;
    float: none !important;
    clear: none !important;
    padding: 0 !important;
  }
}

.woocommerce ul.products li.product.hgz-product-card {
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hgz-product-card .hgz-card-inner {
  display: flex;
  align-items: stretch;
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  min-height: 158px;
  position: relative;
  box-shadow: none;
}

.hgz-product-card .hgz-card-main {
  display: flex;
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.hgz-product-card .hgz-card-image {
  width: 205px;
  min-width: 205px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0 14px;
  box-sizing: border-box;
  background: #fff;
  overflow: hidden;
}

.hgz-product-card .hgz-card-image img {
  width: 100%;
  height: 170px;
  display: block;
  object-fit: cover;
  object-position: center center;
  margin: 0 !important;
  transform: scale(1.14);
  transform-origin: center center;
}

.hgz-product-card .hgz-card-content {
  flex: 1 1 auto;
  min-width: 0;
  padding: 18px 8px 14px 10px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

.hgz-product-card .hgz-card-title {
  margin: 0 0 8px !important;
  font-size: 21px !important;
  line-height: 1.05;
  font-weight: 800;
  color: #151515;
  /*letter-spacing: -0.04em;*/
  text-align: left !important;
}

.hgz-product-card .hgz-card-description {
  margin: 0 5px 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.32;
  color: #3a3a3a;
  text-align: left;
  max-width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* TESTING REMOVING PRICE
.hgz-product-card .hgz-card-price {
  margin-top: auto;
  text-align: left;
  line-height: 1.2;
}

.hgz-product-card .hgz-card-price .woocommerce-Price-amount,
.hgz-product-card .hgz-card-price .amount,
.hgz-product-card .hgz-card-price bdi {
  font-size: 14px;
  font-weight: 600;
  color: #222;
}
*/

/* testing removing price from details
.hgz-product-card .hgz-card-price p,
.hgz-product-card .hgz-card-price span { margin: 0; }
*/

.hgz-product-card .hgz-card-action {
  width: 50px;
  min-width: 50px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  background: transparent;
  border-left: 0 !important;
  padding: 0;
  position: relative;
}

.hgz-product-card .hgz-card-plus {
  width: 42px;
  height: 42px;
  margin: 0;
  border: 1px solid #e5e5e5;
  border-right: 0;
  border-bottom: 0;
  border-top-left-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #f26a00;
  font-size: 26px;
  line-height: 1;
  background: transparent;
  box-shadow: none;
}

.hgz-product-card .hgz-card-plus span {
  transform: translateY(-1px);
  display: inline-block;
  color: #fe5500;
}

.hgz-product-card,
.hgz-product-card * { box-sizing: border-box; }

/*
.hgz-product-card .price,
.hgz-product-card .woocommerce-Price-amount,
.hgz-product-card .amount,
.hgz-product-card p,
.hgz-product-card h2,
.hgz-product-card h3 { text-align: left !important; }
*/

/*
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins, .woocommerce div.product span.price ins
display: none !important;
*/

.single-product div.product p.price, .single-product div.product span.price {
display: none
}


/*
 * TESTING — disabled "from" before product price
 *
.hgz-product-card .hgz-card-price .woocommerce-Price-amount::before,
.single-product .hgz-single-summary .price bdi::before {
  content: "from ";
  color: #9a9a9a;
  font-weight: 400;
  font-size: .9em;
}
*/

/* Order page price modifier label
.hgz-price-from {
  color: #9a9a9a;
  font-weight: 400;
  opacity: .65;
  margin-right: 4px;
  font-size: .9em;
}
*/

/* Hide product count on listing page */
.woocommerce-js .woocommerce-result-count { display: none; }

/* Menu card — whole card clickable */
li.menu-card {
  position: relative;
  cursor: pointer;
}

li.menu-card:hover {
  transform: translateY(-2px);
  transition: transform 0.15s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

a.menu-plus { pointer-events: none; }

@media (max-width: 767px) {
  .hgz-product-card .hgz-card-inner { min-height: 126px; border-radius: 16px; }

  .hgz-product-card .hgz-card-image {
    width: 108px;
    min-width: 108px;
    padding: 0 0 0 10px;
    align-items: center;
  }

  .hgz-product-card .hgz-card-image img {
    width: 100%;
    height: 92px;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.68);
  }

  .hgz-product-card .hgz-card-content { padding: 12px 8px 10px 0; }

  .hgz-product-card .hgz-card-title {
    font-size: 15px;
    line-height: 1.02;
    /*letter-spacing: -0.04em;*/
    margin-bottom: 6px !important;
  }

  .hgz-product-card .hgz-card-description {
    font-size: 13px;
    line-height: 1.26;
    margin-bottom: 8px;
    -webkit-line-clamp: 3;
  }

  .hgz-product-card .hgz-card-price .woocommerce-Price-amount,
  .hgz-product-card .hgz-card-price .amount,
  .hgz-product-card .hgz-card-price bdi { font-size: 13px; font-weight: 600; }

  .hgz-product-card .hgz-card-action { width: 46px; min-width: 46px; }

  .hgz-product-card .hgz-card-plus {
    width: 36px;
    height: 36px;
    font-size: 23px;
    border-top-left-radius: 14px;
  }
}


/* ============================================================
   15. WooCommerce — Cart & Checkout
   ============================================================ */

/* Responsive cart table cleanup */
.woocommerce table.shop_table_responsive tr td::before,
.woocommerce-page table.shop_table_responsive tr td::before {
  display: none !important;
  margin-right: 15px;
  content: attr(data-title) "" !important;
}

@media (max-width: 920px) {
  .woocommerce table.shop_table_responsive tr td.product-name::before,
  .woocommerce-page table.shop_table_responsive tr td.product-name::before {
    content: none !important;
    display: none !important;
  }
}

/* Checkout billing fields */
.woocommerce-billing-fields > h3 { display: none; }

.woocommerce-billing-fields,
.woocommerce-checkout .col2-set,
#customer_details { padding-top: 6px; }

#customer_details h3:not(.elementor-widget-woocommerce-checkout-page h3) {
  font-family: poppins,Helvetica,arial;
  width: 100%;
  padding: 4px 0 30px;
}

/* Hide address fields (pickup only) */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_country_field { display: none !important; }


/* Checkout section spacing */
.ast-modern-checkout h3,
.ast-modern-checkout h1 { margin-top: 132px; margin-bottom: 6px; }

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row { padding: 0; }

/* Welcome back message */
.ast-logged-in-customer-info { display: none !important; }

.hgz-welcome-back {
  font-size: 15px;
  color: #666;
  font-weight: 600;
  margin: 0;
  position: relative;
  top: 52px;
}

/* Square Digital Wallet */
#ast-payment_options_heading { display: none !important; }

#hgz-payment-heading {
  font-family: poppins, Helvetica, arial, sans-serif;
  font-size: 20.4px !important;
  font-weight: 700;
  color: #3f3f3f;
  margin: 40px 0 12px !important;
}

#wc-square-wallet-divider {
  font-size: 13px;
  color: #777;
  font-weight: 500;
  margin: 24px 0 -13px;
  text-align: center;
}

#wc-square-digital-wallet button,
#wc-square-google-pay { border-radius: 6px; }

fieldset#wc-square-credit-card-credit-card-form { border: none; margin-bottom: -25px; }

.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method label {
 display: none;
}

img.sv-wc-payment-gateway-icon.wc-square-credit-card-payment-gateway-icon { margin: 0 6px !important; }

.payment_box.payment_method_square_credit_card { border: none !important; }

.ast-modern-checkout .woocommerce #payment ul.payment_methods div.payment_box {
  background: #fff !important;
  padding: 0;
}

.ast-back-to-cart {
	font-size: 14px;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods { border: none; }

.wc-square-credit-card-payment-form input { border-color: #e6e6e6; }

/* Order summary in checkout */
.woocommerce-checkout-review-order-table td.product-name,
.woocommerce-checkout-review-order-table td.product-total {
  padding-top: 14px;
  vertical-align: top;
}

.woocommerce-checkout-review-order-table td.product-name { padding-bottom: 14px; }

.woocommerce-checkout-review-order-table td.product-total {
  width: 1%;
  padding-left: 12px;
  white-space: nowrap;
}

.woocommerce-checkout-review-order-table .hgz-summary-layout {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: start;
}

.woocommerce-checkout-review-order-table .hgz-summary-media img {
  width: 64px;
  height: auto;
  display: block;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.woocommerce-checkout-review-order-table td.product-name .hgz-summary-title {
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
}

.woocommerce-checkout-review-order-table .hgz-summary-qty {
  margin-left: 5px;
  font-size: 15px;
  font-weight: 600;
  color: #555;
}

.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd p { margin: 0; }

.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd p {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 400;
  color: #666;
}

.woocommerce-checkout-review-order-table td.product-total .woocommerce-Price-amount.amount {
  font-size: 15px;
  font-weight: 600;
}

.woocommerce-checkout-review-order-table tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tr.fee th,
.woocommerce-checkout-review-order-table tr.tax-rate th,
.woocommerce-checkout-review-order-table tr.cart-subtotal td,
.woocommerce-checkout-review-order-table tr.fee td,
.woocommerce-checkout-review-order-table tr.tax-rate td {
  font-size: 15px;
  font-weight: 500;
}

.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td {
  font-size: 17px;
  font-weight: 700;
}

@media (max-width: 768px) {
  .woocommerce-checkout-review-order-table .hgz-summary-layout {
    grid-template-columns: 58px 1fr;
    gap: 12px;
  }

  .woocommerce-checkout-review-order-table .hgz-summary-media img { width: 54px; }
  .woocommerce-checkout-review-order-table .hgz-summary-title { font-size: 16px; }
}

/* Tip section */
.wpcot-tips .wpcot-tip .wpcot-tip-name {
  font-family: poppins, Helvetica, arial, sans-serif;
  font-size: 1.2rem;
  margin-bottom: 8px;
}

.wpcot-tip-desc {
  font-size: 13px;
  color: #666;
  border-bottom: 1px solid #ccc;
  margin: -5px 0 22px;
  padding: 0 0 8px;
}

/* Gift card */
.ywgc_have_code {
  padding: 6px 0 0 0 !important;
  box-shadow: none;
  border: none;
  font-size: 15px;
}

button.button.ywgc_apply_gift_card_button { margin: 4px 0 0; }

.ywgc_enter_code {
  font-size: 15px;
  font-weight: 400;
  color: #666666;
  border: 1px solid #ddd;
  padding: 4px 14px 6px;
  margin: -.5em 0 15px;
}

input#giftcard_code { width: 180px; }

.ywgc_have_code .ywgc_woocommerce_message_icon { display: none !important; }

.ywgc_have_code:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  background: url("/wp-content/uploads/hoageez-gift-card-icon.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

#group_name_field {
  background: #F7F4EF;
  border: 1px solid #E6DED3;
  border-radius: 10px;
  padding: 14px 16px;
  margin: 0 0 18px !important;
}

#group_name_field .hgz-group-explainer {
  font-size: 13px;
  line-height: 1.45;
  color: #5B4637;
  margin: 10px 0 0;
}

#group_name_field label {
  display: none;
}


/* ============================================================
   16. WooCommerce — Thank You Page
   ============================================================ */

/* Hide Astra page title on Thank You page */
body.woocommerce-order-received .entry-header,
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received .entry-title a { display: none !important; }

.hgz-ty-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 20px 24px 48px;
}

.hgz-ty-header { margin-bottom: 28px; }

.hgz-ty-title {
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #2b2b2b;
  margin: 15px 0 14px;
}

.hgz-ty-line2 { display: block; font-weight: 700; margin-top: 8px; }

.hgz-ty-subtitle { font-size: 18px; line-height: 1.45; color: #333; margin: 8px 0 28px; }

.hgz-ty-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 16px;
  padding: 24px 28px;
  margin-bottom: 26px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.hgz-ty-eyebrow {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f15a00;
  margin-bottom: 8px;
}

.hgz-ty-pickup-time {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
  font-weight: 800;
  color: #222;
  margin-bottom: 10px;
  letter-spacing: .3px;
}

.hgz-ty-pickup-note { font-size: 16px; line-height: 1.45; color: #444; margin: 0; }

.hgz-ty-location-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.hgz-ty-location-main { display: flex; align-items: flex-start; gap: 14px; }

.hgz-ty-location-icon {
  flex: 0 0 auto;
  width: 22px;
  margin-right: 4px;
  padding-top: 0;
  display: flex;
  align-items: flex-start;
}

.hgz-pin-icon {
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px;
  background: #99B523;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

.hgz-pin-icon::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  top: 5px;
  left: 5px;
}

.hgz-ty-card-title { font-size: 1.15rem; line-height: 1.2; font-weight: 700; color: #222; margin: 0 0 10px; }

.hgz-ty-location-address {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
  margin: 0;
  max-width: 420px;
}

.hgz-ty-location-address br { display: block; content: ""; margin-bottom: 2px; }

.hgz-ty-location-action { flex: 0 0 auto; }

.hgz-ty-btn,
.hgz-ty-btn:hover,
.hgz-ty-btn:focus,
.hgz-ty-btn:active,
.hgz-ty-btn:visited {
  background: #f15a00;
  border: 1px solid #f15a00;
  color: #fff;
  border-radius: 10px;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: none;
}

.hgz-ty-btn:hover,
.hgz-ty-btn:focus { background: #d94f00; border-color: #d94f00; color: #fff; }

.hgz-ty-btn-wide { width: 100%; text-align: center; display: inline-block; }

.hgz-ty-summary-card { padding: 0; overflow: hidden; }
.hgz-ty-card-header { padding: 18px 24px; border-bottom: 1px solid #efefef; margin-bottom: 16px; }
.hgz-ty-summary-body { padding: 0 24px 10px; }

.hgz-ty-summary-item { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid #efefef; }
.hgz-ty-summary-item:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.hgz-ty-summary-top { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 10px; }

.hgz-ty-summary-name { font-size: 1.05rem; line-height: 1.2; font-weight: 700; color: #222; text-transform: uppercase; }
.hgz-ty-summary-qty { font-weight: 700; color: #444; }
.hgz-ty-summary-price { font-size: 1.05rem; font-weight: 600; color: #222; white-space: nowrap; }

.hgz-ty-item-accordion { margin-top: 6px; }

.hgz-ty-item-toggle {
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: #444;
  list-style: none;
  outline: none;
}

.hgz-ty-item-toggle::-webkit-details-marker { display: none; }
.hgz-ty-item-toggle::before { content: "+ "; color: #f15a00; font-weight: 700; }
.hgz-ty-item-accordion[open] .hgz-ty-item-toggle::before { content: "− "; }

.hgz-ty-summary-meta { padding-top: 10px; padding-left: 0; }
.hgz-ty-summary-meta-line { font-size: 15px; line-height: 1.4; color: #444; margin-bottom: 4px; }
.hgz-ty-summary-meta-line:last-child { margin-bottom: 0; }

.hgz-ty-summary-totals { padding: 0 24px 8px; }

.hgz-ty-total-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 0;
  border-top: 1px solid #efefef;
}

.hgz-ty-total-label { font-size: 16px; color: #333; }
.hgz-ty-total-value { font-size: 16px; font-weight: 600; color: #222; text-align: right; }

.hgz-ty-total-row.is-grand-total .hgz-ty-total-label,
.hgz-ty-total-row.is-grand-total .hgz-ty-total-value { font-size: 18px; font-weight: 800; }

.hgz-ty-summary-actions { padding: 20px 24px 24px; }

.hgz-ty-info { margin: 34px 0 18px; }
.hgz-ty-info-title { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.15; font-weight: 800; color: #222; margin: 0 0 12px; }
.hgz-ty-info-text { font-size: 18px; font-weight: 400; line-height: 1.5; color: #333; margin: 0; }

.hgz-ty-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid #e8e8e8;
}

.hgz-ty-meta-row { padding: 0 18px; border-right: 1px solid #e8e8e8; }
.hgz-ty-meta-row:first-child { padding-left: 0; }
.hgz-ty-meta-row:last-child { border-right: none; padding-right: 0; }

.hgz-ty-meta-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #555;
  margin-bottom: 8px;
}

.hgz-ty-meta-value { font-size: 18px; font-weight: 700; color: #222; }

.hgz-ty-page .woocommerce-order-details,
.hgz-ty-page .woocommerce-customer-details,
.hgz-ty-page > .woocommerce-order-overview,
.hgz-ty-page .woocommerce-thankyou-order-details.order_details { display: none; }

@media (max-width: 820px) {
  .hgz-ty-location-card { flex-direction: column; align-items: flex-start; }
  .hgz-ty-location-action { width: 100%; }
  .hgz-ty-location-action .hgz-ty-btn { width: 100%; text-align: center; display: inline-block; }
  .hgz-ty-meta { grid-template-columns: repeat(2, 1fr); row-gap: 22px; }
  .hgz-ty-meta-row:nth-child(2n) { border-right: none; padding-right: 0; }
  .hgz-ty-meta-row:nth-child(2n+1) { padding-left: 0; }
}

@media (max-width: 640px) {
  .hgz-ty-page { padding: 16px 16px 36px; }
  .hgz-ty-card { padding: 18px; border-radius: 14px; }
  .hgz-ty-summary-top { flex-direction: column; align-items: flex-start; }
  .hgz-ty-summary-price { white-space: normal; }
  .hgz-ty-meta { grid-template-columns: 1fr; row-gap: 18px; }
  .hgz-ty-meta-row { border-right: none; padding: 0; }
}


/* ============================================================
   17. WooCommerce — My Account
   ============================================================ */

.woocommerce-account h1.entry-title { display: none; }

.woocommerce-account .woocommerce {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 22px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100% !important;
  float: none !important;
  margin: 0 0 6px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; border: 0; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  background: #fff;
  color: #222;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #111111;
  border-color: #111111;
  color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; float: none !important; color: #222; }
.woocommerce-account .woocommerce-MyAccount-content a { text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content a:hover { text-decoration: none; }

/* Account buttons */
.hgz-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 15px;
  line-height: 1.2;
  text-align: center;
}

.hgz-btn-primary { background: #f15a00; border: 1px solid #f15a00; color: #fff !important; box-shadow: 0 2px 0 rgba(0,0,0,0.06); }
.hgz-btn-primary * { color: #fff !important; }
.hgz-btn-secondary { background: #fff !important; border: 1px solid #f15a00 !important; color: #f15a00 !important; }
.hgz-btn-link { background: transparent; border: 1px solid #e5e5e5; color: #555; }
.hgz-btn-link:hover { border-color: #f15a00; color: #f15a00; background: #fff7f2; }

/* Dashboard hero */
.hgz-account-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  border: 1px solid #ececec;
  border-radius: 16px;
  background: #fafafa;
}

.hgz-account-hero-copy { flex: 1 1 auto; }
.hgz-account-hero-title { margin: 0 0 6px; font-size: 26px; line-height: 1.15; font-weight: 800; color: #222; }
.hgz-account-hero-subtitle { margin: 0; font-size: 16px; color: #666; font-weight: 600; }
.hgz-account-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

.hgz-account-status { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #555; font-weight: 600; }
.hgz-account-status-dot { width: 12px; height: 12px; border-radius: 50%; background: #49b54a; display: inline-block; flex: 0 0 auto; }

.hgz-account-dashboard { display: flex; flex-direction: column; gap: 22px; }

.hgz-account-promo {
  padding: 16px 20px;
  border: 1px solid #ececec;
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  font-weight: 600;
  color: #444;
  margin-top: -6px;
}

.hgz-account-promo a { color: #f15a00; font-weight: 800; text-decoration: none; margin-left: 6px; }

.hgz-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }

.hgz-account-card { padding: 26px 32px; border: 1px solid #ececec; border-radius: 16px; background: #fff; }
.hgz-account-card-title { margin: 0 0 14px; font-size: 20px; font-weight: 800; color: #222; line-height: 1.2; }

.hgz-account-links { display: flex; flex-direction: column; gap: 16px; }
.hgz-account-link { color: #222; text-decoration: none; font-weight: 700; line-height: 1.35; }
.hgz-account-link:hover { color: #f15a00; }

.hgz-account-meta { display: flex; flex-direction: column; gap: 14px; }
.hgz-account-meta-row { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid #f1f1f1; padding-bottom: 12px; }
.hgz-account-meta-label { font-weight: 700; color: #666; }
.hgz-account-meta-value { color: #222; text-align: right; font-weight: 700; }
.hgz-account-card-footer { margin-top: 18px; }
.hgz-account-inline-link { color: #f15a00; font-weight: 800; text-decoration: none; }

.hgz-account-last-order { padding-top: 20px; padding-bottom: 20px; }
.hgz-account-last-order-head { margin-bottom: 8px; }
.hgz-account-last-order-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.hgz-account-last-order-info { display: flex; flex-direction: column; gap: 8px; }
.hgz-account-order-number { font-size: 18px; font-weight: 800; color: #222; }
.hgz-account-order-date { font-size: 14px; color: #666; font-weight: 600; }
.hgz-account-last-order-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.hgz-account-last-order-actions .hgz-btn { min-width: 145px; text-align: center; }

/* Orders table */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-orders { border-collapse: separate; border-spacing: 0; width: 100%; }

.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account .woocommerce-MyAccount-orders thead th {
  padding: 22px;
  font-size: 15px;
  font-weight: 800;
  color: #222;
  background: #fff;
}

.woocommerce-account .woocommerce-orders-table tbody td,
.woocommerce-account .woocommerce-MyAccount-orders tbody td { padding: 18px 22px; vertical-align: middle; }

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-orders {
  border: 1px solid #ececec;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-MyAccount-orders .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #f15a00;
  color: #f15a00 !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none !important;
}

.woocommerce-account .woocommerce-orders-table .button:hover,
.woocommerce-account .woocommerce-MyAccount-orders .button:hover {
  background: #d94f00;
  border-color: #d94f00;
  color: #fff !important;
}

/* Orders cards */
.hgz-orders-list { display: flex; flex-direction: column; gap: 18px; }

.hgz-order-card { padding: 20px 24px; border: 1px solid #ececec; border-radius: 16px; background: #fff; }

.hgz-order-card-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 10px; }
.hgz-order-card-number { font-size: 20px; font-weight: 800; color: #222; line-height: 1.2; }
.hgz-order-card-status { font-size: 14px; font-weight: 700; color: #666; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }

.hgz-order-card-meta { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.hgz-order-card-date { font-size: 15px; font-weight: 600; color: #666; }
.hgz-order-card-total { font-size: 16px; font-weight: 700; color: #222; }

.hgz-order-card-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hgz-orders-pagination { margin-top: 18px; display: flex; gap: 12px; }

.hgz-order-card--status-processing .hgz-order-card-status { color: #9a6a00; }
.hgz-order-card--status-completed .hgz-order-card-status { color: #2f7d32; }
.hgz-order-card--status-refunded .hgz-order-card-status { color: #888; }

.hgz-orders-empty p { margin: 0 0 16px; color: #666; }

/* Account badges */
.hgz-account-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.82rem;
  line-height: 1;
  font-weight: 700;
  background: #f4f4f4;
  color: #222;
  white-space: nowrap;
}

.hgz-account-badge--completed { background: #eef7ea; color: #3d7a2a; }
.hgz-account-badge--processing { background: #fff1f0; color: #c53b16; }
.hgz-account-badge--on-hold { background: #f4f1ea; color: #7a5b1f; }

/* View order */
.hgz-view-order-status { margin: 0 0 20px; font-size: 0.98rem; line-height: 1.45; color: #444; }
.hgz-view-order-status mark { background: transparent; color: #111; font-weight: 700; padding: 0; }

.woocommerce-order-overview {
  display: grid;
  gap: 14px;
  margin: 0 0 28px;
  padding: 20px 24px;
  border: 1px solid #e3e3e3;
  border-radius: 18px;
  background: #fff;
  list-style: none;
}

.woocommerce-order-overview li { margin: 0; font-size: 1.02rem; line-height: 1.45; color: #222; list-style: none; }
.woocommerce-order-overview li strong { font-weight: 700; color: #111; }
.woocommerce-order-overview li mark { background: transparent; color: #111; font-weight: 600; }

.woocommerce-view-order p { margin-bottom: 16px; font-size: 0.98rem; line-height: 1.45; color: #222; }

.woocommerce-order-details { margin-top: 28px; }
.woocommerce-order-details__title { margin-bottom: 20px; }

.woocommerce-table--order-details,
.woocommerce-table--order-details th,
.woocommerce-table--order-details td { border-color: #e6e6e6; }

.woocommerce-table--order-details thead th { background: #fafafa; font-weight: 700; }

.woocommerce-table--order-details th,
.woocommerce-table--order-details td { padding: 22px 26px; vertical-align: top; }

.hgz-order-item-name-row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.hgz-order-item-name { font-weight: 700; color: #111; }
.hgz-order-item-qty { font-weight: 600; color: #444; }
.hgz-order-item-meta-condensed { margin-top: 6px; font-size: 0.95rem; line-height: 1.45; color: #555; }

.woocommerce-account .order-again,
.woocommerce-account .order-again-wrap,
.woocommerce-account a.order-again { margin-top: 8px; }

/* Login/Register page */
#customer_login { display: flex; flex-direction: column; gap: 40px; }

#customer_login .u-column1,
#customer_login .u-column2 { width: 100%; float: none; margin: 0; }

#customer_login .u-column2 { position: relative; padding-top: 32px; }

#customer_login .u-column2::before {
  content: "OR";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #888;
}

#customer_login h2 { margin-bottom: 8px; }

.hgz-account-intro { font-size: 15px; line-height: 1.6; color: #666; margin: 0 0 18px; }
.hgz-account-note { font-size: 14px; line-height: 1.6; color: #666; margin: 0 0 18px; }

#customer_login .button { min-height: 48px; padding: 12px 22px; border-radius: 8px; }
.woocommerce-LostPassword { margin-top: 12px; }

/* Reorder cutoff notes */
.hgz-account-reorder-note {
  margin: 10px 0 4px;
  padding: 10px 14px;
  background: #fdf6ed;
  border: 1px solid #fe5500;
  border-radius: 8px;
  color: #451402;
  font-size: 0.9rem;
  line-height: 1.4;
}

.hgz-order-card-reorder-note {
  margin: 6px 0 2px;
  color: #8a6d5c;
  font-size: 0.82rem;
  font-style: italic;
}

/* Account mobile */
@media (max-width: 920px) {
  .hgz-account-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul { gap: 8px; }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    min-height: 40px;
    padding: 9px 14px;
    font-size: 14px;
  }

  .hgz-account-hero { flex-direction: column; align-items: flex-start; padding: 22px; }
  .hgz-account-hero-title { font-size: 26px; }
  .hgz-account-hero-actions { width: 100%; flex-direction: column; align-items: stretch; justify-content: flex-start; }
  .hgz-account-hero-actions .hgz-btn { width: 100%; }
  .hgz-account-card { padding: 22px; }
  .hgz-account-last-order-row { flex-direction: column; align-items: flex-start; }
  .hgz-account-last-order-actions { width: 100%; }

  .hgz-order-card { padding: 20px; }
  .hgz-order-card-top { flex-direction: column; align-items: flex-start; margin-bottom: 8px; }
  .hgz-order-card-number { font-size: 18px; }
  .hgz-order-card-meta { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 16px; }
  .hgz-order-card-actions { width: 100%; flex-direction: column; align-items: stretch; }
  .hgz-order-card-actions .hgz-btn { width: 100%; }
  .hgz-account-reorder-note { font-size: 0.85rem; padding: 8px 12px; }
  .hgz-orders-pagination { flex-direction: column; align-items: flex-start; }

  .woocommerce-order-overview { padding: 16px 18px; border-radius: 14px; }
  .woocommerce-order-overview li { font-size: 0.95rem; }

  .woocommerce-table--order-details th,
  .woocommerce-table--order-details td { padding: 16px 18px; }
}


/* ============================================================
   18. WooCommerce — Fast Cart
   ============================================================ */

/* Custom empty state */
.wfc-cart-empty { text-align: center; padding: 48px 16px 32px; }
.wfc-cart-empty > p.cart-empty,
.wfc-cart-empty > p.wfc-empty { display: none !important; }
.hgz-fastcart-empty img { max-width: 150px; height: auto; }
.hgz-empty-title { font-weight: 900; margin: 28px 0 11px; }
.hgz-empty-cta.button { background: #ffc42c; color: #000; border-radius: 8px; font-weight: 700; padding: 13px 26px; }

.wfc-cart-collaterals .wfc-cross-sells h3 { margin-bottom: 0 !important; }

h2.hgz-cart-heading { color: #374151; font-size: 14px; font-weight: 600; padding: 10px 0 8px; margin-bottom: 8px; text-align: left; }
.wfc-cart h2 { font-size: 18px; font-weight: 600; color: #374151; margin-top: 0; }

/* ============================================================
   19. Navigation & Header
   ============================================================ */

.site-header,
.main-header-bar,
.ast-primary-header-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
}

.hgz-cat-fixed-wrap { position: relative; z-index: 9998; background: #fff; }

.hgz-cat-fixed-wrap.is-fixed {
  position: fixed;
  top: var(--hgz-header-height, 0px);
  background: #fff;
}

.hgz-cat-placeholder { display: none; }
.hgz-cat-fixed-wrap.is-fixed + .hgz-cat-placeholder { display: block; }

/* Fix parent overflow so sticky positioning works */
#gform_wrapper_76,
.gform_wrapper,
.gform_page,
.gform_body,
.entry-content,
#primary,
.site-content { overflow: visible !important; }


/* ============================================================
   20. Category / Info Filters
   ============================================================ */

.hoageez-category-filters,
.hoageez-info-filters {
  display: flex;
  gap: 5px;
  padding: 4px 10px 10px;
  margin: -1px 0 10px 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  white-space: nowrap;
  position: relative;
}

.hoageez-category-filters { justify-content: flex-start; }
.hoageez-info-filters { justify-content: center; padding: 20px 0; gap: 8px; }

.hoageez-category-filters::-webkit-scrollbar,
.hoageez-info-filters::-webkit-scrollbar { display: none; }

.hoageez-category-link,
.hoageez-info-link {
  flex: 0 0 auto;
  padding: 7px 4px;
  text-decoration: none;
  color: #333;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  scroll-snap-align: start;
  position: relative;
  transition: color 0.3s ease;
}

.hoageez-category-link.active,
.hoageez-info-link.active { color: #fe5500; }

.hoageez-category-link.active::after,
.hoageez-info-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background-color: #fe5500;
  border-radius: 2px;
}

.hoageez-category-filters.is-scrollable-right::after,
.hoageez-category-filters.is-scrollable-left::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 28px;
  pointer-events: none;
  z-index: 2;
}

@media (max-width: 600px) {
  .hoageez-info-filters { padding: 7px 4px; justify-content: flex-start; }
  .hoageez-info-link { font-size: 14px; padding: 5px 6px; }
}


/* ============================================================
   21. Sides Jump Navigation
   ============================================================ */

.hgz-jump-nav {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  position: -webkit-sticky;
  position: sticky;
  top: 130px !important;
  z-index: 9999;
  flex-wrap: nowrap;
}

.hgz-jump-nav::-webkit-scrollbar { display: none; }

.hgz-jump-nav__btn {
  display: inline-block;
  padding: 7px 16px;
  border-radius: 20px;
  border: 2px solid #1f2933;
  background: #fff;
  color: #1f2933;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  text-decoration: none;
  flex-shrink: 0;
}

.hgz-jump-nav__btn:hover { background: #f7f7f7; }
.hgz-jump-nav__btn.is-active { background: #f97316; border-color: #f97316; color: #fff; }

@media (max-width: 961px) {
  .hgz-jump-nav { top: 77px !important; }
}


/* ============================================================
   22. Homepage — Fan Favorites
   ============================================================ */

.hgz-favorites {
  padding-top: 82px;
  padding-bottom: 86px;
}

.hgz-section-head-centered {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  margin-bottom: 34px;
}

.hgz-section-head-centered > div {
  grid-column: 2;
  text-align: center;
}

.hgz-section-head-centered > a {
  grid-column: 3;
  justify-self: end;
  align-self: center;
}

.hgz-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.hgz-product-card {
  background: #fff;
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 16px 40px rgba(42,20,12,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}

.hgz-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px rgba(42,20,12,.12);
}

.hgz-product-img {
  height: 220px;
  border-radius: 20px;
  background: #fff0e4;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hgz-product-img img {
  width: 112%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 12px 14px rgba(42,20,12,.12));
  background: #ffffff;
}

.hgz-product-content {
  display: flex;
  flex-direction: column;
  height: calc(100% - 242px);
}

.hgz-product-card h3 {
  margin: 0 0 10px;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 34px;
  line-height: .95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  font-weight: 800;
  color: #2a140c;
}

.hgz-product-card p {
  margin: 0 0 22px;
  color: #6a5547;
  font-size: 17px;
  line-height: 1.45;
}

.hgz-product-footer {
  margin-top: auto;
}

.hgz-product-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 8px;
  background: #fe5500;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(254,85,0,.18);
}

.hgz-product-cta:hover {
  background: #e64d00;
  color: #fff;
}

/* Mobile */
@media (max-width: 768px) {
  .hgz-favorites {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .hgz-section-head-centered {
    display: block;
    margin-bottom: 26px;
  }

  .hgz-section-head-centered > div {
    text-align: left;
  }

  .hgz-section-head-centered > a {
    display: inline-block;
    margin-top: 14px;
  }

  .hgz-card-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .hgz-product-img {
    height: 200px;
  }

  .hgz-product-card h3 {
    font-size: 32px;
  }
}


/* ============================================================
   23. Hero Section
   ============================================================ */

.hero-hoagie img {
  filter: drop-shadow(0 10px 10px rgba(0,0,0,0.16)) drop-shadow(0 2px 3px rgba(0,0,0,0.28));
}

.hero-btn .wp-block-button__link,
.hero-btn .uagb-button__link { border-radius: 8px !important; box-shadow: 0 2px 6px rgba(0,0,0,0.10) !important; }

.hero-hoagie { transform: translateY(70px); }

.hero-table { background: linear-gradient(to bottom, #d8cec0 0%, #cabca9 100%) !important; }

@media (max-width: 768px) {
  .hero-hoagie { transform: none !important; }
  .hero-table { min-height: 90px !important; margin-top: 40px !important; transform: translateY(40px) !important; }
  .hero-hoagie img { transform: scale(0.78); transform-origin: center top; }
  .hide-mobile { display: none !important; }
}


/* ============================================================
   24. Cart Icon & Animations
   ============================================================ */

.ast-icon-shopping-bag .ast-icon svg,
.ast-icon-shopping-cart .ast-icon svg,
.ast-icon-shopping-basket .ast-icon svg { display: none; }

#ast-basket-icon-svg { display: none !important; }

.ast-site-header-cart .ast-cart-menu-wrap::before,
.ast-site-header-cart .ast-addon-cart-wrap::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  background: url('/uploads/hoageez-cart-icon-H.png') center center / contain no-repeat;
  vertical-align: middle;
}

.ast-site-header-cart i.astra-icon:after { right: -2px; }

@keyframes hgz-cart-pulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.3); }
  70%  { transform: scale(0.9); }
  100% { transform: scale(1); }
}

.hgz-cart-pulse { animation: hgz-cart-pulse 0.4s ease !important; }


/* ============================================================
   25. Adding to Order Overlay
   ============================================================ */

#hgz-adding-overlay {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(255, 255, 255, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background 0.3s ease;
}

#hgz-adding-overlay.hgz-adding-overlay--visible {
  background: rgba(255, 255, 255, 0.96);
  pointer-events: all;
}

.hgz-adding-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease 0.08s, transform 0.3s ease 0.08s;
}

#hgz-adding-overlay.hgz-adding-overlay--visible .hgz-adding-inner { opacity: 1; transform: translateY(0); }

.hgz-adding-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #f97316;
  color: #fff;
  font-size: 26px;
  line-height: 1;
}

.hgz-adding-text { font-size: 17px; font-weight: 600; color: #1f2933; letter-spacing: 0.01em; }

.hgz-adding-product-wrap { margin-top: 16px; display: flex; justify-content: center; align-items: center; }

.hgz-adding-product {
  width: 100px;
  height: auto;
  max-width: 120px;
  object-fit: contain;
  display: block;
  transform: scale(1);
  opacity: 1;
}

#hgz-adding-overlay.hgz-adding-overlay--visible .hgz-adding-product {
  animation: hgz-bag-pulse 0.9s ease-in-out infinite;
}

@keyframes hgz-bag-pulse {
  0% { transform: scale(0.96); }
  35% { transform: scale(1.05); }
  60% { transform: scale(0.98); }
  100% { transform: scale(1.03); }
}

@media (max-width: 767px) {
  .hgz-adding-check { width: 46px; height: 46px; font-size: 22px; }
  .hgz-adding-text { font-size: 15px; }
  .hgz-adding-product { width: 85px; max-width: 100px; }
}


/* ============================================================
   26. Reorder Loader
   ============================================================ */

#hgz-reorder-loader {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.96);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hgz-loader-inner { text-align: center; font-weight: 700; color: #222; font-size: 16px; }

.hgz-spinner {
  width: 38px;
  height: 38px;
  border: 3px solid #eee;
  border-top: 3px solid #f15a00;
  border-radius: 50%;
  margin: 0 auto 14px;
  animation: hgz-spin 0.8s linear infinite;
}

@keyframes hgz-spin { to { transform: rotate(360deg); } }

.hgz-loader-inner p { font-size: 16px; color: #333; margin: 0; }


/* ============================================================
   27. Shared — Marketing Page Primitives
   ============================================================ */

.hgz-home,
.hgz-about,
.hgz-catering-page {
  background: #fff7ee;
  color: #2a140c;
}

.hgz-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.hgz-eyebrow {
  margin: 0 0 12px;
  color: #fe5500;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 14px;
}

.hgz-btn {
  min-height: 52px;
  padding: 0 28px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none;
  font-size: 14px;
}

.hgz-btn-primary {
  background: #fe5500;
  color: #fff;
  box-shadow: 0 10px 22px rgba(254,85,0,.22);
}

.hgz-btn-primary:hover {
  background: #e64d00;
  color: #fff;
}

.hgz-btn-outline {
  border: 2px solid #2a140c;
  color: #2a140c;
  background: transparent;
}

.hgz-btn-outline:hover {
  background: #2a140c;
  color: #fff;
}

.hgz-btn-dark {
  background: #2a140c;
  color: #fff;
}


/* ============================================================
   28. Page — Home
   ============================================================ */

.hgz-hero {
  padding: 86px 0 70px;
  overflow: hidden;
}

.hgz-hero-grid,
.hgz-catering-teaser-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 48px;
}

.hgz-hero-title {
  margin: 0 0 22px;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(64px, 7vw, 112px);
  line-height: .85;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  font-weight: 800;
}

.hgz-hero-title span {
  color: #fe5500;
}

.hgz-hero-subtitle {
  max-width: 460px;
  font-size: 20px;
  line-height: 1.5;
  margin: 0 0 30px;
  color: #4f3b2f;
}

.hgz-hero-actions,
.hgz-app-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.hgz-hero-media {
  position: relative;
}

.hgz-hero-media img {
  width: 100%;
  display: block;
  filter: drop-shadow(0 24px 28px rgba(42,20,12,.18));
}

.hgz-fresh-badge {
  position: absolute;
  top: -6px;
  right: 4%;
  width: 104px;
  height: 104px;
  background: rgba(255,255,255,0.6);
  border: 2px solid #99b50f;
  color: #7a920d;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.15;
  text-transform: uppercase;
  transform: rotate(-8deg);
  backdrop-filter: blur(2px);
  opacity: 0.9;
  z-index: 2;
}

/* Home catering teaser */

.hgz-catering-teaser {
  padding: 50px 0 80px;
  background: #fff7ee;
}

.hgz-catering-teaser-grid {
  background: #fff;
  border-radius: 28px;
  padding: 54px;
  box-shadow: 0 28px 70px rgba(42,20,12,.10);
  border: 1px solid rgba(42,20,12,.08);
}

.hgz-catering-teaser-media img {
  width: 100%;
  max-width: 460px;
  display: block;
  transform: rotate(-4deg) scale(1.04);
  filter: drop-shadow(0 26px 34px rgba(42,20,12,.20));
}

.hgz-catering-teaser-copy h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(44px, 4.5vw, 64px);
  line-height: .92;
  text-transform: uppercase;
  margin: 0 0 14px;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #2a140c;
}

.hgz-catering-teaser-copy h2 span {
  color: #fe5500;
}

.hgz-catering-teaser-copy p {
  font-size: 19px;
  line-height: 1.5;
  color: #5a4638;
  max-width: 500px;
  margin-bottom: 24px;
}

/* Home brand points */

.hgz-points {
  padding: 78px 0 78px;
}

.hgz-points-grid {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 16px 40px rgba(42,20,12,.08);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
}

.hgz-points-grid .hgz-point {
  padding: 32px 26px;
  border-right: 1px solid #f0e2d5;
  text-align: center;
}

.hgz-points-grid .hgz-point:last-child {
  border-right: 0;
}

.hgz-points-grid .hgz-point img {
  width: 112px;
  height: 112px;
  margin: 0 auto 18px;
  display: block;
}

.hgz-points-grid .hgz-point strong {
  display: block;
  font-size: 20px;
  margin-bottom: 8px;
  font-weight: 900;
  color: #2a140c;
}

.hgz-points-grid .hgz-point span {
  display: block;
  color: #6a5547;
  font-size: 15px;
  line-height: 1.5;
  max-width: 240px;
  margin: 0 auto;
}

/* Home fan favorites */

.hgz-section {
  padding: 78px 0;
}

.hgz-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 28px;
}

.hgz-section-head h2,
.hgz-app h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(42px, 4vw, 68px);
  line-height: .95;
  text-transform: uppercase;
  margin: 0;
}

.hgz-section-head a {
  color: #fe5500;
  font-weight: 800;
  text-decoration: none;
}

.hgz-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.hgz-product-card {
  background: #fff;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 16px 40px rgba(42,20,12,.08);
}

.hgz-product-img {
  height: 170px;
  border-radius: 18px;
  background:
    radial-gradient(circle at center, rgba(254,85,0,.12), transparent 60%),
    #fff0e4;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hgz-product-img img {
  width: 112%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 12px 14px rgba(42,20,12,.12));
}

.hgz-product-card h3 {
  margin: 0 0 8px;
  font-size: 25px;
  font-weight: 900;
  color: #2a140c;
}

.hgz-product-card p {
  margin: 0 0 18px;
  color: #6a5547;
}

.hgz-product-card a {
  color: #fff !important;
  font-weight: 900;
  text-decoration: none;
}

.hgz-product-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 8px;
  background: #fe5500;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  box-shadow: 0 8px 18px rgba(254,85,0,.18);
}

.hgz-product-cta:hover {
  background: #e64d00;
  color: #fff !important;
}

/* Home app section */

.hgz-app {
  padding: 78px 0 156px;
}

.hgz-app-box {
  background: #fff;
  border-radius: 28px;
  padding: 44px;
  box-shadow: 0 16px 40px rgba(42,20,12,.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.hgz-app-box p {
  max-width: 520px;
  color: #6a5547;
  font-size: 18px;
  margin-bottom: 0;
}


/* ============================================================
   29. Page — About
   ============================================================ */

.hgz-about-hero {
  padding: 80px 0 70px;
  background: #fff7ee;
}

.hgz-about-hero-grid,
.hgz-story-grid,
.hgz-about-app-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 56px;
  align-items: center;
}

.hgz-script {
  color: #fe5500;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 10px;
}

.hgz-about h1,
.hgz-about h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 800;
  line-height: .88;
  letter-spacing: -0.04em;
  margin: 0 0 24px;
}

.hgz-about h1 {
  font-size: clamp(72px, 8vw, 128px);
}

.hgz-about h2 {
  font-size: clamp(48px, 5vw, 78px);
}

.hgz-about-copy p,
.hgz-story-text p {
  max-width: 520px;
  font-size: 20px;
  line-height: 1.55;
  color: #4f3b2f;
}

.hgz-about-hero-img img,
.hgz-story-photo img {
  width: 100%;
  display: block;
  border-radius: 28px;
}

.hgz-about-img {
  position: relative;
}

.hgz-about-img img {
  width: 100%;
  display: block;
}

.hgz-signature-love {
  display: block;
  color: #fe5500;
  font-family: "Pacifico", "Brush Script MT", cursive;
  font-size: 28px;
  transform: rotate(-4deg);
  margin-bottom: 6px;
}

.hgz-signoff {
  font-weight: 700;
}

.hgz-signoff span:last-child {
  font-weight: 800;
  color: #2a140c;
}

/* About orange values */

.hgz-about-values {
  background: #fe5500;
  color: #fff;
  padding: 58px 0;
}

.hgz-values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 44px;
  text-align: center;
}

.hgz-value img {
  width: 76px;
  height: 76px;
  background: #fff;
  border-radius: 999px;
  padding: 16px;
  margin-bottom: 20px;
}

.hgz-value h3 {
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 22px;
}

.hgz-value p {
  color: #fff4e9;
  line-height: 1.5;
  max-width: 300px;
  margin: 0 auto;
}

/* About story */

.hgz-about-story {
  padding: 90px 0;
  background: #fff;
}

/* About quick points */

.hgz-about-points {
  padding: 34px 0 84px;
  background: #fff;
}

.hgz-about-points-grid {
  background: #fff7ee;
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(42,20,12,.08);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
}

.hgz-about-points-grid .hgz-point {
  padding: 34px 26px;
  text-align: center;
  border-right: 1px solid #eadbcc;
}

.hgz-about-points-grid .hgz-point:last-child {
  border-right: 0;
}

.hgz-about-points-grid .hgz-point img {
  width: 84px;
  height: 84px;
  margin: 0 auto 14px;
  display: block;
}

.hgz-about-points-grid .hgz-point strong {
  display: block;
  text-transform: uppercase;
  color: #fe5500;
  font-size: 19px;
  line-height: 1.05;
  margin-bottom: 8px;
}

.hgz-about-points-grid .hgz-point span {
  display: block;
  color: #6a5547;
  line-height: 1.45;
  max-width: 220px;
  margin: 0 auto;
}

/* About visit */

.hgz-about-visit {
  padding: 86px 0;
  background: #fff7ee;
}

.hgz-visit-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 30px;
}

.hgz-visit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.hgz-visit-grid figure {
  margin: 0;
}

.hgz-visit-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 16px 35px rgba(42,20,12,.1);
}

.hgz-visit-grid figcaption {
  text-align: center;
  margin-top: 12px;
  font-weight: 800;
  color: #2a140c;
}

/* About app */

.hgz-about-app {
  padding: 72px 0;
  background: #fe5500;
  color: #fff;
  overflow: hidden;
}

.hgz-about-app h2 {
  color: #fff;
}

.hgz-about-app p {
  color: #fff4e9;
  font-size: 20px;
}

.hgz-app-buttons {
  display: flex;
  gap: 16px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.hgz-app-buttons img {
  height: 48px;
  width: auto;
}

.hgz-app-phone {
  width: 100%;
  max-width: 520px;
  justify-self: end;
}


/* ============================================================
   30. Page — Catering
   ============================================================ */

.hgzcat-page {
  background: #fff7ee;
  color: #2a140c;
}

.hgzcat-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.hgzcat-hero {
  padding: 80px 0 60px;
}

.hgzcat-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 50px;
}

.hgzcat-eyebrow {
  margin: 0 0 12px;
  color: #fe5500;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 14px;
}

.hgzcat-hero h1 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(52px, 6vw, 84px);
  line-height: .92;
  margin: 0 0 18px;
  letter-spacing: -0.035em;
  color: #2a140c;
  text-transform: uppercase;
  font-weight: 800;
}

.hgzcat-hero h1 span {
  color: #fe5500;
}

.hgzcat-hero p {
  font-size: 18px;
  line-height: 1.5;
  color: #5a4638;
  max-width: 520px;
  margin-bottom: 26px;
}

.hgzcat-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hgzcat-hero-media img {
  width: 100%;
  max-width: 560px;
  display: block;
  transform: rotate(-4deg) scale(1.05);
  filter: drop-shadow(0 30px 40px rgba(42,20,12,.25));
}

.hgzcat-btn {
  min-height: 52px;
  padding: 0 28px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none;
  font-size: 14px;
}

.hgzcat-btn-primary {
  background: #fe5500;
  color: #fff;
  box-shadow: 0 10px 22px rgba(254,85,0,.22);
}

.hgzcat-btn-primary:hover {
  background: #e64d00;
  color: #fff;
}

.hgzcat-btn-outline {
  border: 2px solid #2a140c;
  color: #2a140c;
  background: transparent;
}

.hgzcat-btn-outline:hover {
  background: #2a140c;
  color: #fff;
}

/* Penn State Health Direct Bill Section */

.hgzcat-directbill {
  padding: 42px 0 18px;
  background: #fff7ee;
}

.hgzcat-directbill-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 30px;
  align-items: start;
  padding: 34px;
  border: 2px solid rgba(254,85,0,.35);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 20%, rgba(254,85,0,.08), transparent 32%),
    #fffaf3;
  box-shadow: 0 18px 45px rgba(42,20,12,.08);
}

.hgzcat-directbill-icon {
  color: #fe5500;
}

.hgzcat-directbill-icon svg {
  width: 120px;
  height: 120px;
  display: block;
}

.hgzcat-directbill-copy,
.hgzcat-directbill-list,
.hgzcat-directbill-action {
  grid-column: 2;
}

.hgzcat-directbill-badge {
  display: inline-flex;
  align-items: center;
  margin-bottom: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(254,85,0,.10);
  color: #fe5500;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.hgzcat-directbill h2 {
  margin: 0 0 14px;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(38px, 4vw, 58px);
  line-height: .9;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  color: #2a140c;
}

.hgzcat-directbill h2 span {
  color: #fe5500;
}

.hgzcat-directbill-copy p {
  max-width: 760px;
  margin: 0;
  color: #4f3b2f;
  font-size: 16px;
  line-height: 1.5;
}

.hgzcat-directbill-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 26px;
  margin-top: 16px;
}

.hgzcat-directbill-list div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #2a140c;
  font-weight: 800;
  line-height: 1.3;
}

.hgzcat-directbill-list span {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fe5500;
  border-radius: 50%;
  color: #fe5500;
  font-size: 12px;
  font-weight: 900;
}

.hgzcat-directbill-action {
  margin-top: 20px;
}

.hgzcat-directbill-action .hgzcat-btn {
  min-width: 320px;
  min-height: 58px;
}

.hgzcat-directbill-action p {
  margin: 16px 0 0;
  color: #4f3b2f;
  font-size: 15px;
  line-height: 1.4;
}

.hgzcat-directbill-action a:not(.hgzcat-btn) {
  color: #fe5500;
  font-size: 22px;
  font-weight: 900;
  text-decoration: none;
}

/* Tablet */

@media (max-width: 1100px) {

  .hgzcat-directbill-card {
    grid-template-columns: 110px 1fr;
  }

  .hgzcat-directbill-icon svg {
    width: 92px;
    height: 92px;
  }

  .hgzcat-directbill-list {
    grid-template-columns: 1fr;
  }

}

/* Mobile */

@media (max-width: 700px) {

  .hgzcat-directbill {
    padding: 28px 0 12px;
  }

  .hgzcat-directbill-card {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 26px 20px;
    text-align: center;
  }

  .hgzcat-directbill-copy,
  .hgzcat-directbill-list,
  .hgzcat-directbill-action {
    grid-column: auto;
  }

  .hgzcat-directbill-icon svg {
    width: 86px;
    height: 86px;
    margin: 0 auto;
  }

  .hgzcat-directbill h2 {
    font-size: clamp(38px, 11vw, 54px);
  }

  .hgzcat-directbill-copy p {
    margin: 0 auto;
    max-width: 330px;
    font-size: 15px;
  }

  .hgzcat-directbill-list {
    grid-template-columns: 1fr;
    width: min(100%, 320px);
    margin: 14px auto 0;
    text-align: left;
  }

  .hgzcat-directbill-action .hgzcat-btn {
    width: 100%;
    min-width: 0;
  }

  .hgzcat-directbill-action p {
    text-align: center;
  }

}

/* Catering trust strip */

.hgzcat-trust {
  padding: 30px 0 50px;
}

.hgzcat-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  text-align: center;
}

.hgzcat-trust-item {
  padding: 10px 14px;
  transition: transform .2s ease;
}

.hgzcat-trust-item:hover {
  transform: translateY(-4px);
}

.hgzcat-trust-item img {
  width: 86px;
  height: 86px;
  margin: 0 auto 16px;
  display: block;
  border-radius: 50%;
  background: #fff0e4;
  box-shadow: 0 10px 22px rgba(42,20,12,.07);
  transition: transform .2s ease;
}

.hgzcat-trust-item:hover img {
  transform: scale(1.05);
}

.hgzcat-trust-item strong {
  display: block;
  font-size: 18px;
  line-height: 1.1;
  margin-bottom: 8px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #2a140c;
}

.hgzcat-trust-item span {
  display: block;
  max-width: 200px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.45;
  color: #6a5547;
}

/* Catering sections */

.hgzcat-section {
  padding: 70px 0;
}

.hgzcat-section-head {
  text-align: center;
  margin-bottom: 40px;
}

.hgzcat-section-head h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 44px;
  letter-spacing: -0.02em;
  margin: 6px 0 0;
  color: #2a140c;
  text-transform: uppercase;
  font-weight: 800;
}

/* Tray cards */

.hgzcat-tray-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.hgzcat-tray-card {
  background: #fff;
  border-radius: 18px;
  padding: 26px;
  text-align: center;
  box-shadow: 0 18px 40px rgba(42,20,12,.08);
}

.hgzcat-tray-card img {
  width: 100%;
  max-width: 240px;
  margin: 0 auto 16px;
  display: block;
}

.hgzcat-tray-card h3 {
  font-size: 22px;
  margin-bottom: 6px;
  color: #2a140c;
}

.hgzcat-feed {
  color: #fe5500;
  font-weight: 700;
  margin-bottom: 10px;
}

.hgzcat-tray-card p {
  font-size: 14px;
  color: #6a5547;
  margin-bottom: 16px;
}

/* Occasion cards */

.hgzcat-occasion-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.hgzcat-occasion-card {
  background: #fff;
  border-radius: 16px;
  padding: 22px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(42,20,12,.06);
}

.hgzcat-occasion-card img {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  display: block;
  object-fit: contain;
}

.hgzcat-occasion-card h3 {
  font-size: 18px;
  margin-bottom: 6px;
  color: #2a140c;
}

.hgzcat-occasion-card p {
  font-size: 14px;
  line-height: 1.45;
  color: #6a5547;
}

/* Add-ons */

.hgzcat-addon-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  text-align: center;
}

.hgzcat-addon {
  background: #fff;
  padding: 20px;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(42,20,12,.06);
}

.hgzcat-addon strong {
  display: block;
  font-size: 16px;
  color: #2a140c;
}

.hgzcat-addon span {
  font-size: 13px;
  color: #6a5547;
}

/* Final CTA */

.hgzcat-final {
  background: #2a140c;
  padding: 70px 0;
  text-align: center;
}

.hgzcat-final h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 52px;
  color: #fff;
  margin-bottom: 10px;
  text-transform: uppercase;
  font-weight: 800;
}

.hgzcat-final h2 span {
  color: #fe5500;
}

.hgzcat-final p {
  color: rgba(255,255,255,.8);
  margin-bottom: 20px;
}


/* ============================================================
   31. Page — Home / About Responsive
   ============================================================ */

@media (max-width: 900px) {
  .hgz-home .hgz-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .hgz-home .hgz-container,
  .hgz-about .hgz-container {
    width: min(100% - 28px, 1180px);
  }

  .hgz-home .hgz-hero {
    padding: 50px 0 38px;
  }

  .hgz-home .hgz-hero-grid,
  .hgz-home .hgz-catering-teaser-grid,
  .hgz-about .hgz-about-hero-grid,
  .hgz-about .hgz-story-grid,
  .hgz-about .hgz-about-app-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .hgz-home .hgz-hero-title {
    font-size: clamp(58px, 18vw, 84px);
    line-height: .86;
  }

  .hgz-home .hgz-hero-subtitle {
    font-size: 17px;
  }

  .hgz-home .hgz-hero-actions,
  .hgz-home .hgz-app-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .hgz-home .hgz-btn {
    padding: 0 16px;
    font-size: 13px;
  }

  .hgz-home .hgz-fresh-badge {
    width: 88px;
    height: 88px;
    font-size: 12px;
    top: -4px;
    right: 2%;
  }

  .hgz-home .hgz-catering-teaser {
    padding: 34px 0 54px;
  }

  .hgz-home .hgz-catering-teaser-grid {
    padding: 32px 24px;
    gap: 26px;
  }

  .hgz-home .hgz-catering-teaser-media img {
    max-width: 330px;
    transform: rotate(-3deg) scale(1);
  }

  .hgz-home .hgz-catering-teaser-copy h2 {
    font-size: 44px;
  }

  .hgz-home .hgz-points-grid,
  .hgz-about .hgz-values-grid,
  .hgz-about .hgz-about-points-grid,
  .hgz-about .hgz-visit-grid {
    grid-template-columns: 1fr;
  }

  .hgz-home .hgz-points-grid .hgz-point,
  .hgz-about .hgz-about-points-grid .hgz-point {
    border-right: 0;
    border-bottom: 1px solid #eadbcc;
  }

  .hgz-home .hgz-points-grid .hgz-point:last-child,
  .hgz-about .hgz-about-points-grid .hgz-point:last-child {
    border-bottom: 0;
  }

  .hgz-home .hgz-section,
  .hgz-about .hgz-about-story,
  .hgz-about .hgz-about-visit {
    padding: 58px 0;
  }

  .hgz-home .hgz-section-head,
  .hgz-about .hgz-visit-head {
    display: block;
  }

  .hgz-home .hgz-section-head a,
  .hgz-about .hgz-visit-head .hgz-btn {
    display: inline-block;
    margin-top: 14px;
  }

  .hgz-home .hgz-app,
  .hgz-about .hgz-about-app {
    padding: 58px 0;
  }

  .hgz-home .hgz-app-box {
    display: block;
    padding: 30px;
  }

  .hgz-home .hgz-app-actions {
    margin-top: 24px;
  }

  .hgz-about .hgz-app-phone {
    justify-self: center;
  }
}


/* ============================================================
   32. Page — Catering Responsive
   ============================================================ */

@media (max-width: 900px) {
  .hgzcat-hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hgzcat-actions {
    justify-content: center;
  }

  .hgzcat-hero p,
  .hgzcat-hero-media img {
    margin-left: auto;
    margin-right: auto;
  }

  .hgzcat-trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hgzcat-tray-grid {
    grid-template-columns: 1fr;
  }

  .hgzcat-occasion-grid,
  .hgzcat-addon-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .hgzcat-container {
    width: min(100% - 28px, 1180px);
  }

  .hgzcat-hero {
    padding: 50px 0 38px;
  }

  .hgzcat-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .hgzcat-btn {
    padding: 0 16px;
    font-size: 13px;
  }

  .hgzcat-hero-media img {
    max-width: 330px;
    transform: rotate(-3deg) scale(1);
  }

  .hgzcat-trust-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .hgzcat-trust-item img {
    width: 82px;
    height: 82px;
  }

  .hgzcat-section {
    padding: 58px 0;
  }

  .hgzcat-section-head h2 {
    font-size: 40px;
  }

  .hgzcat-occasion-card img {
    width: 46px;
    height: 46px;
  }
}

@media (max-width: 500px) {
  .hgzcat-actions,
  .hgzcat-occasion-grid,
  .hgzcat-addon-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   33. Page — Gift Card
   ============================================================ */

.hgzgift-page {
  background: #fff7ee;
  color: #2a140c;
  overflow-x: hidden;
}

.hgzgift-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.hgzgift-eyebrow {
  margin: 0 0 12px;
  color: #fe5500;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Buttons */

.hgzgift-btn {
  min-height: 52px;
  padding: 0 28px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
}

.hgzgift-btn-primary {
  background: #fe5500;
  color: #fff;
  box-shadow: 0 10px 22px rgba(254,85,0,.22);
}

.hgzgift-btn-primary:hover {
  background: #e64d00;
  color: #fff;
}

.hgzgift-btn-outline {
  border: 2px solid #2a140c;
  color: #2a140c;
  background: transparent;
}

.hgzgift-btn-outline:hover {
  background: #2a140c;
  color: #fff;
}

.hgzgift-btn-light {
  border: 2px solid #fff;
  color: #fff;
  background: transparent;
}

.hgzgift-btn-light:hover {
  background: #fff;
  color: #2a140c;
}

/* Hero */

.hgzgift-hero {
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 74% 45%, rgba(254,85,0,.08), transparent 34%),
    #fff7ee;
}

.hgzgift-hero-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 64px;
}

.hgzgift-hero h1 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(64px, 7vw, 112px);
  line-height: .85;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  font-weight: 900;
  color: #2a140c;
  margin: 0 0 24px;
}

.hgzgift-hero h1 span {
  color: #fe5500;
  letter-spacing: -0.02em;
}

.hgzgift-hero-copy > p:not(.hgzgift-eyebrow) {
  max-width: 540px;
  font-size: 20px;
  line-height: 1.5;
  color: #4f3b2f;
  margin: 0 0 30px;
}

.hgzgift-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Hero image */

.hgzgift-hero-media {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.hgzgift-hero .hgzgift-hero-media img {
  width: 100%;
  max-width: 560px;
  display: block;
  transform: translateX(22px);
  filter: drop-shadow(0 26px 34px rgba(42,20,12,.20));
}

/* Remove old CSS card elements if they still exist */

.hgzgift-card,
.hgzgift-card-one,
.hgzgift-card-two {
  display: none !important;
}

/* Tablet */

@media (max-width: 900px) {
  .hgzgift-hero {
    padding: 58px 0 52px;
  }

  .hgzgift-hero-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    text-align: center;
  }

  .hgzgift-hero-copy > p:not(.hgzgift-eyebrow) {
    margin-left: auto;
    margin-right: auto;
  }

  .hgzgift-actions {
    justify-content: center;
  }

  .hgzgift-hero-media {
    min-height: auto;
    justify-content: center;
  }

  .hgzgift-hero .hgzgift-hero-media img {
    max-width: 430px;
    transform: none;
  }
}

/* Mobile hero */

@media (max-width: 600px) {
  .hgzgift-container {
    width: min(100% - 28px, 1180px);
  }

  .hgzgift-hero {
    padding: 30px 0 34px;
  }

  .hgzgift-hero-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    text-align: center;
  }

  .hgzgift-hero-copy {
    display: contents;
  }

  .hgzgift-hero .hgzgift-eyebrow {
    order: 1;
    font-size: 12px;
    margin: 0 0 8px;
  }

  .hgzgift-hero h1 {
    order: 2;
    font-size: clamp(48px, 13.5vw, 62px);
    line-height: .84;
    margin: 0 0 14px;
  }

  .hgzgift-hero-media {
    order: 3;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto 16px;
    padding: 0;
    display: flex;
    justify-content: center;
  }

  .hgzgift-hero .hgzgift-hero-media img {
    width: 100%;
    max-width: 305px;
    transform: none;
    margin: 0 auto;
  }

  .hgzgift-actions {
    order: 4;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    max-width: 265px;
    margin: 0 auto;
  }

  .hgzgift-btn {
    width: 100%;
    min-height: 46px;
    padding: 0 18px;
  }

  .hgzgift-hero-copy > p:not(.hgzgift-eyebrow) {
    order: 5;
    max-width: 320px;
    font-size: 15px;
    line-height: 1.42;
    margin: 16px auto 0;
  }
}

@media (max-width: 600px) {
  .hgzgift-flavor-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }

  .hgzgift-flavor-media {
    display: flex;
    justify-content: center;
    margin: 10px auto 0;
  }

  .hgzgift-flavor-media img {
    width: 100%;
    max-width: 340px;
    transform: none !important;
    margin: 0 auto;
  }

  .hgzgift-flavor-copy,
  .hgzgift-flavor-card {
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* Occasions strip */

.hgzgift-occasions {
  padding: 34px 0 38px;
  background: #fff;
  border-top: 1px solid #eadbcc;
  border-bottom: 1px solid #eadbcc;
}

.hgzgift-occasion-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.hgzgift-occasion {
  text-align: center;
  padding: 10px 24px;
  border-right: 1px solid #eadbcc;
}

.hgzgift-occasion:last-child {
  border-right: 0;
}

.hgzgift-occasion img {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  display: block;
}

.hgzgift-occasion strong {
  display: block;
  font-size: 15px;
  font-weight: 900;
  color: #2a140c;
  text-transform: uppercase;
}

/* Why */

.hgzgift-why {
  padding: 88px 0;
  background: #fff7ee;
}

.hgzgift-why-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 50px;
  align-items: center;
}

.hgzgift-why h2,
.hgzgift-flavor h2,
.hgzgift-section-head h2,
.hgzgift-final h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  line-height: .9;
  letter-spacing: -0.035em;
  margin: 0;
}

.hgzgift-why h2 {
  font-size: clamp(48px, 5vw, 78px);
  color: #2a140c;
  margin-bottom: 22px;
}

.hgzgift-why h2 span {
  color: #fe5500;
}

.hgzgift-why-copy > p:not(.hgzgift-eyebrow) {
  max-width: 560px;
  font-size: 18px;
  line-height: 1.55;
  color: #4f3b2f;
}

.hgzgift-benefit-stack {
  display: grid;
  gap: 16px;
}

.hgzgift-benefit-card {
  background: #fff;
  border-radius: 18px;
  padding: 24px 26px;
  box-shadow: 0 16px 40px rgba(42,20,12,.08);
  border: 1px solid rgba(42,20,12,.06);
}

.hgzgift-benefit-card strong {
  display: block;
  color: #2a140c;
  font-size: 19px;
  font-weight: 900;
  margin-bottom: 6px;
}

.hgzgift-benefit-card span {
  display: block;
  color: #6a5547;
  line-height: 1.45;
}

/* Dark flavor section */

.hgzgift-flavor {
  background:
    radial-gradient(circle at 88% 24%, rgba(254,85,0,.18), transparent 34%),
    #2a140c;
  color: #fff;
  padding: 86px 0;
}

.hgzgift-flavor-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 54px;
  align-items: center;
}

.hgzgift-flavor .hgzgift-eyebrow {
  color: #fe5500;
}

.hgzgift-flavor h2 {
  color: #fff;
  font-size: clamp(54px, 6vw, 88px);
}

.hgzgift-flavor-copy p {
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.55;
  max-width: 620px;
}

.hgzgift-flavor-copy ul {
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
}

.hgzgift-flavor-copy li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.86);
  font-weight: 800;
}

.hgzgift-flavor-copy li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #fe5500;
  font-weight: 900;
}

/* How */

.hgzgift-how {
  padding: 76px 0;
  background: #fff;
}

.hgzgift-section-head {
  text-align: center;
  margin-bottom: 42px;
}

.hgzgift-section-head h2 {
  font-size: clamp(44px, 4.5vw, 70px);
  color: #2a140c;
}

.hgzgift-step-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 900px;
  margin: 0 auto;
}

.hgzgift-step {
  text-align: center;
  padding: 12px 34px;
  border-right: 1px solid #eadbcc;
}

.hgzgift-step:last-child {
  border-right: 0;
}

.hgzgift-step span {
  width: 44px;
  height: 44px;
  margin: 0 auto 18px;
  background: #fe5500;
  color: #fff;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.hgzgift-step strong {
  display: block;
  font-size: 18px;
  font-weight: 900;
  color: #2a140c;
  margin-bottom: 8px;
}

.hgzgift-step p {
  color: #6a5547;
  line-height: 1.45;
  margin: 0;
}

/* Final */

.hgzgift-final {
  padding: 76px 0;
  background: #fff7ee;
}

.hgzgift-final-inner {
  background:
    radial-gradient(circle at 88% 50%, rgba(254,85,0,.18), transparent 36%),
    #2a140c;
  border-radius: 28px;
  padding: 54px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 34px;
  align-items: center;
  box-shadow: 0 24px 60px rgba(42,20,12,.16);
}

.hgzgift-final h2 {
  color: #fff;
  font-size: clamp(48px, 5vw, 78px);
}

.hgzgift-final h2 span {
  color: #fe5500;
}

.hgzgift-final p:not(.hgzgift-eyebrow) {
  color: rgba(255,255,255,.78);
  font-size: 18px;
  margin: 16px 0 0;
}

.hgzgift-final-actions {
  display: grid;
  gap: 12px;
  min-width: 240px;
}

/* Responsive */

@media (max-width: 900px) {
  .hgzgift-hero-grid,
  .hgzgift-why-grid,
  .hgzgift-flavor-grid,
  .hgzgift-final-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hgzgift-actions,
  .hgzgift-final-actions {
    justify-content: center;
  }

  .hgzgift-hero-copy > p:not(.hgzgift-eyebrow),
  .hgzgift-why-copy > p:not(.hgzgift-eyebrow),
  .hgzgift-hero-media img {
    margin-left: auto;
    margin-right: auto;
  }

  .hgzgift-hero-media img {
    transform: none;
  }

  .hgzgift-card-one {
    left: 50%;
    transform: translateX(-65%) rotate(-8deg);
  }

  .hgzgift-card-two {
    right: 50%;
    transform: translateX(70%) rotate(7deg);
  }

  .hgzgift-occasion-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hgzgift-step-grid {
    grid-template-columns: 1fr;
  }

  .hgzgift-step {
    border-right: 0;
    border-bottom: 1px solid #eadbcc;
    padding: 28px 20px;
  }

  .hgzgift-step:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 600px) {
  .hgzgift-container {
    width: min(100% - 28px, 1180px);
  }

  .hgzgift-hero {
    padding: 54px 0 44px;
  }

  .hgzgift-hero h1 {
    font-size: clamp(54px, 16vw, 74px);
  }

  .hgzgift-hero-copy > p:not(.hgzgift-eyebrow) {
    font-size: 17px;
  }

  .hgzgift-actions,
  .hgzgift-final-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hgzgift-hero-media {
    min-height: 330px;
  }

  .hgzgift-card {
    width: 220px;
    height: 136px;
    padding: 20px;
  }

  .hgzgift-card strong {
    font-size: 40px;
  }

  .hgzgift-occasion-grid {
    grid-template-columns: 1fr;
  }

  .hgzgift-why,
  .hgzgift-flavor,
  .hgzgift-how,
  .hgzgift-final {
    padding: 58px 0;
  }

  .hgzgift-final-inner {
    padding: 34px 24px;
  }
}

.hgzgift-flavor-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 40px;
}

/* IMAGE — CLEAN + PREMIUM */

.hgzgift-flavor-media {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.hgzgift-flavor-media img {
  width: 100%;
  max-width: 700px;
  display: block;
  transform: translate(20px, 10px);
  filter: drop-shadow(0 22px 28px rgba(0,0,0,.28));
}

/* SOFT GROUND SHADOW (subtle, not heavy) */

.hgzgift-flavor-media::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 8%;
  bottom: -4px;
  height: 20px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.35), transparent 75%);
  filter: blur(10px);
  opacity: .5;
}



@media (max-width: 600px) {

  .hgzgift-flavor-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .hgzgift-crave-image-wrap {
    width: 100%;
    justify-content: center;
    margin-top: 20px;
  }

  .hgzgift-crave-image {
    max-width: 300px;
    width: 100%;
  }

}

@media (max-width: 600px) {
  .hgzgift-flavor-card p {
    max-width: 300px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.45;
    text-align: center;
  }

  .hgzgift-flavor-card ul {
    list-style: none;
    max-width: 290px;
    margin: 22px auto 0;
    padding: 0;
    text-align: left;
  }

  .hgzgift-flavor-card li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.35;
    text-align: left;
  }

  .hgzgift-flavor-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #fe5500;
    font-weight: 900;
  }
}


/* ============================================================
   34. Page — Gift Card Balance
   ============================================================ */

.hgzgcb-page {
  background: #fff7ee;
  color: #2a140c;
  overflow-x: hidden;
}

.hgzgcb-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.hgzgcb-eyebrow {
  margin: 0 0 12px;
  color: #fe5500;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Hero */

.hgzgcb-hero {
  padding: 78px 0 44px;
  background:
    radial-gradient(circle at 78% 42%, rgba(254,85,0,.08), transparent 34%),
    #fff7ee;
}

.hgzgcb-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  align-items: center;
  gap: 56px;
}

.hgzgcb-hero h1 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(54px, 6vw, 92px);
  line-height: .88;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  font-weight: 900;
  color: #2a140c;
  margin: 0 0 20px;
}

.hgzgcb-hero h1 span {
  color: #fe5500;
}

.hgzgcb-hero-copy > p:not(.hgzgcb-eyebrow) {
  max-width: 500px;
  font-size: 19px;
  line-height: 1.5;
  color: #4f3b2f;
  margin: 0;
}

.hgzgcb-hero-media {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.hgzgcb-hero-media img {
  width: 100%;
  max-width: 430px;
  display: block;
  filter: drop-shadow(0 20px 30px rgba(42,20,12,.16));
}

/* Balance card */

.hgzgcb-balance {
  padding: 18px 0 42px;
}

.hgzgcb-card {
  width: min(640px, 100%);
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(42,20,12,.08);
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 20px 48px rgba(42,20,12,.09);
  text-align: center;
}

.hgzgcb-card h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(36px, 4vw, 52px);
  line-height: .95;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  font-weight: 900;
  color: #2a140c;
  margin: 0 0 22px;
}

.hgzgcb-form-wrap {
  text-align: left;
}

/* YITH form polish */

.hgzgcb-form-wrap form,
.hgzgcb-form-wrap .yith-ywgc-check-balance,
.hgzgcb-form-wrap .ywgc-check-balance {
  margin: 0 !important;
}

.hgzgcb-form-wrap label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #2a140c !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.hgzgcb-form-wrap input[type="text"],
.hgzgcb-form-wrap input[type="email"],
.hgzgcb-form-wrap input[type="password"],
.hgzgcb-form-wrap input[type="number"] {
  width: 100% !important;
  min-height: 54px !important;
  border: 2px solid #eadbcc !important;
  border-radius: 10px !important;
  background: #fffaf3 !important;
  color: #2a140c !important;
  font-size: 16px !important;
  padding: 0 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

.hgzgcb-form-wrap input:focus {
  border-color: #fe5500 !important;
  background: #fff !important;
}

.hgzgcb-form-wrap button,
.hgzgcb-form-wrap input[type="submit"],
.hgzgcb-form-wrap .button {
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 14px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #fe5500 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 22px rgba(254,85,0,.22) !important;
}

.hgzgcb-form-wrap button:hover,
.hgzgcb-form-wrap input[type="submit"]:hover,
.hgzgcb-form-wrap .button:hover {
  background: #e64d00 !important;
  color: #fff !important;
}

.hgzgcb-form-wrap p {
  margin-bottom: 14px;
}

.hgzgcb-form-wrap .ywgc-balance-result,
.hgzgcb-form-wrap .yith-ywgc-balance-result {
  margin-top: 18px !important;
  padding: 16px !important;
  border-radius: 12px !important;
  background: #fff7ee !important;
  color: #2a140c !important;
  border: 1px solid #eadbcc !important;
  text-align: center !important;
  font-weight: 800 !important;
}

.hgzgcb-secure {
  margin: 16px 0 0;
  color: #6a5547;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}

/* Help card */

.hgzgcb-help {
  padding: 0 0 76px;
}

.hgzgcb-help-card {
  width: min(720px, 100%);
  margin: 0 auto;
  background: #fff0e4;
  border: 1px solid #eadbcc;
  border-radius: 20px;
  padding: 24px 26px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  align-items: start;
}

.hgzgcb-help-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #fe5500;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 900;
}

.hgzgcb-help-card h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 900;
  color: #2a140c;
}

.hgzgcb-help-card p {
  margin: 0;
  color: #6a5547;
  line-height: 1.45;
}

.hgzgcb-help-card a {
  color: #fe5500;
  font-weight: 900;
  text-decoration: none;
}

.hgzgcb-help-card a:hover {
  text-decoration: underline;
}

.hgzgcb-hint {
  margin: -6px 0 18px;
  font-size: 14px;
  color: #6a5547;
  line-height: 1.4;
}

.hgzgcb-example {
  display: block;
  margin-top: 4px;
  font-weight: 700;
  color: #2a140c;
}

/* Mobile */

@media (max-width: 900px) {
  .hgzgcb-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: center;
  }

  .hgzgcb-hero-copy > p:not(.hgzgcb-eyebrow) {
    margin-left: auto;
    margin-right: auto;
  }

  .hgzgcb-hero-media {
    justify-content: center;
  }

  .hgzgcb-hero-media img {
    max-width: 340px;
  }
}

@media (max-width: 600px) {
  .hgzgcb-container {
    width: min(100% - 28px, 1180px);
  }

  .hgzgcb-hero {
    padding: 44px 0 22px;
  }

  .hgzgcb-hero h1 {
    font-size: clamp(46px, 13vw, 62px);
  }

  .hgzgcb-hero-copy > p:not(.hgzgcb-eyebrow) {
    font-size: 16px;
    line-height: 1.42;
  }

  .hgzgcb-hero-media img {
    max-width: 250px;
  }

  .hgzgcb-balance {
    padding: 14px 0 30px;
  }

  .hgzgcb-card {
    border-radius: 20px;
    padding: 26px 20px;
  }

  .hgzgcb-help {
    padding-bottom: 56px;
  }

  .hgzgcb-help-card {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 24px 20px;
  }

  .hgzgcb-help-icon {
    margin: 0 auto;
  }
}


/* ============================================================
   35. Page — Contact
   ============================================================ */

.hgzcontact-page {
  background: #fff7ee;
  color: #2a140c;
  overflow-x: hidden;
}

.hgzcontact-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

/* Eyebrow */

.hgzcontact-eyebrow {
  margin: 0 0 12px;
  color: #fe5500;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* =====================================================
   HERO
===================================================== */

.hgzcontact-hero {
  padding: 80px 0 60px;
  background:
    radial-gradient(circle at 80% 40%, rgba(254,85,0,.08), transparent 34%),
    #fff7ee;
}

.hgzcontact-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  align-items: center;
  gap: 60px;
}

.hgzcontact-hero h1 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(64px, 7vw, 110px);
  line-height: .85;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  font-weight: 900;
  margin: 0 0 14px;
}

.hgzcontact-hero h1 span {
  display: block;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #fe5500;
  margin-top: 10px;
}

.hgzcontact-hero-copy p {
  font-size: 20px;
  line-height: 1.5;
  color: #5a4335;
  max-width: 480px;
}

.hgzcontact-hero-media {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.hgzcontact-hero-media img {
  width: 100%;
  max-width: 660px;
  display: block;
  filter: drop-shadow(0 28px 40px rgba(42,20,12,.18));
  mask-image: radial-gradient(ellipse 55% 100% at 50% 50%, black 40%, transparent 100%)
}

/* =========================================
   HERO SCRIPT LINE (We’d love to see you)
========================================= */

.hgzcontact-hero h1 span {
  display: block;

  /* Script font */
  font-family: 'Satisfy', cursive;

  /* Size tuned for your layout */
  font-size: clamp(28px, 2.8vw, 36px);

  /* Brand color */
  color: #fe5500;

  /* Spacing */
  margin-top: 10px;

  /* Remove headline styling */
  letter-spacing: 0;
  text-transform: none;

  /* Slight handwritten feel */
  transform: rotate(-2deg);

  /* Prevent weird wrapping */
  line-height: 1.1;

  position: relative;
  width: fit-content;
}

/* =========================================
   SUBTLE CURVED UNDERLINE (mockup style)
========================================= */

.hgzcontact-hero h1 span::after {
  content: "";

  display: block;

  width: 120px;
  height: 6px;

  background: #fe5500;

  border-radius: 999px;

  margin-top: 6px;

  /* Slight curve illusion */
  transform: rotate(-2deg);
}

/* =========================================
   MOBILE ADJUSTMENTS
========================================= */

@media (max-width: 600px) {

  .hgzcontact-hero h1 span {
    font-size: 26px;
    margin-top: 8px;
    transform: rotate(-1deg);
  }

  .hgzcontact-hero h1 span::after {
    width: 90px;
    height: 5px;
  }

}

/* =====================================================
   MAIN SECTION (INFO + MAP)
===================================================== */

.hgzcontact-main {
  padding: 40px 0 70px;
}

.hgzcontact-main-grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 40px;
  align-items: stretch;
}

/* Info card */

.hgzcontact-info-card {
  background: #fff;
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 20px 50px rgba(42,20,12,.08);
}

.hgzcontact-info-item {
  display: flex;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid #f0e2d5;
}

.hgzcontact-info-item:last-child {
  border-bottom: none;
}

.hgzcontact-info-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff7ee;
  border: 2px solid #fe5500;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.hgzcontact-info-item h2 {
  margin: 0 0 4px;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .04em;
}

.hgzcontact-info-item p {
  margin: 0;
  color: #5a4335;
  line-height: 1.4;
}

.hgzcontact-info-item a {
  color: #fe5500;
  font-weight: 700;
  text-decoration: none;
}

/* Map */

.hgzcontact-map iframe {
  width: 100%;
  height: 100%;
  min-height: 380px;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 20px 50px rgba(42,20,12,.08);
}

.hgz-icon {
  width: 22px;
  height: 22px;
  stroke: #fe5500;
  stroke-width: 2;
  fill: none;
}

/*=====================================================
   CONTACT PAGE — DIRECT BILL MINI SECTION
===================================================== */

.hgzcontact-directbill {
  padding: 0 0 34px;
  background: #fff7ee;
}

.hgzcontact-directbill-box {
  background: #fff;
  border: 1px solid rgba(254,85,0,.22);
  border-radius: 20px;
  padding: 28px 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  box-shadow: 0 16px 40px rgba(42,20,12,.07);
}

.hgzcontact-badge {
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(254,85,0,.09);
  color: #fe5500;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.hgzcontact-directbill h2 {
  margin: 0 0 8px;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: clamp(34px, 3vw, 48px);
  line-height: .95;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  color: #2a140c;
}

.hgzcontact-directbill p {
  margin: 0;
  max-width: 620px;
  color: #5a4335;
  font-size: 16px;
  line-height: 1.45;
}

.hgzcontact-directbill-action {
  text-align: center;
  min-width: 260px;
}

.hgzcontact-directbill-action .hgzcontact-btn {
  width: 100%;
}

.hgzcontact-directbill-action p {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.35;
}

.hgzcontact-directbill-action p a {
  color: #fe5500;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 760px) {
  .hgzcontact-directbill-box {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 26px 22px;
  }

  .hgzcontact-directbill p {
    margin-left: auto;
    margin-right: auto;
  }

  .hgzcontact-directbill-action {
    min-width: 0;
    width: 100%;
  }
}

/* =====================================================
   CONTACT FORM BOX
===================================================== */

.hgzcontact-form-card {
	padding: 56px 34px 0;
}

/* =====================================================
   CTA
===================================================== */

.hgzcontact-cta {
  padding: 0 0 80px;
}

.hgzcontact-cta-box {
  background: #fff0e4;
  border-radius: 22px;
  padding: 30px 34px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 30px;
  align-items: center;
}

.hgzcontact-cta-media img {
  width: 100%;
  max-width: 220px;
}

.hgzcontact-cta-copy h2 {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 42px;
  margin: 0 0 8px;
}

.hgzcontact-cta-copy p {
  margin: 0 0 16px;
  color: #5a4335;
}

.hgzcontact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 26px;
  background: #fe5500;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(254,85,0,.22);
}

.hgzcontact-btn:hover {
  background: #e64d00;
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 900px) {

  .hgzcontact-hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 30px;
  }

  .hgzcontact-hero-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .hgzcontact-hero-media {
    justify-content: center;
  }

  .hgzcontact-main-grid {
    grid-template-columns: 1fr;
  }

  .hgzcontact-map iframe {
    min-height: 300px;
  }

  .hgzcontact-cta-box {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hgzcontact-cta-media img {
    margin: 0 auto;
  }
}

@media (max-width: 600px) {

  .hgzcontact-container {
    width: calc(100% - 28px);
  }

  .hgzcontact-hero {
    padding: 50px 0 30px;
  }

  .hgzcontact-hero h1 {
    font-size: clamp(46px, 14vw, 70px);
  }

  .hgzcontact-hero-media img {
    max-width: 360px;
  }

  .hgzcontact-info-card {
    padding: 22px;
  }
}


/* ============================================================
   36. Contact Form — Topic Selector
   ============================================================ */

.hgz-contact-topic .gfield_label {
  margin-bottom: 12px !important;
}

.hgz-contact-topic .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px !important;
}

.hgz-contact-topic .gchoice {
  position: relative;
  margin: 0 !important;
}

.hgz-contact-topic input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.hgz-contact-topic label {
  width: 100% !important;
  max-width: none !important;
  min-height: 62px;
  padding: 16px 18px 16px 52px !important;
  /*border: 2px solid #eadbcc;*/
  /*border-radius: 14px;*/
  background: #fffaf3;
  color: #2a140c;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  cursor: pointer;
  transition: all .18s ease;
  line-height: 1.15;
}

/* fake radio circle */
.hgz-contact-topic label::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 20px;
  height: 20px;
  border: 2px solid #d9caba;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}

/* selected */
.hgz-contact-topic input[type="radio"]:checked + label {
  background: #2a140c;
  border-color: #2a140c;
  color: #fff;
  box-shadow: 0 10px 22px rgba(254,85,0,.18);
}

.hgz-contact-topic input[type="radio"]:checked + label::before {
  border-color: #fff;
  background: #fff;
}

.hgz-contact-topic input[type="radio"]:checked + label::after {
  content: "✓";
  position: absolute;
  left: 23px;
  top: 50%;
  color: #fe5500;
  font-size: 13px;
  font-weight: 900;
  transform: translateY(-50%);
}

.hgz-contact-topic label:hover {
  border-color: #2a140c;
  background: #f7efe6;
}

/* Mobile */
@media (max-width: 600px) {
  .hgz-contact-topic .gfield_radio {
    grid-template-columns: 1fr;
  }

  .hgz-contact-topic label {
    min-height: 58px;
    font-size: 14px !important;
  }
}


/* ============================================================
   37. Page — Penn State Health Direct Bill
   ============================================================ */

.hgzpsh-page {
  background: #fff7ee;
  color: #0f2d52;
}

/* =====================================================
   CONTAINER
===================================================== */

.hgzpsh-container {
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
}

/* =====================================================
   HERO
===================================================== */

.hgzpsh-hero {
  background:
    linear-gradient(
      135deg,
      #081a31 0%,
      #0f2d52 55%,
      #153b69 100%
    );
  padding: 56px 0;
  overflow: hidden;
}

.hgzpsh-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 40px;
  align-items: center;
}

.hgzpsh-eyebrow {
  color: #fe5500;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 18px;
}

.hgzpsh-hero h1 {
  font-size: clamp(48px, 6vw, 82px);
  line-height: .92;
  letter-spacing: -.04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 24px;
}

.hgzpsh-hero-copy p {
  max-width: 560px;
  color: rgba(255,255,255,.88);
  font-size: 19px;
  line-height: 1.7;
  margin: 0;
}

.hgzpsh-hero-badge {
  width: fit-content;
  max-width: 520px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.hgzpsh-approved-icon {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #fe5500;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 900;
  flex-shrink: 0;
}

.hgzpsh-hero-badge-copy span {
  display: block;
  margin-bottom: 6px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hgzpsh-hero-badge-copy strong {
  display: block;
  color: #fff;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 42px;
  line-height: .9;
  letter-spacing: -.035em;
  text-transform: uppercase;
  margin: 0;
}

.hgzpsh-hero-badge-copy em {
  display: block;
  margin-top: 10px;
  color: rgba(255,255,255,.78);
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-style: normal;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1;
}

/* =====================================================
   NOTICE CARDS
===================================================== */

.hgzpsh-notices {
  padding: 36px 0 10px;
}

.hgzpsh-notice-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 22px;
}

.hgzpsh-notice-card {
  background: #fff;
  border: 1px solid #e4d8ca;
  border-radius: 20px;
  padding: 26px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  box-shadow: 0 4px 14px rgba(15,45,82,.04);
}

.hgzpsh-notice-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #0f2d52;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.hgzpsh-notice-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hgzpsh-notice-card h2 {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.1;
  color: #0f2d52;
}

.hgzpsh-notice-card p {
  margin: 0;
  color: #5e6b7b;
  line-height: 1.6;
}

/* =====================================================
   FORM SECTION
===================================================== */

.hgzpsh-form-section {
  padding: 36px 0 80px;
}

.hgzpsh-form-grid {
  display: grid;
  grid-template-columns: 1.5fr .7fr;
  gap: 32px;
  align-items: start;
}

.hgzpsh-form-card,
.hgzpsh-sidebar-card {
  background: #fff;
  border: 1px solid #e4d8ca;
  border-radius: 24px;
  box-shadow: 0 6px 24px rgba(15,45,82,.05);
}

.hgzpsh-form-card {
  position: relative;
  overflow: hidden;
  padding: 42px;
}

.hgzpsh-form-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42px;
  bottom: 42px;
  width: 3px;
  background: #fe5500;
  border-radius: 0 6px 6px 0;
}

.hgzpsh-form-card h2 {
  font-size: clamp(30px,4vw,50px);
  line-height: .95;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0 0 18px;
  color: #0f2d52;
}

.hgzpsh-form-intro {
  color: #5e6b7b;
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 4px;
}

/* =====================================================
   SIDEBAR
===================================================== */

.hgzpsh-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.hgzpsh-sidebar-card {
  padding: 34px;
}

.hgzpsh-sidebar-icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: #0f2d52;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}

.hgzpsh-sidebar-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hgzpsh-sidebar-card h3 {
  margin: 0 0 24px;
  font-size: 30px;
  line-height: 1;
  text-transform: uppercase;
  color: #fe5500;
}

.hgzpsh-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  counter-reset: step;
}

.hgzpsh-steps li {
  position: relative;
  padding-left: 52px;
}

.hgzpsh-steps li::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 0;
  top: 2px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0f2d52;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hgzpsh-steps strong {
  display: block;
  font-size: 16px;
  margin-bottom: 6px;
  color: #0f2d52;
}

.hgzpsh-steps span {
  display: block;
  color: #5e6b7b;
  line-height: 1.6;
}

.hgzpsh-help-card p {
  margin-bottom: 18px;
  color: #5e6b7b;
}

.hgzpsh-help-card a {
  color: #0f2d52;
  font-size: 24px;
  font-weight: 900;
  text-decoration: none;
}

/* =====================================================
   GRAVITY FORMS
===================================================== */

.hgz-psh-form_wrapper {
  margin: 0 !important;
}

.hgz-psh-form .gform_fields {
  row-gap: 14px !important;
}

.hgz-psh-half {
  grid-column: span 6 !important;
}

.hgz-psh-full {
  grid-column: span 12 !important;
}

.hgz-psh-form .ginput_complex {
  row-gap: 10px !important;
}

.hgz-psh-form input[type="text"],
.hgz-psh-form input[type="email"],
.hgz-psh-form input[type="tel"],
.hgz-psh-form input[type="number"],
.hgz-psh-form input[type="date"],
.hgz-psh-form textarea,
.hgz-psh-form select {
  width: 100% !important;
  min-height: 54px;
  background: #fffaf3 !important;
  border: 2px solid #d8c9b8 !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  color: #2a140c !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

.hgz-psh-form textarea {
  min-height: 110px;
  padding-top: 14px !important;
  resize: vertical;
}

.hgz-psh-form input:focus,
.hgz-psh-form textarea:focus,
.hgz-psh-form select:focus {
  border-color: #0f2d52 !important;
  box-shadow: 0 0 0 4px rgba(15,45,82,.12) !important;
}

.hgz-psh-form input::placeholder,
.hgz-psh-form textarea::placeholder {
  font-size: 15px;
  color: #7a6a5d;
  opacity: 1;
}

.hgz-psh-form .gfield_label,
.hgz-psh-form legend.gfield_label {
  color: #0f2d52;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  margin-bottom: 5px !important;
  padding-left: 3px !important;
}

.hgz-psh-form .gfield_required {
  color: #fe5500 !important;
}

.hgz-psh-form .gsection {
  margin-top: 34px !important;
  margin-bottom: 16px !important;
}

.hgz-psh-form .gsection_description {
  margin-top: 4px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.hgz-psh-form .gfield_description {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* =====================================================
   HELP NOTES
===================================================== */

.hgz-psh-help-note,
.hgz-psh-submit-note {
  border: 2px solid #fe5500;
  border-radius: 12px;
  background: #fff7ee;
  color: #0f2d52;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.hgz-psh-help-note {
  margin-top: -6px;
  padding: 16px 18px;
}

.hgz-psh-help-note strong {
  display: block;
  margin-bottom: 5px;
  color: #0f2d52;
  font-size: 17px;
  font-weight: 900;
}

.hgz-psh-help-note small {
  display: block;
  margin-top: 8px;
  color: #5e6b7b;
  font-size: 14px;
  line-height: 1.45;
}

.hgz-psh-submit-note {
  margin-top: 10px;
  padding: 16px 18px;
}

/* =====================================================
   RADIO + CHECKBOX PILLS
===================================================== */

.hgz-psh-form .hgz-psh-radio .gchoice,
.hgz-psh-form .hgz-psh-checks .gchoice {
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  min-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.hgz-psh-form .hgz-psh-radio .gchoice::before,
.hgz-psh-form .hgz-psh-radio .gchoice::after,
.hgz-psh-form .hgz-psh-radio .gchoice label::before,
.hgz-psh-form .hgz-psh-radio .gchoice label::after,
.hgz-psh-form .hgz-psh-checks .gchoice::before,
.hgz-psh-form .hgz-psh-checks .gchoice::after,
.hgz-psh-form .hgz-psh-checks label::before,
.hgz-psh-form .hgz-psh-checks label::after {
  display: none !important;
  content: none !important;
}

.hgz-psh-form .hgz-psh-radio input[type="radio"],
.hgz-psh-form .hgz-psh-checks input[type="checkbox"] {
  display: none !important;
}

.hgz-psh-form .hgz-psh-radio .gfield_radio,
.hgz-psh-form .hgz-psh-checks .gfield_checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hgz-psh-form .hgz-psh-radio label,
.hgz-psh-form .hgz-psh-checks label {
  height: 37px !important;
  min-height: 37px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 2px solid #d9caba !important;
  border-radius: 8px !important;
  background: #fffaf3 !important;
  color: #0f2d52 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: all .18s ease;
}

.hgz-psh-form .hgz-psh-radio label {
  min-width: 96px !important;
}

.hgz-psh-form .hgz-psh-checks label {
  min-width: 150px !important;
}

.hgz-psh-form .hgz-psh-radio input[type="radio"]:checked + label,
.hgz-psh-form .hgz-psh-checks input[type="checkbox"]:checked + label {
  background: #0f2d52 !important;
  border-color: #0f2d52 !important;
  color: #fff !important;
}

.hgz-psh-form .hgz-psh-radio label:hover,
.hgz-psh-form .hgz-psh-checks label:hover {
  border-color: #fe5500 !important;
}

/* =====================================================
   TIME FIELD
===================================================== */

.hgz-psh-time .ginput_container_time {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}

.hgz-psh-time .hour_minute_colon {
  display: none;
}

.hgz-psh-time .gfield_time_hour,
.hgz-psh-time .gfield_time_minute,
.hgz-psh-time .gfield_time_ampm {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

.hgz-psh-time select {
  min-width: 85px;
}

/* =====================================================
   SUBMIT BUTTON
===================================================== */

.hgz-psh-form .gform_footer {
  margin-top: 24px !important;
}

.hgz-psh-form .gform_button {
  min-height: 58px;
  padding: 0 34px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #fe5500 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: all .18s ease;
  box-shadow: 0 10px 22px rgba(254,85,0,.22);
}

.hgz-psh-form .gform_button:hover {
  background: #e84d00 !important;
  transform: translateY(-2px);
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 980px) {

  .hgzpsh-hero-grid,
  .hgzpsh-form-grid,
  .hgzpsh-notice-grid {
    grid-template-columns: 1fr;
  }

  .hgzpsh-hero {
    padding: 54px 0;
  }

  .hgzpsh-form-card,
  .hgzpsh-sidebar-card {
    padding: 28px;
  }
}

@media (max-width: 768px) {

  .hgzpsh-container {
    width: min(100% - 24px, 1200px);
  }

  .hgzpsh-hero h1 {
    font-size: 52px;
  }

  .hgzpsh-form-card h2 {
    font-size: 42px;
  }

  .hgz-psh-half,
  .hgz-psh-full {
    grid-column: span 12 !important;
  }

  .hgzpsh-hero-badge {
    padding: 22px;
  }

  .hgz-psh-form .hgz-psh-radio .gfield_radio {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .hgz-psh-form .hgz-psh-radio .gchoice {
    width: 100% !important;
  }

  .hgz-psh-form .hgz-psh-radio label {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    font-size: 13px !important;
  }
}


/* ============================================================
   38. Footer
   ============================================================ */

.site-primary-footer-wrap {
  padding: 34px 0 30px !important;
}

/* Hide footer entirely on single-product pages so sticky add-to-cart bar is the last element */
.single-product footer.site-footer,
.single-product #colophon {
  display: none !important;
}

.site-primary-footer-wrap .ast-builder-grid-row {
  align-items: flex-start !important;
  gap: 64px !important;
}

.site-primary-footer-wrap,
.site-primary-footer-wrap p,
.site-primary-footer-wrap a,
.site-primary-footer-wrap li,
.site-primary-footer-wrap .widget,
.site-primary-footer-wrap .ast-builder-html-element {
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* Logo column */

.site-primary-footer-wrap img {
  max-width: 118px;
  height: auto;
  margin-bottom: 8px;
}

.site-primary-footer-wrap .widget {
  margin: 0 !important;
}

.site-primary-footer-wrap .widget:first-child {
  margin-top: 4px !important;
}

.hgz-footer-tagline {
  margin-top: 6px;
  font-size: 13.5px;
  color: rgba(255,255,255,.62);
  line-height: 1.35;
  max-width: 170px;
}

/* Quick Links */

.hgz-footer-links {
  max-width: 220px;
  text-align: left !important;
}

.hgz-footer-links strong,
.hgz-footer-info strong,
.hgz-footer-info .hgz-footer-label {
  display: block;
  color: rgba(255,255,255,.68) !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 0 0 12px;
}

.hgz-footer-links ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hgz-footer-links li {
  margin: 0 0 8px !important;
  padding: 0 !important;
}

.hgz-footer-links a {
  color: rgba(255,255,255,.9) !important;
  text-decoration: none !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  transition: color .2s ease, opacity .2s ease;
}

.hgz-footer-links a:hover {
  color: #fe5500 !important;
}

/* Astra Footer Menu fallback */

.site-primary-footer-wrap .menu,
.site-primary-footer-wrap .menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-primary-footer-wrap .menu li {
  margin: 0 0 8px !important;
  padding: 0 !important;
}

.site-primary-footer-wrap .menu a {
  color: rgba(255,255,255,.9) !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

.site-primary-footer-wrap .menu a:hover {
  color: #fe5500 !important;
}

/* Hours / info block */

.hgz-footer-info {
  max-width: 300px;
  text-align: left !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 14.5px !important;
  line-height: 1.35 !important;
}

.hgz-footer-info p {
  margin: 0 0 14px !important;
}

.hgz-footer-info .hgz-footer-title {
  display: block;
  color: #fff !important;
  font-size: 15.5px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0 0 9px;
}

.hgz-footer-info .hgz-footer-label {
  margin: 16px 0 8px;
}

.hgz-footer-info br {
  line-height: 1;
}

/* Social icons */

.site-primary-footer-wrap .ast-builder-social-element {
  color: #fff !important;
  transition: color .2s ease, transform .2s ease;
}

.site-primary-footer-wrap .ast-builder-social-element:hover {
  color: #fe5500 !important;
  transform: translateY(-2px);
}

/* Bottom footer / copyright */

.site-below-footer-wrap {
  padding: 10px 0 !important;
}

.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap a {
  color: rgba(255,255,255,.65) !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

.site-below-footer-wrap a:hover {
  color: #fe5500 !important;
}

/* Hide footer on mobile */

@media (max-width: 768px) {
  footer.site-footer,
  .site-primary-footer-wrap,
  .site-below-footer-wrap {
    display: none !important;
  }
}


/* ============================================================
   39. Mobile Slide-In Menu
   ============================================================ */

/* Panel */
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
  background: #fff;
}

.ast-mobile-popup-content {
  padding-top: 14px;
}

.ast-mobile-popup-content .main-header-menu,
.ast-mobile-popup-content .main-navigation {
  width: 100%;
}

/* Top Woo cart row (account reverted to default) */
.ast-mobile-popup-drawer .wc-block-cart-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #2a140c !important;
  font-weight: 500;
  text-decoration: none !important;
}

/* Only hide cart default icon (keep account default visible) */
.ast-mobile-popup-drawer .wc-block-cart-link .wc-block-mini-cart__icon {
  display: none !important;
}

/* Custom cart icon */
.ast-mobile-popup-drawer .wc-block-cart-link::before {
  content: "" !important;
  display: inline-block !important;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  background: url("/uploads/hoageez-cart-icon-H.png") center center / contain no-repeat !important;
}

/* Main menu rows */
.ast-mobile-popup-content .main-header-menu .menu-item > a,
.ast-mobile-popup-content .main-header-menu .menu-item > .menu-link {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 54px;
  padding: 0 28px !important;
  border-bottom: 1px solid #f0e2d5;
  color: #2a140c !important;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

/* Menu icon base */
.ast-mobile-popup-content li[class*="hgz-menu-"] > a::before,
.ast-mobile-popup-content li[class*="hgz-menu-"] > .menu-link::before {
  content: "" !important;
  display: inline-block !important;
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  opacity: .78;
}

/* Menu icons */
.ast-mobile-popup-content li.hgz-menu-home > a::before,
.ast-mobile-popup-content li.hgz-menu-home > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-home.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-order > a::before,
.ast-mobile-popup-content li.hgz-menu-order > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-order.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-catering > a::before,
.ast-mobile-popup-content li.hgz-menu-catering > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-catering.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-gift > a::before,
.ast-mobile-popup-content li.hgz-menu-gift > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-gift.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-about > a::before,
.ast-mobile-popup-content li.hgz-menu-about > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-about.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-contact > a::before,
.ast-mobile-popup-content li.hgz-menu-contact > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-contact.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-app > a::before,
.ast-mobile-popup-content li.hgz-menu-app > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-app.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-employment > a::before,
.ast-mobile-popup-content li.hgz-menu-employment > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-employment.svg") !important;
}

.ast-mobile-popup-content li.hgz-menu-faq > a::before,
.ast-mobile-popup-content li.hgz-menu-faq > .menu-link::before {
  background-image: url("/wp-content/themes/astra-child/assets/images/icons/hgz-menu-faq.svg") !important;
}

/* More parent */
.ast-mobile-popup-content li.hgz-menu-more > a,
.ast-mobile-popup-content li.hgz-menu-more > .menu-link {
  color: #fe5500 !important;
  font-weight: 900;
}

/* Order button */
.ast-mobile-popup-content li.hgz-menu-button > a,
.ast-mobile-popup-content li.hgz-menu-button > .menu-link {
  justify-content: center !important;
  min-height: 54px;
  max-width: 220px;
  margin: 26px auto 18px;
  padding: 0 24px !important;
  border-bottom: 0;
  border-radius: 8px;
  background: #fe5500;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(254,85,0,.22);
}

.ast-mobile-popup-content li.hgz-menu-button > a::before,
.ast-mobile-popup-content li.hgz-menu-button > .menu-link::before {
  display: none !important;
}

/* Align top row */
.ast-mobile-popup-drawer .wp-block-group.is-layout-flex {
  align-items: center !important;
}

/* Hide account icon in header (keep only in menu) */
.site-header .wc-block-customer-account__link {
  display: none !important;
}

.ast-mobile-popup-drawer .wc-block-customer-account__link {
  display: inline-flex !important;
  padding-top: 0;
}

/* Replace ONLY the account icon (no layout changes) */
.wc-block-customer-account__account-icon {
  display: none !important;
}

.wc-block-customer-account__link::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;

  background: url("/wp-content/themes/astra-child/assets/images/icons/hgz-header-account.svg")
              center center / contain no-repeat;

  vertical-align: middle;
}
