/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: B.E. Custom Media LLC.
Author URI: https://becustommedia.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Our Legacy hero: comfortable side spacing and balanced text wrapping. */
.elementor-220 .zn6dm62d .zk0p3euk {
  padding-inline: 32px !important;
  box-sizing: border-box;
}

.elementor-220 .zn6dm62d .gscdf4lb,
.elementor-220 .zn6dm62d .zdic47p1 {
  text-wrap: balance;
}

@media (max-width: 767px) {
  .elementor-220 .zn6dm62d .zk0p3euk {
    padding-inline: 8px !important;
  }
}

/* How to Order: outlined status panel and labels from the Lovable design. */
.elementor-222 .elementor-element.elementor-element-b7de98b {
  border: 1px solid rgba(201, 149, 83, 0.5) !important;
  box-sizing: border-box;
}

.elementor-222 .elementor-element-4384c5b > .elementor-widget-text-editor {
  border: 1px solid rgba(238, 215, 197, 0.2) !important;
  background-color: transparent !important;
  color: #a18e7c !important;
  box-sizing: border-box;
}

.elementor-222 .elementor-element-4384c5b > .elementor-widget-text-editor.ajs-status-active {
  border-color: #c99553 !important;
  background-color: rgba(201, 149, 83, 0.15) !important;
  color: #c99553 !important;
}

/* Separate the status labels from their explanatory note. */
.elementor-222 .elementor-element.elementor-element-99f94c6 {
  margin-top: 20px !important;
}

@media (max-width: 767px) {
  .elementor-222 .elementor-element.elementor-element-b7de98b {
    width: 100% !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 12px 8px !important;
  }
}

/* Ordering steps and information cards: one column on phones. */
@media (max-width: 767px) {
  .elementor .wqwu9o11,
  .elementor .fja7iri3 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor .wqwu9o11 > .eq9bsml6,
  .elementor .fja7iri3 > .p468hty8 {
    min-width: 0;
    padding: 24px !important;
    padding-block: 24px !important;
    padding-inline: 24px !important;
    overflow-wrap: anywhere;
  }

  .elementor .wqwu9o11 .qneghzfy {
    margin: 12px 0 !important;
    line-height: 1.4 !important;
  }

  .elementor .fja7iri3 .qsc42fkg {
    margin: 0 0 12px !important;
    line-height: 1.4 !important;
  }

  .elementor .wqwu9o11 .ad78ylpj,
  .elementor .fja7iri3 .cbmj3kwr {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
}

/* Weekly schedule: give descriptions their own line on phones. */
@media (max-width: 767px) {
  .elementor .acfvps86 {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor .acfvps86 > li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px 16px !important;
    align-items: baseline !important;
    padding: 24px clamp(16px, 5vw, 24px) !important;
    padding-block: 24px !important;
    padding-inline: clamp(16px, 5vw, 24px) !important;
  }

  .elementor .acfvps86 > li > span {
    min-width: 0;
    width: auto !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .elementor .acfvps86 .kmgp7uko {
    font-size: clamp(22px, 6vw, 26px) !important;
    line-height: 1.3 !important;
  }

  .elementor .acfvps86 .ebr4rp3b {
    font-size: 16px !important;
    line-height: 1.5 !important;
    text-align: right;
    white-space: nowrap;
  }

  .elementor .acfvps86 .lkktlcm8 {
    grid-column: 1 / -1;
    font-size: 17px !important;
    line-height: 1.65 !important;
  }
}


/* Outer background wrapper (matching the image container background) */
body, .page-wrapper {
  background-color: #FFF6EA; /* Light cream background */
  margin: 0;
  padding: 0px;
}

/* The Blockquote container */
.kdp0mylw {
  background-color: #FCEFD2; /* Slightly darker warm cream banner */
  border-left: 3px solid #B87D4B; /* Brown vertical accent line */
  padding: 0px 0px;
  margin: 0 max(0px, 0%);
  box-sizing: border-box;
}

/* The text inside the blockquote */
.caqfw1u7 {
  font-family: 'Great Vibes', 'Alex Brush', 'Pinyon Script', cursive; /* Elegant cursive script */
  font-size: 2.2rem;
  color: #2F2117; /* Dark brownish-black text color */
  font-style: italic;
  line-height: 1.5;
  margin: 0;
}

/* 1. Main Container/List Style */
.q6hs3xyq {
  list-style: none; /* Removes native list numbers */
  padding: 0;
  margin: 0;
  /*background-color: #23120B;*/ /* Deep dark brown background */
  border-top: 1px solid rgba(211, 162, 125, 0.2); /* Subtle top line */
  font-family: 'Georgia', serif;
}

/* 2. Individual Row Configuration */
.vjevuos4 {
  display: flex;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid rgba(211, 162, 125, 0.2); /* Thin row divider line */
  color: #D3A27D; /* Soft warm tan text color */
}

/* 3. Number Column Style (01, 02...) */
.e4mn2iyo {
  width: 80px;
  font-size: 0.95rem;
  opacity: 0.8;
  display: inline-block;
}

/* 4. Day of the Week Column Style */
.btmgezd3 {
  width: 160px;
  font-size: 1.2rem;
  display: inline-block;
}

/* 5. Schedule Details Column Style */
.alsxopk1 {
  flex-grow: 1;
  font-size: 1.1rem;
}

/* 6. Bold Text Highlights (Times) */
/* Home ordering schedule: let each description use the full mobile width. */
@media (max-width: 767px) {
  .elementor-8 .q6hs3xyq > .vjevuos4 {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 16px 12px !important;
    align-items: baseline !important;
    padding-block: 20px !important;
  }

  .elementor-8 .q6hs3xyq .e4mn2iyo,
  .elementor-8 .q6hs3xyq .btmgezd3,
  .elementor-8 .q6hs3xyq .alsxopk1 {
    width: auto !important;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .elementor-8 .q6hs3xyq .btmgezd3 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  .elementor-8 .q6hs3xyq .alsxopk1 {
    /* Override Elementor's more specific single-column placement. */
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
    overflow-wrap: normal;
    word-break: normal;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

.t538rnpv {
  color: #EED7C5; /* Brighter cream color for highlighted text */
  font-weight: bold;
}

/* 1. Main Background Wrapper */
.eqh9lg7i.softlite-dynamic-card-box {
  background-color: #FFF9F1; /* Soft cream/off-white background */
  padding: 80px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

/* 2. Inner Content Card & Relative Layout Base */
.b1cb01ou {
  position: relative; /* Essential anchor point for the corners */
  max-width: 680px;
  width: 100%;
  padding: 50px 60px;
  text-align: center;
  box-sizing: border-box;
  font-family: 'Georgia', serif;
}

/* 3. Decorative Outer Border Corners Wrapper */
.zy4436ej {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none; /* Allows text selection through corners */
}

/* Base shape rule for all 4 corner tags */
.zy4436ej span {
  position: absolute;
  width: 24px;   /* Width of corner lines */
  height: 24px;  /* Height of corner lines */
  border: 1px solid rgba(184, 125, 75, 0.4); /* Elegant subtle brown line */
}

/* Map individual spans to their physical screen locations */
.qrvivxzn { /* Top Left */
  top: 0; left: 0;
  border-right: none !important; border-bottom: none !important;
}
.benvux94 { /* Top Right */
  top: 0; right: 0;
  border-left: none !important; border-bottom: none !important;
}
.vndlrg9p { /* Bottom Left */
  bottom: 0; left: 0;
  border-right: none !important; border-top: none !important;
}
.qr21ewpb { /* Bottom Right */
  bottom: 0; right: 0;
  border-left: none !important; border-top: none !important;
}

/* 4. Subtitle Typography ("Small Batch") */
.ic6qov8e {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B87D4B; /* Warm branding brown accent tone */
  margin: 0 0 14px 0;
}

/* 5. Main Title Typography */
.jlaiu9wn {
  font-size: 2.2rem;
  color: #2F2117; /* Dark chocolate aesthetic text */
  font-weight: normal;
  line-height: 1.3;
  margin: 0 0 16px 0;
}

/* 6. Centered SVG Heart & Line Decorative Row */
.ueh53vuy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 24px;
}

/* Flanking decorative lines alongside heart */
.ua22rzq5 {
  width: 30px;
  height: 1px;
  background-color: rgba(184, 125, 75, 0.3);
}

/* Central Vector Icon */
.obzn8r6r.softlite-dynamic-icon {
  width: 14px;
  height: 14px;
  color: #B87D4B;
  display: block;
}

/* 7. Main Paragraph Typography Box */
.h3vt8ilu {
  font-size: 1.05rem;
  color: #5C4A3E; /* Muted contrast brown for clean reading */
  line-height: 1.7;
  margin: 0;
}
/* =========================================================
   AJ'S LEGACY CAKES — DESSERT CATALOG
   ========================================================= */

.aj-dessert-catalog {
    --aj-brown: #3b1708;
    --aj-body: #654c3f;
    --aj-gold: #c89452;
    --aj-border: #e8cda9;
    --aj-cream: #fcf7ec;
    /*--aj-card: #fffdf9;*/
    --aj-card: #FFFCF6;

}

/* Remove plugin backgrounds and borders */
.aj-dessert-catalog .caf-builder-filter,
.aj-dessert-catalog .caf-builder-filter-layout-container,
.aj-dessert-catalog .caf-builder-filter-layout-container-inner {
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* =========================================================
   FILTER LABELS
   ========================================================= */

.aj-dessert-catalog .caf-filter-label-common {
    margin: 0 0 12px !important;
    color: var(--aj-gold) !important;
    font-family: inherit;
    font-weight: 600 !important;
    line-height: 1.2;
    letter-spacing: 0.19em !important;
    text-transform: uppercase;
}

/* Add more separation before Availability */
.aj-dessert-catalog
.caf-builder-module-main.caf-module-type-checkbox_filter
+ .caf-builder-module-main.caf-module-type-checkbox_filter {
    margin-top: 12px !important;
}

/* =========================================================
   FILTER BUTTON LISTS
   ========================================================= */

.aj-dessert-catalog .caf-terms-list {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.aj-dessert-catalog .caf-terms-list-item {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Visible filter button */
.aj-dessert-catalog .caf-terms-list-item .manage-ci-lbl {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    padding: 15px 23px !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--aj-body) !important;
    cursor: pointer;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease !important;
}

.aj-dessert-catalog .caf-term-label {
    color: inherit !important;
    font-family: inherit;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
    white-space: nowrap;
}

/* Filter hover and selected state */
.aj-dessert-catalog .caf-terms-list-item:hover .manage-ci-lbl,
.aj-dessert-catalog .caf-terms-list-item.active .manage-ci-lbl,
.aj-dessert-catalog .caf-terms-list-item.selected .manage-ci-lbl,
.aj-dessert-catalog .caf-taxo-input:checked + .manage-ci-lbl {
    border-color: var(--aj-brown) !important;
    background: var(--aj-brown) !important;
    color: #fff !important;
}

/* Reset / All Desserts */
.aj-dessert-catalog [data-module-type="reset"] {
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin-top: 12px !important;
    padding: 15px 23px !important;
    border: 1px solid var(--aj-border) !important;
    background: transparent !important;
    color: var(--aj-body) !important;
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.aj-dessert-catalog [data-module-type="reset"]:hover {
    border-color: var(--aj-brown) !important;
    background: var(--aj-brown) !important;
    color: #fff !important;
}

/* ALL DESSERTS button */
/*.aj-dessert-catalog .caf-module-type-reset,
.aj-dessert-catalog .caf-module-reset,
.aj-dessert-catalog [data-module-type="reset"],
.aj-dessert-catalog [data-module-type="reset_filter"],
.aj-dessert-catalog [data-module-type*="reset"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 290px !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding: 18px 36px !important;
    color: #fffaf1 !important;
    background: #431706 !important;
    border: 1px solid #431706 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.16em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

/* Keep the inner reset label visible */
.aj-dessert-catalog .caf-module-type-reset *,
.aj-dessert-catalog .caf-module-reset *,
.aj-dessert-catalog [data-module-type*="reset"] * {
    color: #fffaf1 !important;
    background: transparent !important;
}

/* =========================================================
   PRODUCT GRID
   ========================================================= */

.aj-dessert-catalog
.caf-builder-post-layout-container-inner.caf-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 34px !important;
    width: 100% !important;
}

/* Individual card */
.aj-dessert-catalog .caf-builder-post-area {
    display: flex !important;
    height: 100% !important;
    min-width: 0;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0px solid rgba(200, 148, 82, 0.28) !important;
    border-radius: 0 !important;
    background: var(--aj-card) !important;
    box-shadow: 0 14px 36px rgba(59, 23, 8, 0.075) !important;
}

.aj-dessert-catalog
.caf-builder-post-area
> .caf-builder-row-main {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    padding-bottom: 0 !important; /* Remove default bottom padding from each card layout */
}

/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.aj-dessert-catalog .caf-column-0,
.aj-dessert-catalog .caf-module-type-woo_product_image {
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.aj-dessert-catalog .caf-post-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    transition: transform 450ms ease;
}

.aj-dessert-catalog
.caf-builder-post-area:hover
.caf-post-img {
    transform: scale(1.025);
}

/* =========================================================
   CARD CONTENT
   ========================================================= */

.aj-dessert-catalog
.caf-builder-post-area
.caf-column-1 {
    display: grid !important;
    flex: 1 1 auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto 1fr auto !important;
    align-content: start !important;
    /* gap: 14px 10px !important; */
    row-gap: 8px !important; /* Spacing in between cards (Row) */
    column-gap: 10px !important; /* Spacing in between cards (Column) */
    width: 100% !important;
    padding: 24px !important;
    background-color: rgba(255, 253, 249, 0.68) !important;
}

/* Title, description and price span full card */
.aj-dessert-catalog .caf-column-1 .caf-module-type-title,
.aj-dessert-catalog .caf-column-1 .caf-module-type-excerpt,
.aj-dessert-catalog .caf-column-1 .caf-module-type-product_price {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Product title */
/*.aj-dessert-catalog .caf-builder-title-value {
    margin: 0 !important;
    color: var(--aj-brown) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.015em !important;
}*/
body .aj-dessert-catalog
.caf-builder-module-main.caf-module-type-title
h2.caf-builder-title-value {
    margin: 0 !important;
    color: var(--aj-brown) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.015em !important;
}

/* Product description */
.aj-dessert-catalog .caf-module-type-excerpt {
    color: var(--aj-body) !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

.aj-dessert-catalog .caf-module-type-excerpt p {
    margin: 0 0 14px;
}

.aj-dessert-catalog .caf-module-type-excerpt p:last-child {
    margin-bottom: 0;
}

/* Optional flavor line */
.aj-dessert-catalog .cake-flavor {
    margin-bottom: 18px !important;
    font-size: 17px;
    line-height: 1.4;
}

/* Sizes and allergen details */
.aj-dessert-catalog .cake-details {
    margin-top: 18px !important;
    font-size: 13px;
    line-height: 1.75;
}

.aj-dessert-catalog .cake-details strong {
    color: #9d6b45;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
}

/* Product price */
.aj-dessert-catalog .caf-builder-price-value {
    margin: 6px 0 8px !important;
    color: var(--aj-brown) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

/* Space below product title */
.aj-dessert-catalog .caf-module-type-title {
    margin-bottom: 4px !important;
}

/* Space between description paragraphs */
.aj-dessert-catalog .caf-module-type-excerpt p {
    margin: 0 0 10px !important;
}

/* Remove margin from final description paragraph */
.aj-dessert-catalog .caf-module-type-excerpt p:last-child {
    margin-bottom: 0 !important;
}

/* Space above sizes and allergens */
.aj-dessert-catalog .cake-details {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

/* Space around price */
.aj-dessert-catalog .caf-module-type-product_price {
    margin-top: 12px !important;
    margin-bottom: 8px !important;
}

/* =========================================================
   CARD BUTTONS
   ========================================================= */

.aj-dessert-catalog .caf-module-type-button,
.aj-dessert-catalog .caf-module-type-woo_add_to_cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: end !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 14px 12px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* View Cake */
.aj-dessert-catalog .caf-module-type-button {
    border: 1px solid var(--aj-border) !important;
    background: transparent !important;
    color: var(--aj-body) !important;
}

/* Choose Size */
.aj-dessert-catalog .caf-module-type-woo_add_to_cart {
    border: 1px solid var(--aj-brown) !important;
    background: var(--aj-brown) !important;
    color: #fff !important;
}

/* Button text */
.aj-dessert-catalog .caf-builder-button-value {
    color: inherit !important;
    font-family: inherit;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

/* Button hover effects */
.aj-dessert-catalog .caf-module-type-button:hover,
.aj-dessert-catalog .caf-module-type-woo_add_to_cart:hover {
    border-color: var(--aj-gold) !important;
    background: var(--aj-gold) !important;
    color: var(--aj-brown) !important;
}

/* =========================================================
   RESPONSIVE GRID
   ========================================================= */

@media (max-width: 1024px) {
    .aj-dessert-catalog
    .caf-builder-post-layout-container-inner.caf-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

@media (max-width: 767px) {
    .aj-dessert-catalog
    .caf-builder-post-layout-container-inner.caf-grid {
        grid-template-columns: 1fr !important;
    }

    .aj-dessert-catalog .caf-terms-list {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 10px !important;
    }

    .aj-dessert-catalog .caf-terms-list-item {
        flex: 0 0 auto !important;
    }

    .aj-dessert-catalog
    .caf-builder-post-area
    .caf-column-1 {
        padding: 24px !important;
    }

    .aj-dessert-catalog .caf-builder-title-value {
        font-size: 24px !important;
    }

    .aj-dessert-catalog .caf-module-type-button,
    .aj-dessert-catalog .caf-module-type-woo_add_to_cart {
        grid-column: 1 / -1 !important;
    }
}

/* Remove all rounded corners from product images */
.aj-dessert-catalog .caf-module-type-woo_product_image,
.aj-dessert-catalog .caf-module-type-woo_product_image a,
.aj-dessert-catalog .caf-post-img {
    overflow: hidden !important;
    border-radius: 0 !important;
}

.aj-dessert-catalog .caf-builder-post-area,
.aj-dessert-catalog .caf-builder-post-area > .caf-builder-row-main,
.aj-dessert-catalog .caf-builder-post-area .caf-column-0 {
    border-radius: 0 !important;
}

/* Full-width CAF catalog alignment */
.aj-dessert-catalog,
.aj-dessert-catalog > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove padding around the filter panel */
.aj-dessert-catalog .caf-builder-filter,
.aj-dessert-catalog .caf-builder-filter-layout-container,
.aj-dessert-catalog .caf-builder-filter-layout-container-inner,
.aj-dessert-catalog .caf-builder-column-main.caf-fl-column-0 {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Ensure product grid aligns to the same edges */
.aj-dessert-catalog .caf-builder-post-layout-container,
.aj-dessert-catalog .caf-builder-post-layout-container-inner {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Make the product-details background slightly transparent */
.aj-dessert-catalog .caf-builder-post-area {
    background: transparent !important;
}

.aj-dessert-catalog
.caf-builder-post-area
.caf-column-1 {
    background-color: rgba(255, 253, 249, 0.88) !important;
}

/* Remove backgrounds from individual text modules */
.aj-dessert-catalog .caf-module-type-title,
.aj-dessert-catalog .caf-module-type-title *,
.aj-dessert-catalog .caf-module-type-excerpt,
.aj-dessert-catalog .caf-module-type-excerpt *,
.aj-dessert-catalog .caf-module-type-product_price,
.aj-dessert-catalog .caf-module-type-product_price * {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* =========================================================
  GRID ONLY MODE
   ========================================================= */

/* Hide CAF controls on grid-only instances */
.aj-dessert-catalog.aj-grid-only
.caf-builder-filter-layout-container,
.aj-dessert-catalog.aj-grid-only
.caf-builder-filter-layout-container-inner,
.aj-dessert-catalog.aj-grid-only
.caf-builder-filter {
    display: none !important;
}

/* Remove space formerly reserved for the filters */
.aj-dessert-catalog.aj-grid-only
.caf-builder-layout-container,
.aj-dessert-catalog.aj-grid-only
.caf-builder-layout-container-inner {
    gap: 0 !important;
}

/* Ensure product grid remains full width */
.aj-dessert-catalog.aj-grid-only
.caf-builder-post-layout-container,
.aj-dessert-catalog.aj-grid-only
.caf-builder-post-layout-container-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}


/* Limit the homepage grid to three cards */
body .aj-grid-only
article.caf-builder-post-area:nth-of-type(n + 4) {
    display: none !important;
}

/* Keep both portrait captions comfortably below the oval frame. */
.elementor .ex80bds0 .h9fpq3va,
.elementor .ajs-portrait-caption {
    margin: 24px 0 0 !important;
    text-align: center;
}

.elementor .ajs-portrait-caption {
    width: 100%;
    font-family: "Pinyon Script", "Great Vibes", cursive;
    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.4;
    color: #b77a3b;
}

.elementor .elementor-element.elementor-element-c1156e9 {
    row-gap: 0;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    padding: 0 !important;
    --border-radius: 0;
}

/* The decorative outline belongs to the photo, not its caption container. */
.elementor .elementor-element-9378143 > .elementor-widget-container {
    outline: 1px solid rgba(201, 149, 83, 0.5);
    outline-offset: 4px;
}

/* Our Legacy uses the Home portrait's oval proportions and gold outline. */
.elementor .ex80bds0 .ks3uhzx8 {
    position: relative;
    width: 100%;
    max-width: 520px;
    aspect-ratio: 3 / 4 !important;
    margin-inline: auto;
    padding: 4px !important;
    padding-block: 4px !important;
    padding-inline: 4px !important;
    overflow: hidden;
    border: 1px solid #d9ae75 !important;
    border-radius: 50%;
    box-sizing: border-box;
    background: #fff8ec;
    box-shadow: none !important;
}

.elementor .ex80bds0 .ks3uhzx8 > img.y0kxsp0g {
    /* Anchor all four edges to the frame; percentage height alone can overflow it. */
    position: absolute !important;
    inset: 4px !important;
    display: block;
    width: calc(100% - 8px) !important;
    height: calc(100% - 8px) !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: 50% 30% !important;
    border: 0 !important;
    border-radius: 50% !important;
    transform: none !important;
}

/* Oval image frame */
.legacy-portrait.elementor-widget-softlite_image > .elementor-widget-container {
    width: 100%;
    max-width: 520px;
    aspect-ratio: 3 / 4;
    margin: 0 auto;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #d9ae75;
    border-radius: 50%;
    box-sizing: border-box;
}

/* Image fills the entire oval */
.legacy-portrait img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover;
    object-position: 50% 30%;
    border: 0 !important;
    border-radius: 0 !important;
    transform: scale(1.08);
}

/* =========================================================
   CAF FILTER — LOVABLE-STYLE OVERRIDES
   ========================================================= */

/* Remove CAF's white panel */
.aj-dessert-catalog .caf-builder-filter,
.aj-dessert-catalog .caf-builder-filter-layout-container,
.aj-dessert-catalog .caf-builder-filter-layout-container-inner,
.aj-dessert-catalog .caf-builder-column-main.caf-fl-column-0 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Filter headings */
.aj-dessert-catalog .caf-filter-label-common {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: #b77a3b !important;
    background: transparent !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
}

/* Filter button rows */
.aj-dessert-catalog ul.caf-terms-list {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Turn every term into an outlined button */
.aj-dessert-catalog
li.caf-terms-list-item {
    flex: 0 0 auto !important;
    min-height: 54px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e2bd8d !important;
    cursor: pointer;
}

/* Remove nested CAF backgrounds */
.aj-dessert-catalog
li.caf-terms-list-item
.manage-ci-lbl,
.aj-dessert-catalog
li.caf-terms-list-item
.manage-text-lbl {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 14px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Term typography */
.aj-dessert-catalog
li.caf-terms-list-item
.caf-term-label {
    color: #654c3f !important;
    background: transparent !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
}

/* Hover and selected states */
.aj-dessert-catalog
li.caf-terms-list-item:hover,
.aj-dessert-catalog
li.caf-terms-list-item.active,
.aj-dessert-catalog
li.caf-terms-list-item.selected,
.aj-dessert-catalog
li.caf-terms-list-item:has(input:checked) {
    border-color: #3b1708 !important;
    background: #3b1708 !important;
}

.aj-dessert-catalog
li.caf-terms-list-item:hover
.caf-term-label,
.aj-dessert-catalog
li.caf-terms-list-item.active
.caf-term-label,
.aj-dessert-catalog
li.caf-terms-list-item.selected
.caf-term-label,
.aj-dessert-catalog
li.caf-terms-list-item:has(input:checked)
.caf-term-label {
    color: #fff !important;
}

/* All Desserts reset button */
.aj-dessert-catalog [data-module-type="reset"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 190px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 14px 24px !important;
    border: 1px solid #3b1708 !important;
    border-radius: 0 !important;
    background: #3b1708 !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    cursor: pointer;
}

/* Remove extra space below filters */
.aj-dessert-catalog
.caf-builder-filter-layout-container {
    margin-bottom: 28px !important;
}

/* Mobile horizontal scrolling */
@media (max-width: 767px) {
    .aj-dessert-catalog ul.caf-terms-list {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 8px !important;
    }

    .aj-dessert-catalog li.caf-terms-list-item {
        flex: 0 0 auto !important;
    }
}

/* ========================================
   AJ'S LEGACY CAKES — CAF FILTER STYLING
======================================== */

/* Remove the large white filter panel */
.aj-dessert-catalog .caf-builder-column-main.caf-fl-column-0,
.aj-dessert-catalog .caf-builder-module-main.caf-module-filter,
.aj-dessert-catalog .caf-module-type-checkbox_filter,
.aj-dessert-catalog .caf-filter-container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Remove CAF's internal container padding */
.aj-dessert-catalog .caf-builder-column-main.caf-fl-column-0 {
    padding: 0 !important;
    margin: 0 0 36px !important;
}

/* FILTER and AVAILABILITY headings */
.aj-dessert-catalog .caf-filter-label-common,
.aj-dessert-catalog .label-header {
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #bd7c36 !important;
    background: transparent !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 1px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

/* Space between the two filter groups */
.aj-dessert-catalog .caf-module-type-checkbox_filter {
    margin: 0 0 30px !important;
    padding: 0 !important;
}

/* Button-row layout */
.aj-dessert-catalog ul.caf-terms-list.caf-checkbox {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

/* Individual filter button */
.aj-dessert-catalog li.caf-terms-list-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    background: transparent !important;
    border: 1px solid #dba15f !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease !important;
}

/* Remove backgrounds from CAF's nested label elements */
.aj-dessert-catalog li.caf-terms-list-item .manage-ci-lbl,
.aj-dessert-catalog li.caf-terms-list-item .manage-text-lbl,
.aj-dessert-catalog li.caf-terms-list-item .caf-term-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Filter-button text */
.aj-dessert-catalog li.caf-terms-list-item .caf-term-label {
    color: #62483d !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.14em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Hover and selected states */
.aj-dessert-catalog li.caf-terms-list-item:hover,
.aj-dessert-catalog li.caf-terms-list-item.active,
.aj-dessert-catalog li.caf-terms-list-item.selected,
.aj-dessert-catalog li.caf-terms-list-item:has(input:checked) {
    background-color: #431706 !important;
    border-color: #431706 !important;
}

/* Selected-button text */
.aj-dessert-catalog li.caf-terms-list-item:hover .caf-term-label,
.aj-dessert-catalog li.caf-terms-list-item.active .caf-term-label,
.aj-dessert-catalog li.caf-terms-list-item.selected .caf-term-label,
.aj-dessert-catalog li.caf-terms-list-item:has(input:checked) .caf-term-label {
    color: #fffaf1 !important;
}

/* ALL DESSERTS reset button */
.aj-dessert-catalog [data-module-type="reset"],
.aj-dessert-catalog .caf-reset-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 290px !important;
    min-height: 84px !important;
    margin: -12px 0 0 !important;
    padding: 18px 36px !important;
    color: #fffaf1 !important;
    background-color: #431706 !important;
    border: 1px solid #431706 !important;
    border-radius: 0 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

/* Reset-button nested elements */
.aj-dessert-catalog [data-module-type="reset"] *,
.aj-dessert-catalog .caf-reset-button * {
    color: inherit !important;
    background: transparent !important;
}

/* Mobile layout */
@media (max-width: 767px) {
    .aj-dessert-catalog ul.caf-terms-list.caf-checkbox {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .aj-dessert-catalog li.caf-terms-list-item {
        width: 100% !important;
        min-width: 0 !important;
    }

    .aj-dessert-catalog li.caf-terms-list-item .caf-term-label {
        font-size: 10px !important;
        letter-spacing: 0.06em !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .aj-dessert-catalog [data-module-type="reset"],
    .aj-dessert-catalog .caf-reset-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 64px !important;
    }
}

/* ========================================
   CAF FILTER WRAPPER CORRECTIONS
======================================== */

/* Remove white background from every row containing a filter */
.aj-dessert-catalog .caf-builder-row-main:has(.caf-module-filter),
.aj-dessert-catalog .caf-builder-row-main:has(.caf-module-type-checkbox_filter),
.aj-dessert-catalog .caf-builder-column-main:has(.caf-module-filter),
.aj-dessert-catalog .caf-builder-column-main:has(.caf-module-type-checkbox_filter) {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Remove white backgrounds from internal filter layers */
.aj-dessert-catalog .caf-module-filter,
.aj-dessert-catalog .caf-module-filter > div,
.aj-dessert-catalog .caf-module-type-checkbox_filter,
.aj-dessert-catalog .caf-module-type-checkbox_filter > div {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Prevent the filter area from stretching vertically */
.aj-dessert-catalog .caf-builder-column-main.caf-fl-column-0 {
    height: auto !important;
    min-height: 0 !important;
    align-self: flex-start !important;
}

/* Compact Shop filters, including after CAF refreshes the results. */
.elementor .elementor-element.elementor-element-2bf07bf {
    display: none !important;
}

.elementor .elementor-element.elementor-element-61c5087 {
    display: none !important;
}

.aj-dessert-catalog .caf-module-type-checkbox_filter {
    margin: 0 0 12px !important;
}

.aj-dessert-catalog .caf-module-type-checkbox_filter + .caf-module-type-checkbox_filter {
    margin-top: 0 !important;
}

/* Use each filter group's own heading directly above its buttons. */
.aj-dessert-catalog .caf-filter-label-common {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.aj-dessert-catalog ul.caf-terms-list.caf-checkbox {
    gap: 8px !important;
}

.aj-dessert-catalog li.caf-terms-list-item {
    min-height: 44px !important;
    padding: 8px 12px !important;
}

@media (max-width: 767px) {
    .aj-dessert-catalog li.caf-terms-list-item {
        min-height: 38px !important;
        padding: 4px 12px !important;
    }

    /* Inner wrappers must not retain the desktop 52px minimum height. */
    .aj-dessert-catalog li.caf-terms-list-item .manage-ic-lbl,
    .aj-dessert-catalog li.caf-terms-list-item .manage-ci-lbl,
    .aj-dessert-catalog li.caf-terms-list-item .manage-text-lbl,
    .aj-dessert-catalog li.caf-terms-list-item .caf-term-label {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

.aj-dessert-catalog .caf-builder-filter-layout-container {
    margin-bottom: 16px !important;
}

/* Linear Gradient Divider for AJ's Legacy Cakes */
.elementor-widget-divider .elementor-divider-separator {
    display: inline-block !important; /* Forces width adjustments to behave accurately */
    height: 1px !important;            /* Defines the visual thickness of the line */
    width: 96px !important;            /* Dictates the explicit horizontal span */

    /* Remove Elementor's native border styling completely */
    border: none !important;
    border-top-width: 0 !important;

    /* Apply the smooth alpha-blended OKLCH gradient */
    background-image: linear-gradient(
        to right,
        oklch(0.706 0.104 71.6 / 0),
        oklch(0.706 0.104 71.6) 20%,
        oklch(0.706 0.104 71.6) 80%,
        oklch(0.706 0.104 71.6 / 0)
    ) !important;
}

/* ========================================
   SHOPPING BAG — EMPTY STATE
======================================== */

.ajs-empty-bag {
    width: min(100%, 1160px);
    margin: 0 auto;
    padding: 52px 30px;
    background: rgba(255, 253, 249, 0.82);
    text-align: center;
}

.ajs-empty-bag__title {
    margin: 0 0 14px;
    color: #3b1708;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}

.ajs-empty-bag__message {
    margin: 0 0 32px !important;
    color: #654c3f;
    font-family: "Lora", Georgia, serif;
    font-size: 16px;
    line-height: 1.6;
}

.ajs-empty-bag__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 275px;
    min-height: 54px;
    padding: 14px 30px;
    margin-top: 0 !important;

    color: #fffaf1 !important;
    background-color: #431706;
    border: 1px solid #431706;

    font-family: "Lora", Georgia, serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.ajs-empty-bag__button:hover {
    color: #431706 !important;
    background-color: transparent;
}

/* ========================================
   DYNAMIC SHOPPING BAG STATES
======================================== */

/* Hide the empty message while cart products exist */
.ajs-shopping-bag:has(.cart_item) .ajs-empty-bag {
    display: none !important;
}

/* Show the empty message when there are no cart products */
.ajs-shopping-bag:not(:has(.cart_item)) .ajs-empty-bag {
    display: block !important;
}

/* Show the WooCommerce cart while products exist */
.ajs-shopping-bag:has(.cart_item) .ajs-bag-cart {
    display: block !important;
}

/* Hide the remaining WooCommerce wrapper after the last removal */
.ajs-shopping-bag:not(:has(.cart_item)) .ajs-bag-cart {
    display: none !important;
}

/* Hide WooCommerce's native empty-cart elements */
.ajs-shopping-bag .woocommerce-info.cart-empty,
.ajs-shopping-bag .wc-empty-cart-message,
.ajs-shopping-bag .return-to-shop {
    display: none !important;
}


/* ========================================
   SINGLE PRODUCT — MAIN LAYOUT
======================================== */

body.single-product {
    background-color: #fcf7ec;
    color: #654c3f;
}

/* Control the complete product-page width */
body.single-product main.site-main {
    width: min(100% - 40px, 1280px);
    margin: 0 auto;
    padding: 48px 0 100px;
}

/* Main image and product-information columns */
body.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 64px;
    align-items: start;
}

/* Breadcrumb spans the complete width */
body.single-product .woocommerce-breadcrumb {
    grid-column: 1 / -1;
    margin: 0 0 26px;
    color: #7a6255;
    font-family: "Lora", Georgia, serif;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.single-product .woocommerce-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

/* Product image column */
body.single-product div.product div.images {
    float: none;
    width: 100%;
    margin: 0;
}

/* Product information column */
body.single-product div.product div.summary {
    float: none;
    width: 100%;
    margin: 0;
}

/* Description and related products span both columns */
body.single-product .woocommerce-tabs,
body.single-product .related.products {
    grid-column: 1 / -1;
    width: 100%;
}

/* ========================================
   RESPONSIVE MAIN LAYOUT
======================================== */

@media (max-width: 900px) {
    body.single-product div.product {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    body.single-product div.product div.images,
    body.single-product div.product div.summary {
        grid-column: 1;
    }
}

@media (max-width: 600px) {
    body.single-product main.site-main {
        width: min(100% - 28px, 1280px);
        padding-top: 30px;
    }
}

/* ========================================
   SINGLE PRODUCT — IMAGE GALLERY
======================================== */

/* Gallery wrapper */
body.single-product
.woocommerce-product-gallery {
    width: 100% !important;
    margin: 0 !important;
}

/* Main image container */
body.single-product
.woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

/* Main product image */
body.single-product
.woocommerce-product-gallery__image {
    overflow: hidden !important;
    background: transparent !important;
}

body.single-product
.woocommerce-product-gallery__image
a {
    display: block !important;
    width: 100% !important;
}

body.single-product
.woocommerce-product-gallery__image
img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Move zoom button to bottom-right */
/* Use the gallery width to position the zoom button */
body.single-product .woocommerce-product-gallery {
    position: relative !important;
    container-type: inline-size;
}

/* Position zoom button over bottom-right of main square image */
body.single-product
.woocommerce-product-gallery__trigger {
    top: calc(100cqw - 60px) !important;
    right: 16px !important;
    bottom: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 44px !important;

    background: rgba(255, 253, 249, 0.94) !important;
    border: 1px solid #e3cba9 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    z-index: 5 !important;
}

/* Thumbnail row */
body.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Individual thumbnail */
body.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Thumbnail images */
body.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li
img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;

    object-fit: cover !important;
    object-position: center !important;

    border: 1px solid transparent !important;
    border-radius: 0 !important;
    opacity: 0.75 !important;
    cursor: pointer !important;

    transition:
        opacity 0.2s ease,
        border-color 0.2s ease !important;
}

/* Active and hovered thumbnail */
body.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li
img.flex-active,
body.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li
img:hover {
    border-color: #c89452 !important;
    opacity: 1 !important;
}


/* ========================================
   SINGLE PRODUCT — HEADING AND SUMMARY
======================================== */

/* ========================================
   PRODUCT TITLE
======================================== */

body.single-product
.summary
.product_title.entry-title {
    margin: 0 0 10px !important;
    color: #3b1708 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(40px, 3.4vw, 52px) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
}

/* ========================================
   SHORT DESCRIPTION
======================================== */

body.single-product
.summary
.woocommerce-product-details__short-description {
    margin: 0 0 26px !important;
    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

/* Description paragraphs */
body.single-product
.summary
.woocommerce-product-details__short-description p {
    margin: 0 0 18px !important;
}

/* Remove margin from final paragraph */
body.single-product
.summary
.woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0 !important;
}

/* Gold flavor subtitle */
body.single-product
.summary
.woocommerce-product-details__short-description
.product-flavor {
    margin: 0 0 20px !important;
    color: #b97836 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

/* Introductory description */
body.single-product
.summary
.woocommerce-product-details__short-description
.product-summary {
    max-width: 620px;
    color: #654c3f !important;
}

/* ========================================
   PRODUCT PRICE
======================================== */

body.single-product
.summary
p.price {
    margin: 0 0 26px !important;
    color: #3b1708 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

body.single-product
.summary
p.price .amount {
    color: #3b1708 !important;
}

/* Remove inherited flex spacing */
body.single-product div.product div.summary {
    gap: 0 !important;
}

/* ========================================
   SINGLE PRODUCT — CONTENT ORDER
======================================== */

body.single-product div.product div.summary {
    display: flex !important;
    flex-direction: column !important;
}

/* Product title */
body.single-product .summary > .product_title {
    order: 1;
}

/* Product rating, if enabled */
body.single-product .summary > .woocommerce-product-rating {
    order: 2;
}

/* Flavor and introductory description */
body.single-product
.summary
> .woocommerce-product-details__short-description {
    order: 3;
}

/* Product price */
body.single-product .summary > p.price {
    order: 4;
}

/* Add-to-cart form */
body.single-product .summary > form.cart {
    order: 5;
}

/* Product metadata */
body.single-product .summary > .product_meta {
    order: 6;
}

/* ========================================
   SINGLE PRODUCT — VARIATION FORM
======================================== */

body.single-product
.summary
form.variations_form {
    order: 5;
    width: 100%;
    margin: 28px 0 0 !important;
}

/* Remove WooCommerce table appearance */
body.single-product
.summary
table.variations {
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.single-product
.summary
table.variations tbody,
body.single-product
.summary
table.variations tr,
body.single-product
.summary
table.variations th,
body.single-product
.summary
table.variations td {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

/* Size label */
body.single-product
.summary
table.variations
th.label {
    margin-bottom: 10px !important;
    text-align: left !important;
}

body.single-product
.summary
table.variations
th.label
label {
    color: #b97836 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

/* Temporary Size dropdown styling */
body.single-product
.summary
table.variations
select {
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 10px 46px 10px 16px !important;

    color: #654c3f !important;
    background-color: rgba(255, 253, 249, 0.7) !important;
    border: 1px solid #dfbf93 !important;
    border-radius: 0 !important;

    font-family: "Lora", Georgia, serif !important;
    font-size: 15px !important;
}

/* Reset-selection link */
body.single-product
.summary
.reset_variations {
    display: inline-block;
    margin-top: 8px;
    color: #a46b37 !important;
    font-family: "Lora", Georgia, serif;
    font-size: 12px;
}


/* ========================================
   FULFILLMENT DATE FIELD
======================================== */

/* Purchase controls layout */
body.single-product
.summary
.woocommerce-variation-add-to-cart {
    grid-template-columns: 140px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    align-items: end !important;
    margin-top: 32px !important;
}

/* Full-width fulfillment field */
body.single-product
.summary
.ajs-fulfillment-field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 48px !important;
}

/* Fulfillment label */
body.single-product
.summary
.ajs-fulfillment-field label {
    display: block !important;
    margin: 0 0 10px !important;

    color: #b97836 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

/* Required asterisk */
body.single-product
.summary
.ajs-fulfillment-field .required {
    color: #b97836 !important;
}

/* Fulfillment dropdown */
body.single-product
.summary
.ajs-fulfillment-field select {
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 46px 0 16px !important;

    border: 1px solid #ddb77f !important;
    border-radius: 0 !important;
    background-color: #fffdf8 !important;
    color: #654c3f !important;

    font-family: "Lora", Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;

    box-shadow: none !important;
    cursor: pointer;
}

/* Dropdown focus state */
body.single-product
.summary
.ajs-fulfillment-field select:focus {
    border-color: #b97836 !important;
    outline: 1px solid #b97836 !important;
    outline-offset: 1px;
}

/* Supporting note */
body.single-product
.summary
.ajs-fulfillment-field__note {
    margin: 7px 0 0 !important;

    color: #806b60 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

/* Keep quantity in the left column */
body.single-product
.summary
.woocommerce-variation-add-to-cart
.quantity {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Keep Add to Bag in the right column */
body.single-product
.summary
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    grid-column: 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Quantity field */
body.single-product
.summary
.woocommerce-variation-add-to-cart
.quantity
.qty {
    width: 100% !important;
    height: 56px !important;
    margin: 0 !important;
}

/* Add to Bag button height */
body.single-product
.summary
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    min-height: 56px !important;
}

@media (max-width: 767px) {
    body.single-product
    .summary
    .woocommerce-variation-add-to-cart {
        grid-template-columns: 100px minmax(0, 1fr) !important;
    }

    body.single-product
    .summary
    .ajs-fulfillment-field {
        margin-bottom: 44px !important;
    }
}


/* ========================================
   SPECIAL INSTRUCTIONS FIELD
======================================== */

/*
 * The fulfillment field no longer needs to create
 * the space above the quantity row.
 */
body.single-product
.summary
.ajs-fulfillment-field {
    margin-bottom: 24px !important;
}

/* Full-width special-instructions field */
body.single-product
.summary
.ajs-special-instructions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 48px !important;
}

/* Field label */
body.single-product
.summary
.ajs-special-instructions label {
    display: block !important;
    margin: 0 0 10px !important;

    color: #b97836 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

/* Optional text */
body.single-product
.summary
.ajs-special-instructions
.ajs-optional-label {
    color: #b97836 !important;
}

/* Textarea */
body.single-product
.summary
.ajs-special-instructions textarea {
    display: block !important;
    width: 100% !important;
    min-height: 110px !important;
    margin: 0 !important;
    padding: 14px 16px !important;

    resize: vertical;

    border: 1px solid #ddb77f !important;
    border-radius: 0 !important;
    background-color: #fffdf8 !important;
    color: #654c3f !important;

    font-family: "Lora", Georgia, serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;

    box-shadow: none !important;
}

/* Placeholder */
body.single-product
.summary
.ajs-special-instructions textarea::placeholder {
    color: #a39389 !important;
    opacity: 1;
}

/* Focus state */
body.single-product
.summary
.ajs-special-instructions textarea:focus {
    border-color: #b97836 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #b97836 !important;
}


/* ========================================
   STYLE THE QUANTITY AND ADD TO BAG AREA
======================================== */
/* Quantity and button row */
body.single-product
.summary
.woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    margin-top: 22px !important;
}

/* Quantity */
body.single-product
.summary
form.cart
.quantity {
    float: none !important;
}

body.single-product
.summary
form.cart
.quantity
.qty {
    padding: 10px !important;

    color: #3b1708 !important;
    background: rgba(255, 253, 249, 0.7) !important;
    border: 1px solid #dfbf93 !important;
    border-radius: 0 !important;

    font-family: "Lora", Georgia, serif !important;
    font-size: 15px !important;
    text-align: center !important;
}

/* Add to Bag */
body.single-product
.summary
.single_add_to_cart_button {
    float: none !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 24px !important;

    color: #fffaf1 !important;
    background-color: #431706 !important;
    border: 1px solid #431706 !important;
    border-radius: 0 !important;

    font-family: "Lora", Georgia, serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

body.single-product
.summary
.single_add_to_cart_button:hover {
    color: #431706 !important;
    background-color: transparent !important;
}

/* ========================================
   HIDE THE UNWANTED PRODUCT METADATA
======================================== */
body.single-product .summary .product_meta {
    display: none !important;
}

/* ========================================
   PRODUCT SUMMARY — FINAL SPACING
======================================== */

/* Space below introductory description */
body.single-product
.summary
.woocommerce-product-details__short-description {
    margin: 0 0 24px !important;
}

/* Space below main price */
body.single-product
.summary
> p.price {
    margin: 0 0 28px !important;
}

/* Remove extra space above the variation form */
body.single-product
.summary
form.variations_form {
    margin: 0 !important;
}

/* Tighten Size field spacing */
body.single-product
.summary
table.variations {
    margin: 0 0 22px !important;
}

/* Remove WooCommerce's empty variation spacing */
body.single-product
.summary
.single_variation {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Tighten the quantity/button area */
body.single-product
.summary
.single_variation_wrap {
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product
.summary
.woocommerce-variation-add-to-cart {
    margin-top: 20px !important;
}


/* ========================================
   PRODUCT PAGE SIZE VARIATION BUTTONS
======================================== */

/* Hide the dropdown only after JavaScript creates the buttons */
body.single-product
select.ajs-select-enhanced {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

/* Size-button row */
body.single-product
.ajs-size-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

/* Individual Size button */
body.single-product
.ajs-size-option {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;
    padding: 10px 12px;

    color: #654c3f;
    background: transparent;
    border: 1px solid #dfbf93;
    border-radius: 0;

    font-family: "Lora", Georgia, serif;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;

    cursor: pointer;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

/* Hover */
body.single-product
.ajs-size-option:hover {
    color: #3b1708;
    background-color: rgba(223, 191, 147, 0.14);
}

/* Selected variation */
body.single-product
.ajs-size-option.is-selected {
    color: #fffaf1;
    background-color: #431706;
    border-color: #431706;
}

/* Unavailable variation */
body.single-product
.ajs-size-option.is-disabled,
body.single-product
.ajs-size-option:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

/* Hide the native Clear link until a selection is made */
body.single-product
.variations_form
.reset_variations {
    margin-top: 10px !important;
}

/* Tablet and mobile */
@media (max-width: 1100px) {
    body.single-product
    .ajs-size-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.single-product
    .ajs-size-options {
        grid-template-columns: 1fr;
    }
}

/* Hide WooCommerce's secondary variation price */
body.single-product
.summary
.single_variation
.woocommerce-variation-price {
    display: none !important;
}

/* Hide the native Clear variations link */
body.single-product
.summary
.reset_variations {
    display: none !important;
}

/* ========================================
   QUANTITY FIELD AND LABEL
======================================== */

/* Create enough space above the quantity row for its label */
body.single-product
.summary
.woocommerce-variation-add-to-cart {
    margin-top: 52px !important;
    align-items: stretch !important;
}

/* Quantity field wrapper */
body.single-product
.summary
form.cart
.quantity {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Quantity label */
body.single-product
.summary
form.cart
.quantity::before {
    content: "QUANTITY";

    position: absolute;
    top: -30px;
    left: 0;

    display: block;
    margin: 0;

    color: #b97836;
    font-family: "Lora", Georgia, serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Quantity selector */
body.single-product
.summary
form.cart
.quantity
.qty {
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    margin: 0 !important;
}

/* ========================================
   PRODUCT AVAILABILITY NOTICE
======================================== */

body.single-product
.summary
.ajs-availability-notice {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 16px 18px !important;

    border: 1px solid #e2c79f !important;
    border-radius: 0 !important;
    background-color: rgba(255, 253, 248, 0.55) !important;
}

body.single-product
.summary
.ajs-availability-notice p {
    margin: 0 !important;

    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* ========================================
   PRODUCT INFORMATION SECTIONS
======================================== */

/* Place information after the purchase form */
body.single-product
.summary
.ajs-product-information {
    order: 6 !important;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 28px 0 0 !important;
    border-top: 1px solid #e2c79f !important;
}

/* Keep product metadata after the information */
body.single-product
.summary
.product_meta {
    order: 7 !important;
}

/* Individual information section */
body.single-product
.summary
.ajs-product-information__section {
    margin: 0 0 22px !important;
    padding: 0 !important;
}

body.single-product
.summary
.ajs-product-information__section:last-child {
    margin-bottom: 0 !important;
}

/* Section headings */
body.single-product
.summary
.ajs-product-information__section h3 {
    margin: 0 0 5px !important;

    color: #b97836 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

/* Section content */
body.single-product
.summary
.ajs-product-information__content {
    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body.single-product
.summary
.ajs-product-information__content p {
    margin: 0 !important;
}


/* ========================================
   SINGLE PRODUCT — TABLET
======================================== */

@media (max-width: 1024px) {

    body.single-product main.site-main {
        width: 100% !important;
        padding-right: 32px !important;
        padding-left: 32px !important;
    }

    body.single-product div.product {
        column-gap: 40px !important;
    }

    body.single-product
    .summary
    .product_title.entry-title {
        font-size: clamp(38px, 5vw, 48px) !important;
    }

    body.single-product
    .ajs-size-options {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    body.single-product
    .ajs-size-option {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* ========================================
   SINGLE PRODUCT — MOBILE
======================================== */

@media (max-width: 767px) {

    body.single-product {
        overflow-x: hidden;
    }

    body.single-product main.site-main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 32px 20px 60px !important;
    }

    /* Switch the product to one column */
    body.single-product div.product {
        display: block !important;
        width: 100% !important;
    }

    /* Breadcrumb */
    body.single-product
    .woocommerce-breadcrumb {
        margin-bottom: 24px !important;
        font-size: 11px !important;
        line-height: 1.6 !important;
    }

    /* Gallery */
    body.single-product
    div.product
    div.images,
    body.single-product
    div.product
    div.summary {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.single-product
    div.product
    div.images {
        margin: 0 0 36px !important;
    }

    body.single-product
    .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
    }

    /* Summary column */
    body.single-product
    div.product
    div.summary {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Product title */
    body.single-product
    .summary
    .product_title.entry-title {
        font-size: clamp(38px, 11vw, 48px) !important;
        line-height: 1.04 !important;
    }

    /* Introductory description */
    body.single-product
    .summary
    .woocommerce-product-details__short-description {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    /* Main price */
    body.single-product
    .summary
    p.price {
        font-size: 28px !important;
        margin-bottom: 28px !important;
    }

    /* Two-column size grid */
    body.single-product
    .ajs-size-options {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    body.single-product
    .ajs-size-option {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 12px 8px !important;
        white-space: normal !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    /* Purchase controls */
    body.single-product
    .summary
    .woocommerce-variation-add-to-cart {
        grid-template-columns: 105px minmax(0, 1fr) !important;
        column-gap: 12px !important;
        width: 100% !important;
    }

    /* Full-width custom fields */
    body.single-product
    .summary
    .ajs-fulfillment-field,
    body.single-product
    .summary
    .ajs-special-instructions,
    body.single-product
    .summary
    .ajs-availability-notice {
        grid-column: 1 / -1 !important;
        max-width: 100% !important;
    }

    body.single-product
    .summary
    .ajs-fulfillment-field select {
        font-size: 14px !important;
    }

    body.single-product
    .summary
    .ajs-special-instructions textarea {
        min-height: 120px !important;
        font-size: 14px !important;
    }

    /* Quantity and button row */
    body.single-product
    .summary
    form.cart
    .quantity {
        grid-column: 1 !important;
        min-width: 0 !important;
    }

    body.single-product
    .summary
    form.cart
    .single_add_to_cart_button {
        grid-column: 2 !important;
        min-width: 0 !important;
        padding: 12px 10px !important;
        font-size: 12px !important;
        letter-spacing: 0.16em !important;
        white-space: nowrap !important;
    }

    /* Information sections */
    body.single-product
    .summary
    .ajs-product-information {
        margin-top: 26px !important;
        padding-top: 26px !important;
    }

    body.single-product
    .summary
    .ajs-product-information__section {
        margin-bottom: 24px !important;
    }

    body.single-product
    .summary
    .ajs-product-information__content {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
}


/* ========================================
   SINGLE PRODUCT — SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    body.single-product main.site-main {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    /* Use one size button per row on narrow screens */
    body.single-product
    .ajs-size-options {
        grid-template-columns: 1fr !important;
    }

    body.single-product
    .ajs-size-option {
        min-height: 56px !important;
    }

    body.single-product
    .summary
    .woocommerce-variation-add-to-cart {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        column-gap: 10px !important;
    }

    body.single-product
    .summary
    form.cart
    .single_add_to_cart_button {
        letter-spacing: 0.12em !important;
    }
}


/* ========================================
   CUSTOMER REVIEWS
======================================== */

body.single-product
.ajs-customer-reviews {
    clear: both;
    width: 100%;
    margin: 80px 0 70px;
}

body.single-product
.ajs-section-heading {
    margin-bottom: 28px;
}

body.single-product
.ajs-section-heading h2 {
    margin: 0 0 14px;

    color: #3b1708;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.15;
}

body.single-product
.ajs-heading-decoration {
    display: flex;
    align-items: center;
    width: 220px;
    gap: 12px;
}

body.single-product
.ajs-heading-decoration span:not(.ajs-heading-heart) {
    display: block;
    flex: 1;
    height: 1px;
    background: #ddb77f;
}

body.single-product
.ajs-heading-decoration
.ajs-heading-heart {
    color: #d09a51;
    font-size: 11px;
    line-height: 1;
}

/* Hide WooCommerce's duplicate internal review heading */
body.single-product
.ajs-customer-reviews
.woocommerce-Reviews-title {
    display: none !important;
}

/* Review list */
body.single-product
.ajs-customer-reviews
ol.commentlist {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;

    margin: 0 0 40px !important;
    padding: 0 !important;
    list-style: none !important;
}

body.single-product
.ajs-customer-reviews
ol.commentlist
li.review {
    width: 100% !important;
    margin: 0 !important;
}

/* Review card */
body.single-product
.ajs-customer-reviews
ol.commentlist
li.review
.comment_container {
    height: 100%;
    padding: 24px !important;

    border: 1px solid #e2c79f;
    background: rgba(255, 253, 248, 0.6);
}

/* Hide customer avatar to match Lovable */
body.single-product
.ajs-customer-reviews
ol.commentlist
li.review
img.avatar {
    display: none !important;
}

body.single-product
.ajs-customer-reviews
.comment-text {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Stars */
body.single-product
.ajs-customer-reviews
.star-rating {
    margin: 0 0 14px !important;
    color: #d09a51 !important;
}

/* Review text */
body.single-product
.ajs-customer-reviews
.description {
    color: #654c3f;
    font-family: "Lora", Georgia, serif;
    font-size: 14px;
    line-height: 1.6;
}

body.single-product
.ajs-customer-reviews
.description p {
    margin: 0 0 16px !important;
}

/* Reviewer name */
body.single-product
.ajs-customer-reviews
.meta {
    margin: 0 !important;

    color: #3b1708 !important;
    font-family: "Lora", Georgia, serif;
    font-size: 13px !important;
}

/* Review form */
body.single-product
.ajs-customer-reviews
#review_form_wrapper {
    max-width: 760px;
    margin-top: 36px;
}


/* ========================================
   RELATED PRODUCTS
======================================== */

body.single-product
section.related.products {
    clear: both;
    width: 100%;
    margin: 0 0 90px !important;
}

body.single-product
section.related.products
> h2 {
    margin: 0 0 28px !important;

    color: #3b1708 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
}

body.single-product
section.related.products
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.single-product
section.related.products
ul.products
li.product {
    float: none !important;
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 22px !important;

    border: 1px solid #ead8bc;
    background: rgba(255, 253, 248, 0.65);
}

/* Related-product image */
body.single-product
section.related.products
li.product
img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 20px !important;
    object-fit: cover !important;
}

/* Related-product title */
body.single-product
section.related.products
li.product
.woocommerce-loop-product__title {
    margin: 0 !important;
    padding: 0 20px 8px !important;

    color: #3b1708 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

/* Related-product price */
body.single-product
section.related.products
li.product
.price {
    margin: 0 0 18px !important;

    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 15px !important;
}

/* Choose-options button */
body.single-product
section.related.products
li.product
.button {
    width: calc(100% - 40px) !important;
    min-height: 48px !important;
    margin: auto 20px 0 !important;
    padding: 14px 16px !important;

    border: 1px solid #3b1708 !important;
    border-radius: 0 !important;
    background: #3b1708 !important;
    color: #fffaf2 !important;

    font-family: "Lora", Georgia, serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body.single-product
section.related.products
li.product
.button:hover {
    background: #b97836 !important;
    border-color: #b97836 !important;
}


/* ========================================
   REVIEWS AND RELATED — RESPONSIVE
======================================== */

@media (max-width: 1024px) {
    body.single-product
    .ajs-customer-reviews
    ol.commentlist,
    body.single-product
    section.related.products
    ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.single-product
    .ajs-customer-reviews {
        margin: 60px 0 50px;
    }

    body.single-product
    .ajs-customer-reviews
    ol.commentlist,
    body.single-product
    section.related.products
    ul.products {
        grid-template-columns: 1fr !important;
    }

    body.single-product
    .ajs-section-heading h2,
    body.single-product
    section.related.products
    > h2 {
        font-size: 28px !important;
    }
}

/* ========================================
   CUSTOMER REVIEWS — WOOCOMMERCE OVERRIDES
======================================== */

/* Reset WooCommerce review containers */
body.single-product
.ajs-customer-reviews
#reviews,
body.single-product
.ajs-customer-reviews
#reviews
#comments {
    float: none !important;
    clear: both !important;
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Review grid */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist {
    float: none !important;
    clear: both !important;
    gap: 20px !important;
    margin: 0 0 36px !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Individual review */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist
li {
    float: none !important;
    clear: none !important;
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Review card container */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist
li
.comment_container {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 180px !important;
    margin: 0 !important;
    padding: 24px !important;

    border: 1px solid #e2c79f !important;
    border-radius: 0 !important;
    background: rgba(255, 253, 248, 0.65) !important;

    box-sizing: border-box !important;
}

/* Remove WooCommerce avatar */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist
li
img.avatar {
    display: none !important;
    float: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}

/* Remove the space WooCommerce reserves for the avatar */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist
li
.comment-text {
    float: none !important;
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: none !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

/* Star rating */
body.single-product
.ajs-customer-reviews
#reviews
#comments
.star-rating {
    float: none !important;
    display: block !important;

    margin: 0 0 14px !important;
    color: #d09a51 !important;
}

/* Review copy */
body.single-product
.ajs-customer-reviews
#reviews
#comments
.description {
    width: 100% !important;
    margin: 0 !important;

    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

body.single-product
.ajs-customer-reviews
#reviews
#comments
.description p {
    margin: 0 0 18px !important;
}

/* Reviewer and date */
body.single-product
.ajs-customer-reviews
#reviews
#comments
.meta {
    order: 3;
    width: 100% !important;
    margin: auto 0 0 !important;

    color: #3b1708 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* Remove WooCommerce's duplicate review title */
body.single-product
.ajs-customer-reviews
#reviews
#comments
.woocommerce-Reviews-title {
    display: none !important;
}


/* Review grid responsive behavior */
@media (max-width: 1024px) {
    body.single-product
    .ajs-customer-reviews
    #reviews
    #comments
    ol.commentlist {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.single-product
    .ajs-customer-reviews
    #reviews
    #comments
    ol.commentlist {
        grid-template-columns: 1fr !important;
    }

    body.single-product
    .ajs-customer-reviews
    #reviews
    #comments
    ol.commentlist
    li
    .comment_container {
        min-height: 0 !important;
        padding: 20px !important;
    }
}

/* ========================================
   FULL-WIDTH SECTIONS BELOW PRODUCT
======================================== */

/*
 * The main product uses a two-column grid.
 * Reviews and related products must span both columns.
 */
body.single-product
div.product
> .ajs-customer-reviews,
body.single-product
div.product
> section.related.products {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Ensure all review wrappers inherit the full width */
body.single-product
.ajs-customer-reviews__content,
body.single-product
.ajs-customer-reviews
.woocommerce-Reviews {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Reinforce the desktop three-column grid */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: none !important;
}

/* Remove any inherited positioning from individual reviews */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist
> li {
    position: static !important;
    float: none !important;
    clear: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Remove WooCommerce clearfix elements from the review grid */
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist::before,
body.single-product
.ajs-customer-reviews
#reviews
#comments
ol.commentlist::after {
    content: none !important;
    display: none !important;
}

/* Remove WooCommerce clearfix elements from Related Products grid */
body.single-product
section.related.products
ul.products::before,
body.single-product
section.related.products
ul.products::after {
    content: none !important;
    display: none !important;
}

body.single-product
section.related.products
ul.products
> li.product {
    position: static !important;
    float: none !important;
    clear: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* ========================================
   RELATED PRODUCT CARD DETAILS
======================================== */

body.single-product
section.related.products
.ajs-related-product-details {
    padding: 0 20px !important;
}

/* Short-description wrapper */
body.single-product
section.related.products
.ajs-related-product-description {
    margin: 0 0 16px !important;
}

/* Flavor subtitle */
body.single-product
section.related.products
.ajs-related-product-description
.product-flavor {
    margin: 0 0 8px !important;

    color: #b97836 !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

/* Product summary */
body.single-product
section.related.products
.ajs-related-product-description
.product-summary {
    margin: 0 0 14px !important;

    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

/* Sizes and Contains rows */
body.single-product
section.related.products
.ajs-related-product-meta {
    margin: 0 0 5px !important;

    color: #654c3f !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

/* Metadata labels */
body.single-product
section.related.products
.ajs-related-product-meta
span {
    margin-right: 6px;

    color: #b97836 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

/* Reposition the price below the details */
body.single-product
section.related.products
li.product
.price {
    margin: 16px 0 18px !important;
    padding: 0 20px !important;
}

/* Keep card heights and buttons aligned */
body.single-product
section.related.products
li.product {
    display: flex !important;
    flex-direction: column !important;
}

body.single-product
section.related.products
li.product
.button {
    margin-top: auto !important;
}


/* =========================================================
   AJ'S SHOPPING BAG — POPULATED CART
   ========================================================= */

/* ---------- Two-column structure ---------- */

body.woocommerce-cart .ajs-bag-cart {
	width: 100%;
	max-width: 1024px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0px;
	padding-left: 0px;
	box-sizing: border-box;
}

body.woocommerce-cart .ajs-bag-cart > .woocommerce {
	display: grid !important;
	grid-template-columns: 564px minmax(0, 1fr) !important;
	align-items: start;
	gap: 20px;
	width: 100%;
}

body.woocommerce-cart .ajs-bag-cart > .woocommerce::before,
body.woocommerce-cart .ajs-bag-cart > .woocommerce::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart .ajs-bag-cart .woocommerce-cart-form {
	grid-column: 1;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-cart .ajs-bag-cart .cart-collaterals {
	grid-column: 2;
	clear: none !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-cart .ajs-bag-cart .cart_totals {
	clear: none !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-cart .ajs-bag-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .ajs-bag-cart .woocommerce-message,
body.woocommerce-cart .ajs-bag-cart .woocommerce-error,
body.woocommerce-cart .ajs-bag-cart .woocommerce-info {
	grid-column: 1 / -1;
}

/* ---------- Product list ---------- */

body.woocommerce-cart .ajs-bag-cart table.shop_table.cart {
	display: block;
	width: 100% !important;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}

body.woocommerce-cart .ajs-bag-cart table.shop_table.cart thead {
	display: none;
}

body.woocommerce-cart .ajs-bag-cart table.shop_table.cart tbody {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: 100% !important;
	box-sizing: border-box;
}

body.woocommerce-cart .ajs-bag-cart tr.cart_item {
	display: grid;
	grid-template-columns: 32px 130px minmax(0, 1fr) 100px;
	grid-template-areas:
		"remove thumbnail product subtotal"
		"remove thumbnail product quantity";
	align-items: center;
	column-gap: 18px;
	row-gap: 12px;
	width: 100% !important;
	padding: 20px;
	border: 1px solid rgba(201, 154, 74, 0.55);
	background: #fffaf2;
	box-sizing: border-box;
}

body.woocommerce-cart .ajs-bag-cart tr.cart_item td {
	display: block;
	width: auto !important;
	max-width: none !important;
	padding: 0;
	border: 0;
	background: transparent;
}

/* Hide redundant unit-price column */
body.woocommerce-cart .ajs-bag-cart .product-price {
	display: none !important;
}

/* ---------- Remove button ---------- */

body.woocommerce-cart .ajs-bag-cart .product-remove {
	grid-area: remove;
}

body.woocommerce-cart .ajs-bag-cart .product-remove a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(168, 115, 36, 0.55);
	border-radius: 50%;
	color: #a30b12 !important;
	font-size: 18px !important;
	line-height: 1;
}

body.woocommerce-cart .ajs-bag-cart .product-remove a.remove:hover,
body.woocommerce-cart .ajs-bag-cart .product-remove a.remove:focus {
	background: #a30b12 !important;
	border-color: #a30b12;
	color: #ffffff !important;
}

/* ---------- Product image ---------- */

body.woocommerce-cart .ajs-bag-cart .product-thumbnail {
	grid-area: thumbnail;
}

body.woocommerce-cart .ajs-bag-cart .product-thumbnail img {
	display: block;
	width: 130px !important;
	max-width: 130px !important;
	height: 130px !important;
	object-fit: cover;
}

/* ---------- Product information ---------- */

body.woocommerce-cart .ajs-bag-cart .product-name {
	grid-area: product;
	align-self: center;
	min-width: 0;
	width: auto !important;
	color: #5d4639;
	font-size: 16px !important;
	line-height: 1.45 !important;
}

body.woocommerce-cart .ajs-bag-cart .product-name > a {
	display: block;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 7px;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
}

body.woocommerce-cart .ajs-bag-cart .product-name > a:hover {
	color: #a87324;
}

body.woocommerce-cart .ajs-bag-cart .product-name dl.variation {
	margin: 6px 0 0;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

body.woocommerce-cart .ajs-bag-cart .product-name dl.variation dt,
body.woocommerce-cart .ajs-bag-cart .product-name dl.variation dd {
	display: block !important;
	float: none !important;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .ajs-bag-cart .product-name dl.variation dt {
	margin-bottom: 3px;
	font-weight: 600;
}

body.woocommerce-cart .ajs-bag-cart .product-name dl.variation dd {
	margin-bottom: 8px;
}

body.woocommerce-cart .ajs-bag-cart .product-name dl.variation dd p {
	margin: 0;
}

/* ---------- Subtotal and quantity ---------- */

body.woocommerce-cart .ajs-bag-cart .product-subtotal {
	grid-area: subtotal;
	align-self: end;
	justify-self: start;
	color: #3b1e10;
	font-size: 16px !important;
	font-weight: 600;
	white-space: nowrap;
}

body.woocommerce-cart .ajs-bag-cart .product-quantity {
	grid-area: quantity;
	align-self: start;
	justify-self: start;
}

body.woocommerce-cart .ajs-bag-cart .product-subtotal::before,
body.woocommerce-cart .ajs-bag-cart .product-quantity::before {
	display: block;
	margin-bottom: 5px;
	color: #a87324;
	font-size: 9px !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.woocommerce-cart .ajs-bag-cart .product-subtotal::before {
	content: "Subtotal";
}

body.woocommerce-cart .ajs-bag-cart .product-quantity::before {
	content: "Quantity";
}

body.woocommerce-cart .ajs-bag-cart .product-quantity input.qty {
	width: 68px;
	min-height: 44px;
	border: 1px solid rgba(201, 154, 74, 0.65);
	border-radius: 0;
	background: #fffcf7;
	color: #3b1e10;
	font-size: 15px !important;
	text-align: center;
}

/* ---------- Coupon and update controls ---------- */

body.woocommerce-cart .ajs-bag-cart td.actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 0 0 !important;
	border: 0;
	background: transparent;
}

body.woocommerce-cart .ajs-bag-cart td.actions .coupon {
	display: flex;
	gap: 10px;
}

body.woocommerce-cart .ajs-bag-cart td.actions .coupon input {
	width: 170px !important;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid rgba(201, 154, 74, 0.65);
	border-radius: 0;
	background: #fffcf7;
	font-size: 14px !important;
}

body.woocommerce-cart .ajs-bag-cart td.actions button {
	min-height: 46px;
	padding: 10px 16px !important;
	border: 1px solid #3b1e10 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #3b1e10 !important;
	font-size: 14px !important;
}

body.woocommerce-cart .ajs-bag-cart td.actions button:hover {
	background: #3b1e10 !important;
	color: #fff8ee !important;
}

/* ---------- Order Summary ---------- */

body.woocommerce-cart .ajs-bag-cart .cart_totals {
	padding: clamp(26px, 3vw, 38px);
	border: 1px solid #c99a4a;
	background: #fffaf2;
	box-sizing: border-box;
}

body.woocommerce-cart .ajs-bag-cart .cart_totals h2 {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 28px !important;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 34px !important;
	font-weight: 500;
	line-height: 1.1 !important;
	text-align: left;
	white-space: nowrap;
}

body.woocommerce-cart .ajs-bag-cart .cart_totals table {
	width: 100%;
	margin: 0 0 28px;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

body.woocommerce-cart .ajs-bag-cart .cart_totals th,
body.woocommerce-cart .ajs-bag-cart .cart_totals td {
	padding: 16px 0;
	border-width: 0 0 1px;
	border-style: solid;
	border-color: rgba(201, 154, 74, 0.35);
	background: transparent;
	color: #5d4639;
	font-size: 15px !important;
	line-height: 1.4 !important;
	vertical-align: top;
}

body.woocommerce-cart .ajs-bag-cart .cart_totals th {
	width: 42%;
	color: #3b1e10;
	font-weight: 600;
}

body.woocommerce-cart .ajs-bag-cart .order-total th,
body.woocommerce-cart .ajs-bag-cart .order-total td {
	padding-top: 20px;
	color: #3b1e10;
	font-size: 19px !important;
	font-weight: 700;
}

/* ---------- Checkout button ---------- */

body.woocommerce-cart .ajs-bag-cart .wc-proceed-to-checkout {
	padding: 0;
}

body.woocommerce-cart .ajs-bag-cart .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	margin: 0 !important;
	padding: 15px 22px !important;
	border: 1px solid #3b1e10 !important;
	border-radius: 0 !important;
	background: #3b1e10 !important;
	color: #fff8ee !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	line-height: 1.3 !important;
	text-align: center;
	text-transform: uppercase;
}

body.woocommerce-cart .ajs-bag-cart .checkout-button:hover,
body.woocommerce-cart .ajs-bag-cart .checkout-button:focus {
	background: #c99a4a !important;
	border-color: #c99a4a !important;
	color: #24120c !important;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
	body.woocommerce-cart .ajs-bag-cart > .woocommerce {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 40px;
	}

	body.woocommerce-cart .ajs-bag-cart .woocommerce-cart-form,
	body.woocommerce-cart .ajs-bag-cart .cart-collaterals {
		grid-column: 1;
	}
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
	/*
	 * Recover some of the space created by the surrounding
	 * Dynamic Card Box padding.
	 */
	body.woocommerce-cart .ajs-shopping-bag {
		width: calc(100% + 64px);
		margin-right: -32px;
		margin-left: -32px;
	}

	/* Reclaim 24px on each side while keeping the empty state centered. */
	body.woocommerce-cart .ajs-shopping-bag:not(:has(.cart_item)) {
		width: calc(100% + 48px);
		min-width: 0;
		margin-inline: -24px;
	}

	body.woocommerce-cart .ajs-empty-bag {
		width: 100%;
		max-width: 520px;
		margin-inline: auto;
		padding: 32px 16px;
		box-sizing: border-box;
		text-align: center;
	}

	body.woocommerce-cart .ajs-empty-bag__message {
		margin-bottom: 24px !important;
	}

	body.woocommerce-cart .ajs-empty-bag__button {
		width: 100%;
		max-width: 275px;
		min-width: 0;
		padding: 14px 10px;
		font-size: 12px;
		letter-spacing: 0.08em;
		box-sizing: border-box;
		white-space: normal;
		text-align: center;
	}

	body.woocommerce-cart .ajs-bag-cart > .woocommerce {
		gap: 32px;
	}

	/* Compact horizontal product card */
	body.woocommerce-cart .ajs-bag-cart tr.cart_item {
		position: relative;
		grid-template-columns: 80px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumbnail product product"
		  "thumbnail quantity remove";
		align-items: start;
		gap: 10px 16px;
		padding: 14px;
	}

	/* Remove WooCommerce-generated mobile labels */
	body.woocommerce-cart .ajs-bag-cart .product-thumbnail::before,
	body.woocommerce-cart .ajs-bag-cart .product-name::before,
	body.woocommerce-cart .ajs-bag-cart .product-remove::before {
		display: none !important;
		content: none !important;
	}

	body.woocommerce-cart .ajs-bag-cart tr.cart_item td {
		width: auto !important;
		text-align: left !important;
	}

	/* Thumbnail */
	body.woocommerce-cart .ajs-bag-cart .product-thumbnail {
		grid-area: thumbnail;
	}

	body.woocommerce-cart .ajs-bag-cart .product-thumbnail img {
		width: 80px !important;
		max-width: 80px !important;
		height: 80px !important;
		object-fit: cover;
	}

	/* Product information */
	body.woocommerce-cart .ajs-bag-cart .product-name {
		grid-area: product;
		min-width: 0;
		padding-right: 58px !important;
		text-align: left !important;
	}

	body.woocommerce-cart .ajs-bag-cart .product-name > a {
		margin-bottom: 5px;
		font-size: 18px !important;
		line-height: 1.15 !important;
	}

	body.woocommerce-cart .ajs-bag-cart .product-name dl.variation {
		font-size: 13px !important;
	}

	/* Position subtotal in the upper-right corner */
	body.woocommerce-cart .ajs-bag-cart .product-subtotal {
		position: absolute;
		top: 18px;
		right: 18px;
		width: auto !important;
		font-size: 15px !important;
		text-align: right !important;
	}

	body.woocommerce-cart .ajs-bag-cart .product-subtotal::before {
		display: none !important;
		content: none !important;
	}

	/* Quantity */
	body.woocommerce-cart .ajs-bag-cart .product-quantity {
		grid-area: quantity;
		justify-self: start;
		width: auto !important;
		text-align: left !important;
	}

	body.woocommerce-cart .ajs-bag-cart .product-quantity::before {
		display: none !important;
		content: none !important;
	}

	body.woocommerce-cart .ajs-bag-cart .product-quantity input.qty {
		width: 70px;
		min-height: 44px;
	}

	/* Remove control beneath quantity */
	body.woocommerce-cart .ajs-bag-cart .product-remove {
		grid-area: remove;
	  align-self: end;
	  justify-self: end;
	  width: auto !important;
	}

	/* Update Cart */
	body.woocommerce-cart .ajs-bag-cart td.actions {
		display: block;
		width: 100% !important;
		padding-top: 16px !important;
	}

	body.woocommerce-cart .ajs-bag-cart td.actions button {
		width: 100% !important;
	}

	/* Order Summary */
	body.woocommerce-cart .ajs-bag-cart .cart_totals {
		padding: 14px;
	}

	body.woocommerce-cart .ajs-bag-cart .cart_totals h2 {
		margin-bottom: 24px !important;
		font-size: 30px !important;
		white-space: normal;
	}

	body.woocommerce-cart .ajs-bag-cart .cart_totals th,
	body.woocommerce-cart .ajs-bag-cart .cart_totals td {
		font-size: 14px !important;
	}

	/* Keep discount input and Apply button side by side */
	body.woocommerce-cart .ajs-summary-coupon__form {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
	}

	body.woocommerce-cart .ajs-summary-coupon__form button {
		width: auto;
		padding-right: 16px;
		padding-left: 16px;
	}

	body.woocommerce-cart .ajs-summary-notice {
		font-size: 13px;
		line-height: 1.45;
		text-align: left;
	}

	body.woocommerce-cart .ajs-bag-cart .checkout-button {
		width: 100%;
		font-size: 11px !important;
	}

	body.woocommerce-cart .ajs-continue-shopping {
		font-size: 15px;
	}
}

/*
 * Hide the manual update row only when the automatic
 * cart-update JavaScript has loaded successfully.
 */
body.woocommerce-cart.ajs-cart-auto-update
	.ajs-bag-cart tr:has(> td.actions) {
	display: none !important;
}

/* =========================================================
   ORDER SUMMARY — COUPON AND SUPPORTING CONTENT
   ========================================================= */

/* Hide WooCommerce's original coupon form */
body.woocommerce-cart .ajs-bag-cart td.actions .coupon {
	display: none !important;
}

body.woocommerce-cart .ajs-bag-cart td.actions {
	justify-content: flex-end;
}

/* Summary coupon */
body.woocommerce-cart .ajs-summary-coupon {
	margin: 0 0 24px;
}

body.woocommerce-cart .ajs-summary-coupon__label {
	margin: 0 0 10px;
	color: #a87324;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

body.woocommerce-cart .ajs-summary-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

body.woocommerce-cart .ajs-summary-coupon__form input {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid rgba(201, 154, 74, 0.55);
	border-radius: 0;
	background: #fffcf7;
	color: #3b1e10;
	font-size: 14px;
}

body.woocommerce-cart .ajs-summary-coupon__form button {
	min-height: 48px;
	padding: 11px 18px;
	border: 1px solid #c99a4a;
	border-radius: 0;
	background: transparent;
	color: #3b1e10;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.woocommerce-cart .ajs-summary-coupon__form button:hover {
	background: #c99a4a;
	color: #24120c;
}

/* Small-batch notice */
body.woocommerce-cart .ajs-summary-notice {
	margin: 0 0 24px;
	color: #5d4639;
	font-size: 14px;
	line-height: 1.45;
  padding-bottom: 14px;
}

/* Continue Shopping */
body.woocommerce-cart .ajs-continue-shopping {
	display: block;
	margin-top: 20px;
	color: #a87324;
	font-size: 15px;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.woocommerce-cart .ajs-continue-shopping:hover {
	color: #3b1e10;
}

body.woocommerce-cart .ajs-summary-coupon__label,
body.woocommerce-cart .ajs-summary-notice {
	text-align: left !important;
}


/* =========================================================
   AJ'S LEGACY CAKES — CHECKOUT
   ========================================================= */

body.woocommerce-checkout {
	background: #fff8eb;
}

/* ---------- Checkout introduction ---------- */

body.woocommerce-checkout .ajs-checkout-intro {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto 48px;
	padding: 72px 24px 0;
	text-align: center;
	box-sizing: border-box;
}

body.woocommerce-checkout .ajs-checkout-eyebrow {
	margin: 0 0 18px;
	color: #b77a38;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.36em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.woocommerce-checkout .ajs-checkout-title {
	margin: 0;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(54px, 6vw, 76px);
	font-weight: 500;
	line-height: 0.95;
}

body.woocommerce-checkout .ajs-checkout-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin: 34px auto 48px;
	color: #c99245;
}

body.woocommerce-checkout .ajs-checkout-ornament span {
	width: 145px;
	height: 1px;
	background: #d8ae70;
}

body.woocommerce-checkout .ajs-checkout-ornament b {
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
}

/* ---------- Visual checkout stages ---------- */

body.woocommerce-checkout .ajs-checkout-progress {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	max-width: 760px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

body.woocommerce-checkout .ajs-checkout-progress li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 12px 16px;
	border: 1px solid rgba(201, 146, 69, 0.42);
	color: #816857;
	background: transparent;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	box-sizing: border-box;
}

body.woocommerce-checkout .ajs-checkout-progress li span {
	margin-right: 6px;
}

body.woocommerce-checkout .ajs-checkout-progress li.is-active {
	border-color: #3b1e10;
	color: #fffaf2;
	background: #3b1e10;
}

/* ---------- Initial Checkout Block width ---------- */

body.woocommerce-checkout .ajs-checkout-block {
	width: 100%;
	max-width: 1024px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 24px;
	padding-left: 24px;
	box-sizing: border-box;
}

/* ---------- Responsive progress indicator ---------- */

@media (max-width: 767px) {
	body.woocommerce-checkout .ajs-checkout-intro {
		margin-bottom: 32px;
		padding-top: 48px;
	}

	body.woocommerce-checkout .ajs-checkout-eyebrow {
		font-size: 12px;
		letter-spacing: 0.3em;
	}

	body.woocommerce-checkout .ajs-checkout-title {
		font-size: 52px;
	}

	body.woocommerce-checkout .ajs-checkout-ornament {
		gap: 14px;
		margin: 26px auto 34px;
	}

	body.woocommerce-checkout .ajs-checkout-ornament span {
		width: 74px;
	}

	body.woocommerce-checkout .ajs-checkout-progress {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	body.woocommerce-checkout .ajs-checkout-progress li {
		min-height: 50px;
		padding: 10px 8px;
		font-size: 10px;
		letter-spacing: 0.08em;
	}

	body.woocommerce-checkout .ajs-checkout-block {
		padding-right: 16px;
		padding-left: 16px;
	}
}

/* ---------- Checkout two-column structure ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout {
	display: grid !important;
	grid-template-columns: 564px minmax(0, 384px);
	align-items: start;
	gap: 28px;
	margin: 0 !important;
	padding: 0 0 80px !important;
}

/* Remove WooCommerce's percentage-based column widths */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__main,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* ---------- Left checkout card ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__main {
	padding: 38px 34px;
	border: 1px solid rgba(201, 146, 69, 0.4);
	background: #fffdf8;
}

/* Remove individual step borders */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-step {
	margin: 0;
	padding: 0 0 34px !important;
	border: 0 !important;
}

/* Add subtle divisions between checkout sections */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-step
	+ .wc-block-components-checkout-step {
	margin-top: 32px;
	padding-top: 32px !important;
	border-top: 1px solid rgba(201, 146, 69, 0.25) !important;
}

/* Section headings */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-step__heading {
	margin: 0 0 24px !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-step__title,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-title {
	margin: 0 !important;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 30px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
}

/* Remove WooCommerce's step numbers */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-step__heading-content {
	display: none;
}

/* Supporting text */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-step__description {
	color: #6e584a;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.6;
}

/* ---------- Form fields ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-text-input,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-combobox {
	margin-top: 12px;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-text-input input,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-combobox-control input,
body.woocommerce-checkout
	.ajs-checkout-block
	select,
body.woocommerce-checkout
	.ajs-checkout-block
	textarea {
	min-height: 58px !important;
	border: 1px solid rgba(183, 122, 56, 0.48) !important;
	border-radius: 0 !important;
	color: #3b1e10 !important;
	background: #fffdf8 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 14px !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

/* Floating field labels */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-text-input label,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-combobox-control label {
	color: #8e633d !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.03em;
}

/* Active field state */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-text-input input:focus,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-combobox-control input:focus,
body.woocommerce-checkout
	.ajs-checkout-block
	select:focus,
body.woocommerce-checkout
	.ajs-checkout-block
	textarea:focus {
	border-color: #9f672d !important;
	outline: 1px solid #9f672d !important;
	outline-offset: 0;
}

/* Checkboxes and radio controls */
body.woocommerce-checkout
	.ajs-checkout-block
	input[type="checkbox"],
body.woocommerce-checkout
	.ajs-checkout-block
	input[type="radio"] {
	accent-color: #3b1e10;
}

/* Shipping and payment option boxes */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-radio-control__option,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-option {
	padding: 18px !important;
	border: 1px solid rgba(183, 122, 56, 0.42) !important;
	border-radius: 0 !important;
	background: #fffaf2 !important;
}

/* ---------- Order Summary card ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar {
	position: sticky;
	top: 120px;
	padding: 34px 30px !important;
	border: 1px solid rgba(201, 146, 69, 0.45);
	background: #fff2df;
}

/* Remove the summary's internal outer border */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar
	.wc-block-components-sidebar-layout {
	border: 0 !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-order-summary {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Summary heading */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-order-summary__title {
	padding: 0 0 24px !important;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 30px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
}

/* Summary product rows and totals */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-order-summary-item,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-totals-wrapper {
	border-color: rgba(201, 146, 69, 0.28) !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-order-summary-item__description,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-totals-item {
	color: #4b3326;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.5;
}

/* Product name */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-product-name {
	color: #3b1e10 !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	text-decoration: none !important;
}

/* Product thumbnails */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-order-summary-item__image
	img {
	border-radius: 0 !important;
	object-fit: cover;
}

/* Accordion rows such as coupons */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-panel__button {
	color: #4b3326 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

/* Total */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-totals-footer-item
	.wc-block-components-totals-item__label,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-totals-footer-item
	.wc-block-components-totals-item__value {
	color: #3b1e10 !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 24px !important;
	font-weight: 600 !important;
}

/* ---------- Place Order button ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-place-order-button {
	min-height: 58px;
	letter-spacing: 0.17em;
	box-shadow: none !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-place-order-button:hover {
	border-color: #b77a38 !important;
	background: #b77a38 !important;
}

/* ---------- Tablet and mobile ---------- */

@media (max-width: 900px) {
	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-checkout {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 28px;
	}

	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-checkout__sidebar {
		position: static;
		grid-row: auto;
	}
}

@media (max-width: 767px) {
	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-checkout__main,
	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-checkout__sidebar {
		padding: 24px 20px !important;
	}

	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-components-checkout-step__title,
	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-components-title,
	body.woocommerce-checkout
		.ajs-checkout-block
		.wc-block-components-checkout-order-summary__title {
		font-size: 26px !important;
	}
}

/* =========================================================
   CHECKOUT REFINEMENTS
   ========================================================= */

/* Remove WooCommerce's nested Order Summary card */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar
	.wc-block-components-checkout-order-summary {
	overflow: visible !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-order-summary__title {
	padding: 0 0 26px !important;
	border: 0 !important;
}

/* Remove the inner summary outline in all block states */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar
	[class*="checkout-order-summary"] {
	border-right-color: transparent !important;
	border-left-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Restore separators only between summary sections */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar
	.wc-block-components-order-summary,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar
	.wc-block-components-totals-wrapper {
	border-color: rgba(201, 146, 69, 0.28) !important;
}

/* Correct shipping-option alignment */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__option {
	display: flex !important;
	align-items: center !important;
	min-height: 58px;
	padding: 16px 18px !important;
	box-sizing: border-box;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__input {
	position: static !important;
	flex: 0 0 auto;
	margin: 0 12px 0 0 !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__label {
	min-width: 0;
	padding: 0 !important;
	color: #4b3326;
}

/* Restore WooCommerce's custom radio positioning */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	opacity: 0 !important;
	pointer-events: none;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__label {
	position: relative;
	display: flex !important;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	min-height: 24px;
	margin: 0 !important;
	padding: 0 0 0 36px !important;
}

/* Custom radio circle */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__label::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	border: 1px solid #816857;
	border-radius: 50%;
	background: #fffdf8;
	content: "";
	transform: translateY(-50%);
	box-sizing: border-box;
}

/* Selected radio center */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	input:checked
	+ .wc-block-components-radio-control__label::after {
	position: absolute;
	top: 50%;
	left: 5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #3b1e10;
	content: "";
	transform: translateY(-50%);
}

body.woocommerce-checkout
	.ajs-checkout-block
	.ajs-checkout-notice {
	margin: 24px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid rgba(201, 146, 69, 0.3);
	color: #654b3b;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 17px;
	line-height: 1.35;
	text-align: left;
}

/* =========================================================
   CHECKOUT ORDER SUMMARY REFINEMENTS
   ========================================================= */

/* Remove the redundant price beneath each product name */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-order-summary-item__individual-price {
	display: none !important;
}

/* Remove "Size:" while retaining the selected value */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-product-details__size
	.wc-block-components-product-details__name {
	display: none !important;
}

/* Style the variation value beneath the product title */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-product-details__size {
	margin-top: 3px;
	color: #806859;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 15px;
	line-height: 1.25;
}

/* Format the fulfillment information */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-product-details
	li:not(.wc-block-components-product-details__size) {
	margin-top: 6px;
	color: #654f42;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 11px;
	line-height: 1.4;
}

/* Remove the unnecessary line above the summary heading */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__sidebar::before,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-order-summary::before {
	display: none !important;
	content: none !important;
}

/* Ensure the selected shipping radio has a center dot */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__option:has(input:checked)
	.wc-block-components-radio-control__label::after,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-shipping-rates-control
	.wc-block-components-radio-control__label:has(input:checked)::after {
	position: absolute;
	top: 50%;
	left: 5px;
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #3b1e10;
	content: "";
	transform: translateY(-50%);
}

/* =========================================================
   CHECKOUT PAYMENT METHODS
   ========================================================= */

/* Remove the unnecessary outer payment-method border */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control {
	overflow: visible !important;
}

/* Individual payment-method cards */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control__option {
	position: relative !important;
	display: block !important;
	min-height: 64px;
	margin: 0 0 12px !important;
	padding: 20px 20px 20px 58px !important;
	border: 1px solid rgba(183, 122, 56, 0.42) !important;
	border-radius: 0 !important;
	background: #fffdf8 !important;
	box-sizing: border-box;
}

/* Selected payment-method card */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control__option-checked {
	border-color: #3b1e10 !important;
	background: #fff8eb !important;
}

/* Payment radio control */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control__input {
	position: absolute !important;
	top: 50% !important;
	left: 20px !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	opacity: 1 !important;
	transform: translateY(-50%) !important;
	accent-color: #3b1e10;
}

/* Payment name and logo area */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control__label-group {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control__label {
	overflow: visible !important;
	color: #4b3326 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4;
	white-space: normal !important;
}

/* Gateway logos */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-payment-method-icons {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 5px;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-payment-method-icon {
	width: auto;
	max-width: 42px;
	max-height: 26px;
	object-fit: contain;
}

/* Expanded gateway/card-entry area */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-content {
	margin: -13px 0 12px !important;
	padding: 22px 20px !important;
	border: 1px solid rgba(183, 122, 56, 0.42);
	border-top: 0;
	background: #fffdf8;
	box-sizing: border-box;
}

/* ---------- Order notes ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__add-note {
	margin-top: 0 !important;
	padding: 28px 0 !important;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__add-note
	label {
	color: #4b3326;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
}

/* ---------- Terms and checkout action ---------- */

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__terms {
	margin: 28px 0 22px !important;
	color: #654f42;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
	line-height: 1.6;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__terms
	a {
	color: #9f672d;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__actions {
	padding: 0 !important;
}


/* =========================================================
   PAYMENT CARD CLEANUP
   Must remain after the earlier payment CSS.
   ========================================================= */

/* Remove WooCommerce's outer payment group box */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Remove the wrapper box around accordion gateways */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-option {
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Keep only the payment-method header as a card */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-option
	> .wc-block-components-radio-control__option {
	margin: 0 !important;
	border: 1px solid rgba(183, 122, 56, 0.42) !important;
	background: #fffdf8 !important;
}

/* Selected payment header */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-option
	> .wc-block-components-radio-control__option-checked {
	border-color: #3b1e10 !important;
	background: #fff8eb !important;
}

/* Expanded payment instructions or card-entry area */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-content {
	margin: 0 !important;
	padding: 20px !important;
	border: 1px solid rgba(183, 122, 56, 0.42) !important;
	border-top: 0 !important;
	background: #fffdf8 !important;
	box-shadow: none !important;
}

/* Normalize paragraphs inside expanded payment details */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-content
	p {
	margin: 0 0 12px;
	color: #654f42;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.55;
	text-align: left;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method
	.wc-block-components-radio-control-accordion-content
	p:last-child {
	margin-bottom: 0;
}

/* =========================================================
   CHECKOUT FINAL ACTIONS
   ========================================================= */

/* Reduce excess spacing beneath payment methods */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__payment-method {
	margin-bottom: 0 !important;
	padding-bottom: 20px !important;
}

/* Clean up the order-note section */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__add-note {
	margin: 0 !important;
	padding: 24px 0 !important;
	border-top: 1px solid rgba(201, 146, 69, 0.25);
	border-bottom: 1px solid rgba(201, 146, 69, 0.25);
}

/* Order-note textarea */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__add-note
	textarea {
	width: 100% !important;
	min-height: 110px !important;
	margin-top: 18px;
	padding: 16px !important;
	resize: vertical;
}

/* Terms area */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-checkout__terms {
	margin: 30px 0 22px !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Final button */
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-place-order-button {
	width: 100% !important;
	min-height: 60px;
	margin: 0 !important;
	padding: 16px 24px !important;
	border: 1px solid #3b1e10 !important;
	border-radius: 0 !important;
	color: #fffaf2 !important;
	background: #3b1e10 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout
	.ajs-checkout-block
	.wc-block-components-checkout-place-order-button:focus {
	border-color: #b77a38 !important;
	background: #b77a38 !important;
}


/* =========================================================
   ORDER CONFIRMATION
   ========================================================= */

body.woocommerce-order-received
	.ajs-checkout-block {
	max-width: 1024px;
	padding-bottom: 80px;
}

body.woocommerce-order-received
	.woocommerce-order {
	color: #4b3326;
	font-family: "Montserrat", Arial, sans-serif;
}

/* Thank-you message */
body.woocommerce-order-received
	.woocommerce-thankyou-order-received {
	margin: 0 0 28px;
	padding: 22px 24px;
	border: 1px solid rgba(201, 146, 69, 0.45);
	color: #3b1e10;
	background: #fff2df;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 24px;
	line-height: 1.3;
}

/* Order overview */
body.woocommerce-order-received
	.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 52px !important;
	padding: 24px !important;
	border: 1px solid rgba(201, 146, 69, 0.4);
	background: #fffdf8;
	list-style: none;
}

body.woocommerce-order-received
	.woocommerce-order-overview
	li {
	float: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 18px !important;
	border-right: 1px solid rgba(201, 146, 69, 0.3);
	color: #8b6a53;
	font-size: 10px;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

body.woocommerce-order-received
	.woocommerce-order-overview
	li:first-child {
	padding-left: 0 !important;
}

body.woocommerce-order-received
	.woocommerce-order-overview
	li:last-child {
	padding-right: 0 !important;
	border-right: 0;
}

body.woocommerce-order-received
	.woocommerce-order-overview
	strong {
	display: block;
	margin-top: 7px;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
}

/* Section headings */
body.woocommerce-order-received
	.woocommerce-order-details__title,
body.woocommerce-order-received
	.woocommerce-column__title {
	margin: 0 0 20px;
	color: #3b1e10;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.15;
}

/* Order table */
body.woocommerce-order-received
	.woocommerce-order-details {
	margin-bottom: 52px;
}

body.woocommerce-order-received
	.woocommerce-table--order-details {
	width: 100%;
	border: 1px solid rgba(201, 146, 69, 0.4) !important;
	border-collapse: collapse;
	background: #fffdf8;
}

body.woocommerce-order-received
	.woocommerce-table--order-details
	th,
body.woocommerce-order-received
	.woocommerce-table--order-details
	td {
	padding: 16px 18px !important;
	border: 1px solid rgba(201, 146, 69, 0.28) !important;
	color: #4b3326;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
}

body.woocommerce-order-received
	.woocommerce-table--order-details
	th {
	color: #3b1e10;
	background: #fff2df;
	font-weight: 600;
}

body.woocommerce-order-received
	.woocommerce-table--order-details
	.product-name
	a {
	color: #9f672d;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
}

body.woocommerce-order-received
	.woocommerce-table--order-details
	.product-name
	a:hover {
	color: #3b1e10;
}

/* Addresses */
body.woocommerce-order-received
	.woocommerce-customer-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	margin: 0;
}

body.woocommerce-order-received
	.woocommerce-customer-details
	.woocommerce-column {
	float: none !important;
	width: 100% !important;
}

body.woocommerce-order-received
	.woocommerce-customer-details
	address {
	min-height: 160px;
	margin: 0;
	padding: 24px;
	border: 1px solid rgba(201, 146, 69, 0.4);
	border-radius: 0;
	color: #4b3326;
	background: #fffdf8;
	font-style: normal;
	line-height: 1.7;
}

/* ---------- Confirmation responsive layout ---------- */

@media (max-width: 900px) {
	body.woocommerce-order-received
		.woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	body.woocommerce-order-received
		.woocommerce-order-overview
		li {
		padding: 0 !important;
		border-right: 0;
	}
}

@media (max-width: 767px) {
	body.woocommerce-order-received
		.woocommerce-thankyou-order-received {
		font-size: 21px;
	}

	body.woocommerce-order-received
		.woocommerce-order-overview,
	body.woocommerce-order-received
		.woocommerce-customer-details {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-order-received
		.woocommerce-table--order-details
		th,
	body.woocommerce-order-received
		.woocommerce-table--order-details
		td {
		padding: 13px 12px !important;
	}

	body.woocommerce-order-received
		.woocommerce-order-details__title,
	body.woocommerce-order-received
		.woocommerce-column__title {
		font-size: 28px;
	}
}

/* =========================================================
   ORDER CONFIRMATION GRID CORRECTIONS
   ========================================================= */

/* ---------- Order overview ---------- */

body.woocommerce-order-received
	ul.woocommerce-order-overview,
body.woocommerce-order-received
	ul.order_details {
	display: grid !important;
	grid-template-columns:
		minmax(90px, 0.75fr)
		minmax(130px, 1fr)
		minmax(180px, 1.45fr)
		minmax(90px, 0.7fr)
		minmax(145px, 1.2fr) !important;
	align-items: start;
	gap: 0;
	width: 100% !important;
	box-sizing: border-box;
}

body.woocommerce-order-received
	ul.woocommerce-order-overview
	> li,
body.woocommerce-order-received
	ul.order_details
	> li {
	float: none !important;
	clear: none !important;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* ---------- Address wrapper ---------- */

body.woocommerce-order-received
	.woocommerce-customer-details
	.woocommerce-columns,
body.woocommerce-order-received
	.woocommerce-customer-details
	.col2-set,
body.woocommerce-order-received
	.woocommerce-customer-details
	.addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: start;
	gap: 28px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* Address columns */
body.woocommerce-order-received
	.woocommerce-customer-details
	.woocommerce-column,
body.woocommerce-order-received
	.woocommerce-customer-details
	.col-1,
body.woocommerce-order-received
	.woocommerce-customer-details
	.col-2 {
	float: none !important;
	clear: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

/* Normalize address headings */
body.woocommerce-order-received
	.woocommerce-customer-details
	.woocommerce-column__title {
	width: 100%;
	margin: 0 0 20px !important;
	text-align: left;
}

/* Equal-width address cards */
body.woocommerce-order-received
	.woocommerce-customer-details
	address {
	width: 100% !important;
	min-height: 170px;
	margin: 0 !important;
	box-sizing: border-box;
}

/* ---------- Responsive confirmation grids ---------- */

@media (max-width: 900px) {
	body.woocommerce-order-received
		ul.woocommerce-order-overview,
	body.woocommerce-order-received
		ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 22px;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li,
	body.woocommerce-order-received
		ul.order_details
		> li {
		padding: 0 !important;
		border-right: 0;
	}
}

@media (max-width: 767px) {
	body.woocommerce-order-received
		ul.woocommerce-order-overview,
	body.woocommerce-order-received
		ul.order_details,
	body.woocommerce-order-received
		.woocommerce-customer-details
		.woocommerce-columns,
	body.woocommerce-order-received
		.woocommerce-customer-details
		.col2-set,
	body.woocommerce-order-received
		.woocommerce-customer-details
		.addresses {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* =========================================================
   FORCE DESKTOP CONFIRMATION PLACEMENT
   ========================================================= */

@media (min-width: 901px) {
	/* Keep every overview item on the first row */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li,
	body.woocommerce-order-received
		ul.order_details
		> li {
		grid-row: 1 !important;
		grid-column: auto !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(1),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(1) {
		grid-column: 1 !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(2),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(2) {
		grid-column: 2 !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(3),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(3) {
		grid-column: 3 !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(4),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(4) {
		grid-column: 4 !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(5),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(5) {
		grid-column: 5 !important;
	}

	/* Force Billing and Shipping into separate columns */
	body.woocommerce-order-received
		.woocommerce-customer-details
		.woocommerce-column:nth-child(1),
	body.woocommerce-order-received
		.woocommerce-customer-details
		.col-1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	body.woocommerce-order-received
		.woocommerce-customer-details
		.woocommerce-column:nth-child(2),
	body.woocommerce-order-received
		.woocommerce-customer-details
		.col-2 {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	body.woocommerce-order-received
		.woocommerce-customer-details
		.woocommerce-column {
		position: static !important;
		inset: auto !important;
		transform: none !important;
	}
}

/* Full-width outer customer-details container */
body.woocommerce-order-received
	.woocommerce-customer-details {
	float: none !important;
	clear: both !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* Two-column inner address wrapper */
body.woocommerce-order-received
	.woocommerce-customer-details
	.woocommerce-columns--addresses,
body.woocommerce-order-received
	.woocommerce-customer-details
	.col2-set.addresses {
	float: none !important;
	clear: both !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 28px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	body.woocommerce-order-received
		.woocommerce-customer-details
		.woocommerce-columns--addresses,
	body.woocommerce-order-received
		.woocommerce-customer-details
		.col2-set.addresses {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* =========================================================
   MOBILE ORDER CONFIRMATION REFINEMENTS
   ========================================================= */

@media (max-width: 767px) {
	/* Confirmation introduction */
	body.woocommerce-order-received
		.ajs-checkout-intro {
		padding-top: 40px;
	}

	body.woocommerce-order-received
		.ajs-checkout-title {
		font-size: 48px;
	}

	/* Thank-you notice */
	body.woocommerce-order-received
		.woocommerce-thankyou-order-received {
		margin-bottom: 24px;
		padding: 18px;
		font-size: 19px;
		line-height: 1.35;
	}

	/* Compact two-column overview */
	body.woocommerce-order-received
		ul.woocommerce-order-overview,
	body.woocommerce-order-received
		ul.order_details {
		gap: 0 !important;
		padding: 8px 20px !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li,
	body.woocommerce-order-received
		ul.order_details
		> li {
		grid-column: auto !important;
		grid-row: auto !important;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(201, 146, 69, 0.22);
		font-size: 9px;
		overflow-wrap: anywhere;
	}

	/* Email and Payment Method use the full row */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(3),
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(5),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(3),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(5) {
		grid-column: 1 / -1 !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		strong,
	body.woocommerce-order-received
		ul.order_details
		strong {
		margin-top: 5px;
		font-size: 15px;
		line-height: 1.25;
	}

	/* Section headings */
	body.woocommerce-order-received
		.woocommerce-order-details__title,
	body.woocommerce-order-received
		.woocommerce-column__title {
		margin-bottom: 16px !important;
		font-size: 29px !important;
	}

	/* Compact order table */
	body.woocommerce-order-received
		.woocommerce-table--order-details {
		table-layout: fixed;
	}

	body.woocommerce-order-received
		.woocommerce-table--order-details
		th:first-child,
	body.woocommerce-order-received
		.woocommerce-table--order-details
		td:first-child {
		width: 68%;
	}

	body.woocommerce-order-received
		.woocommerce-table--order-details
		th:last-child,
	body.woocommerce-order-received
		.woocommerce-table--order-details
		td:last-child {
		width: 32%;
	}

	body.woocommerce-order-received
		.woocommerce-table--order-details
		th,
	body.woocommerce-order-received
		.woocommerce-table--order-details
		td {
		padding: 12px 10px !important;
		font-size: 11px;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}

	body.woocommerce-order-received
		.woocommerce-table--order-details
		.product-name
		a {
		font-size: 16px;
		line-height: 1.25;
	}

	/* Reduce product metadata indentation */
	body.woocommerce-order-received
		.woocommerce-table--order-details
		.product-name
		ul,
	body.woocommerce-order-received
		.woocommerce-table--order-details
		.product-name
		dl {
		margin: 6px 0 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-order-received
		.woocommerce-table--order-details
		.product-name
		dt,
	body.woocommerce-order-received
		.woocommerce-table--order-details
		.product-name
		dd {
		float: none !important;
		display: inline !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 11px;
	}

	/* Address cards */
	body.woocommerce-order-received
		.woocommerce-customer-details
		address {
		min-height: 0;
		padding: 18px;
		font-size: 13px;
		line-height: 1.65;
	}
}

/* Explicit mobile order-overview placement */
@media (max-width: 767px) {
	body.woocommerce-order-received
		ul.woocommerce-order-overview,
	body.woocommerce-order-received
		ul.order_details {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-template-rows: auto !important;
		align-items: start !important;
		padding: 16px 20px !important;
	}

	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li,
	body.woocommerce-order-received
		ul.order_details
		> li {
		align-self: start !important;
		justify-self: stretch !important;
		min-height: 0 !important;
		padding: 18px 8px !important;
		text-align: left !important;
	}

	/* Order Number */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(1),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(1) {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	/* Date */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(2),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(2) {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	/* Email */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(3),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(3) {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
	}

	/* Total */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(4),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(4) {
		grid-column: 1 !important;
		grid-row: 3 !important;
		border-bottom: 0 !important;
	}

	/* Payment Method */
	body.woocommerce-order-received
		ul.woocommerce-order-overview
		> li:nth-child(5),
	body.woocommerce-order-received
		ul.order_details
		> li:nth-child(5) {
		grid-column: 2 !important;
		grid-row: 3 !important;
		border-bottom: 0 !important;
	}
}


/* =========================================================
   HEADER SHOPPING BAG
   ========================================================= */

.ajs-header-bag-widget {
	flex: 0 0 auto !important;
	width: 44px !important;
	min-width: 44px;
	margin-right: 8px !important;
	padding: 0 !important;
}

.ajs-header-bag-widget .elementor-widget-container {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.ajs-header-bag {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: #3b1e10;
	text-decoration: none !important;
	overflow: visible;
}

.ajs-header-bag:hover,
.ajs-header-bag:focus {
	color: #b77a38;
}

.ajs-header-bag__icon {
	display: block;
	width: 25px;
	height: 25px;
	flex: 0 0 auto;
}

.ajs-header-bag .cart-count {
	position: absolute;
	top: 4px;
	right: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	border-radius: 999px;
	color: #fffaf2;
	background: #b77a38;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 9px;
	font-weight: 600;
	line-height: 1;
	box-sizing: border-box;
	transform: translate(40%, -35%);
	pointer-events: none;
}

@media (max-width: 767px) {
	.ajs-header-bag-widget,
	.ajs-header-bag {
		width: 40px !important;
		min-width: 40px;
		height: 40px;
	}

	.ajs-header-bag__icon {
		width: 23px;
		height: 23px;
	}

	.ajs-header-bag .cart-count {
		min-width: 23px;
		height: 23px;
		font-size: 9px;
	}
}


/* =========================================================
   AJ'S LEGACY CAKES — COMPLETE RESPONSIVE HEADER
   ========================================================= */

/* Prevent horizontal scrolling caused by header children */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

/* Keep the complete header above the hero and page content */
.elementor-location-header {
	position: relative;
	z-index: 10000;
}

/* =========================================================
   ANNOUNCEMENT BAR
   ========================================================= */

.ajs-announcement-bar {
	position: relative;
	padding: 7px 20px !important;

	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
	z-index: 2;
}

.ajs-announcement-bar p,
.ajs-announcement-bar a,
.ajs-announcement-bar span {
	margin: 0 !important;
	line-height: 1.35;
}

/* =========================================================
   MAIN HEADER ROW
   ========================================================= */

.ajs-site-header-row {
	position: relative;
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 28px;

	width: 100% !important;
	max-width: 1320px;
	min-width: 0 !important;
	min-height: 94px;

	margin-right: auto !important;
	margin-left: auto !important;
	padding: 18px 24px !important;

	box-sizing: border-box;
	z-index: 3;
}

/* =========================================================
   BRAND
   ========================================================= */

.ajs-header-brand {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;

	width: auto !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	white-space: nowrap;
}

.ajs-header-brand img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

/* =========================================================
   DESKTOP NAVIGATION
   ========================================================= */

.ajs-desktop-nav {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(18px, 2vw, 34px);

	width: auto !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}

.ajs-desktop-nav > * {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

.ajs-desktop-nav a,
.ajs-desktop-nav .elementor-button-text {
	white-space: nowrap !important;
}

/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.ajs-header-actions {
	position: relative;
	display: flex !important;
	flex: 0 0 auto !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 14px;

	width: auto !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box;
}

.ajs-header-controls {
	position: relative;
	display: flex !important;
	flex: 0 0 auto !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 12px;

	width: auto !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: visible !important;
}

.ajs-header-controls > * {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
}

/* Prevent desktop Order Now label from wrapping */
.ajs-header-order-button,
.ajs-header-order-button .elementor-button,
.ajs-header-order-button .elementor-button-text {
	white-space: nowrap !important;
}

/* =========================================================
   HFE MOBILE NAVIGATION — BASE
   ========================================================= */

#ajs-mobile-navigation {
	position: relative;
	flex: 0 0 40px !important;

	width: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;

	height: 40px !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 0 !important;
}

/* =========================================================
   FULL DESKTOP
   ========================================================= */

@media (min-width: 1025px) {
	.ajs-desktop-nav {
		display: flex !important;
		visibility: visible !important;
	}

	#ajs-mobile-navigation {
		display: none !important;
		visibility: hidden !important;
	}

	.ajs-header-order-button {
		display: block !important;
	}
}

/* =========================================================
   SMALLER DESKTOP
   ========================================================= */

@media (min-width: 1025px) and (max-width: 1240px) {
	.ajs-site-header-row {
		gap: 20px;
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.ajs-desktop-nav {
		gap: 18px;
	}

	.ajs-desktop-nav a,
	.ajs-desktop-nav .elementor-button-text {
		font-size: 11px !important;
		letter-spacing: 0.12em;
	}

	.ajs-header-actions {
		gap: 10px;
	}

	.ajs-header-controls {
		gap: 9px;
	}

	.ajs-header-order-button .elementor-button {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}

/* =========================================================
   TABLET AND MOBILE — SHARED HEADER
   ========================================================= */

@media (max-width: 1024px) {
	/* Replace desktop navigation with hamburger navigation */

	.ajs-desktop-nav {
		display: none !important;
		visibility: hidden !important;
	}

	.ajs-header-brand {
		margin-right: auto !important;
	}

	.ajs-header-actions {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;

		margin-left: auto !important;
		transform: none !important;
		overflow: visible !important;
	}

	/* HFE Navigation Menu widget */

	#ajs-mobile-navigation {
		position: relative !important;
		inset: auto !important;

		display: block !important;
		visibility: visible !important;
		flex: 0 0 40px !important;

		width: 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;

		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
		overflow: visible !important;
		z-index: 10020 !important;
	}

	/* Hamburger toggle */

	#ajs-mobile-navigation .hfe-nav-menu-icon,
	#ajs-mobile-navigation .elementor-menu-toggle,
	#ajs-mobile-navigation .e-n-menu-toggle {
		position: relative !important;
		inset: auto !important;

		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 40px !important;
		min-width: 40px !important;
		height: 40px !important;
		min-height: 40px !important;

		margin: 0 !important;
		padding: 6px !important;

		color: #3b1e10 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;

		transform: none !important;
		cursor: pointer;
		z-index: 10030 !important;
	}

	#ajs-mobile-navigation .hfe-nav-menu-icon svg,
	#ajs-mobile-navigation .elementor-menu-toggle svg,
	#ajs-mobile-navigation .e-n-menu-toggle svg {
		width: 26px !important;
		height: 26px !important;
		fill: currentColor;
	}

	/* =====================================================
	   HFE OFF-CANVAS FLYOUT — CLOSED STATE
	   ===================================================== */

	#ajs-mobile-navigation .hfe-flyout-content.push {
		position: fixed !important;
		top: 4px !important;
		/*right: -100% !important;*/
		bottom: 4px !important;
		left: auto !important;

		display: flex !important;
		flex-direction: column !important;

		width: min(440px, 86vw) !important;
		min-width: 280px !important;
		max-width: calc(100vw - 12px) !important;

		height: calc(100dvh - 8px) !important;
		min-height: calc(100dvh - 8px) !important;
		max-height: calc(100dvh - 8px) !important;

		margin: 0 !important;
		padding: 0 !important;

		color: #3b1e10 !important;
		background: #fff8ec !important;
		border: 1px solid rgba(191, 121, 45, 0.22) !important;
		border-radius: 30px !important;

		box-sizing: border-box !important;
		overflow: hidden !important;

		transform: none !important;
		transition:
			right 0.4s cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow 0.4s ease !important;

		box-shadow: none !important;
		z-index: 100000 !important;
	}

	/* =====================================================
	   HFE OFF-CANVAS FLYOUT — OPEN STATE
	   ===================================================== */

	#ajs-mobile-navigation
		.hfe-flyout-content.push:has(> nav.menu-is-active),
	#ajs-mobile-navigation
		.hfe-flyout-content.push.menu-is-active,
	#ajs-mobile-navigation
		.hfe-flyout-content.push.hfe-flyout-show,
	#ajs-mobile-navigation
		.hfe-flyout-content.push.active {
		right: 4px !important;

		box-shadow:
			0 0 0 100vmax rgba(32, 17, 10, 0.55),
			-14px 0 35px rgba(32, 17, 10, 0.18) !important;
	}

	/* Lock page scrolling while HFE flyout is open */

	body:has(
		#ajs-mobile-navigation
		.hfe-flyout-content
		> nav.menu-is-active
	) {
		overflow: hidden !important;
	}

	/* =====================================================
	   FLYOUT HEADING
	   ===================================================== */

	#ajs-mobile-navigation .hfe-flyout-content.push::before {
		content: "AJ's Legacy Cakes";

		display: flex;
		flex: 0 0 auto;
		align-items: center;

		width: 100%;
		min-height: 92px;
		padding: 20px 72px 20px 38px;

		color: #3b1e10;
		font-family: "Cormorant Garamond", Georgia, serif;
		font-size: 26px;
		font-weight: 500;
		line-height: 1.1;

		border-bottom: 1px solid rgba(191, 121, 45, 0.28);
		box-sizing: border-box;
	}

	/* =====================================================
	   FLYOUT CLOSE BUTTON
	   ===================================================== */

	#ajs-mobile-navigation .hfe-flyout-close {
		position: absolute !important;
		top: 25px !important;
		right: 25px !important;
		bottom: auto !important;
		left: auto !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 42px !important;
		height: 42px !important;

		margin: 0 !important;
		padding: 8px !important;

		color: #3b1e10 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;

		cursor: pointer;
		z-index: 5 !important;
	}

	#ajs-mobile-navigation .hfe-flyout-close svg {
		display: block !important;
		width: 27px !important;
		height: 27px !important;
		fill: currentColor !important;
	}

	/* =====================================================
	   FLYOUT NAVIGATION AREA
	   ===================================================== */

	#ajs-mobile-navigation .hfe-flyout-content > nav {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;

		width: 100% !important;
		min-height: 0 !important;

		margin: 0 !important;
		padding: 0 !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	#ajs-mobile-navigation .hfe-flyout-content .hfe-nav-menu {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;

		width: 100% !important;
		min-height: 100% !important;

		margin: 0 !important;
		padding: 44px 38px 30px !important;

		list-style: none !important;
		box-sizing: border-box !important;
	}

	#ajs-mobile-navigation .hfe-flyout-content .menu-item {
		display: block !important;
		flex: 0 0 auto !important;

		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	/* =====================================================
	   STANDARD FLYOUT LINKS
	   ===================================================== */

	#ajs-mobile-navigation
		.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		display: flex !important;
		align-items: center !important;

		width: 100% !important;
		min-height: 82px !important;

		margin: 0 !important;
		padding: 12px 0 !important;

		color: #3b1e10 !important;
		background: transparent !important;
		border: 0 !important;

		font-family: "Cormorant Garamond", Georgia, serif !important;
		font-size: clamp(34px, 5vw, 46px) !important;
		font-weight: 400 !important;
		letter-spacing: 0 !important;
		line-height: 1.05 !important;

		text-align: left !important;
		text-decoration: none !important;
		text-transform: none !important;
		white-space: normal !important;
	}

	#ajs-mobile-navigation
		.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item:hover,
	#ajs-mobile-navigation
		.hfe-flyout-content
		.current-menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		color: #bf792d !important;
	}

	/* =====================================================
	   MOBILE ORDER NOW CTA
	   ===================================================== */

	#ajs-mobile-navigation
		.hfe-flyout-content
		.ajs-mobile-order-link {
		margin-top: auto !important;
		padding-top: 28px !important;
		border-top: 1px solid rgba(191, 121, 45, 0.28);
	}

	#ajs-mobile-navigation
		.hfe-flyout-content
		.ajs-mobile-order-link
		> .hfe-menu-item {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-height: 64px !important;

		margin: 0 !important;
		padding: 16px 24px !important;

		color: #fff8ec !important;
		background: #3b1708 !important;
		border: 1px solid #3b1708 !important;

		font-family: inherit !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		letter-spacing: 0.22em !important;
		line-height: 1.2 !important;

		text-align: center !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
	}

	#ajs-mobile-navigation
		.hfe-flyout-content
		.ajs-mobile-order-link
		> .hfe-menu-item:hover {
		color: #3b1708 !important;
		background: #bf792d !important;
		border-color: #bf792d !important;
	}
}

/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {
	.ajs-site-header-row {
		flex-flow: row nowrap !important;
		gap: 20px;
		min-height: 88px;
		padding: 16px 24px !important;
	}

	.ajs-header-brand {
		flex: 0 1 auto !important;
	}

	.ajs-header-actions {
		flex: 0 0 auto !important;
		gap: 12px;
		width: auto !important;
		min-width: 0 !important;
	}

	.ajs-header-controls {
		gap: 10px;
	}

	.ajs-header-order-button {
		display: block !important;
	}

	.ajs-announcement-bar {
		min-height: 42px;
		padding: 8px 20px !important;
	}
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
	/* Announcement bar */

	.ajs-announcement-bar {
		min-height: 0;
		padding: 9px 16px !important;
	}

	.ajs-announcement-bar p,
	.ajs-announcement-bar a,
	.ajs-announcement-bar span {
		max-width: 100%;
		font-size: 10px !important;
		letter-spacing: 0.12em;
		line-height: 1.45;
		text-align: center;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	/* Main mobile header row */

	.ajs-site-header-row {
		position: relative !important;
		display: block !important;

		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		min-height: 96px !important;

		margin: 0 !important;
		padding: 12px 16px !important;

		box-sizing: border-box;
		overflow: visible !important;
	}

	/* Brand positioned on the left */

	.ajs-header-brand {
		position: absolute !important;
		top: 50% !important;
		left: 16px !important;
		right: auto !important;
		bottom: auto !important;

		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;

		width: 84px !important;
		min-width: 84px !important;
		max-width: 84px !important;
		height: 72px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: translateY(-50%) !important;
		z-index: 2;
	}

	.ajs-header-brand img {
		display: block !important;

		width: auto !important;
		max-width: 84px !important;
		max-height: 72px !important;
		height: auto !important;

		margin: 0 !important;
	}

	/*
	 * Header Actions are centered without using transform.
	 * Transform would trap the fixed HFE flyout inside this row.
	 */

	.ajs-header-actions {
		position: absolute !important;
		top: calc(50% - 22px) !important;
		right: 16px !important;
		left: auto !important;
		bottom: auto !important;

		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 7px !important;

		width: auto !important;
		min-width: 0 !important;
		max-width: calc(100% - 124px) !important;
		height: 44px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
		overflow: visible !important;
		z-index: 3;
	}

	.ajs-header-controls {
		position: relative !important;
		display: flex !important;
		flex: 0 0 auto !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 6px !important;

		width: auto !important;
		min-width: 0 !important;
		height: 40px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
		overflow: visible !important;
	}

	.ajs-header-controls > * {
		position: relative !important;
		inset: auto !important;

		flex: 0 0 36px !important;

		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 40px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
	}

	.ajs-header-search,
	.ajs-header-account,
	.ajs-header-bag-widget {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.ajs-header-actions .elementor-button {
		min-width: 36px;
		min-height: 36px;
		padding: 5px !important;
	}

	/* Desktop Order Now is replaced by the drawer CTA */

	.ajs-header-order-button {
		display: none !important;
	}

	/* Mobile drawer refinements */

	#ajs-mobile-navigation .hfe-flyout-content.push {
		width: min(440px, 86vw) !important;
	}

	#ajs-mobile-navigation .hfe-flyout-content.push::before {
		padding-right: 68px;
		padding-left: 32px;
		font-size: 24px;
	}

	#ajs-mobile-navigation .hfe-flyout-content .hfe-nav-menu {
		padding: 36px 32px 28px !important;
	}

	#ajs-mobile-navigation
		.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		min-height: 76px !important;
		font-size: clamp(32px, 8vw, 43px) !important;
	}
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {
	.ajs-site-header-row {
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.ajs-header-brand {
		left: 12px !important;

		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
	}

	.ajs-header-brand img {
		max-width: 76px !important;
	}

	.ajs-header-actions {
		right: 12px !important;
		gap: 4px !important;
		max-width: calc(100% - 104px) !important;
	}

	.ajs-header-controls {
		gap: 3px !important;
	}

	.ajs-header-controls > * {
		flex-basis: 34px !important;

		width: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
	}

	#ajs-mobile-navigation {
		flex-basis: 38px !important;

		width: 38px !important;
		min-width: 38px !important;
		max-width: 38px !important;
	}

	#ajs-mobile-navigation .hfe-nav-menu-icon,
	#ajs-mobile-navigation .elementor-menu-toggle,
	#ajs-mobile-navigation .e-n-menu-toggle {
		width: 38px !important;
		min-width: 38px !important;
		height: 40px !important;
	}

	#ajs-mobile-navigation .hfe-flyout-content.push {
		width: calc(100vw - 56px) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 8px) !important;
	}

	#ajs-mobile-navigation .hfe-flyout-content.push::before {
		min-height: 82px;
		padding: 18px 62px 18px 24px;
		font-size: 21px;
	}

	#ajs-mobile-navigation .hfe-flyout-close {
		top: 20px !important;
		right: 20px !important;
		width: 38px !important;
		height: 38px !important;
	}

	#ajs-mobile-navigation .hfe-flyout-content .hfe-nav-menu {
		padding: 28px 24px 24px !important;
	}

	#ajs-mobile-navigation
		.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		min-height: 68px !important;
		font-size: clamp(29px, 8vw, 38px) !important;
	}
}


/* =========================================================
   HFE PORTALED FLYOUT — FINAL OVERRIDE
   HFE renders this panel outside #ajs-mobile-navigation
   ========================================================= */

@media (max-width: 1024px) {

	/* ---------------------------------------------------------
	   Drawer shell — closed state
	   --------------------------------------------------------- */

	.hfe-flyout-content.push {
		min-width: 280px !important;
		max-width: calc(100vw - 8px) !important;
		border-radius: 30px !important;
		transition:
			right 0.4s cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow 0.4s ease !important;

		box-shadow: none !important;
	}

	/* ---------------------------------------------------------
	   Drawer — open state
	   --------------------------------------------------------- */

	.hfe-flyout-content.push:has(> nav.menu-is-active),
	.hfe-flyout-content.push.menu-is-active,
	.hfe-flyout-content.push.hfe-flyout-show,
	.hfe-flyout-content.push.active {
		right: 4px !important;

		box-shadow:
			0 0 0 100vmax rgba(32, 17, 10, 0.55),
			-14px 0 35px rgba(32, 17, 10, 0.18) !important;
	}

	/* Prevent background scrolling */
	body:has(.hfe-flyout-content > nav.menu-is-active) {
		overflow: hidden !important;
	}

	/* ---------------------------------------------------------
	   Drawer heading
	   --------------------------------------------------------- */

	.hfe-flyout-content.push::before {
		content: "AJ's Legacy Cakes";
		flex: 0 0 92px !important;
		min-height: 92px !important;
		padding: 20px 72px 20px 38px !important;
		line-height: 1.1 !important;
	}

	/* ---------------------------------------------------------
	   Close button
	   --------------------------------------------------------- */

	.hfe-flyout-content .hfe-flyout-close {
		top: 25px !important;
		right: 25px !important;
		padding: 8px !important;
	}

	.hfe-flyout-content .hfe-flyout-close svg {
		display: block !important;
		width: 27px !important;
		height: 27px !important;
		fill: currentColor !important;
	}

	/* ---------------------------------------------------------
	   Navigation area
	   --------------------------------------------------------- */

	.hfe-flyout-content > nav {

		background: #fff8ec !important;
	}

	.hfe-flyout-content .hfe-nav-menu {
		gap: 0 !important;

		list-style: none !important;
	}

	.hfe-flyout-content .hfe-nav-menu > .menu-item {
		display: block !important;
		flex: 0 0 auto !important;

		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	/* ---------------------------------------------------------
	   Navigation links
	   --------------------------------------------------------- */

	.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		display: flex !important;
		align-items: center !important;

		width: 100% !important;
		min-height: 82px !important;

		margin: 0 !important;
		padding: 12px 0 !important;

		color: #3b1e10 !important;
		background: transparent !important;
		border: 0 !important;

		font-family: "Cormorant Garamond", Georgia, serif !important;
		font-size: clamp(34px, 5vw, 46px) !important;
		font-weight: 400 !important;
		letter-spacing: 0 !important;
		line-height: 1.05 !important;

		text-align: left !important;
		text-decoration: none !important;
		text-transform: none !important;
		white-space: normal !important;
	}

	.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item:hover,
	.hfe-flyout-content
		.current-menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		color: #bf792d !important;
	}

	/* ---------------------------------------------------------
	   Order Now CTA
	   --------------------------------------------------------- */

	.hfe-flyout-content .ajs-mobile-order-link {
		margin-top: auto !important;
		padding-top: 28px !important;
		border-top: 1px solid rgba(191, 121, 45, 0.28) !important;
	}

	.hfe-flyout-content
		.ajs-mobile-order-link
		> .hfe-menu-item {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-height: 64px !important;

		margin: 0 !important;
		padding: 16px 24px !important;

		color: #fff8ec !important;
		background: #3b1708 !important;
		border: 1px solid #3b1708 !important;
		border-radius: 0 !important;

		font-family: inherit !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		letter-spacing: 0.22em !important;
		line-height: 1.2 !important;

		text-align: center !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
	}

	.hfe-flyout-content
		.ajs-mobile-order-link
		> .hfe-menu-item:hover {
		color: #3b1708 !important;
		background: #bf792d !important;
		border-color: #bf792d !important;
	}
}

/* =========================================================
   MOBILE DRAWER REFINEMENTS
   ========================================================= */

@media (max-width: 767px) {


	.hfe-flyout-content .hfe-nav-menu {
		padding: 36px 32px 28px !important;
	}

	.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		min-height: 76px !important;
		font-size: clamp(32px, 8vw, 43px) !important;
	}
}

@media (max-width: 420px) {
	.hfe-flyout-content.push {
		width: calc(100vw - 56px) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 8px) !important;
	}

	.hfe-flyout-content.push::before {
		min-height: 82px !important;
		padding: 18px 62px 18px 24px !important;
	}

	.hfe-flyout-content .hfe-flyout-close {
		top: 20px !important;
		right: 20px !important;
		width: 38px !important;
		height: 38px !important;
	}

	.hfe-flyout-content .hfe-nav-menu {
		padding: 28px 24px 24px !important;
	}

	.hfe-flyout-content
		.menu-item:not(.ajs-mobile-order-link)
		> .hfe-menu-item {
		min-height: 68px !important;
		font-size: clamp(29px, 8vw, 38px) !important;
	}
}

/* =========================================================
   HFE DRAWER — FINAL ALIGNMENT CORRECTIONS
   ========================================================= */

@media (max-width: 1024px) {

	/* Ensure the drawer establishes its own positioning context */


	/* ---------------------------------------------------------
	   Correct the drawer heading
	   --------------------------------------------------------- */

	.hfe-flyout-content.push::before {
		position: relative !important;
		inset: auto !important;

		display: flex !important;
		flex: 0 0 102px !important;
		align-items: center !important;

		width: 100% !important;
		height: 102px !important;
		min-height: 102px !important;

		margin: 0 !important;
		padding: 10px 76px 10px 38px !important;

		color: #3b1e10 !important;
		background: #fff8ec !important;

		font-family: "Cormorant Garamond", Georgia, serif !important;
		font-size: 26px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;

		border-bottom: 1px solid rgba(191, 121, 45, 0.28) !important;

		box-sizing: border-box !important;
		transform: none !important;
		overflow: visible !important;
	}

	/* ---------------------------------------------------------
	   Replace boxed close SVG with a clean X
	   --------------------------------------------------------- */

	.hfe-flyout-content .hfe-flyout-close {
		position: absolute !important;
		top: 28px !important;
		right: 28px !important;
		bottom: auto !important;
		left: auto !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 42px !important;
		height: 42px !important;

		margin: 0 !important;
		padding: 0 !important;

		color: #3b1e10 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;

		transform: none !important;
		overflow: visible !important;
		cursor: pointer;
		z-index: 100 !important;
	}

	/* Hide the current window-close icon */
	.hfe-flyout-content .hfe-flyout-close svg {
		display: none !important;
	}

	/* Create the simple X from the reference */
	.hfe-flyout-content .hfe-flyout-close::before {
		content: "\00D7";

		display: block !important;

		color: #3b1e10 !important;
		font-family: Arial, Helvetica, sans-serif !important;
		font-size: 43px !important;
		font-weight: 300 !important;
		line-height: 1 !important;

		transform: none !important;
	}

	/* ---------------------------------------------------------
	   Make the navigation fill remaining drawer height
	   --------------------------------------------------------- */

	.hfe-flyout-content > nav {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;

		width: 100% !important;
		height: calc(100% - 102px) !important;
		min-height: 0 !important;

		margin: 0 !important;
		padding: 0 !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	.hfe-flyout-content .hfe-nav-menu {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		align-items: stretch !important;

		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;

		margin: 0 !important;
		padding: 44px 38px 30px !important;

		box-sizing: border-box !important;
	}

	/* ---------------------------------------------------------
	   Order Now fallback

	   Uses both the assigned class and last menu item so the
	   CTA works even if WordPress did not save the CSS class.
	   --------------------------------------------------------- */

	.hfe-flyout-content
		.hfe-nav-menu
		> li.ajs-mobile-order-link,
	.hfe-flyout-content
		.hfe-nav-menu
		> li:last-child {
		flex: 0 0 auto !important;
		width: 100% !important;

		margin-top: auto !important;
		padding-top: 28px !important;

		border-top: 1px solid rgba(191, 121, 45, 0.28) !important;
	}

	.hfe-flyout-content
		.hfe-nav-menu
		> li.ajs-mobile-order-link
		> .hfe-menu-item,
	.hfe-flyout-content
		.hfe-nav-menu
		> li:last-child
		> .hfe-menu-item {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-height: 64px !important;

		margin: 0 !important;
		padding: 16px 24px !important;

		color: #fff8ec !important;
		background: #3b1708 !important;
		border: 1px solid #3b1708 !important;
		border-radius: 0 !important;

		font-family: inherit !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		letter-spacing: 0.22em !important;
		line-height: 1.2 !important;

		text-align: center !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
	}

	.hfe-flyout-content
		.hfe-nav-menu
		> li.ajs-mobile-order-link
		> .hfe-menu-item:hover,
	.hfe-flyout-content
		.hfe-nav-menu
		> li:last-child
		> .hfe-menu-item:hover {
		color: #3b1708 !important;
		background: #bf792d !important;
		border-color: #bf792d !important;
	}
}

/* =========================================================
   MOBILE-SPECIFIC DRAWER SPACING
   ========================================================= */

@media (max-width: 767px) {
	.hfe-flyout-content.push::before {
		flex-basis: 94px !important;
		height: 94px !important;
		min-height: 94px !important;

		padding-right: 68px !important;
		padding-left: 32px !important;

		font-size: 24px !important;
	}

	.hfe-flyout-content .hfe-flyout-close {
		top: 25px !important;
		right: 25px !important;
		width: 38px !important;
		height: 38px !important;
	}

	.hfe-flyout-content .hfe-flyout-close::before {
		font-size: 39px !important;
	}

	.hfe-flyout-content > nav {
		height: calc(100% - 94px) !important;
	}

	.hfe-flyout-content .hfe-nav-menu {
		padding: 32px 32px 28px !important;
	}
}

@media (max-width: 420px) {
	.hfe-flyout-content.push::before {
		padding-right: 60px !important;
		padding-left: 24px !important;
		font-size: 21px !important;
	}

	.hfe-flyout-content .hfe-flyout-close {
		right: 19px !important;
	}

	.hfe-flyout-content .hfe-nav-menu {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}
}

/* =========================================================
   ANNOUNCEMENT BAR — FULL-WIDTH CONTAINER
   ========================================================= */

/* =========================================================
   ANNOUNCEMENT BAR
   ========================================================= */

.ajs-site-header {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: visible !important;
}

.ajs-announcement-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 34px;

	margin: 0 !important;
	padding: 0 !important;

	background: #2a0d04 !important;

	box-sizing: border-box !important;
	transform: none !important;
	overflow: visible !important;
}

.ajs-announcement-content {
	width: 100% !important;
	margin: 0 !important;
	padding: 7px 20px !important;

	text-align: center;
	box-sizing: border-box !important;
}

.ajs-announcement-content p,
.ajs-announcement-content a,
.ajs-announcement-content span {
	margin: 0 !important;
	line-height: 1.35;
}

@media (max-width: 767px) {
	.ajs-announcement-content {
		padding: 9px 16px !important;
	}

	.ajs-announcement-content p,
	.ajs-announcement-content a,
	.ajs-announcement-content span {
		font-size: 10px !important;
		letter-spacing: 0.12em;
		line-height: 1.45;
		text-align: center;
		white-space: normal !important;
	}
}

/* =========================================================
   KEEP HFE FLYOUT OUTSIDE HEADER DIMENSIONS
   ========================================================= */

@media (max-width: 1024px) {
	.elementor-location-header,
	.ajs-site-header-row,
	.ajs-header-actions,
	#ajs-mobile-navigation,
	.hfe-flyout-wrapper {
		transform: none !important;
		overflow: visible !important;
	}

	.hfe-flyout-wrapper {
		position: static !important;
		inset: auto !important;
		width: auto !important;
		height: auto !important;
	}

	.hfe-flyout-content.push {
		position: fixed !important;
		top: 4px !important;
		/*right: -100% !important;*/
		bottom: 4px !important;
		left: auto !important;

		width: min(680px, 86vw) !important;
		height: calc(100dvh - 8px) !important;
		min-height: calc(100dvh - 8px) !important;
		max-height: calc(100dvh - 8px) !important;
		z-index: 999999 !important;
	}


}

/* =========================================================
   HEADER STACKING ORDER — FLYOUT ABOVE ANNOUNCEMENT
   ========================================================= */

/* Announcement remains above page content, but below navigation */
.ajs-announcement-bar {
	position: relative !important;
	z-index: 1 !important;
}

/* Prevent inner announcement elements from creating higher layers */
.ajs-announcement-bar > *,
.ajs-announcement-content {
	position: relative;
	z-index: auto !important;
}

/* Main header/navigation establishes the higher stacking layer */
.ajs-site-header-row {
	position: relative !important;
	z-index: 10000 !important;
	overflow: visible !important;
}

.ajs-header-actions {
	z-index: 10010 !important;
	overflow: visible !important;
}

#ajs-mobile-navigation {
	z-index: 10020 !important;
	overflow: visible !important;
}

/* HFE wrapper must not constrain the fixed drawer */
.hfe-flyout-wrapper {
	position: static !important;
	overflow: visible !important;
	transform: none !important;
	z-index: 1000000 !important;
}

/* Flyout and backdrop render above the complete header */
.hfe-flyout-content.push {
	position: fixed !important;
	z-index: 2147483646 !important;
}

/* Close button remains the highest interactive element */


/* =========================================================
   HFE FLYOUT — STABLE NATIVE OPEN/CLOSE BEHAVIOR
   ========================================================= */

@media (max-width: 1024px) {

	/*
	 * HFE controls the outer .hfe-side element.
	 * Do not manually change its left/right open state.
	 */
	.hfe-flyout-wrapper .hfe-side {
		top: 0 !important;
		bottom: 0 !important;
		width: min(680px, 86vw) !important;
		max-width: calc(100vw - 8px) !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		z-index: 2147483645 !important;
	}

	/*
	 * Confirm Flyout Direction is set to Right in Elementor.
	 * HFE will control the right property and animation.
	 */


	/* Inner panel only fills HFE's drawer */
	.hfe-flyout-content.push {
		position: relative !important;
		inset: auto !important;

		display: flex !important;
		flex-direction: column !important;

		width: 100% !important;
		max-width: none !important;

		height: 100% !important;
		min-height: 100% !important;
		max-height: 100% !important;

		margin: 0 !important;
		padding: 0 !important;

		color: #3b1e10 !important;
		background: #fff8ec !important;
		border: 1px solid rgba(191, 121, 45, 0.22) !important;
		border-radius: 0px 0 0 0px !important;

		box-sizing: border-box !important;
		overflow: hidden !important;

		/*
		 * Critical: do not override HFE movement with a
		 * custom transition or transform.
		 */
		transform: none !important;
		transition: none !important;
		z-index: auto !important;
	}

	/* HFE backdrop stays behind the drawer */
	.hfe-flyout-overlay {
		position: fixed !important;
		inset: 0 !important;
		background: rgba(32, 17, 10, 0.55) !important;
		z-index: 2147483644 !important;
	}

	/* Keep the close button above the drawer content */
	.hfe-flyout-content .hfe-flyout-close {
		z-index: 10 !important;
	}

	/* Prevent header layers from covering the drawer */
	.ajs-announcement-bar {
		z-index: 1 !important;
	}

	.ajs-site-header-row {
		z-index: 2 !important;
	}
}

/* =========================================================
   HFE FLYOUT — BOTTOM VIEWPORT SPACING
   ========================================================= */

/* =========================================================
   HFE FLYOUT — BOTTOM GAP ONLY
   ========================================================= */

@media (max-width: 1024px) {

	/* Prevent header ancestors from offsetting position: fixed */
	.elementor-location-header,
	.ajs-site-header,
	.ajs-site-header-row,
	.ajs-header-actions,
	#ajs-mobile-navigation,
	.hfe-flyout-wrapper {
		transform: none !important;
		filter: none !important;
		perspective: none !important;
		overflow: visible !important;
	}

	/* Keep top edge fixed; lift only the bottom edge */
	.hfe-flyout-wrapper .hfe-side.hfe-flyout-right {
		position: fixed !important;
		display: block !important;
		visibility: hidden;
		pointer-events: none;
		transition: right 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 320ms !important;
		top: 0 !important;
		right: -100%;
		bottom: 16px !important;
		left: auto !important;

		/*
		 * Let top and bottom calculate the drawer height.
		 * Do not use 100dvh here.
		 */
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	.hfe-flyout-wrapper .hfe-side.hfe-flyout-right.hfe-flyout-show {
		visibility: visible;
		pointer-events: auto;
		transition-delay: 0s !important;
	}

	.hfe-flyout-wrapper
		.hfe-side
		.hfe-flyout-content.push {
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 0 !important;

		border-radius: 0px 0 0 0px !important;
		overflow: hidden !important;
	}
}

/* =========================================================
   STICKY MAIN HEADER
   Announcement scrolls away; main navigation remains visible
   ========================================================= */

.ajs-site-header,
.elementor-location-header {
	overflow: visible !important;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
}

/* Full-width sticky background wrapper */
.ajs-main-header-shell {
	position: relative !important;
	inset: auto !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #fff8ec !important;
	box-sizing: border-box !important;
	overflow: visible !important;

	transform: none !important;
	z-index: 10000 !important;
}

/* Applied by JavaScript after the announcement scrolls away */
.ajs-main-header-shell.ajs-main-header-is-sticky {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: 0 !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;

	box-shadow: 0 8px 24px rgba(59, 30, 16, 0.1);
	z-index: 10000 !important;
}

/* Spacer prevents the page from jumping */
.ajs-main-header-placeholder {
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
}

/* =========================================================
   STICKY HEADER — DYNAMIC TOP POSITION
   ========================================================= */

.ajs-main-header-shell.ajs-main-header-is-sticky {
	top: var(--ajs-admin-bar-height, 0px) !important;
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
	.hfe-flyout-wrapper .hfe-side.hfe-flyout-right {
		transition: none !important;
	}
}

/* Keep HFE flyout above the fixed header */
.hfe-flyout-overlay {
	z-index: 2147483644 !important;
}

.hfe-flyout-wrapper .hfe-side {
	z-index: 2147483645 !important;
}

.hfe-flyout-content .hfe-flyout-close {
	z-index: 2147483647 !important;
}


/* =========================================================
   AJ'S LEGACY CAKES — CONTACT FORM 7
   ========================================================= */

.elementor .elementor-element.elementor-element-9d06ba1 {
	padding: 0 !important;
}

.ajs-contact-form {
	--ajs-form-background: #fffdf8;
	--ajs-form-text: #35180d;
	--ajs-form-accent: #ad6e2c;
	--ajs-form-border: #dec49d;
	--ajs-form-button: #3b1708;
	--ajs-form-button-text: #fffaf0;

	width: 100%;
	margin: 0;
	padding: clamp(24px, 3vw, 32px);
	border: 1px solid #edddc5;

	color: var(--ajs-form-text);
	background: var(--ajs-form-background);

	box-sizing: border-box;
}

/* Remove extra paragraphs inserted by WordPress/CF7 */
.ajs-contact-form p {
	margin: 0;
}

/* CF7 wraps each label/control pair in a paragraph and inserts line breaks. */
.ajs-contact-field > p {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ajs-contact-field br {
	display: none;
}

/* =========================================================
   TWO-COLUMN GRID
   ========================================================= */

.ajs-contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
	row-gap: 26px;

	width: 100%;
	margin: 0;
	padding: 0;
}

/* Message occupies both columns */
.ajs-contact-field-full {
	grid-column: 1 / -1;
}

/* =========================================================
   FIELD GROUPS AND LABELS
   ========================================================= */

.ajs-contact-field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 13px;

	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.ajs-contact-field label {
	display: block;
	width: 100%;
	margin: 0;

	color: var(--ajs-form-accent);

	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.25;

	text-align: left;
	text-transform: uppercase;
}

.ajs-contact-optional {
	font: inherit;
	letter-spacing: inherit;
}

/* =========================================================
   CONTACT FORM 7 WRAPPERS
   ========================================================= */

.ajs-contact-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

/* =========================================================
   INPUTS, SELECT AND TEXTAREA
   ========================================================= */

.ajs-contact-form input:not([type="submit"]),
.ajs-contact-form select,
.ajs-contact-form textarea {
	display: block;
	width: 100%;
	max-width: 100%;

	margin: 0;
	padding: 12px 16px;

	color: var(--ajs-form-text);
	background-color: transparent;
	border: 1px solid var(--ajs-form-border);
	border-radius: 0;

	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;

	box-sizing: border-box;
	box-shadow: none;
	outline: none;

	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease;
}

.ajs-contact-form input:not([type="submit"]),
.ajs-contact-form select {
	height: 44px;
	min-height: 44px;
}

.ajs-contact-form select {
	padding-right: 42px;
	cursor: pointer;
}

.ajs-contact-form textarea {
	height: 154px;
	min-height: 154px;
	resize: vertical;
}

/* Prevent browser autofill from changing the design */
.ajs-contact-form input:-webkit-autofill,
.ajs-contact-form input:-webkit-autofill:hover,
.ajs-contact-form input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--ajs-form-text);
	-webkit-box-shadow:
		0 0 0 1000px var(--ajs-form-background) inset;
	transition: background-color 9999s ease-out;
}

/* Focus state */
.ajs-contact-form input:not([type="submit"]):focus,
.ajs-contact-form select:focus,
.ajs-contact-form textarea:focus {
	background-color: #fffefa;
	border-color: var(--ajs-form-accent);
	box-shadow: 0 0 0 2px rgba(173, 110, 44, 0.1);
}

/* =========================================================
   SUBMIT BUTTON
   ========================================================= */

.ajs-contact-submit-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	width: 100%;
	margin-top: 26px;
}

.ajs-contact-form .ajs-contact-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: auto;
	min-width: 170px;
	min-height: 44px;

	margin: 0;
	padding: 12px 24px;

	color: var(--ajs-form-button-text);
	background: var(--ajs-form-button);
	border: 1px solid var(--ajs-form-button);
	border-radius: 0;

	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.2;

	text-align: center;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: none;
	cursor: pointer;

	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.ajs-contact-form .ajs-contact-submit:hover {
	color: var(--ajs-form-button);
	background: #c18036;
	border-color: #c18036;
	transform: translateY(-1px);
}

.ajs-contact-form .ajs-contact-submit:focus-visible {
	outline: 2px solid var(--ajs-form-accent);
	outline-offset: 3px;
}

/* CF7 spinner beside submit button */
.ajs-contact-form .wpcf7-spinner {
	margin: 0 0 0 14px;
	vertical-align: middle;
}

/* =========================================================
   VALIDATION AND RESPONSE MESSAGES
   ========================================================= */

.ajs-contact-form .wpcf7-not-valid {
	border-color: #a30b12;
}

.ajs-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 7px;

	color: #a30b12;
	font-family: inherit;
	font-size: 13px;
	line-height: 1.4;
}

.ajs-contact-form .wpcf7-response-output {
	margin: 24px 0 0 !important;
	padding: 14px 16px !important;

	color: var(--ajs-form-text);
	background: transparent;
	border: 1px solid var(--ajs-form-border) !important;
	border-radius: 4px;

	font-size: 14px;
	line-height: 1.5;
}

.ajs-contact-form form.sent .wpcf7-response-output,
.ajs-contact-form + .wpcf7-response-output {
	border-color: #718557 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #718557 !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #a30b12 !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
	.ajs-contact-form {
		padding: 28px;
	}

	.ajs-contact-form-grid {
		column-gap: 24px;
		row-gap: 26px;
	}

	.ajs-contact-form textarea {
		height: 154px;
	}
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
	.ajs-contact-form {
		padding: 30px 20px;
	}

	.ajs-contact-form-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ajs-contact-field-full {
		grid-column: auto;
	}

	.ajs-contact-field {
		gap: 10px;
	}

	.ajs-contact-field label {
		font-size: 12px;
		letter-spacing: 0.14em;
	}

	.ajs-contact-form input:not([type="submit"]),
	.ajs-contact-form select {
		height: 52px;
		min-height: 52px;
	}

	.ajs-contact-form textarea {
		height: 180px;
		min-height: 180px;
	}

	.ajs-contact-submit-row {
		margin-top: 26px;
	}

	.ajs-contact-form .ajs-contact-submit {
		width: 100%;
		min-width: 0;
		min-height: 56px;
	}
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {
	.ajs-contact-form {
		padding-right: 16px;
		padding-left: 16px;
	}

	.ajs-contact-form input:not([type="submit"]),
	.ajs-contact-form select,
	.ajs-contact-form textarea {
		padding-right: 13px;
		padding-left: 13px;
		font-size: 17px;
	}
}
