:root {
    --agapio-black: #050505;
    --agapio-white: #ffffff;
    --agapio-ink: #151515;
    --agapio-muted: #666666;
    --agapio-accent: #b33b69;
    --agapio-line: #e5e5e5;
    --agapio-header-height: 84px;
}

/* The page is white. Only the real site header and mobile drawer are black. */
html,
body,
body.tb_body,
#tb_wrapper,
.tb_body,
.tb-content,
.main-content,
.site-main,
.archive-products,
.single-product,
.woocommerce,
body:not(.wp-admin) .vc_row,
body:not(.wp-admin) .wpb_wrapper,
body:not(.wp-admin) .ro-welcome,
body:not(.wp-admin) .ro_contact,
body:not(.wp-admin) .tb-footer-wrap,
body:not(.wp-admin) footer {
    background-color: #fff !important;
    color: var(--agapio-ink) !important;
}

body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) h4,
body:not(.wp-admin) h5,
body:not(.wp-admin) h6,
body:not(.wp-admin) p,
body:not(.wp-admin) li,
body:not(.wp-admin) label,
body:not(.wp-admin) .woocommerce,
body:not(.wp-admin) .woocommerce a:not(.button):not(.agapio-button),
body:not(.wp-admin) .tb-footer-wrap a,
body:not(.wp-admin) footer a {
    color: var(--agapio-ink);
}

body:not(.wp-admin) {
    overflow-x: hidden;
}

/* Remove every legacy Vineyard header/spacer if a cached template emits one. */
.tb-header-wrap,
.tb-shop-header-space,
.tb-blog-header-space,
.tb_top_sidebar_wrap,
#tb_wrapper > .header-menu,
#tb_wrapper > .menubar {
    display: none !important;
}

/* -------------------------------------------------------------------------
   Stable header
   ------------------------------------------------------------------------- */
.agapio-site-header {
    position: sticky;
    top: 0;
    z-index: 9998;
    width: 100%;
    height: var(--agapio-header-height);
    margin: 0;
    padding: 0;
    border: 0 !important;
    outline: 0 !important;
    background: #000 !important;
    box-shadow: none !important;
    color: #fff !important;
}

.admin-bar .agapio-site-header {
    top: 32px;
}

.agapio-site-header::before,
.agapio-site-header::after,
.agapio-site-header *::before,
.agapio-site-header *::after {
    box-sizing: border-box;
}

.agapio-site-header__inner {
    display: grid;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 26px;
    width: min(1320px, 100%);
    height: 100%;
    margin: 0 auto;
    padding: 0 28px;
    background: #000 !important;
}

.agapio-header-brand,
.agapio-brand {
    display: inline-flex !important;
    min-width: 0;
    align-items: center;
    gap: 12px;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    line-height: 1;
    text-decoration: none !important;
}

.agapio-header-brand:hover,
.agapio-header-brand:focus,
.agapio-header-brand:visited {
    color: #fff !important;
    text-decoration: none !important;
}

.agapio-header-brand__symbol,
.agapio-brand__symbol {
    display: block !important;
    flex: 0 0 auto;
    width: 46px !important;
    height: 52px !important;
    max-width: 46px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

.agapio-header-brand__name,
.agapio-brand__name {
    display: inline-block !important;
    overflow: visible;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.8vw, 29px);
    font-weight: 400;
    letter-spacing: 0.055em;
    line-height: 1;
    text-shadow: none;
    white-space: nowrap;
}

.agapio-primary-navigation {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    background: #000 !important;
}

.agapio-primary-menu,
.agapio-primary-navigation > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2.5vw, 38px);
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.agapio-primary-menu > li,
.agapio-primary-navigation > ul > li {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.agapio-primary-menu > li > a,
.agapio-primary-navigation > ul > li > a {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.11em;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.agapio-primary-menu > li > a:hover,
.agapio-primary-menu > li > a:focus-visible,
.agapio-primary-menu > li.current-menu-item > a,
.agapio-primary-menu > li.current_page_item > a {
    color: #fff !important;
    opacity: 0.72;
}

.agapio-primary-menu .sub-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    z-index: 10;
    display: none;
    min-width: 210px;
    margin: 0;
    padding: 10px 0;
    border: 1px solid #252525;
    background: #080808 !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
    list-style: none;
    transform: translateX(-50%);
}

.agapio-primary-menu li:hover > .sub-menu,
.agapio-primary-menu li:focus-within > .sub-menu {
    display: block;
}

.agapio-primary-menu .sub-menu a {
    display: block;
    padding: 11px 18px !important;
    color: #fff !important;
    font-size: 13px;
    text-decoration: none !important;
    white-space: nowrap;
}

.agapio-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.agapio-header-action {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    cursor: pointer;
    text-decoration: none !important;
}

.agapio-header-action:hover,
.agapio-header-action:focus-visible {
    color: #fff !important;
    opacity: 0.68;
}

.agapio-header-action svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.agapio-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
}

.agapio-menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    margin: 0;
    border: 0;
    background: #fff !important;
    transition: transform 180ms ease, opacity 180ms ease;
}

.agapio-site-header[data-menu-open="true"] .agapio-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.agapio-site-header[data-menu-open="true"] .agapio-menu-toggle span:nth-child(2) {
    opacity: 0;
}

.agapio-site-header[data-menu-open="true"] .agapio-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.agapio-mobile-tools {
    display: none;
}

.agapio-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 9996;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, 0.62);
    cursor: pointer;
}

.agapio-menu-overlay[hidden] {
    display: none !important;
}

body.agapio-nav-open,
html.agapio-nav-open {
    overflow: hidden !important;
}

/* -------------------------------------------------------------------------
   Poster and home content
   ------------------------------------------------------------------------- */
.agapio-global-promo {
    width: 100%;
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid var(--agapio-line);
    background: #fff !important;
    text-align: center;
}

.agapio-global-promo a {
    display: block;
    width: 100%;
}

.agapio-global-promo img {
    display: block;
    width: 100%;
    max-height: 300px;
    margin: 0 auto;
    border: 0;
    background: #fff;
    object-fit: contain;
    object-position: center;
}

.home .home_pageaaa,
.home .rev_slider_wrapper.home_pageaaa,
.home video.rev-slidebg,
.home .tp-videolayer {
    display: none !important;
}

.agapio-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
    align-items: center;
    gap: clamp(42px, 7vw, 104px);
    width: min(1280px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(72px, 8vw, 120px) 0 clamp(78px, 9vw, 136px);
    background: #fff !important;
    color: var(--agapio-ink) !important;
}

.agapio-home-hero__brand {
    display: grid;
    grid-template-columns: minmax(120px, 205px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 58px);
}

.agapio-home-hero__brand > img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 260px;
    margin: 0;
    border: 0;
    background: transparent;
    object-fit: contain;
}

.agapio-home-hero__eyebrow,
.agapio-shop-category__eyebrow,
.agapio-collection-intro__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--agapio-accent) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.agapio-home-hero h1 {
    margin: 0 0 20px;
    color: var(--agapio-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 7vw, 92px);
    font-weight: 400;
    line-height: 0.96;
}

.agapio-home-hero p {
    max-width: 540px;
    margin: 0 0 28px;
    color: var(--agapio-muted) !important;
    font-size: clamp(16px, 1.8vw, 21px);
    line-height: 1.65;
}

.agapio-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
#place_order {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 25px !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: uppercase;
}

.agapio-home-hero__wines {
    display: block;
    align-self: center;
    margin: clamp(54px, 7vw, 96px) 0 0;
    padding-top: 18px;
    text-decoration: none;
}

.agapio-home-hero__wines img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 590px;
    margin: 0;
    border: 0;
    background: #fff;
    object-fit: contain;
    object-position: center bottom;
}

/* -------------------------------------------------------------------------
   Shop, products, title bars and checkout: white canvas
   ------------------------------------------------------------------------- */
.agapio-shop-categories {
    margin: 0 0 54px;
    padding: 36px 0 10px;
}

.agapio-shop-categories h2,
.agapio-collection-intro h1,
.shop-title-bar .page-title {
    color: var(--agapio-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.agapio-shop-categories h2,
.agapio-collection-intro h1 {
    margin: 0 0 28px;
    font-size: clamp(36px, 5vw, 62px);
}

.agapio-shop-categories__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.agapio-shop-category {
    display: flex;
    min-height: 170px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 26px;
    border: 1px solid var(--agapio-line);
    background: #fff !important;
    color: var(--agapio-ink) !important;
    text-decoration: none !important;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.agapio-shop-category:hover,
.agapio-shop-category:focus-visible {
    border-color: #999;
    color: var(--agapio-ink) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}

.agapio-shop-category__title {
    color: var(--agapio-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.08;
}

.agapio-collection-intro {
    width: min(900px, 100%);
    margin: 0 auto 46px;
    padding: 42px 20px 0;
    background: #fff !important;
    text-align: center;
}

.agapio-collection-intro p {
    color: var(--agapio-muted) !important;
    font-size: 18px;
}

.page-shop-grid-full-width .products,
.page-id-1775 .products,
.woocommerce .products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    border: 1px solid var(--agapio-line);
    background: #fff !important;
    color: var(--agapio-ink) !important;
}

.woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    border: 0;
    background: #fff !important;
    object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
    margin-right: 20px !important;
    margin-left: 20px !important;
}

.tb-title-wrapper,
.shop-title-bar,
.tb-title-wrapper .container-height,
.single-product .tb-title-wrapper,
.single-product .summary,
.single-product .product,
.woocommerce-tabs,
.woocommerce-tabs .panel,
.woocommerce-tabs ul.tabs {
    background: #fff !important;
    color: var(--agapio-ink) !important;
}

.tb-title-wrapper {
    border-top: 0;
    border-bottom: 1px solid var(--agapio-line);
}

.shop-title-bar .page-title {
    font-size: clamp(38px, 6vw, 70px) !important;
}

.tb-breadcrumb-shop,
.tb-breadcrumb-shop a,
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
    color: var(--agapio-muted) !important;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 54px 0 90px;
    background: #fff !important;
}

.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce-cart-form,
.cart_totals,
#order_review,
.woocommerce-checkout-review-order {
    padding: clamp(20px, 4vw, 38px);
    border: 1px solid var(--agapio-line) !important;
    background: #fff !important;
    color: var(--agapio-ink) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select,
.select2-container--default .select2-selection--single,
.agapio-search-form input,
.agapio-mobile-search input {
    min-height: 48px;
    border: 1px solid #bbb !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111 !important;
}

.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: var(--agapio-line) !important;
    background: #fff !important;
    color: var(--agapio-ink) !important;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    border-top-color: var(--agapio-accent) !important;
    background: #fafafa !important;
    color: var(--agapio-ink) !important;
}

/* Search dialog */
.agapio-search-dialog {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: grid;
    place-items: start center;
    padding: max(94px, env(safe-area-inset-top)) 20px 30px;
    background: rgba(0, 0, 0, 0.84);
}

.agapio-search-dialog[hidden] {
    display: none !important;
}

.agapio-search-dialog__close {
    position: fixed;
    top: max(20px, env(safe-area-inset-top));
    right: max(20px, env(safe-area-inset-right));
    width: 48px;
    height: 48px;
    border: 1px solid #444;
    background: #111;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
}

.agapio-search-form {
    width: min(680px, 100%);
    padding: 30px;
    border: 1px solid #333;
    background: #fff;
    color: var(--agapio-ink);
}

.agapio-search-form label {
    display: block;
    margin-bottom: 12px;
    color: var(--agapio-ink) !important;
    font-size: 22px;
}

.agapio-search-form > div {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}

.agapio-search-form input {
    width: 100%;
    padding: 10px 14px;
}

.agapio-search-form button,
.agapio-mobile-search button {
    min-width: 104px;
    border: 1px solid #fff;
    background: #000;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}

html.agapio-search-open,
html.agapio-search-open body {
    overflow: hidden !important;
}

@media (max-width: 1100px) {
    .agapio-site-header__inner {
        grid-template-columns: minmax(200px, auto) minmax(0, 1fr) auto;
        gap: 16px;
        padding-right: 20px;
        padding-left: 20px;
    }

    .agapio-primary-menu,
    .agapio-primary-navigation > ul {
        gap: 18px;
    }

    .agapio-primary-menu > li > a,
    .agapio-primary-navigation > ul > li > a {
        font-size: 12px;
        letter-spacing: 0.08em;
    }
}

@media (max-width: 991px) {
    :root {
        --agapio-header-height: 68px;
    }

    .admin-bar .agapio-site-header {
        top: 46px;
    }

    .agapio-site-header {
        overflow: visible;
    }

    .agapio-site-header__inner {
        display: flex;
        height: var(--agapio-header-height);
        justify-content: space-between;
        gap: 12px;
        padding: 0 max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));
    }

    .agapio-header-brand {
        position: relative;
        z-index: 10002;
        max-width: calc(100% - 62px);
        gap: 8px;
    }

    .agapio-header-brand__symbol,
    .agapio-brand__symbol {
        width: 35px !important;
        height: 42px !important;
        max-width: 35px !important;
        max-height: 42px !important;
    }

    .agapio-header-brand__name,
    .agapio-brand__name {
        display: inline-block !important;
        max-width: none;
        color: #fff !important;
        font-size: clamp(16px, 5vw, 20px);
        letter-spacing: 0.035em;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .agapio-header-actions {
        display: none;
    }

    .agapio-menu-toggle {
        position: relative;
        z-index: 10002;
        display: inline-flex;
        flex: 0 0 44px;
    }

    .agapio-primary-navigation {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10000;
        display: block;
        width: min(88vw, 370px);
        height: 100dvh;
        padding: max(90px, calc(env(safe-area-inset-top) + 82px)) 24px max(30px, env(safe-area-inset-bottom));
        overflow-y: auto;
        border: 0;
        background: #050505 !important;
        box-shadow: -18px 0 45px rgba(0, 0, 0, 0.38);
        transform: translateX(102%);
        transition: transform 220ms ease;
        visibility: hidden;
    }

    .admin-bar .agapio-primary-navigation {
        padding-top: max(136px, calc(env(safe-area-inset-top) + 128px));
    }

    .agapio-site-header[data-menu-open="true"] .agapio-primary-navigation {
        transform: translateX(0);
        visibility: visible;
    }

    .agapio-primary-menu,
    .agapio-primary-navigation > ul {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .agapio-primary-menu > li,
    .agapio-primary-navigation > ul > li {
        width: 100%;
    }

    .agapio-primary-menu > li > a,
    .agapio-primary-navigation > ul > li > a {
        display: flex;
        min-height: 56px;
        width: 100%;
        align-items: center;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.17) !important;
        color: #fff !important;
        font-size: 14px;
        letter-spacing: 0.1em;
    }

    .agapio-primary-menu .sub-menu {
        position: static;
        display: block;
        min-width: 0;
        padding: 0 0 8px 14px;
        border: 0;
        background: transparent !important;
        box-shadow: none;
        transform: none;
    }

    .agapio-primary-menu .sub-menu a {
        padding: 10px 0 !important;
        color: #ddd !important;
        white-space: normal;
    }

    .agapio-mobile-tools {
        display: block;
        margin-top: 28px;
    }

    .agapio-mobile-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }

    .agapio-mobile-search input {
        width: 100%;
        padding: 10px 12px;
    }

    .agapio-mobile-search button {
        min-width: 82px;
        padding: 0 12px;
    }

    .agapio-mobile-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 14px;
    }

    .agapio-mobile-links a {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.24);
        color: #fff !important;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none !important;
        text-transform: uppercase;
    }

    .agapio-home-hero {
        grid-template-columns: 1fr;
        width: min(100% - 32px, 760px);
        gap: 38px;
        padding: 62px 0 82px;
    }

    .agapio-home-hero__wines {
        width: min(620px, 100%);
        margin: 48px auto 0;
        padding-top: 20px;
    }

    .agapio-shop-categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .agapio-global-promo img {
        max-height: 210px;
    }

    .agapio-home-hero {
        width: min(100% - 28px, 720px);
        gap: 30px;
        padding: 48px 0 72px;
    }

    .agapio-home-hero__brand {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 18px;
    }

    .agapio-home-hero h1 {
        font-size: clamp(40px, 13vw, 64px);
    }

    .agapio-home-hero__wines {
        margin-top: 54px;
    }

    .agapio-shop-categories {
        padding-top: 20px;
    }

    .agapio-shop-categories__grid,
    .page-shop-grid-full-width .products,
    .page-id-1775 .products,
    .woocommerce .products {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce,
    .woocommerce-account .woocommerce {
        width: min(100% - 24px, 720px);
        padding-top: 32px;
    }

    .woocommerce form.checkout,
    .woocommerce form.login,
    .woocommerce form.register,
    .woocommerce-cart-form,
    .cart_totals,
    #order_review,
    .woocommerce-checkout-review-order {
        padding: 18px;
    }
}

@media (max-width: 430px) {
    .agapio-header-brand__name,
    .agapio-brand__name {
        display: inline-block !important;
        color: #fff !important;
        font-size: 16px;
    }

    .agapio-home-hero__brand {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .agapio-home-hero__brand > img {
        width: 112px;
        margin: 0 auto;
    }

    .agapio-home-hero p {
        margin-right: auto;
        margin-left: auto;
    }

    .agapio-search-form > div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .agapio-header-brand__symbol,
    .agapio-brand__symbol {
        width: 31px !important;
        height: 38px !important;
        max-width: 31px !important;
        max-height: 38px !important;
    }

    .agapio-header-brand__name,
    .agapio-brand__name {
        font-size: 14px;
        letter-spacing: 0.02em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agapio-primary-navigation,
    .agapio-menu-toggle span,
    .agapio-shop-category {
        transition: none !important;
    }
}

/* =========================================================================
   2026-07-24.3 — full-width brand header and stable title positioning
   ========================================================================= */

/* The complete Agapio Angel artwork is now a real horizontal header banner.
   It fills the available width without stretching the original vertical card. */
.agapio-global-promo {
    position: relative !important;
    width: 100% !important;
    height: clamp(140px, 16.6667vw, 320px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: #000 !important;
    line-height: 0 !important;
}

.agapio-global-promo a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000 !important;
}

.agapio-global-promo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #000 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Reset Vineyard's fixed 476px title bar and 30px line-height. Those legacy
   values made long desktop titles overlap on top of themselves. */
.tb-title-wrapper,
.title-bar,
.shop-title-bar,
.woocommerce .title-bar-shop {
    position: relative !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--agapio-line) !important;
    background-color: #fff !important;
    background-image: none !important;
    color: var(--agapio-ink) !important;
}

.tb-title-wrapper .container,
.title-bar .container,
.shop-title-bar .container,
.woocommerce .title-bar-shop .container {
    width: min(1680px, calc(100% - 48px)) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.tb-title-wrapper .row-height,
.title-bar .row-height,
.shop-title-bar .row-height,
.woocommerce .title-bar-shop .row-height {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: clamp(190px, 15vw, 260px) !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: clamp(42px, 5vw, 72px) 0 !important;
}

.tb-title-wrapper .col-height,
.title-bar .col-height,
.shop-title-bar .col-height,
.woocommerce .title-bar-shop .col-height {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    transform: none !important;
}

.tb-title-wrapper h1.page-title,
.title-bar h1.page-title,
.shop-title-bar h1.page-title,
.woocommerce .title-bar-shop h1.page-title {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
    color: var(--agapio-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(38px, 4.2vw, 66px) !important;
    font-weight: 400 !important;
    letter-spacing: 0.075em !important;
    line-height: 1.08 !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    transform: none !important;
}

.tb-title-wrapper .page-breadcrumb,
.tb-title-wrapper .woocommerce-breadcrumb,
.tb-title-wrapper .tb-breadcrumb-shop,
.title-bar .page-breadcrumb,
.shop-title-bar .page-breadcrumb,
.shop-title-bar .woocommerce-breadcrumb,
.shop-title-bar .tb-breadcrumb-shop {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    color: var(--agapio-muted) !important;
    font-size: 13px !important;
    letter-spacing: 0.22em !important;
    line-height: 1.5 !important;
    text-align: center !important;
    transform: none !important;
}

/* Safety net for legacy category widgets cached before the migration runs. */
.product-categories .cat-item-18,
.product-categories .cat-item-89,
.product-categories .cat-item-90,
.widget_product_categories .cat-item-18,
.widget_product_categories .cat-item-89,
.widget_product_categories .cat-item-90 {
    display: none !important;
}

@media (max-width: 991px) {
    .agapio-global-promo {
        height: clamp(132px, 34vw, 190px) !important;
    }

    .agapio-global-promo img {
        object-fit: cover !important;
        object-position: center center !important;
    }

    .tb-title-wrapper .container,
    .title-bar .container,
    .shop-title-bar .container,
    .woocommerce .title-bar-shop .container {
        width: min(calc(100% - 28px), 760px) !important;
    }

    .tb-title-wrapper .row-height,
    .title-bar .row-height,
    .shop-title-bar .row-height,
    .woocommerce .title-bar-shop .row-height {
        min-height: 170px !important;
        padding: 38px 0 !important;
    }

    .tb-title-wrapper h1.page-title,
    .title-bar h1.page-title,
    .shop-title-bar h1.page-title,
    .woocommerce .title-bar-shop h1.page-title {
        font-size: clamp(30px, 9.5vw, 46px) !important;
        letter-spacing: 0.045em !important;
        line-height: 1.12 !important;
    }
}

@media (max-width: 480px) {
    .agapio-global-promo {
        height: 132px !important;
    }

    .agapio-global-promo img {
        width: auto !important;
        min-width: 790px !important;
        height: 132px !important;
        margin-left: 50% !important;
        object-fit: contain !important;
        transform: translateX(-50%) !important;
    }

    .tb-title-wrapper h1.page-title,
    .title-bar h1.page-title,
    .shop-title-bar h1.page-title,
    .woocommerce .title-bar-shop h1.page-title {
        font-size: clamp(28px, 9vw, 38px) !important;
        letter-spacing: 0.035em !important;
        line-height: 1.14 !important;
    }
}


/* =========================================================================
   2026-07-24.4 — requested header, blog hero and product-card cleanup
   ========================================================================= */
:root {
    --agapio-gold: #d4a15a;
    --agapio-gold-soft: #f0d29a;
}

.agapio-header-brand,
.agapio-brand {
    gap: 0 !important;
}

.agapio-header-brand__symbol,
.agapio-brand__symbol {
    display: none !important;
}

.agapio-header-brand__name,
.agapio-brand__name {
    color: var(--agapio-gold-soft) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(24px, 2vw, 34px) !important;
    font-style: italic !important;
    letter-spacing: 0.06em !important;
    text-shadow: 0 0 1px rgba(212, 161, 90, 0.55), 0 0 8px rgba(212, 161, 90, 0.18) !important;
}

.agapio-global-promo {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: clamp(180px, 20vw, 360px) !important;
    height: auto !important;
    padding: clamp(32px, 4vw, 54px) 20px !important;
    background: #000 !important;
}

.agapio-global-promo__content,
.agapio-global-promo__visual {
    position: relative;
    width: min(1600px, 100%);
    min-height: clamp(140px, 14vw, 260px);
    display: grid;
    place-items: center;
}

.agapio-global-promo__content {
    text-align: center;
    color: var(--agapio-gold-soft);
}

.agapio-global-promo__title {
    color: var(--agapio-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 5.4vw, 110px);
    font-style: italic;
    line-height: 0.94;
    letter-spacing: 0.04em;
    text-shadow: 0 0 2px rgba(212, 161, 90, 0.75), 0 0 14px rgba(212, 161, 90, 0.25);
}

.agapio-global-promo__subtitle,
.agapio-global-promo__tagline {
    color: var(--agapio-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    line-height: 1.2;
    text-shadow: 0 0 1px rgba(212, 161, 90, 0.45);
}

.agapio-global-promo__subtitle {
    margin-top: 10px;
    font-size: clamp(18px, 1.8vw, 32px);
    letter-spacing: 0.05em;
}

.agapio-global-promo__tagline {
    margin-top: 10px;
    font-size: clamp(22px, 2.4vw, 42px);
    letter-spacing: 0.04em;
}

.agapio-global-promo--blog {
    padding: 0 !important;
}

.agapio-global-promo--blog .agapio-global-promo__visual {
    min-height: clamp(180px, 20vw, 360px);
    background-color: #000;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.agapio-global-promo__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.4), rgba(0,0,0,0.5));
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product a:first-of-type {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce ul.products li.product img {
    display: block !important;
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    height: clamp(230px, 26vw, 360px) !important;
    margin: 22px auto 18px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 2.4em;
    margin-top: 4px !important;
    color: var(--agapio-ink) !important;
}

.woocommerce ul.products li.product .price {
    display: block !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    color: #b24b5c !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    z-index: 2 !important;
    background: transparent !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product [class*="quick"],
.woocommerce ul.products li.product [class*="Quick"],
.woocommerce ul.products li.product [class*="compare"],
.woocommerce ul.products li.product [class*="wishlist"],
.woocommerce ul.products li.product .yith-wcqv-button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .fa-expand,
.woocommerce ul.products li.product .icon_expand,
.woocommerce ul.products li.product .icon-search,
.woocommerce ul.products li.product .product_type_simple,
.woocommerce ul.products li.product .ajax_add_to_cart {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product [class*="quick"],
.woocommerce ul.products li.product [class*="Quick"],
.woocommerce ul.products li.product .yith-wcqv-button,
.woocommerce ul.products li.product .fa-expand,
.woocommerce ul.products li.product .icon_expand,
.woocommerce ul.products li.product .icon-search {
    display: none !important;
}

.woocommerce ul.products li.product:hover .price,
.woocommerce ul.products li.product:focus-within .price,
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.woocommerce ul.products li.product * {
    backface-visibility: hidden;
}

@media (max-width: 991px) {
    .agapio-global-promo {
        min-height: 160px !important;
        padding: 24px 14px !important;
    }

    .agapio-global-promo__title {
        font-size: clamp(34px, 8vw, 62px);
        line-height: 1;
    }

    .agapio-global-promo__subtitle {
        font-size: clamp(16px, 3vw, 22px);
    }

    .agapio-global-promo__tagline {
        font-size: clamp(18px, 3.8vw, 28px);
    }
}

@media (max-width: 767px) {
    .agapio-header-brand__name,
    .agapio-brand__name {
        font-size: clamp(18px, 6vw, 24px) !important;
    }

    .agapio-global-promo--blog .agapio-global-promo__visual {
        min-height: 160px;
        background-size: cover;
    }

    .woocommerce ul.products li.product img {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        height: 240px !important;
        margin: 14px auto 14px !important;
    }
}

/* -------------------------------------------------------------------------
   2026-07-24.4 – final Agapio desktop/mobile polish
   ------------------------------------------------------------------------- */
.agapio-header-brand,
.agapio-brand {
    gap: 0 !important;
}

.agapio-header-brand__wordmark,
.agapio-brand__wordmark {
    display: block !important;
    width: clamp(170px, 18vw, 280px) !important;
    max-width: 100% !important;
    height: auto !important;
}

.agapio-header-brand__name,
.agapio-brand__name,
.agapio-header-brand__symbol,
.agapio-brand__symbol {
    display: none !important;
}

.agapio-global-promo {
    min-height: clamp(190px, 21vw, 340px) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.agapio-global-promo__content,
.agapio-global-promo__visual {
    width: 100% !important;
    min-height: clamp(190px, 21vw, 340px) !important;
}

.agapio-global-promo__content {
    padding: 28px 20px !important;
    text-align: center !important;
}

.agapio-global-promo__title {
    font-size: clamp(40px, 5vw, 96px) !important;
}

.agapio-global-promo__subtitle {
    margin-top: 8px !important;
    font-size: clamp(18px, 1.8vw, 28px) !important;
}

.agapio-global-promo__tagline {
    margin-top: 8px !important;
    font-size: clamp(22px, 2.2vw, 38px) !important;
}

.agapio-global-promo--blog .agapio-global-promo__visual {
    background-color: #000 !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.agapio-global-promo__overlay {
    background: linear-gradient(to bottom, rgba(0,0,0,0.18), rgba(0,0,0,0.28)) !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.archive ul.products,
.page-shop-grid-full-width .products,
.page-id-1775 .products {
    align-items: stretch !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.archive li.tb-product-item {
    height: 100% !important;
    padding-bottom: 22px !important;
}

.woocommerce ul.products li.product article.product,
.woocommerce-page ul.products li.product article.product,
.archive li.tb-product-item article.product,
.archive li.tb-product-item .tb-product-item,
.woocommerce .product .tb-product-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    background: #fff !important;
}

.archive li.tb-product-item .tb-product-item,
.woocommerce .product .tb-product-item {
    border: 0 !important;
    box-shadow: none !important;
}

.archive li.tb-product-item .tb-image,
.woocommerce .product .tb-product-item .tb-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px 22px 10px !important;
}

.archive li.tb-product-item .tb-item-content-image,
.woocommerce .product .tb-product-item .tb-item-content-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 320px !important;
    padding: 14px !important;
    border: 1px solid var(--agapio-line) !important;
    background: #fff !important;
    overflow: hidden !important;
}

.archive li.tb-product-item .tb-item-content-image a,
.woocommerce .product .tb-product-item .tb-item-content-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 290px !important;
}

.archive li.tb-product-item .tb-item-content-image img,
.woocommerce .product .tb-product-item .tb-item-content-image img,
.woocommerce ul.products li.product img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 290px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

.archive li.tb-product-item .tb-content,
.woocommerce .product .tb-product-item .tb-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 10px 18px 0 !important;
}

.archive li.tb-product-item .tb-title,
.woocommerce .product .tb-product-item .tb-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 2.6em !important;
    margin: 0 !important;
    color: var(--agapio-ink) !important;
}

.archive li.tb-product-item .tb-title a,
.woocommerce .product .tb-product-item .tb-title a {
    color: var(--agapio-ink) !important;
}

.archive li.tb-product-item .tb-price-rating,
.woocommerce .product .tb-product-item .tb-price-rating,
.woocommerce ul.products li.product .price {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 12px !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
}

.archive li.tb-product-item .tb-price-rating .price,
.woocommerce .product .tb-product-item .tb-price-rating .price,
.archive li.tb-product-item .tb-item-rating,
.woocommerce .product .tb-product-item .tb-item-rating,
.woocommerce ul.products li.product .price {
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    position: static !important;
}

.archive li.tb-product-item:hover .tb-title,
.archive li.tb-product-item:hover .tb-price-rating,
.woocommerce .product .tb-product-item:hover .tb-title,
.woocommerce .product .tb-product-item:hover .tb-price-rating,
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover .price {
    opacity: 1 !important;
    visibility: visible !important;
}

.archive li.tb-product-item .tb-action,
.woocommerce .product .tb-product-item .tb-action,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product [class*="quick"],
.woocommerce ul.products li.product [class*="Quick"],
.woocommerce ul.products li.product [class*="compare"],
.woocommerce ul.products li.product [class*="wishlist"],
.woocommerce ul.products li.product .yith-wcqv-button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .fa-expand,
.woocommerce ul.products li.product .icon_expand,
.woocommerce ul.products li.product .icon-search,
.woocommerce ul.products li.product .ajax_add_to_cart {
    display: none !important;
}

@media (max-width: 991px) {
    .agapio-header-brand__wordmark,
    .agapio-brand__wordmark {
        width: clamp(150px, 34vw, 220px) !important;
    }

    .agapio-global-promo {
        min-height: 170px !important;
    }

    .agapio-global-promo__content,
    .agapio-global-promo__visual {
        min-height: 170px !important;
    }

    .archive li.tb-product-item .tb-item-content-image,
    .woocommerce .product .tb-product-item .tb-item-content-image {
        min-height: 260px !important;
    }

    .archive li.tb-product-item .tb-item-content-image a,
    .woocommerce .product .tb-product-item .tb-item-content-image a {
        min-height: 230px !important;
    }

    .archive li.tb-product-item .tb-item-content-image img,
    .woocommerce .product .tb-product-item .tb-item-content-image img,
    .woocommerce ul.products li.product img {
        max-height: 240px !important;
    }
}

@media (max-width: 767px) {
    .agapio-global-promo__content {
        padding: 22px 12px !important;
    }

    .agapio-global-promo__title {
        font-size: clamp(32px, 9vw, 52px) !important;
    }

    .agapio-global-promo__subtitle {
        font-size: clamp(16px, 4vw, 20px) !important;
    }

    .agapio-global-promo__tagline {
        font-size: clamp(18px, 4.8vw, 24px) !important;
    }

    .archive li.tb-product-item .tb-image,
    .woocommerce .product .tb-product-item .tb-image {
        padding: 14px 14px 8px !important;
    }

    .archive li.tb-product-item .tb-item-content-image,
    .woocommerce .product .tb-product-item .tb-item-content-image {
        min-height: 220px !important;
        padding: 10px !important;
    }

    .archive li.tb-product-item .tb-item-content-image a,
    .woocommerce .product .tb-product-item .tb-item-content-image a {
        min-height: 200px !important;
    }

    .archive li.tb-product-item .tb-item-content-image img,
    .woocommerce .product .tb-product-item .tb-item-content-image img,
    .woocommerce ul.products li.product img {
        max-height: 200px !important;
    }
}


/* =========================================================================
   2026-07-24.6 — exact wine-card, story, Shop By and blog-list corrections
   ========================================================================= */
.agapio-home-hero__wines {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #000 !important;
}

.agapio-home-hero__wines img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
    transform: none !important;
}

.agapio-global-promo--blog,
.agapio-global-promo--blog .agapio-global-promo__visual {
    background-color: #000 !important;
}

.agapio-global-promo--blog .agapio-global-promo__visual {
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.agapio-global-promo--blog .agapio-global-promo__overlay {
    display: none !important;
}

/* Stable white card body with a full black bottle stage. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.archive li.tb-product-item {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #fff !important;
    transform: none !important;
}

.archive li.tb-product-item article.product,
.woocommerce ul.products li.product article.product,
.woocommerce-page ul.products li.product article.product,
.archive li.tb-product-item .tb-product-item,
.woocommerce .product .tb-product-item {
    position: relative !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #fff !important;
    transform: none !important;
}

.archive li.tb-product-item .tb-image,
.woocommerce .product .tb-product-item .tb-image,
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    transform: none !important;
}

.archive li.tb-product-item .tb-item-content-image,
.woocommerce .product .tb-product-item .tb-item-content-image,
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .agapio-product-image-stage {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: clamp(390px, 32vw, 500px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    box-shadow: none !important;
    transform: none !important;
}

.archive li.tb-product-item .tb-item-content-image a,
.woocommerce .product .tb-product-item .tb-item-content-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: clamp(390px, 32vw, 500px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
}

.archive li.tb-product-item .tb-item-content-image img,
.woocommerce .product .tb-product-item .tb-item-content-image img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce ul.products li.product img.agapio-product-image--patched {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(390px, 32vw, 500px) !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.archive li.tb-product-item .tb-content,
.woocommerce .product .tb-product-item .tb-content,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    position: relative !important;
    z-index: 2 !important;
    background: #fff !important;
}

.archive li.tb-product-item .tb-content,
.woocommerce .product .tb-product-item .tb-content {
    flex: 1 1 auto !important;
    width: 100% !important;
    padding: 18px 16px 20px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
    transform: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    margin-top: 16px !important;
    min-height: 0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    display: block !important;
    margin-top: 10px !important;
    margin-bottom: 18px !important;
    color: #b24b5c !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* The story photograph must start below the horizontal divider. */
.agapio-story-section--patched,
.agapio-story-row--patched {
    overflow: visible !important;
}

.agapio-story-image-wrap--patched,
.agapio-story-section--patched .wpb_single_image,
.agapio-story-section--patched .vc_single_image-wrapper,
.agapio-story-section--patched .wpb_content_element,
.agapio-story-row--patched .wpb_single_image,
.agapio-story-row--patched .vc_single_image-wrapper {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    margin-top: 38px !important;
    transform: none !important;
}

.agapio-story-image--patched {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    display: block !important;
    width: auto !important;
    max-width: min(100%, 620px) !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
}

.agapio-story-cta-anchor {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
}

.agapio-story-cta-anchor .agapio-button,
.agapio-story-cta-anchor a,
.agapio-story-cta-anchor button {
    position: static !important;
    display: inline-flex !important;
    margin: 0 !important;
    transform: none !important;
}

/* Replace the obsolete EventsWines promo with the real three-wine image. */
.agapio-sidebar-promo--patched {
    overflow: hidden !important;
    background: #000 !important;
}

.agapio-sidebar-promo--patched a {
    display: block !important;
    color: #fff !important;
    text-decoration: none !important;
}

.agapio-sidebar-promo--patched img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    background: #000 !important;
}

.agapio-sidebar-promo-label {
    display: block !important;
    margin: 0 !important;
    padding: 13px 10px 15px !important;
    background: #000 !important;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

@media (max-width: 991px) {
    .archive li.tb-product-item .tb-item-content-image,
    .woocommerce .product .tb-product-item .tb-item-content-image,
    .archive li.tb-product-item .tb-item-content-image a,
    .woocommerce .product .tb-product-item .tb-item-content-image a,
    .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link,
    .archive li.tb-product-item .tb-item-content-image img,
    .woocommerce .product .tb-product-item .tb-item-content-image img,
    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        min-height: 360px !important;
        height: 360px !important;
    }
}

@media (max-width: 767px) {
    .archive li.tb-product-item .tb-item-content-image,
    .woocommerce .product .tb-product-item .tb-item-content-image,
    .archive li.tb-product-item .tb-item-content-image a,
    .woocommerce .product .tb-product-item .tb-item-content-image a,
    .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link,
    .archive li.tb-product-item .tb-item-content-image img,
    .woocommerce .product .tb-product-item .tb-item-content-image img,
    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        min-height: 310px !important;
        height: 310px !important;
    }

    .agapio-story-image-wrap--patched,
    .agapio-story-section--patched .wpb_single_image,
    .agapio-story-section--patched .vc_single_image-wrapper,
    .agapio-story-row--patched .wpb_single_image,
    .agapio-story-row--patched .vc_single_image-wrapper {
        margin-top: 26px !important;
    }
}
