.elementor-kit-6{--e-global-color-primary:#221F1F;--e-global-color-secondary:#82807B;--e-global-color-text:#5A5854;--e-global-color-accent:#C4151F;--e-global-color-6c4d285:#ED1C24;--e-global-color-f60e24b:#9C1019;--e-global-color-bc64058:#FBF0EE;--e-global-color-83df8e9:#F4F3F1;--e-global-color-028c411:#EBEAE7;--e-global-color-2c61082:#DEDCD8;--e-global-color-2808937:#FCF9F5;--e-global-color-7967fbc:#C9C7C2;--e-global-color-966a726:#FFFFFF;--e-global-color-7883367:#FAFAF9;--e-global-color-0110f91:#DDD8D0;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:52px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:1.8px;--e-global-typography-faa64dd-font-family:"Playfair Display";--e-global-typography-faa64dd-font-size:24px;--e-global-typography-faa64dd-font-weight:500;--e-global-typography-faa64dd-line-height:1.3em;--e-global-typography-faa64dd-letter-spacing:0px;--e-global-typography-2b70ce7-font-family:"DM Sans";--e-global-typography-2b70ce7-font-size:14px;--e-global-typography-2b70ce7-font-weight:400;--e-global-typography-2b70ce7-line-height:1.7em;--e-global-typography-2b70ce7-letter-spacing:0px;--e-global-typography-46f3d9a-font-family:"DM Sans";--e-global-typography-46f3d9a-font-size:12px;--e-global-typography-46f3d9a-font-weight:400;--e-global-typography-46f3d9a-text-transform:uppercase;--e-global-typography-46f3d9a-line-height:1.4em;--e-global-typography-46f3d9a-letter-spacing:2.2px;--e-global-typography-5953eb4-font-family:"DM Sans";--e-global-typography-5953eb4-font-size:15px;--e-global-typography-5953eb4-font-weight:400;--e-global-typography-5953eb4-line-height:1em;--e-global-typography-5953eb4-letter-spacing:0.3px;--e-global-typography-83c41d7-font-family:"DM Sans";--e-global-typography-83c41d7-font-size:11px;--e-global-typography-83c41d7-font-weight:600;--e-global-typography-83c41d7-text-transform:uppercase;--e-global-typography-83c41d7-line-height:1.4em;--e-global-typography-83c41d7-letter-spacing:1.5px;--e-global-typography-5e6cb7b-font-family:"DM Sans";--e-global-typography-5e6cb7b-font-size:14px;--e-global-typography-5e6cb7b-font-weight:600;--e-global-typography-5e6cb7b-text-transform:uppercase;--e-global-typography-5e6cb7b-line-height:1.6em;--e-global-typography-5e6cb7b-letter-spacing:1.2px;--e-global-typography-ddaa959-font-family:"DM Sans";--e-global-typography-ddaa959-font-size:13px;--e-global-typography-ddaa959-font-weight:400;--e-global-typography-ddaa959-line-height:1.6em;--e-global-typography-ddaa959-letter-spacing:0px;--e-global-typography-adde810-font-family:"Playfair Display";--e-global-typography-adde810-font-size:56px;--e-global-typography-adde810-font-weight:400;--e-global-typography-adde810-line-height:1.15em;--e-global-typography-b4f31cb-font-family:"DM Sans";--e-global-typography-b4f31cb-font-size:15px;--e-global-typography-b4f31cb-font-weight:400;--e-global-typography-b4f31cb-line-height:1.8em;--e-global-typography-b4f31cb-letter-spacing:0.3px;background-color:#F4F3F1;color:var( --e-global-color-text );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-5e6cb7b-font-family ), Sans-serif;font-size:var( --e-global-typography-5e6cb7b-font-size );font-weight:var( --e-global-typography-5e6cb7b-font-weight );text-transform:var( --e-global-typography-5e6cb7b-text-transform );line-height:var( --e-global-typography-5e6cb7b-line-height );letter-spacing:var( --e-global-typography-5e6cb7b-letter-spacing );color:var( --e-global-color-966a726 );border-style:none;border-radius:2px 2px 2px 2px;padding:16px 34px 16px 34px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-f60e24b );color:var( --e-global-color-966a726 );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:var( --e-global-color-f60e24b );}.elementor-kit-6 h1{color:var( --e-global-color-primary );}.elementor-kit-6 h2{color:var( --e-global-color-primary );}.elementor-kit-6 h3{color:var( --e-global-color-accent );}.elementor-kit-6 h4{color:var( --e-global-color-primary );}.elementor-kit-6 h5{color:var( --e-global-color-primary );}.elementor-kit-6 img{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-2c61082 );border-radius:2px 2px 2px 2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1650px;}.e-con{--container-max-width:1650px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-5e6cb7b-font-size );line-height:var( --e-global-typography-5e6cb7b-line-height );letter-spacing:var( --e-global-typography-5e6cb7b-letter-spacing );}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:42px;--e-global-typography-secondary-font-size:34px;--e-global-typography-adde810-font-size:40px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-5e6cb7b-font-size );line-height:var( --e-global-typography-5e6cb7b-line-height );letter-spacing:var( --e-global-typography-5e6cb7b-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:28px;--e-global-typography-accent-font-size:13px;--e-global-typography-accent-letter-spacing:1.7px;--e-global-typography-faa64dd-font-size:20px;--e-global-typography-5953eb4-font-size:16px;--e-global-typography-5953eb4-line-height:1.5em;--e-global-typography-adde810-font-size:30px;--e-global-typography-b4f31cb-font-size:16px;--e-global-typography-b4f31cb-line-height:1.5em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-5e6cb7b-font-size );line-height:var( --e-global-typography-5e6cb7b-line-height );letter-spacing:var( --e-global-typography-5e6cb7b-letter-spacing );padding:15px 28px 15px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --e-gv-f07685e:#ED1C24; --e-gv-691d3fc:#DF1A22; --e-gv-64fd751:#231F20; --e-gv-47784e7:#3A3A3A; --e-gv-22ecef4:#FFFFFF; --e-gv-0eb9f22:#FAF7F2; --e-gv-142fca0:#F7F3ED; --e-gv-4b61b9a:#FCF9F5; --e-gv-61cf5da:#E8DED3; --e-gv-0d236c5:#D8D1C9; --e-gv-a6c1543:#D2CBC2; --e-gv-efc989b:#AAA39B; --e-gv-f885397:#C9161D; --e-gv-fa807df:#C61017; --colour-brand-red:#ED1C24; --colour-white:#FFFFFF; --colour-brand-red-hover:#C61017; --colour-warm-ivory:#F7F3ED; --colour-charcoal:#26231F; --colour-soft-black:#231F20; --colour-warm-grey:#6F6965; --colour-pale-ivory:#FCF9F5; --colour-mushroom:#E8DED3; --colour-deep-charcoal:#211F1C; --colour-warm-white:#FAF7F2; --colour-muted-grey:#D2CBC2; --colour-border:#3a3632; }
/* Start custom CSS *//* Top level */
.jazz-tabs-primary .e-n-tab-title {
  background-color: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: #82807B !important;
}
.jazz-tabs-primary .e-n-tab-title:hover {
  color: #221F1F !important;
}
.jazz-tabs-primary .e-n-tab-title[aria-selected="true"] {
  color: #221F1F !important;
  border-bottom-color: #C4151F !important;
}

/* Nested */
.jazz-tabs-secondary .e-n-tab-title {
  background-color: transparent !important;
  border: 1px solid #DEDCD8 !important;
  border-radius: 2px !important;
  color: #5A5854 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
}
.jazz-tabs-secondary .e-n-tab-title:hover {
  border-color: #82807B !important;
  color: #221F1F !important;
}
.jazz-tabs-secondary .e-n-tab-title[aria-selected="true"] {
  background-color: #221F1F !important;
  border-color: #221F1F !important;
  color: #FFFFFF !important;
}
@media (max-width: 767px) {
  .jazz-size-row td,
  .jazz-size-row th {
    font-weight: 700!important;
    color: #221F1F;
  }
}
.eael-single-product-images .image_slider__image {
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	overflow: hidden;
}

.eael-single-product-images .image_slider__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	margin: 0 !important;
}

.eael-single-product-images .product_image_slider__container,
.eael-single-product-images .swiper.swiper-slider,
.eael-single-product-images .swiper-wrapper,
.eael-single-product-images .swiper-slide {
	height: auto !important;
}
/* ==========================================================================
   JAZZAMATAZZ — Gravity Forms
   Creative Revenue
   --------------------------------------------------------------------------
   No wrapper background, border or padding — Elementor owns the container.
   Fonts inherit from your Elementor global typography.
   Uppercase is used in exactly two places: section headings and the button.

   SETUP
   Gravity Forms → form → Settings → Form Layout
     • Form Theme .............. Gravity Forms 2.5 Theme
     • CSS Class Name .......... jazz-form
     • Sub-Label Placement ..... Above inputs
     • Description Placement ... Below inputs
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. TOKENS
   -------------------------------------------------------------------------- */

:root {
  --jazz-red:       #C8102E;
  --jazz-red-dark:  #A00D25;
  --jazz-ink:       #14100E;   /* input text */
  --jazz-label:     #4A423C;   /* field labels */
  --jazz-muted:     #7A726B;   /* descriptions, sub-labels */
  --jazz-border:    #E6E1DA;   /* input border, resting */
  --jazz-border-hv: #BDB5AD;   /* input border, hover */
  --jazz-field-bg:  #FAFAF9;   /* the alt-row tint from the sizing table */

  --jazz-radius: 2px;          /* set to 0 for hard corners */
  --jazz-field-h: 40px;
  --jazz-field-fs: 14px;
}


/* --------------------------------------------------------------------------
   2. STRIP THE WRAPPER  +  HIDE TITLE / DESCRIPTION / REQUIRED LEGEND
   -------------------------------------------------------------------------- */

.gform_wrapper:has(.jazz-form),
.gform_wrapper .jazz-form {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  max-width: none;
  font-family: inherit;
}

.gform_wrapper:has(.jazz-form) .gform_heading,
.gform_wrapper:has(.jazz-form) .gform_title,
.gform_wrapper:has(.jazz-form) .gform_description,
.gform_wrapper:has(.jazz-form) .gform_required_legend,
.gform_wrapper .jazz-form .gform_required_legend {
  display: none !important;
}

.gform_wrapper .jazz-form *,
.gform_wrapper .jazz-form *::before,
.gform_wrapper .jazz-form *::after {
  font-family: inherit;
  box-sizing: border-box;
}


/* --------------------------------------------------------------------------
   3. GRID
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form .gform_fields {
  row-gap: 20px;
  column-gap: 24px;
}

/* min-width:0 is required — grid items default to min-width:auto, which lets
   a wide field (the address block) push out past the form's right edge */
.gform_wrapper .jazz-form .gfield {
  margin: 0;
  padding: 0;
  min-width: 0;
  max-width: 100%;
}

.gform_wrapper .jazz-form .ginput_container,
.gform_wrapper .jazz-form .ginput_complex {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  margin: 0;
}


/* --------------------------------------------------------------------------
   4. LABELS  — sentence case, quiet, close to the field
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form .gfield_label,
.gform_wrapper .jazz-form .gform-field-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-label);
  margin: 0 0 8px;
}

/* Sub-labels (First, Last, City, Province…) sit clearly below the group label */
.gform_wrapper .jazz-form .gform-field-label--type-sub {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-muted);
  margin: 0 0 6px;
}

/* Parent label on Name / Address stays visible — it carries the required
   asterisk for the whole group. Sub-labels sit under it as quieter captions. */
.gform_wrapper .jazz-form .gfield--type-name > .gfield_label,
.gform_wrapper .jazz-form .gfield--type-address > .gfield_label {
  display: block;
  margin-bottom: 11px;
}

.gform_wrapper .jazz-form .gfield_required {
  color: var(--jazz-red);
  margin-left: 3px;
  font-weight: 500;
}

.gform_wrapper .jazz-form .gfield_description {
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-muted);
  padding: 7px 0 0;
}


/* --------------------------------------------------------------------------
   5. INPUTS  — boxed, but light and low
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form input[type="text"],
.gform_wrapper .jazz-form input[type="email"],
.gform_wrapper .jazz-form input[type="tel"],
.gform_wrapper .jazz-form input[type="url"],
.gform_wrapper .jazz-form input[type="number"],
.gform_wrapper .jazz-form input[type="password"],
.gform_wrapper .jazz-form select,
.gform_wrapper .jazz-form textarea {
  width: 100%;
  height: var(--jazz-field-h);
  min-height: var(--jazz-field-h);
  padding: 0 12px;
  background: var(--jazz-field-bg);
  border: 1px solid var(--jazz-border);
  border-radius: var(--jazz-radius);
  font-size: var(--jazz-field-fs);
  line-height: 1.4;
  color: var(--jazz-ink);
  box-shadow: none;
  appearance: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.gform_wrapper .jazz-form textarea {
  height: 140px;
  min-height: 72px;            /* ~3 rows — deliberately small */
  padding: 10px 12px;
  line-height: 1.5;
  resize: vertical;
}

.gform_wrapper .jazz-form select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath fill='none' stroke='%237A726B' stroke-width='1.4' d='M1 1l4.5 4.5L10 1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 34px;
  cursor: pointer;
}

.gform_wrapper .jazz-form input::placeholder,
.gform_wrapper .jazz-form textarea::placeholder {
  color: #ADA59D;
  opacity: 1;
}

.gform_wrapper .jazz-form input:hover,
.gform_wrapper .jazz-form select:hover,
.gform_wrapper .jazz-form textarea:hover {
  border-color: var(--jazz-border-hv);
}

.gform_wrapper .jazz-form input:focus,
.gform_wrapper .jazz-form select:focus,
.gform_wrapper .jazz-form textarea:focus {
  outline: none;
  border-color: var(--jazz-red);
  box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.09);
}

/* Chrome autofill */
.gform_wrapper .jazz-form input:-webkit-autofill,
.gform_wrapper .jazz-form input:-webkit-autofill:hover,
.gform_wrapper .jazz-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--jazz-ink);
  -webkit-box-shadow: 0 0 0 100px var(--jazz-field-bg) inset;
}


/* --------------------------------------------------------------------------
   5b. MULTI-INPUT FIELDS  (Name, Address — anything .ginput_complex)

   Gravity fakes its column gutters with padding-right on each span, which
   insets those inputs relative to every single-input field around them.
   We clear the padding and use a real grid instead, so Name and Address
   line up edge-to-edge with Studio name, Email, Phone, etc.
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form .ginput_complex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 18px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.gform_wrapper .jazz-form .ginput_complex > span {
  display: block;
  float: none;
  flex: none;
  width: 100% !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.gform_wrapper .jazz-form .ginput_complex input,
.gform_wrapper .jazz-form .ginput_complex select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

/* Address column placement:

       Street address      |  Address line 2
       City                |  Province
       Postal code         |  —
*/

.gform_wrapper .jazz-form .ginput_container_address > .address_line_1,
.gform_wrapper .jazz-form .ginput_container_address > .address_city,
.gform_wrapper .jazz-form .ginput_container_address > .address_zip {
  grid-column: 1;
}

.gform_wrapper .jazz-form .ginput_container_address > .address_line_2,
.gform_wrapper .jazz-form .ginput_container_address > .address_state,
.gform_wrapper .jazz-form .ginput_container_address > .address_country {
  grid-column: 2;
}

/* Every multi-input field — Name included — goes single column on mobile.
   767px matches Elementor's mobile breakpoint. */
@media (max-width: 767px) {
  .gform_wrapper .jazz-form .ginput_complex {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }

  .gform_wrapper .jazz-form .ginput_complex > span {
    grid-column: 1 !important;
  }
}


/* --------------------------------------------------------------------------
   6. SECTION HEADINGS  — the one uppercase accent in the form
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form .gsection {
  border: 0;
  border-top: 1px solid var(--jazz-border);
  margin: 10px 0 0;
  padding: 34px 0 6px;   /* the 6px gives the heading room to breathe */
}

.gform_wrapper .jazz-form .gform_fields > .gsection:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
/* No divider above the first section */
.gform_wrapper .jazz-form .gfield--type-honeypot + .gfield--type-section,
.gform_wrapper .jazz-form .gform_fields > .gfield--type-section:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

/* Matches the "WHOLESALE ONLY" eyebrow elsewhere on the site.
   Must read LARGER than the field labels below it — at 11px it was losing
   the hierarchy to the 14px "Address" label directly underneath. */
.gform_wrapper .jazz-form .gsection_title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--jazz-red);
  margin: 0;
}

.gform_wrapper .jazz-form .gsection_description {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-muted);
  margin: 9px 0 0;
}


/* --------------------------------------------------------------------------
   7. CONSENT / CHECKBOXES / RADIOS
   -------------------------------------------------------------------------- */

/* Consent label stays visible so the required asterisk shows */
.gform_wrapper .jazz-form .gfield--type-consent > .gfield_label {
  display: block;
  margin-bottom: 11px;
}

/* gap alone loses a specificity tie to Gravity's own consent styles, so the
   spacing is carried by margin-right on the box itself (below) instead */
.gform_wrapper .jazz-form .ginput_container_consent,
.gform_wrapper .jazz-form .gchoice {
  display: flex !important;
  align-items: flex-start;
  gap: 0 !important;
}

/* Wrapped lines align under the first line of text, not under the box */
.gform_wrapper .jazz-form .gfield_consent_label,
.gform_wrapper .jazz-form .gchoice label {
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.gform_wrapper .jazz-form .gchoice + .gchoice {
  margin-top: 10px;
}

.gform_wrapper .jazz-form input[type="checkbox"],
.gform_wrapper .jazz-form input[type="radio"] {
  width: 17px;
  height: 17px;
  min-height: 0;
  margin: 2px 14px 0 0 !important;   /* the 14px is the gap to the text */
  padding: 0;
  flex: 0 0 auto;
  border: 1px solid var(--jazz-border-hv);
  border-radius: var(--jazz-radius);
  background: var(--jazz-field-bg);
  accent-color: var(--jazz-red);
  cursor: pointer;
}

.gform_wrapper .jazz-form input[type="radio"] {
  border-radius: 50%;
}

.gform_wrapper .jazz-form .gfield_consent_label,
.gform_wrapper .jazz-form .gchoice label {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-ink);
  margin: 0;
  cursor: pointer;
}

.gform_wrapper .jazz-form .gfield_consent_label a,
.gform_wrapper .jazz-form .gfield_description a {
  color: var(--jazz-red);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* --------------------------------------------------------------------------
   8. SUBMIT BUTTON
   !important is deliberate — Elementor's global button styles otherwise win.
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form .gform_footer {
  margin: 36px 0 0;
  padding: 0;
}

.gform_wrapper .jazz-form .gform_footer input[type="submit"],
.gform_wrapper .jazz-form .gform_footer .gform_button,
.gform_wrapper .jazz-form .gform_footer button {
  width: auto;
  min-width: 230px;
  display: inline-block;
  padding: 19px 40px !important;
  background: var(--jazz-red) !important;
  border: 0 !important;
  border-radius: var(--jazz-radius) !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.16s ease;
}

.gform_wrapper .jazz-form .gform_footer input[type="submit"]:hover,
.gform_wrapper .jazz-form .gform_footer .gform_button:hover,
.gform_wrapper .jazz-form .gform_footer button:hover {
  background: var(--jazz-red-dark) !important;
}

.gform_wrapper .jazz-form .gform_footer input[type="submit"]:focus-visible {
  outline: 2px solid var(--jazz-ink);
  outline-offset: 3px;
}

/* Add jazz-form--full alongside jazz-form for a full-width button */
.gform_wrapper .jazz-form--full .gform_footer input[type="submit"] {
  width: 100%;
  display: block;
}


/* --------------------------------------------------------------------------
   9. VALIDATION
   -------------------------------------------------------------------------- */

.gform_wrapper .jazz-form .gform_validation_errors,
.gform_wrapper:has(.jazz-form) .gform_validation_errors {
  background: none;
  border: 0;
  border-left: 2px solid var(--jazz-red);
  border-radius: 0;
  box-shadow: none;
  padding: 4px 0 4px 18px;
  margin: 0 0 30px;
}

.gform_wrapper .jazz-form .gform_validation_errors > h2,
.gform_wrapper:has(.jazz-form) .gform_validation_errors > h2 {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-red-dark);
  margin: 0;
  padding: 0;
}

.gform_wrapper .jazz-form .gfield_error input,
.gform_wrapper .jazz-form .gfield_error select,
.gform_wrapper .jazz-form .gfield_error textarea {
  border-color: var(--jazz-red);
  background: var(--jazz-field-bg);
}

.gform_wrapper .jazz-form .gfield_error .gfield_label,
.gform_wrapper .jazz-form .gfield_error .gform-field-label {
  color: var(--jazz-label);
}

.gform_wrapper .jazz-form .validation_message {
  background: none;
  border: 0;
  padding: 7px 0 0;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--jazz-red-dark);
}


/* --------------------------------------------------------------------------
   10. CONFIRMATION
   -------------------------------------------------------------------------- */

.jazz-form-wrap .gform_confirmation_message,
.gform_wrapper .jazz-form .gform_confirmation_message {
  font-size: 17px;
  line-height: 1.65;
  color: var(--jazz-ink);
  background: none;
  border: 0;
  border-left: 2px solid var(--jazz-red);
  padding: 4px 0 4px 20px;
}


/* --------------------------------------------------------------------------
   11. MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  .gform_wrapper .jazz-form .gform_fields {
    row-gap: 18px;
  }

  /* 16px stops iOS Safari zooming the page on focus */
  .gform_wrapper .jazz-form input,
  .gform_wrapper .jazz-form select,
  .gform_wrapper .jazz-form textarea {
    font-size: 16px;
  }

  .gform_wrapper .jazz-form .gsection {
    margin-top: 6px;
    padding-top: 28px;
  }

  .gform_wrapper .jazz-form .gform_footer {
    margin-top: 30px;
  }

  .gform_wrapper .jazz-form .gform_footer input[type="submit"] {
    width: 100%;
    display: block;
  }
}


/* --------------------------------------------------------------------------
   12. REDUCED MOTION
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .gform_wrapper .jazz-form * {
    transition: none !important;
  }
}
/* ---- Password protected page ---- */

.post-password-form {
    width: 100%;
    max-width: 460px;
    margin: 22vh auto 24vh;
    background: #fff;
    border: 1px solid #DEDAD3;
    padding: 44px 40px 46px;
    text-align: left;
    box-sizing: border-box;
}

.post-password-form::before {
    content: "Staff access";
    display: block;
    font-size: 11px;
    letter-spacing: .17em;
    text-transform: uppercase;
    color: #C4151F;
    font-weight: 600;
    margin-bottom: 16px;
}

.post-password-form p,
.post-password-form div,
.post-password-form span,
.post-password-form fieldset {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    float: none !important;
    margin: 0;
    padding: 0;
    border: 0;
}

.post-password-form > p:first-of-type {
    font-size: 16px;
    line-height: 1.6;
    color: #5A544E;
    margin: 0 0 28px;
}

.post-password-form label {
    display: block !important;
    width: 100% !important;
    float: none !important;
    font-size: 0;
    margin: 0 0 8px;
    padding: 0;
}

.post-password-form label::before {
    content: "Password";
    display: block;
    font-size: 14.5px;
    color: #221F1F;
}

.post-password-form input[type="password"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.4;
    color: #221F1F;
    background: #F7F6F4;
    border: 1px solid #DEDAD3;
    border-radius: 0;
    padding: 14px;
    margin: 0 0 16px !important;
    height: auto;
}

.post-password-form input[type="password"]:focus {
    outline: 2px solid #C4151F;
    outline-offset: 1px;
    background: #fff;
}

.post-password-form input[type="submit"] {
    display: block !important;
    width: 100% !important;
    float: none !important;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #fff;
    background: #C4151F;
    border: 0;
    border-radius: 0;
    padding: 16px 24px;
    margin: 0 !important;
    cursor: pointer;
    height: auto;
}

.post-password-form input[type="submit"]:hover {
    background: #A31220;
}

@media (max-width: 600px) {
    .post-password-form {
        padding: 30px 24px 32px;
        margin: 10vh 20px 12vh;
    }
}/* End custom CSS */