/* Bottoni custom front page */

:root {
    --bottoni-ink: #171214;
    --bottoni-ink-soft: #3f3430;
    --bottoni-muted: #78675b;
    --bottoni-paper: #f4eadc;
    --bottoni-paper-light: #fff8ed;
    --bottoni-paper-deep: #e5d0b7;
    --bottoni-gold: #b77925;
    --bottoni-gold-deep: #8d5818;
    --bottoni-gold-soft: #ddba75;
    --bottoni-wine: #7f1f32;
    --bottoni-green: #2d6b41;
    --bottoni-white: #fffaf2;
    --bottoni-discovery: var(--bottoni-gold);
    --bottoni-discovery-hover: var(--bottoni-gold-deep);
    --bottoni-commerce: var(--bottoni-wine);
    --bottoni-commerce-hover: #5c1020;
    --bottoni-information: var(--bottoni-ink);
    --bottoni-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --bottoni-sans: "Manrope", Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bottoni-paper);
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
}

body.home {
    background: var(--bottoni-paper);
    overflow-x: hidden;
}

body:not(.home) {
    background:
        linear-gradient(90deg, rgba(183, 121, 37, .06) 1px, transparent 1px),
        linear-gradient(180deg, #fff7eb 0%, #ecdac3 100%);
    background-size: 42px 42px, auto;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
}

.bottoni-theme-site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        linear-gradient(90deg, rgba(183, 121, 37, .06) 1px, transparent 1px),
        linear-gradient(180deg, #fff7eb 0%, #ecdac3 100%);
    background-size: 42px 42px, auto;
}

.bottoni-theme-header {
    position: relative;
    z-index: 10;
    border-bottom: 1px solid rgba(183, 121, 37, .18);
    background: rgba(255, 248, 237, .82);
    backdrop-filter: blur(12px) saturate(1.08);
    -webkit-backdrop-filter: blur(12px) saturate(1.08);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .42);
}

.bottoni-theme-navbar {
    width: min(1180px, calc(100% - 44px));
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
}

.bottoni-theme-brand {
    width: 154px;
    height: 86px;
    display: block;
    flex: 0 0 auto;
    overflow: hidden;
    background: url("../img/logo_wo_button.png") left center / contain no-repeat;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0;
    text-indent: 0;
}

.bottoni-theme-nav {
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-theme-menu,
.bottoni-theme-footer-menu-list {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bottoni-theme-menu a {
    color: var(--bottoni-ink);
    text-decoration: none;
}

.bottoni-theme-menu a:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-theme-menu .current-menu-item > a,
.bottoni-theme-menu .current-menu-ancestor > a {
    color: var(--bottoni-commerce);
}
.bottoni-mobile-menu-toggle {
    width: 46px;
    height: 40px;
    display: none;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 4px;
    border: 1px solid rgba(127, 31, 50, .24);
    background: rgba(255, 250, 242, .72);
    color: var(--bottoni-ink);
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(65, 42, 23, .05);
}

.bottoni-mobile-menu-toggle span {
    width: 17px;
    height: 2px;
    display: block;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease;
}

.bottoni-mobile-menu-toggle em {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.bottoni-mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.bottoni-mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.bottoni-mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}
/* Floating header cart */
.bottoni-floating-cart {
    position: relative;
    z-index: 40;
    flex: 0 0 auto;
    font-family: var(--bottoni-sans);
}

.bottoni-floating-cart-toggle {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid rgba(127, 31, 50, .24);
    background: rgba(255, 250, 242, .62);
    color: var(--bottoni-ink);
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(65, 42, 23, .05);
    transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.bottoni-floating-cart-toggle:hover,
.bottoni-floating-cart:focus-within .bottoni-floating-cart-toggle,
.bottoni-floating-cart:hover .bottoni-floating-cart-toggle {
    border-color: var(--bottoni-wine);
    background: #fffaf2;
    color: var(--bottoni-wine);
    box-shadow: 0 14px 30px rgba(65, 42, 23, .09);
}

.bottoni-floating-cart-icon {
    width: 25px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    color: currentColor;
    font-size: 0;
    line-height: 1;
}

.bottoni-floating-cart-icon::before {
    content: "";
    width: 25px;
    height: 21px;
    display: block;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24h54'/%3E%3Cpath d='M15 24l5 24c1 4 5 6 9 6h14c4 0 8-2 9-6l5-24'/%3E%3Cpath d='M24 24L34 6'/%3E%3Cpath d='M48 24L38 6'/%3E%3Cpath d='M24 37h24'/%3E%3Cpath d='M27 46h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24h54'/%3E%3Cpath d='M15 24l5 24c1 4 5 6 9 6h14c4 0 8-2 9-6l5-24'/%3E%3Cpath d='M24 24L34 6'/%3E%3Cpath d='M48 24L38 6'/%3E%3Cpath d='M24 37h24'/%3E%3Cpath d='M27 46h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.bottoni-floating-cart-icon svg {
    display: none;
}

.bottoni-floating-cart-text {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.bottoni-floating-cart-count {
    min-width: 21px;
    height: 21px;
    display: inline-grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--bottoni-wine);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.bottoni-floating-cart::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    width: min(380px, calc(100vw - 32px));
    height: 18px;
    pointer-events: auto;
}

.bottoni-floating-cart-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    width: min(380px, calc(100vw - 32px));
    padding: 18px;
    border: 1px solid rgba(183, 121, 37, .28);
    background: linear-gradient(145deg, rgba(255, 250, 242, .98), rgba(248, 239, 226, .96));
    box-shadow: 0 26px 70px rgba(35, 24, 18, .16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.bottoni-floating-cart-panel::before {
    content: "";
    position: absolute;
    top: -12px;
    right: 24px;
    width: 18px;
    height: 18px;
    border-top: 1px solid rgba(183, 121, 37, .28);
    border-left: 1px solid rgba(183, 121, 37, .28);
    background: #fffaf2;
    transform: rotate(45deg);
}

.bottoni-floating-cart:hover .bottoni-floating-cart-panel,
.bottoni-floating-cart:focus-within .bottoni-floating-cart-panel,
.bottoni-floating-cart.is-cart-open .bottoni-floating-cart-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.bottoni-floating-cart-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(183, 121, 37, .22);
    color: var(--bottoni-ink);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bottoni-floating-cart-head strong {
    color: var(--bottoni-wine);
    font-size: 15px;
    white-space: nowrap;
}

.bottoni-floating-cart-list {
    display: grid;
    gap: 12px;
    max-height: 330px;
    margin: 0;
    padding: 0;
    overflow: auto;
    list-style: none;
}

.bottoni-floating-cart-item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.bottoni-floating-cart-thumb {
    width: 54px;
    height: 54px;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(183, 121, 37, .18);
    background: rgba(255, 248, 237, .74);
}

.bottoni-floating-cart-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.bottoni-floating-cart-meta {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.bottoni-floating-cart-meta a,
.bottoni-floating-cart-meta > span {
    overflow: hidden;
    color: var(--bottoni-ink);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.28;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bottoni-floating-cart-meta a:hover {
    color: var(--bottoni-wine);
}

.bottoni-floating-cart-meta small {
    color: var(--bottoni-muted);
    font-size: 11px;
    font-weight: 800;
}

.bottoni-floating-cart-line-total {
    color: var(--bottoni-ink);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.bottoni-floating-cart-more,
.bottoni-floating-cart-empty {
    margin: 12px 0 0;
    color: var(--bottoni-muted);
    font: 800 12px/1.35 var(--bottoni-sans);
}

.bottoni-floating-cart-empty-state {
    position: relative;
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid rgba(183, 121, 37, .22);
    background:
        radial-gradient(circle at 90% 12%, rgba(183, 121, 37, .18), transparent 32%),
        linear-gradient(145deg, rgba(255, 250, 242, .94), rgba(244, 234, 220, .62));
}

.bottoni-floating-cart-empty-state::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    right: -72px;
    bottom: -84px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(183, 121, 37, .16) 0 1px, transparent 1px 13px);
    pointer-events: none;
}

.bottoni-floating-cart-empty-icon {
    width: 42px;
    height: 34px;
    display: block;
    color: var(--bottoni-wine);
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24h54'/%3E%3Cpath d='M15 24l5 24c1 4 5 6 9 6h14c4 0 8-2 9-6l5-24'/%3E%3Cpath d='M24 24L34 6'/%3E%3Cpath d='M48 24L38 6'/%3E%3Cpath d='M24 37h24'/%3E%3Cpath d='M27 46h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24h54'/%3E%3Cpath d='M15 24l5 24c1 4 5 6 9 6h14c4 0 8-2 9-6l5-24'/%3E%3Cpath d='M24 24L34 6'/%3E%3Cpath d='M48 24L38 6'/%3E%3Cpath d='M24 37h24'/%3E%3Cpath d='M27 46h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.bottoni-floating-cart-empty-state strong {
    position: relative;
    z-index: 1;
    color: var(--bottoni-ink);
    font: 700 24px/1 var(--bottoni-serif);
}

.bottoni-floating-cart-empty-state p {
    position: relative;
    z-index: 1;
    max-width: 270px;
    margin: 0 0 4px;
    color: var(--bottoni-muted);
    font: 700 12px/1.55 var(--bottoni-sans);
}

.bottoni-floating-cart-empty-state .bottoni-floating-cart-button {
    position: relative;
    z-index: 1;
}

.bottoni-floating-cart-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(183, 121, 37, .22);
}

.bottoni-floating-cart-button,
.bottoni-floating-cart-checkout {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid var(--bottoni-wine);
    background: var(--bottoni-wine);
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-floating-cart-checkout {
    background: transparent;
    color: var(--bottoni-wine) !important;
}

.bottoni-floating-cart-button:hover,
.bottoni-floating-cart-button:focus-visible {
    background: #5c1020;
    border-color: #5c1020;
}

.bottoni-floating-cart-checkout:hover,
.bottoni-floating-cart-checkout:focus-visible {
    background: rgba(127, 31, 50, .08);
}

@media (max-width: 760px) {
    .bottoni-theme-navbar,
    .bottoni-topbar {
        gap: 12px;
    }

    .bottoni-floating-cart-text {
        display: none;
    }

    .bottoni-floating-cart-toggle {
        padding: 0 10px;
    }
}

.bottoni-theme-main {
    position: relative;
    flex: 1 0 auto;
    min-height: 58vh;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 250, 242, .82), transparent 28%),
        radial-gradient(circle at 88% 70%, rgba(183, 121, 37, .12), transparent 34%),
        linear-gradient(135deg, #fff7eb 0%, #ead7bf 100%);
}

.bottoni-theme-main::before {
    content: "";
    position: absolute;
    width: 56vw;
    height: 56vw;
    right: -18vw;
    top: -22vw;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(183, 121, 37, .15) 0 1px, transparent 1px 18px);
    pointer-events: none;
    opacity: .58;
}

.bottoni-theme-content {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 44px));
    max-width: none;
    margin: 0 auto;
    padding: clamp(58px, 8vw, 112px) 0;
}

.bottoni-theme-footer {
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 20%, rgba(183, 121, 37, .22), transparent 30%),
        radial-gradient(circle at 82% 86%, rgba(127, 31, 50, .18), transparent 34%),
        linear-gradient(135deg, #171214 0%, #261b18 100%);
    color: var(--bottoni-white);
}

.bottoni-theme-footer::before {
    content: "";
    position: absolute;
    width: 42vw;
    height: 42vw;
    right: -16vw;
    top: -22vw;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(221, 186, 117, .13) 0 1px, transparent 1px 18px);
    pointer-events: none;
}

.bottoni-theme-footer-inner {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 44px));
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
    align-items: start;
    justify-content: space-between;
    gap: clamp(28px, 5vw, 76px);
    margin: 0 auto;
    padding: clamp(46px, 6vw, 78px) 0 34px;
}

.bottoni-theme-footer a,
.bottoni-theme-footer span {
    color: var(--bottoni-white);
}

.bottoni-theme-footer-brand-block {
    max-width: 360px;
}

.bottoni-theme-footer-logo {
    width: 154px;
    height: 86px;
    display: block;
    background: url("../img/logo_wo_button.png") left center / contain no-repeat;
    filter: invert(1) brightness(1.18);
}

.bottoni-theme-footer-brand-block p {
    max-width: 300px;
    margin: 14px 0 0;
    color: #eadbc8;
    font-family: var(--bottoni-serif);
    font-size: 19px;
    line-height: 1.42;
}

.bottoni-footer-flag {
    display: block;
    width: 132px;
    height: 4px;
    margin-top: 20px;
    background: linear-gradient(90deg, #16824a 0 33.333%, #fff 33.333% 66.666%, #c72932 66.666% 100%);
    box-shadow: 0 1px 0 rgba(255, 250, 242, .14);
}

.bottoni-theme-footer-brand {
    font-family: var(--bottoni-serif);
    font-size: 28px;
    font-weight: 700;
    text-decoration: none;
}

.bottoni-theme-footer-menu {
    justify-self: center;
    min-width: 160px;
}

.bottoni-theme-footer-menu-list {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-theme-footer-menu-list a {
    color: #eadbc8;
    text-decoration: none;
}

.bottoni-theme-footer-menu-list a:hover {
    color: var(--bottoni-gold-soft);
}

.bottoni-theme-footer-contacts {
    display: grid;
    justify-items: end;
    gap: 12px;
    font-family: var(--bottoni-sans);
    font-size: 15px;
    font-weight: 700;
    text-align: right;
}

.bottoni-theme-footer-contacts span {
    color: #eadbc8;
}

.bottoni-theme-footer-contacts a {
    text-decoration: none;
}

.bottoni-theme-footer-contacts a:hover {
    color: var(--bottoni-gold-soft);
}

.bottoni-theme-footer-bottom {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 44px));
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin: 0 auto;
    padding: 18px 0 24px;
    border-top: 1px solid rgba(255, 250, 242, .14);
    color: rgba(255, 250, 242, .72);
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-entry {
    max-width: 820px;
    margin: 0 auto;
    padding: clamp(34px, 5vw, 58px);
    border: 1px solid rgba(183, 121, 37, .32);
    background: rgba(255, 250, 242, .72);
    box-shadow: 0 24px 70px rgba(65, 42, 23, .1);
}

.bottoni-entry h1 {
    margin: 0 0 24px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .98;
}

.bottoni-entry-content {
    font-family: var(--bottoni-sans);
}

/* Cart line alignment. */

/* WooCommerce Cart Block */
body.woocommerce-cart .bottoni-cart-entry {
    width: min(1240px, 100%);
    max-width: 1240px;
    padding: clamp(38px, 4vw, 62px);
}

body.woocommerce-cart .bottoni-cart-entry > h1 {
    margin-bottom: clamp(30px, 4vw, 46px);
    font-size: clamp(50px, 5.4vw, 76px);
}

body.woocommerce-cart .wc-block-cart {
    margin: 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
}

body.woocommerce-cart .wc-block-cart__submit-container {
    background: transparent;
}

@media (min-width: 861px) {
    body.woocommerce-cart .wc-block-cart__main {
        padding-right: clamp(28px, 4vw, 58px);
    }

    body.woocommerce-cart .wc-block-cart__sidebar {
        position: sticky;
        top: 28px;
        align-self: start;
        padding: 26px;
        border: 1px solid rgba(183, 121, 37, .32);
        background: linear-gradient(145deg, rgba(255, 250, 242, .92), rgba(244, 234, 220, .68));
        box-shadow: 0 20px 48px rgba(65, 42, 23, .1);
    }
}

body.woocommerce-cart .wc-block-cart-items {
    border-top: 1px solid rgba(183, 121, 37, .3);
}

body.woocommerce-cart .wc-block-cart-items__header {
    position: relative;
    padding: 0 0 14px;
    border-bottom: 0;
    color: var(--bottoni-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items__header::after,
body.woocommerce-cart .wc-block-cart-items__row::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: rgba(183, 121, 37, .22);
}

body.woocommerce-cart .wc-block-cart-items__header > *,
body.woocommerce-cart .wc-block-cart-items__row > * {
    border-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row {
    position: relative;
    padding: 24px 0;
    border-bottom: 0;
}

body.woocommerce-cart .wc-block-cart-item__image {
    width: clamp(88px, 10vw, 128px);
}

body.woocommerce-cart .wc-block-cart-item__image img {
    border: 1px solid rgba(183, 121, 37, .22);
    background: rgba(255, 250, 242, .68);
}

body.woocommerce-cart .wc-block-cart-item__product {
    padding-left: 20px;
}

body.woocommerce-cart .wc-block-components-product-name {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: clamp(17px, 1.5vw, 21px);
    font-weight: 700;
    line-height: 1.28;
    text-decoration: none;
}

body.woocommerce-cart .bottoni-cart-item-category {
    display: block;
    margin-bottom: 7px;
    color: var(--bottoni-gold-deep);
    font: 800 10px var(--bottoni-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__total {
    margin-top: 9px;
    color: var(--bottoni-ink-soft);
    font-size: 15px;
    font-weight: 800;
}

body.woocommerce-cart .wc-block-components-product-metadata {
    margin-top: 9px;
    color: var(--bottoni-muted);
    font-size: 13px;
    line-height: 1.5;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    height: 42px;
    margin-top: 16px;
    border: 1px solid rgba(183, 121, 37, .38);
    border-radius: 0;
    background: rgba(255, 250, 242, .78);
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
    color: var(--bottoni-ink);
    font: 800 14px var(--bottoni-sans);
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    margin-top: 12px;
    color: var(--bottoni-wine);
    font: 700 12px var(--bottoni-sans);
    text-decoration: none;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-totals-item {
    border-color: rgba(183, 121, 37, .22);
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item {
    color: var(--bottoni-ink);
    font-size: 15px;
    font-weight: 700;
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
    font-size: 21px;
}

body.woocommerce-cart .wc-block-components-button {
    min-height: 56px;
    border: 1px solid var(--bottoni-wine);
    border-radius: 0;
    background: var(--bottoni-wine);
    color: #fff;
    font: 800 13px var(--bottoni-sans);
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-components-button:focus-visible {
    border-color: #5c1020;
    background: #5c1020;
    color: #fff;
}

body.woocommerce-cart .wc-block-components-totals-coupon-link {
    color: var(--bottoni-wine);
    font-weight: 700;
}

/* Empty WooCommerce Cart Block */
body.woocommerce-cart .bottoni-empty-cart-hero {
    position: relative;
    width: min(720px, 100%);
    display: grid;
    justify-items: center;
    gap: 14px;
    margin: 0 auto clamp(34px, 5vw, 58px);
    padding: clamp(26px, 4vw, 42px) clamp(22px, 4vw, 46px);
    overflow: hidden;
    border: 1px solid rgba(183, 121, 37, .22);
    background:
        radial-gradient(circle at 18% 8%, rgba(183, 121, 37, .16), transparent 28%),
        radial-gradient(circle at 90% 82%, rgba(127, 31, 50, .08), transparent 34%),
        linear-gradient(145deg, rgba(255, 250, 242, .92), rgba(244, 234, 220, .54));
    box-shadow: 0 22px 56px rgba(65, 42, 23, .09);
    text-align: center;
}

body.woocommerce-cart .bottoni-empty-cart-hero::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -150px;
    bottom: -170px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(183, 121, 37, .13) 0 1px, transparent 1px 15px);
    pointer-events: none;
}

body.woocommerce-cart .bottoni-empty-cart-hero-icon,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block::before {
    width: clamp(72px, 7vw, 104px);
    height: clamp(58px, 5.5vw, 82px);
    display: block;
    color: var(--bottoni-wine);
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cg fill='none' stroke='black' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24h54'/%3E%3Cpath d='M15 24l5 24c1 4 5 6 9 6h14c4 0 8-2 9-6l5-24'/%3E%3Cpath d='M24 24L34 6'/%3E%3Cpath d='M48 24L38 6'/%3E%3Cpath d='M24 37h24'/%3E%3Cpath d='M27 46h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cg fill='none' stroke='black' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24h54'/%3E%3Cpath d='M15 24l5 24c1 4 5 6 9 6h14c4 0 8-2 9-6l5-24'/%3E%3Cpath d='M24 24L34 6'/%3E%3Cpath d='M48 24L38 6'/%3E%3Cpath d='M24 37h24'/%3E%3Cpath d='M27 46h18'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-cart .bottoni-empty-cart-hero h2 {
    position: relative;
    z-index: 1;
    margin: 4px 0 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 700;
    line-height: .98;
}

body.woocommerce-cart .bottoni-empty-cart-hero p {
    position: relative;
    z-index: 1;
    max-width: 520px;
    margin: 0;
    color: var(--bottoni-muted);
    font: 600 clamp(17px, 1.45vw, 21px)/1.48 var(--bottoni-serif);
}

body.woocommerce-cart .bottoni-empty-cart-hero-button {
    position: relative;
    z-index: 1;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
    padding: 0 26px;
    border: 1px solid var(--bottoni-wine);
    background: var(--bottoni-wine);
    color: #fff;
    font: 900 12px var(--bottoni-sans);
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}

body.woocommerce-cart .bottoni-empty-cart-hero-button:hover,
body.woocommerce-cart .bottoni-empty-cart-hero-button:focus-visible {
    border-color: #5c1020;
    background: #5c1020;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 22px;
    margin: 0 auto;
    text-align: center;
    color: var(--bottoni-ink);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block::before,
body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::after,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > * {
    width: min(100%, 980px);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h3 {
    margin: 0 auto 4px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(30px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 16px 16px 18px !important;
    border: 1px solid rgba(183, 121, 37, .22);
    background: linear-gradient(180deg, rgba(255, 250, 242, .84), rgba(244, 234, 220, .58));
    box-shadow: 0 18px 40px rgba(65, 42, 23, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
    transform: translateY(-3px);
    border-color: rgba(127, 31, 50, .32);
    box-shadow: 0 24px 56px rgba(65, 42, 23, .13);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image {
    width: 100% !important;
    margin: 0 0 12px !important;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid rgba(183, 121, 37, .16);
    background: rgba(255, 248, 237, .76);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-name {
    min-height: 0;
    color: var(--bottoni-ink);
    font: 900 clamp(14px, 1.05vw, 16px)/1.28 var(--bottoni-sans);
    text-decoration: none;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .price {
    color: var(--bottoni-ink-soft);
    font: 800 13px/1.35 var(--bottoni-sans);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-button__button {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 14px !important;
    border: 1px solid var(--bottoni-wine) !important;
    border-radius: 0 !important;
    background: var(--bottoni-wine) !important;
    color: #fff !important;
    font: 900 11px/1.15 var(--bottoni-sans) !important;
    letter-spacing: .05em;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: normal;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-button__button:hover {
    border-color: #5c1020 !important;
    background: #5c1020 !important;
}

body.woocommerce-cart .return-to-shop {
    margin: 0;
    text-align: center;
}

body.woocommerce-cart .return-to-shop .button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid var(--bottoni-wine);
    background: var(--bottoni-wine);
    color: #fff;
    font: 900 12px var(--bottoni-sans);
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body.woocommerce-cart .bottoni-empty-cart-hero {
        padding: 24px 18px;
    }

    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
        grid-template-columns: 1fr;
    }
}
/* WooCommerce Checkout Block */
body.woocommerce-checkout .bottoni-checkout-entry {
    width: min(1240px, 100%);
    max-width: 1240px;
    padding: clamp(38px, 4vw, 62px);
}

body.woocommerce-checkout .bottoni-checkout-entry > h1 {
    margin-bottom: clamp(30px, 4vw, 46px);
    font-size: clamp(50px, 5.4vw, 76px);
}

body.woocommerce-checkout .wc-block-checkout {
    margin: 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
}

@media (min-width: 861px) {
    body.woocommerce-checkout .wc-block-checkout__main {
        padding-right: clamp(28px, 4vw, 58px);
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar {
        position: sticky;
        top: 28px;
        align-self: start;
        padding: 26px;
        border: 1px solid rgba(183, 121, 37, .32);
        background: linear-gradient(145deg, rgba(255, 250, 242, .92), rgba(244, 234, 220, .68));
        box-shadow: 0 20px 48px rgba(65, 42, 23, .1);
    }
}

body.woocommerce-checkout .wc-block-components-checkout-step {
    margin-bottom: 32px;
    padding: 0 0 28px;
    border-bottom: 1px solid rgba(183, 121, 37, .24);
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(25px, 2vw, 32px);
    font-weight: 600;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select {
    min-height: 52px;
    border: 1px solid rgba(183, 121, 37, .4);
    border-radius: 0;
    background: rgba(255, 250, 242, .8);
    color: var(--bottoni-ink);
    font: 600 15px var(--bottoni-sans);
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label {
    color: var(--bottoni-muted);
    font: 700 12px var(--bottoni-sans);
}
body.woocommerce-checkout .bottoni-checkout-field-hidden {
    display: none !important;
}
body.woocommerce-checkout .bottoni-checkout-billing-hidden {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox label,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select label {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select .wc-block-components-select__select {
    height: 54px;
    min-height: 54px;
    padding: 0 16px !important;
    line-height: 54px;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select {
    padding: 0 16px;
    line-height: 52px;
}

body.woocommerce-checkout .bottoni-checkout-field-label {
    display: block;
    margin: 0 0 7px;
    color: var(--bottoni-muted);
    font: 800 11px/1.2 var(--bottoni-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select {
    margin-bottom: 16px;
}

body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle-wrapper,
body.woocommerce-checkout button[class*="address_2"] {
    color: var(--bottoni-wine);
    font: 800 12px var(--bottoni-sans);
    letter-spacing: .02em;
}

body.woocommerce-checkout.bottoni-checkout-pickup .wc-block-components-address-form__address_1,
body.woocommerce-checkout.bottoni-checkout-pickup .wc-block-components-address-form__address_2,
body.woocommerce-checkout.bottoni-checkout-pickup .wc-block-components-address-form__address_2-toggle,
body.woocommerce-checkout.bottoni-checkout-pickup .wc-block-components-address-form__address_2-toggle-wrapper {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-address-form__first_name,
body.woocommerce-checkout .wc-block-components-address-form__address_1,
body.woocommerce-checkout .wc-block-components-address-form__address_2,
body.woocommerce-checkout .wc-block-components-address-form__phone {
    flex: 0 0 100%;
    max-width: 100%;
}

body.woocommerce-checkout .wc-block-components-address-form__address_1,
body.woocommerce-checkout .wc-block-components-text-input:has(#billing-address_1),
body.woocommerce-checkout .wc-block-components-text-input:has(#shipping-address_1) {
    position: relative;
}

body.woocommerce-checkout .bottoni-address-suggestions {
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 260px;
    overflow: auto;
    border: 1px solid rgba(183, 121, 37, .34);
    background: #fffaf2;
    box-shadow: 0 18px 42px rgba(65, 42, 23, .14);
}

body.woocommerce-checkout .bottoni-address-suggestions button {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid rgba(183, 121, 37, .16);
    background: transparent;
    color: var(--bottoni-ink);
    font: 600 14px/1.45 var(--bottoni-sans);
    text-align: left;
    cursor: pointer;
}

body.woocommerce-checkout .bottoni-address-suggestions button:hover,
body.woocommerce-checkout .bottoni-address-suggestions button:focus-visible {
    background: rgba(145, 25, 48, .08);
    color: var(--bottoni-wine);
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
    margin-top: 12px;
    padding: 18px;
    border: 1px solid rgba(183, 121, 37, .34);
    border-radius: 0;
    background: rgba(255, 250, 242, .6);
}

body.woocommerce-checkout .wc-block-components-order-summary {
    border-color: rgba(183, 121, 37, .24);
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
    padding: 14px 0;
    border-color: rgba(183, 121, 37, .2);
}

body.woocommerce-checkout .wc-block-components-button {
    min-height: 56px;
    border: 1px solid var(--bottoni-wine);
    border-radius: 0;
    background: var(--bottoni-wine);
    color: #fff;
    font: 800 13px var(--bottoni-sans);
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-button:focus-visible {
    border-color: #5c1020;
    background: #5c1020;
}

@media (max-width: 860px) {
    body.woocommerce-checkout .bottoni-checkout-entry {
        padding: clamp(28px, 6vw, 42px);
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar {
        margin-top: 28px;
        padding: 24px;
        border: 1px solid rgba(183, 121, 37, .3);
        background: rgba(255, 250, 242, .72);
    }
}

@media (max-width: 860px) {
    body.woocommerce-cart .bottoni-cart-entry {
        padding: clamp(28px, 6vw, 42px);
    }

    body.woocommerce-cart .wc-block-cart__sidebar {
        margin-top: 28px;
        padding: 24px;
        border: 1px solid rgba(183, 121, 37, .3);
        background: rgba(255, 250, 242, .72);
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        padding: 20px 0;
    }
}

@media (max-width: 560px) {
    body.woocommerce-cart .bottoni-cart-entry {
        padding: 24px 18px;
    }

    body.woocommerce-cart .bottoni-cart-entry > h1 {
        font-size: clamp(40px, 12vw, 54px);
    }

    body.woocommerce-cart .wc-block-cart-item__product {
        padding-left: 14px;
    }

    body.woocommerce-cart .wc-block-cart-item__image {
        width: 76px;
    }

    body.woocommerce-cart .wc-block-components-product-name {
        font-size: 16px;
    }
}

body.woocommerce-page:not(.home) *,
body.woocommerce-page:not(.home) *::before,
body.woocommerce-page:not(.home) *::after {
    box-sizing: border-box;
}

body.home *,
body.home *::before,
body.home *::after {
    box-sizing: border-box;
}

.bottoni-site {
    overflow: hidden;
    width: 100%;
    max-width: 100vw;
    color: var(--bottoni-ink);
    background:
        linear-gradient(90deg, rgba(183, 121, 37, .08) 1px, transparent 1px),
        linear-gradient(180deg, #fff7eb 0%, #ecdac3 45%, #f7efe4 100%);
    background-size: 42px 42px, auto;
    font-family: var(--bottoni-sans);
}

.bottoni-site a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.bottoni-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.bottoni-hero {
    position: relative;
    min-height: 100vh;
    padding: 0;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 24%, rgba(221, 186, 117, .34), transparent 28%),
        radial-gradient(circle at 20% 72%, rgba(127, 31, 50, .08), transparent 33%),
        linear-gradient(135deg, #fffaf2 0%, #f0dfca 58%, #e3ccb1 100%);
}

.bottoni-hero::before,
.bottoni-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.bottoni-hero::before {
    inset: 22px;
    border: 1px solid rgba(183, 121, 37, .62);
    box-shadow: inset 0 0 0 8px rgba(255, 250, 242, .62), inset 0 0 0 9px rgba(183, 121, 37, .22);
}

.bottoni-hero::after {
    width: 62vw;
    height: 62vw;
    right: -17vw;
    top: -17vw;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(255, 250, 242, .12) 0 34%, transparent 35%),
        repeating-radial-gradient(circle, rgba(183, 121, 37, .16) 0 1px, transparent 1px 18px);
    opacity: .72;
}

.bottoni-frame {
    position: relative;
    z-index: 1;
    width: min(1320px, calc(100% - 44px));
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px) 0 42px;
}

.bottoni-topbar,
.bottoni-hero-grid,
.bottoni-two-col,
.bottoni-contact-card {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.bottoni-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 12px;
}

.bottoni-brand {
    display: inline-flex;
    align-items: center;
    width: 154px;
    height: 86px;
    gap: 0;
    overflow: hidden;
    background: url("../img/logo_wo_button.png") left center / contain no-repeat;
    color: var(--bottoni-ink);
    text-decoration: none;
    text-indent: 0;
    animation: bottoni-brand-enter .7s cubic-bezier(.16, 1, .3, 1) .08s both;
}

.bottoni-brand:hover {
    color: var(--bottoni-ink);
}

.bottoni-brand .bottoni-brand-mark,
.bottoni-brand .bottoni-brand-text {
    display: none;
}

.bottoni-brand-mark {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid var(--bottoni-gold);
    border-radius: 50%;
    background: rgba(255, 250, 242, .66);
    color: var(--bottoni-gold);
    font-size: 31px;
    font-weight: 700;
    line-height: 1;
}

.bottoni-brand-text span {
    display: block;
    font-size: 34px;
    line-height: .86;
    letter-spacing: 0;
    font-weight: 700;
}

.bottoni-brand-text em {
    display: block;
    margin-top: 6px;
    color: var(--bottoni-gold-deep);
    font-size: 16px;
    line-height: 1;
}

.bottoni-nav {
    display: flex;
    gap: 30px;
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.bottoni-nav a {
    color: var(--bottoni-ink);
    text-decoration: none;
}

.bottoni-nav a:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-nav .current-menu-item > a,
.bottoni-nav .current-menu-ancestor > a {
    color: var(--bottoni-commerce);
}

.bottoni-hero-grid {
    min-height: calc(100vh - 126px);
    display: grid;
    grid-template-columns: minmax(430px, .92fr) minmax(460px, 1.08fr);
    align-items: center;
    gap: clamp(34px, 5vw, 76px);
    padding: clamp(48px, 6vw, 84px) 0 26px;
}

.bottoni-hero-copy {
    max-width: 650px;
    min-width: 0;
}

.bottoni-kicker,
.bottoni-eyebrow {
    margin: 0 0 16px;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-hero h1,
.bottoni-section h2 {
    margin: 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(38px, 3.55vw, 54px);
    font-weight: 600;
    line-height: .95;
    letter-spacing: 0;
}

.bottoni-lead {
    max-width: 560px;
    margin: 30px 0 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: clamp(20px, 2vw, 24px);
    line-height: 1.46;
}

.bottoni-title-line {
    display: block;
}

.bottoni-title-mobile {
    display: none;
}

.bottoni-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 36px;
}

.bottoni-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border: 1px solid var(--bottoni-gold);
    background: var(--bottoni-gold);
    color: #fff;
    font-family: var(--bottoni-sans);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.bottoni-button:hover {
    background: var(--bottoni-gold-deep);
    border-color: var(--bottoni-gold-deep);
    color: #fff;
    transform: translateY(-1px);
}

.bottoni-button-ghost {
    background: rgba(255, 250, 242, .46);
    color: var(--bottoni-ink);
}

.bottoni-button-ghost:hover {
    background: rgba(183, 121, 37, .1);
    color: var(--bottoni-ink);
}

.bottoni-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 34px;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 14px;
    font-weight: 700;
}

.bottoni-hero-meta a {
    color: var(--bottoni-ink);
    text-decoration: none;
}

.bottoni-hero-art {
    position: relative;
    min-height: clamp(460px, 51vw, 630px);
}

.bottoni-hero-art::before {
    content: "";
    position: absolute;
    inset: 9% 5% 8% 9%;
    border: 1px solid rgba(183, 121, 37, .48);
    background:
        radial-gradient(ellipse at 50% 48%, rgba(255, 250, 242, .92) 0 31%, rgba(255, 250, 242, .68) 32%, transparent 53%),
        linear-gradient(135deg, rgba(255, 250, 242, .7), rgba(229, 208, 183, .48)),
        radial-gradient(circle at 28% 23%, rgba(255, 255, 255, .78), transparent 25%);
    box-shadow: 0 36px 100px rgba(65, 42, 23, .2);
}

.bottoni-hero-art::after {
    content: "";
    position: absolute;
    inset: 16% 13% 17% 17%;
    border: 1px solid rgba(183, 121, 37, .3);
    outline: 1px solid rgba(183, 121, 37, .16);
    outline-offset: -10px;
}

.bottoni-hero-logo {
    position: absolute;
    z-index: 4;
    left: 52%;
    top: 50%;
    width: min(335px, 52%);
    padding: 34px 36px 28px;
    transform: translate(-50%, -50%);
    text-align: center;
    border: 1px solid rgba(255, 250, 242, .42);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .22), rgba(255, 250, 242, .055)),
        radial-gradient(ellipse at 50% 42%, rgba(255, 255, 255, .18) 0 45%, rgba(255, 250, 242, .02) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .38),
        inset 0 0 34px rgba(255, 255, 255, .09),
        0 24px 70px rgba(65, 42, 23, .08);
    backdrop-filter: blur(10px) saturate(1.24);
    -webkit-backdrop-filter: blur(10px) saturate(1.24);
    animation: bottoni-logo-rise 1.05s cubic-bezier(.16, 1, .3, 1) .22s both;
}

.bottoni-hero-logo img {
    display: block;
    width: 100%;
    height: auto;
    filter: contrast(1.22) drop-shadow(0 16px 24px rgba(65, 42, 23, .14));
}

.bottoni-hero-logo span {
    display: block;
    margin-top: 12px;
    color: #4b4842;
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.bottoni-made {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 9.8%;
    display: grid;
    justify-items: center;
    align-items: center;
    gap: 9px;
    width: min(260px, 58%);
    transform: translateX(-50%);
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    animation: bottoni-made-enter .8s cubic-bezier(.16, 1, .3, 1) .5s both;
}

.bottoni-made span {
    width: min(190px, 100%);
    height: 5px;
    background:
        linear-gradient(90deg, #16824a 0 33.333%, #fff 33.333% 66.666%, #c72932 66.666% 100%);
    box-shadow: 0 1px 0 rgba(141, 88, 24, .2);
}

.bottoni-float {
    position: absolute;
    z-index: 3;
    pointer-events: none;
    width: min(var(--size), 30vw);
    height: auto;
    --float-shadow: rgba(69, 43, 19, .22);
    filter: drop-shadow(0 24px 26px var(--float-shadow));
    transform-origin: 50% 50%;
    animation:
        bottoni-float-in .9s cubic-bezier(.16, 1, .3, 1) both,
        bottoni-float-y var(--float-time, 6s) ease-in-out var(--float-delay, 0s) infinite alternate,
        bottoni-float-rotate var(--rotate-time, 9s) ease-in-out var(--float-delay, 0s) infinite alternate;
    animation-delay: var(--enter-delay, 0s), var(--float-delay, 0s), var(--float-delay, 0s);
}

.bottoni-float-zipper {
    --size: 190px;
    --float-time: 5.8s;
    --rotate-time: 8s;
    --float-x-from: -8px;
    --float-x-to: 12px;
    --float-y-from: -6px;
    --float-y-to: 16px;
    --rotate-from: -7deg;
    --rotate-to: 5deg;
    --enter-delay: .18s;
    left: -3%;
    top: 47%;
    rotate: -24deg;
}

.bottoni-float-buckle {
    --size: 190px;
    --float-time: 6.6s;
    --rotate-time: 10s;
    --float-delay: .4s;
    --enter-delay: .32s;
    --float-x-from: 8px;
    --float-x-to: -6px;
    --float-y-from: -12px;
    --float-y-to: 10px;
    --rotate-from: 4deg;
    --rotate-to: -8deg;
    right: 4%;
    top: 13%;
    rotate: -10deg;
}

.bottoni-float-button-main {
    --size: 155px;
    --float-time: 5.4s;
    --rotate-time: 8.4s;
    --float-delay: .7s;
    --enter-delay: .46s;
    --float-x-from: 7px;
    --float-x-to: -10px;
    --float-y-from: 8px;
    --float-y-to: -12px;
    --rotate-from: -4deg;
    --rotate-to: 7deg;
    right: 7%;
    bottom: 10%;
    rotate: 7deg;
}

.bottoni-float-button-gold {
    --size: 132px;
    --float-time: 6.2s;
    --rotate-time: 9.4s;
    --float-delay: .2s;
    --enter-delay: .26s;
    --float-x-from: -4px;
    --float-x-to: 9px;
    --float-y-from: -10px;
    --float-y-to: 7px;
    --rotate-from: 6deg;
    --rotate-to: -5deg;
    left: 11%;
    top: 11%;
    rotate: -6deg;
}

.bottoni-float-hook {
    --size: 108px;
    --float-time: 7.1s;
    --rotate-time: 8.8s;
    --float-delay: .55s;
    --enter-delay: .54s;
    --float-x-from: 10px;
    --float-x-to: -12px;
    --float-y-from: -8px;
    --float-y-to: 13px;
    --rotate-from: -9deg;
    --rotate-to: 8deg;
    left: 43%;
    top: 20%;
    rotate: 18deg;
}

.bottoni-float-links {
    --size: 118px;
    --float-time: 5.7s;
    --rotate-time: 11.2s;
    --float-delay: .9s;
    --enter-delay: .62s;
    --float-x-from: -11px;
    --float-x-to: 6px;
    --float-y-from: 11px;
    --float-y-to: -9px;
    --rotate-from: 5deg;
    --rotate-to: -7deg;
    left: 45%;
    bottom: 17%;
    rotate: -8deg;
}

@keyframes bottoni-logo-rise {
    from {
        opacity: 0;
        filter: blur(8px);
        transform: translate(-50%, -43%) scale(.9);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes bottoni-float-in {
    from {
        opacity: 0;
        filter: blur(6px) drop-shadow(0 24px 26px rgba(69, 43, 19, .08));
        scale: .76;
    }
    to {
        opacity: 1;
        filter: blur(0) drop-shadow(0 24px 26px var(--float-shadow, rgba(69, 43, 19, .22)));
        scale: 1;
    }
}

@keyframes bottoni-brand-enter {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bottoni-made-enter {
    from {
        opacity: 0;
        transform: translate(-50%, 10px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@keyframes bottoni-float-y {
    from {
        translate: var(--float-x-from, 0) var(--float-y-from, -10px);
    }
    to {
        translate: var(--float-x-to, 0) var(--float-y-to, 14px);
    }
}

@keyframes bottoni-float-rotate {
    from {
        transform: rotate(var(--rotate-from, -5deg));
    }
    to {
        transform: rotate(var(--rotate-to, 6deg));
    }
}

.bottoni-section {
    position: relative;
    padding: clamp(76px, 9vw, 128px) 0;
}

.bottoni-catalog-showcase {
    overflow: hidden;
    background:
        radial-gradient(circle at 14% 24%, rgba(255, 250, 242, .86), transparent 30%),
        radial-gradient(circle at 86% 72%, rgba(183, 121, 37, .15), transparent 28%),
        linear-gradient(135deg, #f8efe3 0%, #ead7bf 100%);
}

.bottoni-catalog-showcase::before {
    content: "";
    position: absolute;
    inset: 34px;
    border: 1px solid rgba(183, 121, 37, .24);
    pointer-events: none;
}

.bottoni-catalog-showcase .bottoni-container {
    position: relative;
    z-index: 2;
}

.bottoni-catalog-decor {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .9;
}

.bottoni-catalog-piece {
    position: absolute;
    width: min(var(--size), 17vw);
    height: auto;
    --float-shadow: rgba(65, 42, 23, .16);
    filter: drop-shadow(0 22px 28px var(--float-shadow));
    opacity: var(--piece-opacity, .82);
    animation:
        bottoni-float-in .9s cubic-bezier(.16, 1, .3, 1) both,
        bottoni-float-y var(--float-time, 8s) ease-in-out var(--float-delay, 0s) infinite alternate,
        bottoni-float-rotate var(--rotate-time, 12s) ease-in-out var(--float-delay, 0s) infinite alternate;
    animation-delay: var(--enter-delay, 0s), var(--float-delay, 0s), var(--float-delay, 0s);
}

.bottoni-catalog-piece-5 {
    --size: 150px;
    --float-time: 8.2s;
    --rotate-time: 12s;
    --float-x-from: -8px;
    --float-x-to: 10px;
    --float-y-from: -12px;
    --float-y-to: 7px;
    --rotate-from: -4deg;
    --rotate-to: 7deg;
    --enter-delay: .12s;
    left: 5%;
    top: 18%;
    rotate: -14deg;
}

.bottoni-catalog-piece-6 {
    --size: 140px;
    --float-time: 7.7s;
    --rotate-time: 11.4s;
    --float-delay: .5s;
    --enter-delay: .22s;
    --float-x-from: 12px;
    --float-x-to: -5px;
    --float-y-from: 8px;
    --float-y-to: -14px;
    --rotate-from: 6deg;
    --rotate-to: -8deg;
    right: 7%;
    top: 16%;
    rotate: 12deg;
}

.bottoni-catalog-piece-7 {
    --size: 118px;
    --float-time: 9s;
    --rotate-time: 13s;
    --float-delay: .2s;
    --enter-delay: .32s;
    --float-x-from: -6px;
    --float-x-to: 8px;
    --float-y-from: 10px;
    --float-y-to: -8px;
    --rotate-from: -8deg;
    --rotate-to: 5deg;
    left: 22%;
    bottom: 9%;
    rotate: 9deg;
}

.bottoni-catalog-piece-8 {
    --size: 150px;
    --float-time: 8.6s;
    --rotate-time: 10.8s;
    --float-delay: .8s;
    --enter-delay: .42s;
    --float-x-from: 10px;
    --float-x-to: -11px;
    --float-y-from: -8px;
    --float-y-to: 13px;
    --rotate-from: 4deg;
    --rotate-to: -6deg;
    right: 20%;
    bottom: 7%;
    rotate: -12deg;
}

.bottoni-catalog-piece-9 {
    --size: 132px;
    --float-time: 7.2s;
    --rotate-time: 12.8s;
    --float-delay: .35s;
    --enter-delay: .18s;
    left: 48%;
    top: 10%;
    rotate: 7deg;
}

.bottoni-catalog-piece-10 {
    --size: 116px;
    --float-time: 8.1s;
    --rotate-time: 9.8s;
    --float-delay: .95s;
    --enter-delay: .52s;
    right: 3%;
    bottom: 28%;
    rotate: -18deg;
}

.bottoni-catalog-piece-12 {
    --size: 112px;
    --float-time: 9.3s;
    --rotate-time: 13.5s;
    --float-delay: .65s;
    --enter-delay: .36s;
    left: 8%;
    bottom: 27%;
    rotate: 18deg;
}

.bottoni-catalog-piece-13 {
    --size: 145px;
    --float-time: 8.9s;
    --rotate-time: 10.4s;
    --float-delay: .15s;
    --enter-delay: .28s;
    right: 38%;
    bottom: 3%;
    rotate: -8deg;
}

.bottoni-catalog-piece-14 {
    --size: 108px;
    --float-time: 7.4s;
    --rotate-time: 12.2s;
    --float-delay: 1s;
    --enter-delay: .48s;
    left: 36%;
    top: 20%;
    rotate: -22deg;
}

.bottoni-catalog-piece-16 {
    --size: 104px;
    --float-time: 8.4s;
    --rotate-time: 11.7s;
    --float-delay: .45s;
    --enter-delay: .58s;
    right: 12%;
    top: 42%;
    rotate: 16deg;
}

.bottoni-intro {
    background:
        radial-gradient(circle at 12% 18%, rgba(183, 121, 37, .2), transparent 28%),
        linear-gradient(135deg, #181315 0%, #241b18 100%);
    color: var(--bottoni-white);
}

.bottoni-two-col {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: clamp(32px, 7vw, 100px);
    align-items: start;
}

.bottoni-intro h2 {
    color: var(--bottoni-white);
}

.bottoni-eyebrow-italy::after {
    content: "";
    display: block;
    width: 118px;
    height: 4px;
    margin-top: 12px;
    background: linear-gradient(90deg, #16824a 0 33.333%, #fff 33.333% 66.666%, #c72932 66.666% 100%);
    box-shadow: 0 1px 0 rgba(255, 250, 242, .14);
}

.bottoni-intro p:not(.bottoni-eyebrow) {
    margin: 0;
    color: #eadbc8;
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.58;
}

.bottoni-section-head {
    max-width: 720px;
    margin-bottom: 40px;
}

.bottoni-section-head h2,
.bottoni-contact-card h2 {
    font-size: clamp(38px, 4.2vw, 58px);
    line-height: 1;
}

.bottoni-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.bottoni-category-card {
    display: block;
    min-height: 224px;
    padding: 28px;
    border: 1px solid rgba(255, 250, 242, .5);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .52), rgba(255, 250, 242, .2)),
        radial-gradient(circle at 100% 0, rgba(183, 121, 37, .12), transparent 44%);
    color: inherit;
    text-decoration: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .54),
        inset 0 0 28px rgba(255, 255, 255, .1),
        0 10px 38px rgba(65, 42, 23, .07);
    backdrop-filter: blur(9px) saturate(1.15);
    -webkit-backdrop-filter: blur(9px) saturate(1.15);
    animation: bottoni-card-enter .72s cubic-bezier(.16, 1, .3, 1) both;
}

.bottoni-category-card:nth-child(1) {
    animation-delay: .1s;
}

.bottoni-category-card:nth-child(2) {
    animation-delay: .16s;
}

.bottoni-category-card:nth-child(3) {
    animation-delay: .22s;
}

.bottoni-category-card:nth-child(4) {
    animation-delay: .28s;
}

.bottoni-category-card:nth-child(5) {
    animation-delay: .34s;
}

.bottoni-category-card:nth-child(6) {
    animation-delay: .4s;
}

@keyframes bottoni-card-enter {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bottoni-category-card:hover {
    color: inherit;
    transform: translateY(-4px);
    border-color: rgba(183, 121, 37, .58);
    box-shadow: 0 20px 56px rgba(65, 42, 23, .14);
}

.bottoni-category-card span {
    display: block;
    margin: 0 0 16px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.08;
}

.bottoni-category-card p {
    margin: 0;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 15px;
    line-height: 1.62;
}

.bottoni-contact-band {
    padding-top: clamp(34px, 5vw, 72px);
}

.bottoni-page-content-section {
    padding-top: clamp(48px, 7vw, 96px);
    padding-bottom: clamp(48px, 7vw, 96px);
    background:
        radial-gradient(circle at 14% 26%, rgba(183, 121, 37, .12), transparent 30%),
        linear-gradient(135deg, #fff7eb 0%, #ead7bf 100%);
}

.bottoni-page-content {
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(30px, 5vw, 58px);
    border: 1px solid rgba(183, 121, 37, .32);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .74), rgba(255, 250, 242, .34));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .52),
        0 22px 64px rgba(65, 42, 23, .1);
    backdrop-filter: blur(8px) saturate(1.08);
    -webkit-backdrop-filter: blur(8px) saturate(1.08);
}

.bottoni-page-content > *:first-child {
    margin-top: 0;
}

.bottoni-page-content > *:last-child {
    margin-bottom: 0;
}

.bottoni-page-content h1,
.bottoni-page-content h2,
.bottoni-page-content h3 {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    line-height: 1.04;
}

.bottoni-page-content h2 {
    font-size: clamp(34px, 4vw, 52px);
}

.bottoni-page-content p,
.bottoni-page-content li {
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.58;
}

.bottoni-page-content a {
    color: var(--bottoni-gold-deep);
    font-weight: 700;
}

.bottoni-contact-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    padding: clamp(32px, 5vw, 58px);
    border: 1px solid rgba(183, 121, 37, .5);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .95), rgba(242, 229, 211, .92));
    box-shadow: 0 22px 70px rgba(65, 42, 23, .12);
}

.bottoni-contact-card p:not(.bottoni-eyebrow) {
    max-width: 560px;
    margin: 18px 0 0;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 18px;
}

.bottoni-contact-list {
    display: grid;
    align-content: center;
    gap: 12px;
    min-width: 250px;
    font-family: var(--bottoni-sans);
}

.bottoni-contact-list a {
    color: var(--bottoni-ink);
    text-decoration: none;
    font-weight: 800;
}

.bottoni-contact-list a:hover {
    color: var(--bottoni-discovery-hover);
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon {
    position: relative;
    isolation: isolate;
    width: min(900px, 100%);
    min-height: 360px;
    display: grid;
    place-items: center;
    margin: 0 auto;
    padding: clamp(44px, 7vw, 86px);
    overflow: hidden;
    border: 1px solid rgba(183, 121, 37, .38);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .5), rgba(255, 250, 242, .18)),
        radial-gradient(circle at 80% 18%, rgba(183, 121, 37, .18), transparent 34%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .58),
        0 28px 86px rgba(65, 42, 23, .12);
    backdrop-filter: blur(10px) saturate(1.14);
    -webkit-backdrop-filter: blur(10px) saturate(1.14);
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon::before,
body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 210px;
    height: 210px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: drop-shadow(0 24px 28px rgba(65, 42, 23, .18));
    pointer-events: none;
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon::before {
    left: -38px;
    bottom: -28px;
    background-image: url("../img/slider/bottoni_sldr_4.png");
    transform: rotate(-24deg);
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon::after {
    right: -30px;
    top: -22px;
    background-image: url("../img/slider/bottoni_sldr_3.png");
    transform: rotate(-10deg);
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon .wp-block-group {
    position: relative;
    z-index: 1;
    max-width: 680px;
    margin: 0 auto;
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon .wp-block-group.is-nowrap {
    flex-wrap: wrap !important;
    white-space: normal;
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon h1 {
    max-width: 720px;
    margin: 0 auto 22px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif) !important;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 600;
    line-height: .98;
    letter-spacing: 0;
}

body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon p {
    max-width: 640px;
    margin: 0 auto;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans) !important;
    font-size: clamp(20px, 2.2vw, 25px);
    line-height: 1.48;
}

body.woocommerce-page:not(.home) .woocommerce-products-header__title,
body.woocommerce-page:not(.home) .page-title {
    margin: 0 0 18px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 600;
    line-height: .98;
}

body.woocommerce-page:not(.home) .woocommerce-result-count,
body.woocommerce-page:not(.home) .woocommerce-ordering,
body.woocommerce-page:not(.home) .term-description,
body.woocommerce-page:not(.home) .woocommerce-info {
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
}

body.woocommerce-page:not(.home) .woocommerce-ordering select {
    min-height: 46px;
    padding: 0 42px 0 14px;
    border: 1px solid rgba(183, 121, 37, .38);
    background-color: rgba(255, 250, 242, .65);
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
}

body.woocommerce-page:not(.home) ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}

body.woocommerce-page:not(.home).woocommerce ul.products li.product,
body.woocommerce-page:not(.home).woocommerce-page ul.products li.product {
    width: auto;
    margin: 0;
    padding: 24px;
    border: 1px solid rgba(255, 250, 242, .5);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .56), rgba(255, 250, 242, .2)),
        radial-gradient(circle at 100% 0, rgba(183, 121, 37, .13), transparent 44%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .54),
        0 12px 42px rgba(65, 42, 23, .08);
    backdrop-filter: blur(9px) saturate(1.14);
    -webkit-backdrop-filter: blur(9px) saturate(1.14);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.woocommerce-page:not(.home).woocommerce ul.products li.product:hover,
body.woocommerce-page:not(.home).woocommerce-page ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: rgba(183, 121, 37, .58);
    box-shadow: 0 20px 58px rgba(65, 42, 23, .15);
}

body.woocommerce-page:not(.home) ul.products li.product img {
    background: rgba(255, 250, 242, .5);
    border: 1px solid rgba(183, 121, 37, .2);
}

body.woocommerce-page:not(.home) ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page:not(.home) ul.products li.product .woocommerce-loop-category__title {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.08;
}

body.woocommerce-page:not(.home) ul.products li.product .price {
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-weight: 800;
}

body.woocommerce-page:not(.home) .button,
body.woocommerce-page:not(.home) button.button,
body.woocommerce-page:not(.home) a.button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bottoni-commerce);
    border-radius: 0;
    background: var(--bottoni-commerce);
    color: #fff;
    font-family: var(--bottoni-sans);
    font-size: 14px;
    font-weight: 800;
}

body.woocommerce-page:not(.home) .button:hover,
body.woocommerce-page:not(.home) button.button:hover,
body.woocommerce-page:not(.home) a.button:hover {
    background: var(--bottoni-commerce-hover);
    border-color: var(--bottoni-commerce-hover);
    color: #fff;
}

.bottoni-shop-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 20%, rgba(221, 186, 117, .28), transparent 30%),
        linear-gradient(135deg, #fff7eb 0%, #ead7bf 100%);
}

.bottoni-shop-hero::after {
    content: "";
    position: absolute;
    width: 44vw;
    height: 44vw;
    right: -14vw;
    top: -20vw;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(183, 121, 37, .15) 0 1px, transparent 1px 18px);
    pointer-events: none;
}

.bottoni-shop-hero-inner {
    padding-bottom: clamp(36px, 6vw, 74px);
}

.bottoni-shop-hero h1 {
    max-width: 840px;
    margin: 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(48px, 6vw, 82px);
    font-weight: 600;
    line-height: .96;
}

.bottoni-shop-description {
    max-width: 680px;
    margin: 24px 0 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: clamp(20px, 2.2vw, 25px);
    line-height: 1.48;
}

.bottoni-shop-body {
    background:
        radial-gradient(circle at 12% 22%, rgba(255, 250, 242, .82), transparent 30%),
        linear-gradient(135deg, #f8efe3 0%, #ead7bf 100%);
}

.bottoni-shop-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: clamp(20px, 2.6vw, 34px);
    align-items: start;
    padding-top: clamp(42px, 6vw, 78px);
}

@media (min-width: 1280px) {
    .bottoni-shop-body > .bottoni-theme-content {
        width: min(1540px, calc(100% - 64px));
    }
}

@media (min-width: 1600px) {
    .bottoni-shop-body > .bottoni-theme-content {
        width: min(1750px, calc(100% - 64px));
    }

    .bottoni-shop-layout {
        display: grid;
        grid-template-columns: 280px minmax(0, 1180px);
        gap: 34px;
        align-items: start;
    }

    .bottoni-shop-sidebar {
        position: sticky;
        top: 24px;
        right: auto;
        z-index: 2;
        width: auto;
    }

    .bottoni-shop-products {
        min-width: 0;
    }
}

.bottoni-shop-sidebar {
    position: sticky;
    top: 24px;
    padding: 24px 22px 22px;
    border: 1px solid rgba(183, 121, 37, .28);
    background:
        radial-gradient(circle at 100% 0, rgba(183, 121, 37, .1), transparent 42%),
        linear-gradient(145deg, rgba(255, 250, 242, .84), rgba(255, 246, 233, .52));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .62),
        0 20px 54px rgba(65, 42, 23, .1);
    backdrop-filter: blur(10px) saturate(1.08);
    -webkit-backdrop-filter: blur(10px) saturate(1.08);
}

.bottoni-shop-sidebar h2 {
    position: relative;
    margin: 0 0 20px;
    padding-bottom: 14px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: 30px;
    line-height: 1;
}

.bottoni-shop-sidebar h2::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(127, 31, 50, .38), rgba(183, 121, 37, .12), transparent);
}

.bottoni-shop-categories {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: var(--bottoni-sans);
    font-size: 14px;
    font-weight: 800;
}

.bottoni-shop-categories a {
    color: var(--bottoni-ink-soft);
    text-decoration: none;
}

.bottoni-shop-categories a:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-shop-categories .current-cat > a {
    color: var(--bottoni-commerce);
}

.bottoni-shop-categories,
.bottoni-category-menu-children {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: var(--bottoni-sans);
}

.bottoni-category-menu-item {
    min-width: 0;
}

.bottoni-category-menu-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    gap: 8px;
}

.bottoni-category-menu-row > a {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 9px 10px;
    border-radius: 14px;
    color: var(--bottoni-ink-soft);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.22;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.bottoni-category-menu-row > a span {
    min-width: 0;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.bottoni-category-menu-row > a small {
    min-width: 24px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid rgba(183, 121, 37, .2);
    border-radius: 999px;
    color: var(--bottoni-muted);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.bottoni-category-menu-row > a:hover {
    background: rgba(183, 121, 37, .08);
    color: var(--bottoni-discovery-hover);
}

.bottoni-category-menu-item.is-active > .bottoni-category-menu-row > a {
    background: rgba(127, 31, 50, .06);
    color: var(--bottoni-commerce);
}

.bottoni-category-menu-row > a:hover {
    transform: translateX(2px);
}

.bottoni-category-toggle {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(183, 121, 37, .24);
    border-radius: 50%;
    background: rgba(255, 250, 242, .46);
    color: var(--bottoni-gold-deep);
    cursor: pointer;
}

.bottoni-category-toggle span {
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg) translate(-1px, -1px);
    transition: transform .22s ease;
}

.bottoni-category-toggle[aria-expanded="true"] span {
    transform: rotate(225deg) translate(-1px, -1px);
}

.bottoni-category-toggle:hover,
.bottoni-category-toggle:focus-visible {
    border-color: var(--bottoni-discovery);
    color: var(--bottoni-discovery-hover);
}

.bottoni-category-menu-children-wrap {
    padding-left: 14px;
}

.bottoni-category-menu-children {
    padding: 5px 0 5px 12px;
    border-left: 1px solid rgba(183, 121, 37, .24);
}

.bottoni-category-menu-children .bottoni-category-menu-row > a {
    padding: 7px 10px;
    font-size: 13px;
    font-weight: 700;
}

.bottoni-js-ready .bottoni-category-menu-children-wrap {
    display: grid;
    grid-template-rows: 0fr;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
    transition: grid-template-rows .26s ease, padding .26s ease, opacity .2s ease;
}

.bottoni-js-ready .bottoni-category-menu-children-wrap > .bottoni-category-menu-children {
    min-height: 0;
    overflow: hidden;
}

.bottoni-js-ready .bottoni-category-menu-children-wrap.is-open {
    grid-template-rows: 1fr;
    padding-top: 4px;
    padding-bottom: 4px;
    opacity: 1;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-product-price *,
body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-product-pack-price * {
    display: inline !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.22 !important;
}

.bottoni-shop-toolbar {
    display: grid;
    grid-template-columns: minmax(190px, auto) minmax(0, 1fr);
    align-items: end;
    gap: 16px;
    margin-bottom: 26px;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
}

.bottoni-catalog-result-count {
    align-self: end;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    width: max-content;
    max-width: 100%;
    padding: 0 14px;
    border: 1px solid rgba(183, 121, 37, .2);
    background: rgba(255, 250, 242, .58);
    color: rgba(46, 36, 29, .68);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .01em;
    box-shadow: 0 12px 32px rgba(65, 42, 23, .06);
}

.bottoni-catalog-toolbar-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    justify-self: end;
    padding: 13px 15px;
    border: 1px solid rgba(183, 121, 37, .22);
    background: linear-gradient(145deg, rgba(255, 250, 242, .78), rgba(255, 244, 230, .52));
    box-shadow: 0 16px 44px rgba(65, 42, 23, .08);
    backdrop-filter: blur(8px) saturate(1.08);
    -webkit-backdrop-filter: blur(8px) saturate(1.08);
}

.bottoni-catalog-control {
    display: grid;
    align-content: end;
    gap: 6px;
}

.bottoni-catalog-control-label {
    display: block;
    color: rgba(46, 36, 29, .58);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.bottoni-catalog-view-switcher {
    min-height: 44px;
    display: inline-flex;
    align-items: stretch;
    border: 1px solid rgba(183, 121, 37, .28);
    background: rgba(255, 250, 242, .62);
}

.bottoni-catalog-view-switcher button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-left: 1px solid rgba(183, 121, 37, .18);
    background: transparent;
    color: var(--bottoni-muted);
    cursor: pointer;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.bottoni-catalog-view-switcher button:first-child {
    border-left: 0;
}

.bottoni-catalog-view-switcher button:hover,
.bottoni-catalog-view-switcher button:focus-visible {
    background: var(--bottoni-discovery);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.bottoni-catalog-view-switcher button.is-active,
.bottoni-catalog-view-switcher button.is-active:hover,
.bottoni-catalog-view-switcher button.is-active:focus-visible {
    background: var(--bottoni-commerce);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.bottoni-catalog-svg-icon {
    width: 22px;
    height: 22px;
    display: block;
    overflow: visible;
}

.bottoni-catalog-view-switcher button[data-bottoni-catalog-view="grid-5"] .bottoni-catalog-svg-icon {
    width: 25px;
}

.bottoni-catalog-per-page-label {
    color: inherit;
    font: inherit;
}

.bottoni-catalog-per-page-label select,
.bottoni-catalog-ordering-control .woocommerce-ordering select {
    width: 100%;
    min-width: 88px;
    min-height: 44px;
    padding: 0 34px 0 12px;
    border: 1px solid rgba(183, 121, 37, .28);
    border-radius: 0;
    background-color: rgba(255, 250, 242, .62);
    color: var(--bottoni-ink);
    font: 900 13px var(--bottoni-sans);
}

.bottoni-catalog-ordering-control .woocommerce-ordering {
    float: none;
    margin: 0;
}

.bottoni-catalog-ordering-control .woocommerce-ordering select {
    min-width: 224px;
}
.bottoni-shop-products.is-loading [data-bottoni-catalog-results] {
    opacity: .45;
    pointer-events: none;
}

@media (min-width: 1480px) {
    body.woocommerce-page:not(.home) .bottoni-shop-products.is-grid-5 ul.products {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 14px;
    }

    .bottoni-shop-products.is-grid-5 .bottoni-product-card {
        padding: 16px;
    }

    .bottoni-shop-products.is-grid-5 .bottoni-product-title {
        font-size: 15px;
    }
}

body.woocommerce-page:not(.home) .bottoni-shop-products.is-list ul.products {
    grid-template-columns: 1fr;
    gap: 12px;
}

body.woocommerce-page:not(.home) .bottoni-shop-products.is-list ul.products li.product.bottoni-product-card {
    display: block;
    padding: 18px;
}

.bottoni-shop-products.is-list .bottoni-product-card-link {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
    column-gap: 22px;
}

.bottoni-shop-products.is-list .bottoni-product-image {
    grid-column: 1;
    width: 150px;
    aspect-ratio: 1 / 1;
}

.bottoni-shop-products.is-list .bottoni-product-meta {
    grid-column: 2;
    padding-top: 4px;
    gap: 7px;
}

body.woocommerce-page:not(.home) .bottoni-shop-products.is-list ul.products li.product .bottoni-catalog-purchase {
    width: min(360px, 100%);
    margin-left: 212px !important;
    margin-top: 10px !important;
}

.bottoni-product-list-description {
    display: none;
}

.bottoni-shop-products.is-list .bottoni-product-list-description {
    display: -webkit-box;
    max-width: 72ch;
    margin-top: 4px;
    overflow: hidden;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 16px;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 680px) {
    .bottoni-shop-products.is-list .bottoni-product-card-link {
        grid-template-columns: 110px minmax(0, 1fr);
        column-gap: 14px;
    }

    .bottoni-shop-products.is-list .bottoni-product-image {
        width: 110px;
    }

    body.woocommerce-page:not(.home) .bottoni-shop-products.is-list ul.products li.product .bottoni-catalog-purchase {
        width: 100%;
        margin-left: 0 !important;
    }
}

@media (max-width: 1479px) {
    .bottoni-catalog-view-switcher button[data-bottoni-catalog-view="grid-5"] {
        display: none;
    }
}

.bottoni-shop-products ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bottoni-shop-products ul.products::before,
.bottoni-shop-products ul.products::after {
    display: none;
}

.bottoni-product-card {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 1px solid rgba(183, 121, 37, .22);
    background: rgba(255, 250, 242, .48);
}

.bottoni-product-card-link {
    min-height: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    flex: 1 0 auto;
    color: inherit;
    text-decoration: none;
}

.bottoni-product-image {
    position: relative;
    aspect-ratio: 1 / 1.08;
    display: grid;
    place-items: center;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(183, 121, 37, .2);
    background: #f2eee7;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

.bottoni-product-image::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(111, 84, 60, .12);
    pointer-events: none;
    z-index: 2;
}

.bottoni-product-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(111, 84, 60, .045));
    pointer-events: none;
    z-index: 3;
}

.bottoni-product-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 6%;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
    filter: contrast(1.03) saturate(1.02);
    transition: transform .32s ease;
}

.bottoni-product-image--legacy img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: center;
    transform: scale(1.075);
}

.bottoni-product-card:hover .bottoni-product-image img {
    transform: scale(1.035);
}

.bottoni-product-card:hover .bottoni-product-image--legacy img {
    transform: scale(1.105);
}

.bottoni-product-meta {
    display: grid;
    align-content: start;
    gap: 9px;
    padding-top: 16px;
}

.bottoni-product-category {
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-product-title {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 17px;
    font-weight: 700;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
    letter-spacing: .01em;
    line-height: 1.28;
}

.bottoni-product-prices {
    display: grid;
    gap: 6px;
}

.bottoni-product-price-line {
    display: flex;
    align-items: flex-end;
    flex-wrap: nowrap;
    gap: 4px 7px;
    white-space: nowrap;
}

.bottoni-product-price,
.bottoni-product-pack-price {
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 15px;
    font-weight: 800;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
}

.bottoni-product-price small,
.bottoni-product-pack-price small {
    display: inline;
    margin-right: 4px;
    color: var(--bottoni-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.bottoni-product-pack-price {
    color: var(--bottoni-wine);
}

.bottoni-product-price-separator {
    padding-bottom: 1px;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 16px;
    line-height: 1;
}

.bottoni-catalog-purchase {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    margin-top: 18px;
}

.bottoni-catalog-quantity {
    height: 42px;
    display: inline-grid;
    grid-template-columns: 30px 36px 30px;
    align-items: stretch;
    border: 1px solid rgba(183, 121, 37, .44);
    background: rgba(255, 250, 242, .76);
}

.bottoni-catalog-quantity-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bottoni-ink-soft);
    font: 500 18px/1 var(--bottoni-sans);
    cursor: pointer;
}

.bottoni-catalog-quantity-button:hover,
.bottoni-catalog-quantity-button:focus-visible {
    background: rgba(183, 121, 37, .12);
    color: var(--bottoni-wine);
}

.bottoni-catalog-quantity-input {
    width: 36px;
    min-width: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid rgba(183, 121, 37, .2);
    border-left: 1px solid rgba(183, 121, 37, .2);
    border-radius: 0;
    appearance: textfield;
    -moz-appearance: textfield;
    background: transparent;
    color: var(--bottoni-ink);
    font: 800 13px var(--bottoni-sans);
    text-align: center;
}

.bottoni-catalog-quantity-input::-webkit-outer-spin-button,
.bottoni-catalog-quantity-input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.bottoni-catalog-add-to-cart {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 0 12px;
    border: 1px solid var(--bottoni-commerce);
    border-radius: 2px;
    background: var(--bottoni-commerce);
    color: #fff;
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-catalog-add-to-cart:hover,
.bottoni-catalog-add-to-cart:focus-visible {
    border-color: var(--bottoni-commerce-hover);
    background: var(--bottoni-commerce-hover);
    color: #fff;
}

.bottoni-catalog-add-to-cart--choose {
    border-color: rgba(183, 121, 37, .46);
    background: rgba(255, 250, 242, .7);
    color: var(--bottoni-ink);
}

.bottoni-catalog-purchase .bottoni-catalog-add-to-cart {
    width: auto;
    margin-top: 0;
}

.bottoni-catalog-add-to-cart--choose:hover,
.bottoni-catalog-add-to-cart--choose:focus-visible {
    background: rgba(183, 121, 37, .12);
    color: var(--bottoni-ink);
}

/* Override WooCommerce loop button rules for Bottoni catalog cards. */
body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-purchase {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    margin: 18px 0 0 !important;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-quantity {
    height: 42px;
    display: inline-grid;
    grid-template-columns: 28px auto 28px;
    align-items: stretch;
    border: 1px solid rgba(183, 121, 37, .44);
    background: rgba(255, 250, 242, .76);
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-quantity-button {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bottoni-ink-soft);
    font: 500 18px/1 var(--bottoni-sans);
    cursor: pointer;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-quantity-input {
    position: absolute;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-quantity-value {
    display: inline-flex;
    align-items: center;
    min-width: 40px;
    padding: 0 8px;
    border-right: 1px solid rgba(183, 121, 37, .2);
    border-left: 1px solid rgba(183, 121, 37, .2);
    color: var(--bottoni-muted);
    font: 800 10px var(--bottoni-sans);
    letter-spacing: .03em;
    white-space: nowrap;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-product-price .price,
body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-product-pack-price .price {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-to-cart {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0 !important;
    padding: 0 12px;
    border: 1px solid var(--bottoni-commerce);
    border-radius: 2px;
    background: var(--bottoni-commerce);
    color: #fff;
    font: 800 11px var(--bottoni-sans);
    letter-spacing: .04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    float: none !important;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-to-cart:hover,
body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-to-cart:focus-visible {
    border-color: var(--bottoni-commerce-hover);
    background: var(--bottoni-commerce-hover);
    color: #fff;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-to-cart--choose {
    border-color: var(--bottoni-discovery);
    background: transparent;
    color: var(--bottoni-information);
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-to-cart--choose:hover,
body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-to-cart--choose:focus-visible {
    border-color: var(--bottoni-discovery-hover);
    background: rgba(183, 121, 37, .1);
    color: var(--bottoni-information);
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-add-quantity {
    padding-left: 8px;
    border-left: 1px solid rgba(255, 255, 255, .32);
    font-variant-numeric: tabular-nums;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-purchase > .added_to_cart {
    display: none !important;
}

.bottoni-cart-toast-container {
    position: fixed;
    z-index: 100000;
    top: 22px;
    right: 22px;
    width: min(360px, calc(100vw - 32px));
    display: grid;
    gap: 10px;
    pointer-events: none;
}

body.admin-bar .bottoni-cart-toast-container {
    top: 54px;
}

.bottoni-cart-toast {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 16px 17px;
    border: 1px solid rgba(221, 186, 117, .58);
    background: rgba(38, 27, 24, .96);
    box-shadow: 0 18px 48px rgba(38, 19, 15, .28);
    color: var(--bottoni-white);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .24s ease, transform .24s ease;
    pointer-events: auto;
}

.bottoni-cart-toast.is-hiding {
    opacity: 0;
    transform: translateY(-8px);
}

.bottoni-cart-toast-link {
    color: var(--bottoni-gold-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.bottoni-cart-toast-link:hover {
    color: #fff;
}

.bottoni-shop-empty {
    padding: clamp(32px, 5vw, 58px);
    border: 1px solid rgba(183, 121, 37, .32);
    background: rgba(255, 250, 242, .62);
    text-align: center;
}

.bottoni-shop-empty h2 {
    margin: 0 0 12px;
    font-size: clamp(34px, 4vw, 52px);
}

.bottoni-single-product {
    position: relative;
    overflow: clip;
    background:
        radial-gradient(circle at 14% 20%, rgba(255, 250, 242, .72), transparent 28%),
        radial-gradient(circle at 88% 72%, rgba(183, 121, 37, .16), transparent 34%),
        linear-gradient(135deg, #fff7eb 0%, #ead7bf 100%);
}

.bottoni-single-product::after {
    content: "";
    position: absolute;
    width: 50vw;
    height: 50vw;
    right: -17vw;
    top: -22vw;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(183, 121, 37, .14) 0 1px, transparent 1px 18px);
    pointer-events: none;
}

.bottoni-single-product-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 256px minmax(0, 1fr);
    grid-template-areas: "sidebar product";
    gap: 26px;
    align-items: start;
    padding-top: clamp(38px, 4.5vw, 64px);
    padding-bottom: clamp(52px, 6vw, 84px);
}

.bottoni-single-product-column {
    grid-area: product;
    min-width: 0;
}

.bottoni-product-sidebar {
    grid-area: sidebar;
    align-self: start;
    max-height: calc(100vh - 48px);
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(183, 121, 37, .42) transparent;
}

.bottoni-single-product-layout {
    display: grid;
    grid-template-columns: minmax(360px, .94fr) minmax(340px, .76fr);
    gap: clamp(32px, 4vw, 68px);
    align-items: center;
}

.bottoni-product-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: clamp(26px, 3vw, 40px);
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-product-breadcrumbs a {
    color: var(--bottoni-muted);
    text-decoration: none;
}

.bottoni-product-breadcrumbs a:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-single-product-media {
    position: relative;
}

.bottoni-product-image-stage {
    position: relative;
    min-height: clamp(440px, 52vw, 660px);
    display: grid;
    place-items: center;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(183, 121, 37, .36);
    background: #f2eee7;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .5),
        0 32px 90px rgba(65, 42, 23, .14);
}

.bottoni-product-image-stage::before {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(111, 84, 60, .16);
    outline: 1px solid rgba(255, 255, 255, .5);
    outline-offset: -10px;
    pointer-events: none;
    z-index: 2;
}

.bottoni-product-image-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(111, 84, 60, .05));
    pointer-events: none;
    z-index: 3;
}

.bottoni-product-image-stage img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 5%;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
    filter: contrast(1.03) saturate(1.02);
}

.bottoni-product-image-stage--legacy {
    aspect-ratio: 1 / 1.16;
    min-height: auto;
}

.bottoni-product-image-stage--legacy img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: center;
    transform: scale(1.075);
}

.bottoni-single-product-summary {
    align-self: center;
}

.bottoni-product-kicker {
    margin: 0 0 18px;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bottoni-single-product-summary h1 {
    margin: 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(52px, 6vw, 86px);
    font-weight: 600;
    line-height: .94;
}

.bottoni-product-stock-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 0;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-product-stock-status span {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px rgba(45, 107, 65, .1);
}

.bottoni-product-stock-status.is-in-stock {
    color: var(--bottoni-green);
}

.bottoni-product-stock-status.is-out-of-stock {
    color: var(--bottoni-wine);
}

.bottoni-single-price {
    margin-top: 0;
    color: var(--bottoni-information);
    font-family: var(--bottoni-sans);
    font-size: 22px;
    font-weight: 900;
}

.bottoni-price-label {
    display: block;
    margin-bottom: 4px;
    color: var(--bottoni-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-pack-price {
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid rgba(111, 84, 60, .22);
    background: rgba(255, 250, 242, .62);
    color: var(--bottoni-information);
    font-family: var(--bottoni-sans);
    font-size: 19px;
}

.bottoni-pack-price-value {
    display: block;
    font-weight: 900;
}

.bottoni-single-copy {
    max-width: 560px;
    margin: 8px 0 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.58;
}

.bottoni-product-commerce-summary {
    margin-top: 18px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(183, 121, 37, .24);
}

.bottoni-product-overview {
    margin-top: 20px;
}

.bottoni-summary-section-label {
    margin: 0 0 8px;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bottoni-sales-unit {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 3px solid var(--bottoni-gold);
    background: rgba(255, 250, 242, .62);
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.bottoni-sales-unit--pack {
    border-left-color: var(--bottoni-wine);
}

.bottoni-product-gallery-thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.bottoni-product-gallery-thumb {
    width: 74px;
    height: 74px;
    padding: 4px;
    overflow: hidden;
    border: 1px solid rgba(183, 121, 37, .3);
    background: rgba(255, 250, 242, .7);
    cursor: pointer;
}

.bottoni-product-gallery-thumb:hover,
.bottoni-product-gallery-thumb:focus-visible {
    border-color: var(--bottoni-discovery);
    outline: 1px solid var(--bottoni-discovery);
    outline-offset: 2px;
}

.bottoni-product-gallery-thumb.is-active,
.bottoni-product-gallery-thumb.is-active:hover,
.bottoni-product-gallery-thumb.is-active:focus-visible {
    border-color: var(--bottoni-commerce);
    outline: 1px solid var(--bottoni-commerce);
    outline-offset: 2px;
}

.bottoni-product-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
}

.bottoni-product-gallery-thumb--legacy img {
    object-fit: cover;
    transform: scale(1.075);
}

.bottoni-single-purchase {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(183, 121, 37, .24);
    font-family: var(--bottoni-sans);
}

.bottoni-pack-quantity-note {
    margin: 0 0 12px;
    color: var(--bottoni-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.bottoni-single-purchase form.cart {
    margin: 0;
}

.bottoni-single-purchase .variations {
    width: 100%;
    margin: 0 0 16px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.bottoni-single-purchase .variations th,
.bottoni-single-purchase .variations td {
    display: block;
    padding: 0;
    text-align: left;
}

.bottoni-single-purchase .variations label {
    display: block;
    margin-bottom: 6px;
    color: var(--bottoni-ink-soft);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.bottoni-single-purchase .variations select {
    width: 100%;
    min-height: 48px;
    padding: 0 42px 0 13px;
    border: 1px solid rgba(183, 121, 37, .42);
    border-radius: 0;
    background: rgba(255, 250, 242, .82);
    color: var(--bottoni-ink);
    font: 700 14px var(--bottoni-sans);
}

.bottoni-single-purchase .reset_variations {
    display: inline-block;
    margin-top: 8px;
    color: var(--bottoni-wine);
    font-size: 12px;
    font-weight: 800;
}

.bottoni-single-purchase .woocommerce-variation {
    margin: 16px 0;
    color: var(--bottoni-ink-soft);
}

.bottoni-single-purchase .woocommerce-variation-price {
    margin-bottom: 10px;
    color: var(--bottoni-gold-deep);
    font-size: 19px;
    font-weight: 900;
}

.bottoni-single-purchase .woocommerce-variation-description {
    font-family: var(--bottoni-sans);
    font-size: 18px;
    line-height: 1.4;
}

.bottoni-single-purchase .quantity {
    display: inline-flex;
    vertical-align: middle;
}

.bottoni-single-purchase .quantity .qty {
    width: 76px;
    min-height: 50px;
    padding: 0 8px;
    border: 1px solid rgba(183, 121, 37, .42);
    border-radius: 0;
    background: rgba(255, 250, 242, .82);
    color: var(--bottoni-ink);
    font: 800 15px var(--bottoni-sans);
    text-align: center;
}

.bottoni-single-purchase .single_add_to_cart_button {
    min-height: 50px;
    margin-left: 9px;
    padding: 0 22px;
    border: 1px solid var(--bottoni-commerce);
    border-radius: 0;
    background: var(--bottoni-commerce);
    color: #fff;
    font: 800 13px var(--bottoni-sans);
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
}

.bottoni-single-purchase .single_add_to_cart_button:hover:not(:disabled) {
    border-color: var(--bottoni-commerce-hover);
    background: var(--bottoni-commerce-hover);
}

.bottoni-single-purchase .single_add_to_cart_button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.bottoni-single-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.bottoni-product-facts {
    display: grid;
    gap: 12px;
    margin: 26px 0 0;
    padding: 0;
    font-family: var(--bottoni-sans);
}

.bottoni-product-facts div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(183, 121, 37, .24);
}

.bottoni-product-facts dt {
    color: var(--bottoni-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-product-facts dd {
    margin: 0;
    color: var(--bottoni-ink);
    font-size: 14px;
    font-weight: 800;
}

.bottoni-product-facts a {
    color: var(--bottoni-ink);
    text-decoration-color: rgba(183, 121, 37, .52);
    text-underline-offset: 3px;
}

.bottoni-single-product-details {
    position: relative;
    z-index: 1;
    margin-top: clamp(32px, 4vw, 54px);
    padding: clamp(28px, 4vw, 44px);
    border: 1px solid rgba(183, 121, 37, .26);
    background:
        linear-gradient(135deg, rgba(255, 250, 242, .76), rgba(244, 234, 220, .54)),
        rgba(255, 250, 242, .52);
    box-shadow: 0 22px 60px rgba(65, 42, 23, .1);
}

.bottoni-single-product-information {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: clamp(34px, 6vw, 76px);
    margin-bottom: 0;
}

.bottoni-single-product-information--single {
    grid-template-columns: minmax(0, 820px);
}

.bottoni-product-information-section + .bottoni-product-information-section {
    padding-left: clamp(28px, 4vw, 54px);
    border-left: 1px solid rgba(183, 121, 37, .24);
}

.bottoni-product-characteristics dl {
    display: grid;
    gap: 0;
    margin: 18px 0 0;
}

.bottoni-product-characteristics dl div {
    display: grid;
    grid-template-columns: minmax(120px, .72fr) minmax(0, 1fr);
    gap: 18px;
    padding: 14px 0;
    border-top: 1px solid rgba(183, 121, 37, .24);
}

.bottoni-product-characteristics dt {
    color: var(--bottoni-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.bottoni-product-characteristics dd {
    margin: 0;
    color: var(--bottoni-ink);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
}

.bottoni-single-product-content {
    max-width: 680px;
    color: var(--bottoni-ink-soft);
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.62;
}

.bottoni-single-product-content > *:first-child {
    margin-top: 0;
}

.bottoni-single-product-content > *:last-child {
    margin-bottom: 0;
}

.bottoni-single-related {
    margin-top: clamp(46px, 6vw, 76px);
    padding-top: clamp(30px, 4vw, 46px);
    border-top: 1px solid rgba(183, 121, 37, .28);
}

.bottoni-single-related-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.bottoni-single-related-header h2 {
    margin: 7px 0 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(32px, 3.2vw, 46px);
    font-weight: 600;
    line-height: 1;
}

.bottoni-single-related-header > a {
    flex: 0 0 auto;
    padding-bottom: 5px;
    color: var(--bottoni-gold-deep);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-single-related-header > a:hover {
    color: var(--bottoni-wine);
}

body.woocommerce-page:not(.home) .bottoni-single-related ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

@media (min-width: 1280px) {
    .bottoni-single-product-shell,
    body.bottoni-catalog-product .bottoni-theme-navbar {
        width: min(1500px, calc(100% - 56px));
    }
}

@media (min-width: 1600px) {
    .bottoni-single-product-shell,
    body.bottoni-catalog-product .bottoni-theme-navbar {
        width: min(1660px, calc(100% - 96px));
    }
}

@media (max-width: 1180px) {
    .bottoni-single-product-shell {
        grid-template-columns: 1fr;
        grid-template-areas:
            "product"
            "sidebar";
        gap: 38px;
    }

    .bottoni-single-product-column {
        grid-area: product;
    }

    .bottoni-product-sidebar {
        position: relative;
        top: auto;
        grid-area: sidebar;
        max-height: none;
        margin-top: 8px;
        overflow: visible;
    }
}

@media (max-width: 980px) {
    .bottoni-theme-content,
    .bottoni-theme-navbar,
    .bottoni-theme-footer-inner {
        width: min(calc(100% - 28px), 1180px);
    }

    .bottoni-theme-footer-inner {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .bottoni-theme-footer-menu {
        justify-self: start;
    }

    .bottoni-theme-footer-contacts {
        justify-items: start;
        text-align: left;
    }

    body.woocommerce-page:not(.home) ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bottoni-shop-layout {
        grid-template-columns: 1fr;
    }

    .bottoni-shop-sidebar {
        position: relative;
        top: auto;
    }

    .bottoni-shop-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bottoni-shop-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bottoni-single-product-layout {
        grid-template-columns: 1fr;
    }

    .bottoni-single-product-information {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .bottoni-product-information-section + .bottoni-product-information-section {
        padding-top: 28px;
        padding-left: 0;
        border-top: 1px solid rgba(183, 121, 37, .24);
        border-left: 0;
    }

    body.woocommerce-page:not(.home) .bottoni-single-related ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bottoni-product-image-stage {
        min-height: 520px;
    }

    .bottoni-product-image-stage--legacy {
        min-height: auto;
    }

    .bottoni-hero,
    .bottoni-frame {
        min-height: auto;
    }

    .bottoni-frame,
    .bottoni-topbar,
    .bottoni-hero-grid,
    .bottoni-container,
    .bottoni-two-col,
    .bottoni-contact-card {
        width: min(calc(100% - 28px), 1180px);
        max-width: calc(100vw - 28px);
    }

    .bottoni-hero-grid,
    .bottoni-two-col,
    .bottoni-contact-card {
        grid-template-columns: 1fr;
    }

    .bottoni-hero-grid {
        min-height: auto;
        padding-top: 58px;
        padding-bottom: 44px;
        min-width: 0;
        overflow: visible;
    }

    .bottoni-hero-copy,
    .bottoni-hero h1,
    .bottoni-lead,
    .bottoni-actions {
        width: calc(100vw - 56px);
        max-width: calc(100vw - 56px);
        min-width: 0;
    }

    .bottoni-hero-art {
        width: calc(100vw - 56px);
        min-height: 430px;
        max-width: calc(100vw - 56px);
        justify-self: center;
        min-width: 0;
        overflow: visible;
    }

    .bottoni-hero-logo {
        left: 50%;
        width: min(320px, 62%);
    }

    .bottoni-float-buckle {
        right: -2%;
    }

    .bottoni-float-button-main {
        right: 1%;
    }

    .bottoni-float-hook {
        left: 52%;
        top: 24%;
    }

    .bottoni-float-links {
        left: 42%;
        bottom: 18%;
    }

    .bottoni-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    html,
    body.woocommerce-page:not(.home),
    .bottoni-theme-site,
    .bottoni-theme-main,
    .bottoni-theme-content {
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
    }

    .bottoni-theme-navbar {
        width: min(calc(100% - 28px), 1180px);
        min-height: 76px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        padding: 12px 0;
    }

    .bottoni-theme-brand {
        width: 122px;
        height: 68px;
    }

    .bottoni-theme-nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 6px;
        max-width: 100%;
        font-size: 12px;
    }

    .bottoni-theme-menu {
        gap: 18px;
        width: max-content;
        min-width: 100%;
    }

    .bottoni-theme-content {
        width: calc(100% - 28px);
        max-width: calc(100vw - 28px);
        padding: 44px 0 58px;
    }

    .bottoni-theme-main::before {
        width: 92vw;
        height: 92vw;
        right: -42vw;
        top: -34vw;
    }

    .bottoni-entry {
        padding: 28px 24px;
    }

    .bottoni-entry h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .bottoni-theme-footer-inner {
        width: min(calc(100% - 28px), 1180px);
        padding: 28px 0;
    }

    .bottoni-theme-footer-logo {
        width: 128px;
        height: 72px;
    }

    .bottoni-theme-footer-menu-list {
        gap: 10px;
    }

    .bottoni-theme-footer-bottom {
        width: min(calc(100% - 28px), 1180px);
        flex-direction: column;
        gap: 8px;
    }

    .bottoni-brand {
        width: 122px;
        height: 68px;
    }

    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
        min-height: 330px;
        padding: 42px 22px;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden;
    }

    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon *,
    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon .wp-block-group {
        max-width: calc(100vw - 72px) !important;
        min-width: 0 !important;
    }

    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon::before,
    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon::after {
        width: 132px;
        height: 132px;
        opacity: .86;
    }

    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon h1 {
        width: calc(100vw - 72px) !important;
        max-width: calc(100vw - 72px) !important;
        font-size: clamp(28px, 7.2vw, 34px);
        line-height: 1.02;
        overflow-wrap: break-word;
        word-break: normal;
    }

    body.woocommerce-page:not(.home) .wp-block-woocommerce-coming-soon p {
        width: calc(100vw - 72px) !important;
        max-width: calc(100vw - 72px) !important;
        font-size: 18px;
        overflow-wrap: break-word;
        word-break: normal;
    }

    body.woocommerce-page:not(.home) .woocommerce-products-header__title,
    body.woocommerce-page:not(.home) .page-title {
        font-size: clamp(36px, 10vw, 46px);
    }

    body.woocommerce-page:not(.home) ul.products {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bottoni-shop-hero h1 {
        font-size: clamp(38px, 11vw, 52px);
    }

    .bottoni-shop-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .bottoni-shop-categories,
    .bottoni-shop-products ul.products {
        grid-template-columns: 1fr;
    }

    .bottoni-product-title {
        font-size: 16px;
    }

    .bottoni-product-image {
        aspect-ratio: 1 / 1.05;
    }

    .bottoni-product-image-stage {
        min-height: 360px;
    }

    .bottoni-product-image-stage--legacy {
        min-height: auto;
    }

    .bottoni-product-image-stage::before {
        inset: 14px;
    }

    .bottoni-single-product-summary h1 {
        font-size: clamp(40px, 12vw, 58px);
    }

    .bottoni-single-related-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    body.woocommerce-page:not(.home) .bottoni-single-related ul.products {
        grid-template-columns: 1fr;
    }

    .bottoni-product-commerce-summary {
        margin-top: 22px;
    }

    .bottoni-single-copy {
        font-size: 17px;
    }

    .bottoni-single-actions {
        flex-direction: column;
    }

    .bottoni-single-purchase .single_add_to_cart_button {
        margin-top: 10px;
        margin-left: 0;
    }

    .bottoni-product-facts div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .bottoni-product-characteristics dl div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    body.woocommerce-page:not(.home).woocommerce ul.products li.product,
    body.woocommerce-page:not(.home).woocommerce-page ul.products li.product {
        padding: 22px;
    }

    body.woocommerce-page:not(.home) ul.products li.product .woocommerce-loop-product__title,
    body.woocommerce-page:not(.home) ul.products li.product .woocommerce-loop-category__title {
        font-size: 27px;
    }

    .bottoni-hero::before {
        inset: 12px;
    }

    .bottoni-frame,
    .bottoni-topbar,
    .bottoni-hero-grid,
    .bottoni-two-col,
    .bottoni-contact-card {
        width: min(calc(100% - 28px), 1180px);
        max-width: calc(100vw - 28px);
    }

    .bottoni-hero-copy,
    .bottoni-hero h1,
    .bottoni-lead {
        width: calc(100vw - 56px);
        max-width: calc(100vw - 56px);
        min-width: 0;
    }

    .bottoni-topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .bottoni-nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 6px;
        max-width: 100%;
    }

    .bottoni-home-menu {
        gap: 18px;
        width: max-content;
        min-width: 100%;
    }

    .bottoni-hero h1 {
        max-width: 100%;
        font-size: clamp(27px, 7.2vw, 31px);
        line-height: 1.08;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .bottoni-title-desktop {
        display: none;
    }

    .bottoni-title-mobile {
        display: block;
    }

    .bottoni-lead {
        max-width: calc(100vw - 56px);
        font-size: 19px;
        overflow-wrap: break-word;
    }

    .bottoni-hero-meta {
        display: grid;
        grid-template-columns: 1fr;
        font-size: 13px;
    }

    .bottoni-hero-art {
        width: calc(100vw - 56px);
        min-height: 330px;
        margin-top: 18px;
        overflow: visible;
        max-width: calc(100vw - 56px);
    }

    .bottoni-hero-art::before {
        inset: 7% 0 10% 0;
        box-shadow: 0 18px 44px rgba(65, 42, 23, .13);
    }

    .bottoni-hero-art::after {
        inset: 13% 8% 18% 8%;
    }

    .bottoni-hero-logo {
        left: 39%;
        top: 48%;
        width: min(236px, 64%);
        padding: 24px 26px 20px;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .34),
            inset 0 0 24px rgba(255, 255, 255, .08),
            0 18px 38px rgba(65, 42, 23, .08);
    }

    .bottoni-made {
        bottom: 8%;
        width: min(220px, 68%);
        font-size: 10px;
        letter-spacing: .16em;
    }

    .bottoni-float {
        width: min(calc(var(--size) * .64), 28vw);
    }

    .bottoni-float-zipper {
        left: -3%;
        top: 28%;
    }

    .bottoni-float-buckle {
        right: -5%;
        top: 10%;
    }

    .bottoni-float-button-main {
        right: 0;
        bottom: 10%;
    }

    .bottoni-float-button-gold {
        left: 2%;
        top: 9%;
    }

    .bottoni-float-hook {
        left: 46%;
        top: 15%;
    }

    .bottoni-float-links {
        left: 40%;
        bottom: 19%;
    }

    .bottoni-category-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bottoni-catalog-showcase .bottoni-container {
        width: min(calc(100% - 48px), 1180px);
        max-width: calc(100vw - 48px);
    }

    .bottoni-catalog-decor {
        opacity: .22;
    }

    .bottoni-catalog-piece {
        width: min(calc(var(--size) * .64), 24vw);
    }

    .bottoni-catalog-showcase {
        padding-top: 76px;
        padding-bottom: 86px;
    }

    .bottoni-catalog-showcase::before {
        inset: 14px;
    }

    .bottoni-section-head {
        margin-bottom: 26px;
    }

    .bottoni-catalog-showcase .bottoni-section-head h2 {
        font-size: clamp(34px, 9.4vw, 42px);
        line-height: 1.02;
    }

    .bottoni-category-card {
        min-height: auto;
        padding: 24px 22px;
    }

    .bottoni-page-content {
        padding: 28px 24px;
    }

    .bottoni-category-card span {
        font-size: 27px;
    }

    .bottoni-intro h2,
    .bottoni-contact-card h2 {
        max-width: 100%;
        font-size: clamp(32px, 9vw, 38px);
        line-height: 1.05;
        overflow-wrap: break-word;
    }

    .bottoni-intro p:not(.bottoni-eyebrow),
    .bottoni-contact-card p:not(.bottoni-eyebrow),
    .bottoni-category-card p {
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .bottoni-contact-card {
        padding: 28px 26px;
    }

    .bottoni-contact-list {
        min-width: 0;
    }

    .bottoni-catalog-piece-9,
    .bottoni-catalog-piece-12,
    .bottoni-catalog-piece-14,
    .bottoni-catalog-piece-16 {
        display: none;
    }
}

/* Golden-ratio commerce flow 2.6.7 */
.bottoni-commerce-entry-content {
    width: min(1500px, calc(100% - 56px));
    max-width: none;
}

body.woocommerce-cart .bottoni-cart-entry,
body.woocommerce-checkout .bottoni-checkout-entry {
    width: 100%;
    max-width: none;
    padding: 54px 0 76px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.bottoni-commerce-page-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.618fr) minmax(300px, 1fr);
    align-items: end;
    gap: 46px;
    margin-bottom: 48px;
    padding: 20px 0 34px;
    border-bottom: 1px solid rgba(166, 108, 39, .22);
}

.bottoni-commerce-page-head::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 38.2%;
    height: 7px;
    background: repeating-linear-gradient(90deg, rgba(166, 108, 39, .38) 0 1px, transparent 1px 17px);
    pointer-events: none;
}

.bottoni-commerce-page-head::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 38.2%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(127, 31, 50, .44));
    pointer-events: none;
}

.bottoni-commerce-page-head .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 15px;
}

.bottoni-commerce-page-head .bottoni-eyebrow::after {
    content: "";
    width: 54px;
    height: 1px;
    background: rgba(166, 108, 39, .58);
}

.bottoni-commerce-page-head h1 {
    margin: 0;
    font-size: 68px;
    line-height: .96;
}

.bottoni-commerce-page-intro {
    max-width: 470px;
    margin: 0;
    padding-left: 22px;
    border-left: 1px solid rgba(166, 108, 39, .42);
    color: var(--bottoni-muted);
    font: 600 18px/1.58 var(--bottoni-serif);
}

@media (min-width: 861px) {
    body.woocommerce-cart .wc-block-cart,
    body.woocommerce-checkout .wc-block-checkout {
        display: grid;
        grid-template-columns: minmax(0, 1.618fr) minmax(330px, 1fr);
        align-items: start;
        gap: 42px;
    }

    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-checkout .wc-block-checkout__main {
        padding-right: 0;
    }

    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        top: 24px;
        max-height: calc(100vh - 48px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        isolation: isolate;
        padding: 30px;
        border-color: rgba(166, 108, 39, .28);
        border-top: 2px solid rgba(166, 108, 39, .62);
        background: rgba(255, 250, 242, .72);
        box-shadow: 0 18px 48px rgba(65, 42, 23, .07);
    }

    body.woocommerce-cart .wc-block-cart__sidebar::before,
    body.woocommerce-checkout .wc-block-checkout__sidebar::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: -102px;
        right: -102px;
        width: 218px;
        height: 218px;
        border-radius: 50%;
        background: repeating-radial-gradient(circle, rgba(166, 108, 39, .09) 0 1px, transparent 1px 15px);
        opacity: .5;
        pointer-events: none;
    }
}

body.woocommerce-cart .wc-block-cart-items {
    position: relative;
    padding-top: 10px;
    border-top: 2px solid rgba(166, 108, 39, .48);
}

body.woocommerce-cart .wc-block-cart-items::before {
    content: "01 / ВЫБРАННЫЕ ПОЗИЦИИ";
    position: absolute;
    top: -23px;
    left: 0;
    color: var(--bottoni-gold-deep);
    font: 800 10px/1 var(--bottoni-sans);
}

body.woocommerce-checkout .wc-block-checkout__main {
    counter-reset: bottoni-checkout-step;
}

body.woocommerce-checkout .wc-block-components-checkout-step {
    position: relative;
    counter-increment: bottoni-checkout-step;
    padding-left: 48px;
}

body.woocommerce-checkout .wc-block-components-checkout-step::before {
    content: counter(bottoni-checkout-step, decimal-leading-zero);
    position: absolute;
    top: 4px;
    left: 0;
    width: 30px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(166, 108, 39, .5);
    color: rgba(166, 108, 39, .72);
    font: 700 12px/1 var(--bottoni-serif);
}

body.woocommerce-cart .bottoni-empty-cart-hero {
    width: min(920px, 100%);
    margin-left: 0;
    padding: 38px 46px 42px;
    border-right: 0;
    border-left: 0;
    border-top-color: rgba(166, 108, 39, .46);
    background: linear-gradient(135deg, rgba(255, 250, 242, .68), rgba(244, 234, 220, .3));
    box-shadow: none;
}

@media (max-width: 1100px) {
    .bottoni-commerce-page-head {
        grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr);
        gap: 30px;
    }

    .bottoni-commerce-page-head h1 {
        font-size: 56px;
    }
}

@media (max-width: 860px) {
    .bottoni-commerce-entry-content {
        width: min(calc(100% - 32px), 760px);
    }

    body.woocommerce-cart .bottoni-cart-entry,
    body.woocommerce-checkout .bottoni-checkout-entry {
        padding: 38px 0 56px;
    }

    .bottoni-commerce-page-head {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 36px;
        padding-bottom: 28px;
    }

    .bottoni-commerce-page-head h1 {
        font-size: 48px;
    }

    .bottoni-commerce-page-intro {
        max-width: 620px;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding-left: 40px;
    }
}

@media (max-width: 560px) {
    .bottoni-commerce-entry-content {
        width: calc(100% - 24px);
    }

    body.woocommerce-cart .bottoni-cart-entry,
    body.woocommerce-checkout .bottoni-checkout-entry {
        padding: 30px 0 44px;
    }

    .bottoni-commerce-page-head {
        margin-bottom: 30px;
        padding-top: 18px;
    }

    .bottoni-commerce-page-head h1 {
        font-size: 40px;
    }

    .bottoni-commerce-page-intro {
        padding-left: 16px;
        font-size: 16px;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding-left: 0;
        padding-top: 34px;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step::before {
        top: 4px;
    }

    body.woocommerce-cart .bottoni-empty-cart-hero {
        padding: 30px 18px 34px;
    }
}

/* Home location and global footer composition 2.6.0 */
.bottoni-home-location {
    position: relative;
    min-height: 580px;
    overflow: hidden;
    isolation: isolate;
    background: #e6ddd2;
}

.bottoni-home-location-map,
.bottoni-home-location-wash,
.bottoni-home-location-grid {
    position: absolute;
    inset: 0;
}

.bottoni-home-location-wash {
    background:
        linear-gradient(90deg, rgba(255, 248, 237, .98) 0%, rgba(255, 248, 237, .94) 32%, rgba(255, 248, 237, .54) 49%, rgba(255, 248, 237, .08) 69%),
        linear-gradient(180deg, rgba(255, 248, 237, .16), transparent 46%, rgba(41, 30, 27, .09));
}

.bottoni-home-location-grid {
    background:
        linear-gradient(rgba(127, 31, 50, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(127, 31, 50, .07) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity: .34;
}

.bottoni-home-location-inner {
    position: relative;
    z-index: 500;
    width: min(1500px, calc(100% - 56px));
    min-height: 580px;
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 54px 0;
    box-sizing: border-box;
    pointer-events: none;
}

.bottoni-home-location-copy {
    width: min(620px, 47%);
    pointer-events: auto;
}

.bottoni-home-location-copy .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #99631f;
}

.bottoni-home-location-copy .bottoni-eyebrow::after {
    content: "";
    width: 54px;
    height: 1px;
    background: currentColor;
}

.bottoni-home-location-copy h2 {
    margin: 20px 0 0;
    font-size: 70px;
    font-weight: 600;
    line-height: .88;
}

.bottoni-home-location-intro {
    max-width: 560px;
    margin: 28px 0 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 16px;
    line-height: 1.65;
}

.bottoni-home-location-copy address {
    margin-top: 20px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 15px;
    font-style: normal;
    font-weight: 800;
}

.bottoni-home-location-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
    border-top: 1px solid rgba(127, 31, 50, .2);
    border-bottom: 1px solid rgba(127, 31, 50, .2);
}

.bottoni-home-location-links a {
    min-width: 0;
    display: grid;
    gap: 5px;
    padding: 14px 16px 15px 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    text-decoration: none;
}

.bottoni-home-location-links a + a {
    padding-left: 20px;
    border-left: 1px solid rgba(127, 31, 50, .2);
}

.bottoni-home-location-links span {
    color: #99631f;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-home-location-links strong {
    min-width: 0;
    font-size: 14px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.bottoni-home-location-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-top: 24px;
}

.bottoni-home-location-route,
.bottoni-home-location-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-home-location-route {
    min-height: 48px;
    gap: 24px;
    padding: 0 18px 0 21px;
    background: var(--bottoni-wine);
    color: #fff;
    box-shadow: 0 15px 34px rgba(127, 31, 50, .17);
    transition: background-color .18s ease, transform .18s ease;
}

.bottoni-home-location-route:hover {
    background: #651628;
    color: #fff;
    transform: translateY(-2px);
}

.bottoni-home-location-more {
    min-height: 36px;
    border-bottom: 1px solid rgba(127, 31, 50, .38);
    color: var(--bottoni-wine);
}

.bottoni-home-location-center {
    bottom: 124px;
}

.bottoni-theme-footer {
    border-top: 1px solid rgba(221, 186, 117, .2);
    background:
        linear-gradient(90deg, rgba(183, 121, 37, .09) 1px, transparent 1px),
        linear-gradient(rgba(183, 121, 37, .07) 1px, transparent 1px),
        radial-gradient(circle at 82% 18%, rgba(127, 31, 50, .22), transparent 32%),
        linear-gradient(118deg, #171214 0%, #251918 58%, #190f13 100%);
    background-size: 72px 72px, 72px 72px, auto, auto;
}

.bottoni-theme-footer::before {
    width: 620px;
    height: 620px;
    top: -330px;
    right: -170px;
    opacity: .72;
}

.bottoni-theme-footer::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, #16824a 0 8%, #f4ecdf 8% 16%, #c72932 16% 24%, transparent 24%);
    opacity: .78;
}

.bottoni-theme-footer-inner,
.bottoni-theme-footer-bottom {
    width: min(1500px, calc(100% - 56px));
}

.bottoni-theme-footer-inner {
    grid-template-columns: minmax(300px, 1.2fr) minmax(180px, .55fr) minmax(340px, .9fr);
    gap: 72px;
    padding: 72px 0 48px;
}

.bottoni-theme-footer-brand-block {
    max-width: 440px;
}

.bottoni-theme-footer-kicker,
.bottoni-theme-footer-label {
    display: block;
    color: #c89b5a !important;
    font-family: var(--bottoni-sans);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-theme-footer-logo {
    width: 184px;
    height: 100px;
    margin-top: 12px;
}

.bottoni-theme-footer-brand-block p {
    max-width: 390px;
    margin-top: 12px;
    font-size: 20px;
}

.bottoni-theme-footer-menu {
    justify-self: start;
}

.bottoni-theme-footer-menu-list {
    gap: 0;
    margin-top: 22px;
}

.bottoni-theme-footer-menu-list li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 250, 242, .1);
}

.bottoni-theme-footer-menu-list a {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.bottoni-theme-footer-menu-list a::after {
    content: "↗";
    color: rgba(221, 186, 117, .54);
    font-size: 11px;
    transition: transform .18s ease, color .18s ease;
}

.bottoni-theme-footer-menu-list a:hover::after {
    color: var(--bottoni-gold-soft);
    transform: translate(2px, -2px);
}

.bottoni-theme-footer-contacts {
    justify-items: start;
    gap: 10px;
    text-align: left;
}

.bottoni-theme-footer-phone {
    margin: 13px 0 2px;
    font-family: var(--bottoni-serif);
    font-size: 31px;
    font-weight: 600;
    line-height: 1;
}

.bottoni-theme-footer-contacts address {
    max-width: 360px;
    margin-top: 8px;
    color: #eadbc8;
    font-style: normal;
    font-weight: 600;
    line-height: 1.55;
}

.bottoni-theme-footer-route {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin-top: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(221, 186, 117, .46);
    color: #d6ad70 !important;
    font-size: 11px;
    text-transform: uppercase;
}

.bottoni-theme-footer-bottom {
    padding: 20px 0 28px;
}

@media (max-width: 980px) {
    .bottoni-home-location-inner,
    .bottoni-theme-footer-inner,
    .bottoni-theme-footer-bottom {
        width: calc(100% - 36px);
    }

    .bottoni-home-location-copy {
        width: min(580px, 64%);
    }

    .bottoni-home-location-copy h2 {
        font-size: 58px;
    }

    .bottoni-theme-footer-inner {
        grid-template-columns: minmax(280px, 1fr) minmax(160px, .6fr);
        gap: 54px;
    }

    .bottoni-theme-footer-contacts {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: baseline;
        padding-top: 30px;
        border-top: 1px solid rgba(255, 250, 242, .12);
    }

    .bottoni-theme-footer-contacts .bottoni-theme-footer-label,
    .bottoni-theme-footer-contacts address,
    .bottoni-theme-footer-contacts .bottoni-theme-footer-route {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .bottoni-home-location,
    .bottoni-home-location-inner {
        min-height: 690px;
    }

    .bottoni-home-location-wash {
        background:
            linear-gradient(180deg, rgba(255, 248, 237, .98) 0%, rgba(255, 248, 237, .91) 55%, rgba(255, 248, 237, .44) 80%, rgba(255, 248, 237, .2) 100%);
    }

    .bottoni-home-location-inner {
        align-items: flex-start;
        padding: 58px 0 190px;
    }

    .bottoni-home-location-copy {
        width: 100%;
    }

    .bottoni-home-location-copy h2 {
        font-size: 48px;
    }

    .bottoni-home-location-intro {
        font-size: 14px;
    }

    .bottoni-home-location-links {
        grid-template-columns: 1fr;
    }

    .bottoni-home-location-links a + a {
        padding-left: 0;
        border-top: 1px solid rgba(127, 31, 50, .16);
        border-left: 0;
    }

    .bottoni-home-location .leaflet-control-attribution {
        margin-bottom: 7px;
    }

    .bottoni-home-location-center {
        bottom: 86px;
    }

    .bottoni-theme-footer-inner {
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 54px 0 38px;
    }

    .bottoni-theme-footer-menu-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 22px;
    }

    .bottoni-theme-footer-contacts {
        grid-column: auto;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .bottoni-theme-footer-contacts .bottoni-theme-footer-label,
    .bottoni-theme-footer-contacts address,
    .bottoni-theme-footer-contacts .bottoni-theme-footer-route {
        grid-column: auto;
    }

    .bottoni-theme-footer-phone {
        font-size: 28px;
    }

    .bottoni-theme-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        font-size: 10px;
    }
}

@media (max-width: 420px) {
    .bottoni-home-location,
    .bottoni-home-location-inner {
        min-height: 740px;
    }

    .bottoni-home-location-inner,
    .bottoni-theme-footer-inner,
    .bottoni-theme-footer-bottom {
        width: calc(100% - 28px);
    }

    .bottoni-home-location-copy h2 {
        font-size: 42px;
    }

    .bottoni-home-location-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .bottoni-theme-footer-menu-list {
        grid-template-columns: 1fr;
    }
}

/* Immersive contact page 2.4.0 */
body.bottoni-contact-page-context .bottoni-theme-header {
    z-index: 1001;
}

body.bottoni-contact-page-context .bottoni-theme-navbar {
    width: min(1500px, calc(100% - 56px));
}

.bottoni-contact-page {
    overflow: clip;
    background: #f7eee2;
    color: var(--bottoni-ink);
}

.bottoni-contact-hero {
    position: relative;
    isolation: isolate;
    height: clamp(700px, calc(100svh - 42px), 860px);
    min-height: 700px;
    overflow: hidden;
    background: #e6ddd2;
}

.bottoni-contact-map,
.bottoni-contact-map-wash,
.bottoni-contact-map-grid {
    position: absolute;
    inset: 0;
}

.bottoni-contact-map {
    z-index: 0;
    background:
        linear-gradient(rgba(127, 31, 50, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(127, 31, 50, .06) 1px, transparent 1px),
        #e9dfd3;
    background-size: 56px 56px;
    cursor: crosshair;
}

.bottoni-contact-map .leaflet-tile-pane {
    filter: grayscale(1) sepia(.38) saturate(.56) contrast(.9) brightness(1.05);
    opacity: .82;
}

.bottoni-contact-map .leaflet-control-attribution {
    margin: 0 14px 12px 0;
    padding: 4px 7px;
    background: rgba(255, 248, 237, .78);
    color: rgba(35, 28, 26, .66);
    font-family: var(--bottoni-sans);
    font-size: 9px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.bottoni-contact-map .leaflet-control-attribution a {
    color: var(--bottoni-wine);
}

.bottoni-contact-map .leaflet-control-zoom {
    margin: 0 22px 22px 0;
    border: 1px solid rgba(127, 31, 50, .24);
    border-radius: 0;
    box-shadow: 0 14px 36px rgba(43, 32, 28, .12);
}

.bottoni-contact-map .leaflet-control-zoom a {
    width: 40px;
    height: 40px;
    border: 0;
    border-bottom: 1px solid rgba(127, 31, 50, .14);
    border-radius: 0 !important;
    background: rgba(255, 248, 237, .9);
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 21px;
    line-height: 40px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.bottoni-contact-map .leaflet-control-zoom a:last-child {
    border-bottom: 0;
}

.bottoni-contact-map-wash {
    z-index: 401;
    background:
        linear-gradient(90deg, rgba(255, 248, 237, .98) 0%, rgba(255, 248, 237, .91) 28%, rgba(255, 248, 237, .28) 54%, transparent 72%),
        linear-gradient(180deg, rgba(255, 248, 237, .28), transparent 34%, rgba(41, 30, 27, .08));
    pointer-events: none;
}

.bottoni-contact-map-grid {
    z-index: 402;
    background:
        linear-gradient(90deg, transparent calc(50% - .5px), rgba(127, 31, 50, .12) 50%, transparent calc(50% + .5px)),
        linear-gradient(transparent calc(50% - .5px), rgba(183, 121, 37, .13) 50%, transparent calc(50% + .5px));
    opacity: .55;
    pointer-events: none;
}

.bottoni-contact-hero-inner {
    z-index: 500;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 156px 0 42px;
    box-sizing: border-box;
    pointer-events: none;
}

.bottoni-contact-hero-copy {
    width: min(620px, 46vw);
    pointer-events: auto;
}

.bottoni-contact-hero-copy .bottoni-eyebrow,
.bottoni-contact-section-heading .bottoni-eyebrow,
.bottoni-contact-visit .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #a36b25;
}

.bottoni-contact-hero-copy .bottoni-eyebrow::after,
.bottoni-contact-section-heading .bottoni-eyebrow::after,
.bottoni-contact-visit .bottoni-eyebrow::after {
    content: "";
    width: 54px;
    height: 1px;
    background: currentColor;
}

.bottoni-contact-hero h1 {
    max-width: 720px;
    margin: 24px 0 0;
    font-family: var(--bottoni-serif);
    font-size: 112px;
    font-weight: 600;
    line-height: .78;
    letter-spacing: 0;
}

.bottoni-contact-intro {
    max-width: 590px;
    margin: 42px 0 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 18px;
    line-height: 1.65;
}

.bottoni-contact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-top: 32px;
}

.bottoni-contact-route,
.bottoni-contact-map-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-contact-route {
    min-height: 48px;
    gap: 28px;
    padding: 0 18px 0 22px;
    background: var(--bottoni-wine);
    color: #fff;
    box-shadow: 0 16px 36px rgba(127, 31, 50, .16);
    transition: background-color .18s ease, transform .18s ease;
}

.bottoni-contact-route:hover {
    background: #651628;
    color: #fff;
    transform: translateY(-2px);
}

.bottoni-contact-map-link {
    min-height: 36px;
    border-bottom: 1px solid rgba(127, 31, 50, .38);
    color: var(--bottoni-wine);
}

.bottoni-contact-location-line {
    width: min(620px, 48vw);
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 24px;
    align-items: baseline;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(127, 31, 50, .2);
    font-family: var(--bottoni-sans);
}

.bottoni-contact-location-line span {
    color: #a36b25;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-contact-location-line strong {
    font-size: 15px;
    font-weight: 700;
}

.bottoni-contact-coordinates {
    position: absolute;
    right: 0;
    bottom: 42px;
    display: flex;
    gap: 28px;
    color: rgba(35, 28, 26, .66);
    font-family: var(--bottoni-sans);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    pointer-events: none;
}

.bottoni-contact-map-center {
    position: absolute;
    z-index: 700;
    right: 18px;
    bottom: 124px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(127, 31, 50, .24);
    background: rgba(255, 248, 237, .9);
    color: var(--bottoni-wine);
    box-shadow: 0 14px 36px rgba(43, 32, 28, .12);
    cursor: pointer;
    pointer-events: auto;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.bottoni-contact-map-center span,
.bottoni-contact-map-center span::before,
.bottoni-contact-map-center span::after {
    position: absolute;
    content: "";
}

.bottoni-contact-map-center span {
    inset: 11px;
    border: 1px solid currentColor;
    border-radius: 50%;
}

.bottoni-contact-map-center span::before {
    left: 50%;
    top: -5px;
    bottom: -5px;
    width: 1px;
    background: currentColor;
}

.bottoni-contact-map-center span::after {
    top: 50%;
    left: -5px;
    right: -5px;
    height: 1px;
    background: currentColor;
}

.bottoni-contact-marker-shell {
    background: transparent;
    border: 0;
}

.bottoni-contact-marker {
    position: absolute;
    left: 0;
    top: 0;
    width: 104px;
    height: 104px;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
}

.bottoni-contact-marker::before,
.bottoni-contact-marker::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(127, 31, 50, .5);
    border-radius: 50%;
}

.bottoni-contact-marker::after {
    inset: 18px;
    border-color: rgba(183, 121, 37, .7);
}

.bottoni-contact-marker-core {
    position: relative;
    z-index: 2;
    width: 18px;
    height: 18px;
    border: 5px solid rgba(255, 248, 237, .94);
    border-radius: 50%;
    background: var(--bottoni-wine);
    box-shadow: 0 0 0 1px #a66c27, 0 8px 24px rgba(127, 31, 50, .28);
}

.bottoni-contact-marker-label {
    position: absolute;
    z-index: 3;
    left: 76px;
    top: 50%;
    min-width: 112px;
    padding: 9px 12px 10px;
    background: rgba(31, 25, 24, .94);
    color: #fff8ed;
    font-family: var(--bottoni-sans);
    line-height: 1;
    transform: translateY(-50%);
    box-shadow: 0 12px 28px rgba(35, 28, 26, .18);
}

.bottoni-contact-marker-label::before {
    content: "";
    position: absolute;
    right: 100%;
    top: 50%;
    width: 24px;
    height: 1px;
    background: #a66c27;
}

.bottoni-contact-marker-label small,
.bottoni-contact-marker-label strong {
    display: block;
    letter-spacing: 0;
}

.bottoni-contact-marker-label small {
    margin-bottom: 5px;
    color: #c8944b;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-contact-marker-label strong {
    font-size: 13px;
    font-weight: 800;
}

.bottoni-contact-channels {
    position: relative;
    background: #211b1b;
    color: #fff8ed;
}

.bottoni-contact-channels::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-radial-gradient(circle at 90% 20%, rgba(183, 121, 37, .12) 0 1px, transparent 1px 18px);
    opacity: .55;
    pointer-events: none;
}

.bottoni-contact-channels-inner {
    width: min(1500px, calc(100% - 56px));
    padding: 92px 0 104px;
}

.bottoni-contact-section-heading {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 42px;
    align-items: end;
    margin-bottom: 64px;
}

.bottoni-contact-section-heading h2 {
    max-width: 860px;
    margin: 0;
    color: #fff8ed;
    font-family: var(--bottoni-serif);
    font-size: 68px;
    font-weight: 600;
    line-height: .94;
    letter-spacing: 0;
}

.bottoni-contact-channel-list {
    border-top: 1px solid rgba(255, 248, 237, .18);
}

.bottoni-contact-channel {
    position: relative;
    display: grid;
    grid-template-columns: 80px 210px minmax(0, 1fr) 40px;
    gap: 20px;
    align-items: center;
    min-height: 108px;
    border-bottom: 1px solid rgba(255, 248, 237, .18);
    color: #fff8ed;
    font-family: var(--bottoni-sans);
    text-decoration: none;
    transition: color .2s ease, padding .24s ease, background-color .2s ease;
}

.bottoni-contact-channel::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(127, 31, 50, .22);
    opacity: 0;
    transition: opacity .2s ease;
}

.bottoni-contact-channel:hover {
    padding: 0 18px;
    color: #fff;
}

.bottoni-contact-channel:hover::before {
    opacity: 1;
}

.bottoni-contact-channel > * {
    position: relative;
    z-index: 1;
}

.bottoni-contact-channel-index,
.bottoni-contact-channel-label {
    color: #c8944b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-contact-channel strong {
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 0;
}

.bottoni-contact-channel-arrow {
    font-size: 24px;
    text-align: right;
}

.bottoni-contact-visit {
    background:
        linear-gradient(90deg, rgba(183, 121, 37, .08) 1px, transparent 1px),
        #f7eee2;
    background-size: 25% 100%;
}

.bottoni-contact-visit-inner {
    width: min(1500px, calc(100% - 56px));
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
    gap: 90px;
    align-items: end;
    padding: 108px 0 124px;
}

.bottoni-contact-visit h2 {
    max-width: 920px;
    margin: 24px 0 0;
    font-family: var(--bottoni-serif);
    font-size: 76px;
    font-weight: 600;
    line-height: .92;
    letter-spacing: 0;
}

.bottoni-contact-visit-note {
    position: relative;
    padding: 30px 0 0 42px;
    border-top: 1px solid rgba(127, 31, 50, .24);
}

.bottoni-contact-visit-mark {
    position: absolute;
    left: 0;
    top: 32px;
    width: 16px;
    height: 16px;
    border: 1px solid #a66c27;
    border-radius: 50%;
    box-shadow: inset 0 0 0 4px #f7eee2;
    background: var(--bottoni-wine);
}

.bottoni-contact-visit-note p {
    margin: 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 16px;
    line-height: 1.65;
}

.bottoni-contact-visit-note a {
    display: inline-flex;
    gap: 20px;
    margin-top: 24px;
    color: var(--bottoni-wine);
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-contact-map-fallback {
    position: absolute;
    z-index: 900;
    right: 24px;
    bottom: 24px;
    margin: 0;
}

.bottoni-contact-map-fallback a {
    color: var(--bottoni-wine);
}

@media (prefers-reduced-motion: no-preference) {
    .bottoni-contact-marker::before {
        animation: bottoni-contact-marker-pulse 2.8s ease-out infinite;
    }

    .bottoni-contact-marker::after {
        animation: bottoni-contact-marker-breathe 2.8s ease-in-out infinite;
    }
}

@keyframes bottoni-contact-marker-pulse {
    0%, 32% {
        opacity: .72;
        transform: scale(.58);
    }

    82%, 100% {
        opacity: 0;
        transform: scale(1.18);
    }
}

@keyframes bottoni-contact-marker-breathe {
    0%, 100% {
        opacity: .55;
        transform: scale(.94);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

@media (max-width: 980px) {
    body.bottoni-contact-page-context .bottoni-theme-navbar {
        width: calc(100% - 36px);
    }

    .bottoni-contact-hero {
        height: 800px;
        min-height: 800px;
    }

    .bottoni-contact-hero-inner {
        padding-top: 132px;
    }

    .bottoni-contact-hero-copy {
        width: min(560px, 68vw);
    }

    .bottoni-contact-hero h1 {
        font-size: 84px;
    }

    .bottoni-contact-location-line {
        width: min(560px, 68vw);
    }

    .bottoni-contact-coordinates {
        right: 10px;
    }

    .bottoni-contact-section-heading {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .bottoni-contact-channel {
        grid-template-columns: 54px 160px minmax(0, 1fr) 32px;
    }

    .bottoni-contact-visit-inner {
        grid-template-columns: 1fr;
        gap: 58px;
    }
}

@media (max-width: 720px) {
    body.bottoni-contact-page-context .bottoni-theme-navbar {
        width: calc(100% - 28px);
    }

    .bottoni-contact-hero {
        height: 820px;
        min-height: 820px;
    }

    .bottoni-contact-map {
        top: 235px;
    }

    .bottoni-contact-map-wash {
        background:
            linear-gradient(180deg, rgba(255, 248, 237, .99) 0%, rgba(255, 248, 237, .94) 34%, rgba(255, 248, 237, .28) 62%, transparent 78%),
            linear-gradient(90deg, rgba(255, 248, 237, .18), transparent 52%);
    }

    .bottoni-contact-map-grid {
        top: 235px;
    }

    .bottoni-contact-hero-inner {
        width: calc(100% - 36px);
        padding: 118px 0 24px;
    }

    .bottoni-contact-hero-copy {
        width: 100%;
    }

    .bottoni-contact-hero-copy .bottoni-eyebrow {
        font-size: 10px;
    }

    .bottoni-contact-hero h1 {
        margin-top: 18px;
        font-size: 56px;
        line-height: .84;
    }

    .bottoni-contact-intro {
        max-width: 500px;
        margin-top: 26px;
        font-size: 15px;
        line-height: 1.55;
    }

    .bottoni-contact-hero-actions {
        gap: 18px;
        margin-top: 22px;
    }

    .bottoni-contact-route {
        min-height: 44px;
    }

    .bottoni-contact-location-line {
        width: calc(100% - 64px);
        grid-template-columns: 1fr;
        gap: 6px;
        margin-top: auto;
        padding-top: 14px;
    }

    .bottoni-contact-location-line strong {
        font-size: 13px;
    }

    .bottoni-contact-coordinates {
        display: none;
    }

    .bottoni-contact-map-center {
        right: 10px;
        bottom: 116px;
    }

    .bottoni-contact-map .leaflet-control-zoom {
        margin: 0 12px 18px 0;
    }

    .bottoni-contact-map .leaflet-control-attribution {
        margin: 0 10px 8px 0;
        max-width: calc(100vw - 24px);
    }

    .bottoni-contact-marker {
        width: 82px;
        height: 82px;
    }

    .bottoni-contact-marker-label {
        left: 62px;
        min-width: 82px;
        padding: 8px 10px;
    }

    .bottoni-contact-marker-label::before {
        width: 18px;
    }

    .bottoni-contact-channels-inner,
    .bottoni-contact-visit-inner {
        width: calc(100% - 36px);
    }

    .bottoni-contact-channels-inner {
        padding: 72px 0 78px;
    }

    .bottoni-contact-section-heading {
        margin-bottom: 42px;
    }

    .bottoni-contact-section-heading h2 {
        font-size: 48px;
    }

    .bottoni-contact-channel {
        grid-template-columns: 36px minmax(0, 1fr) 28px;
        gap: 12px;
        min-height: 96px;
    }

    .bottoni-contact-channel-label {
        display: none;
    }

    .bottoni-contact-channel strong {
        font-size: 18px;
        overflow-wrap: anywhere;
    }

    .bottoni-contact-channel:hover {
        padding: 0 8px;
    }

    .bottoni-contact-visit-inner {
        gap: 42px;
        padding: 76px 0 88px;
    }

    .bottoni-contact-visit h2 {
        font-size: 52px;
    }

    .bottoni-contact-visit-note {
        padding-left: 34px;
    }
}

/* Sticky catalog navigation and refined transitions 2.3.0 */
@media (min-width: 1181px) {
    body.bottoni-catalog-product .bottoni-product-sidebar {
        position: sticky;
        top: 18px;
        align-self: start;
        max-height: calc(100vh - 36px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(183, 121, 37, .42) transparent;
    }
}

@media (min-width: 981px) {
    body.bottoni-catalog-archive .bottoni-shop-sidebar {
        position: sticky;
        top: 18px;
        align-self: start;
        max-height: calc(100vh - 36px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(183, 121, 37, .42) transparent;
    }
}

/* Add-to-cart success notice 2.2.1 */
.woocommerce-notices-wrapper.bottoni-cart-notice-stack,
.woocommerce-notices-wrapper:has(.bottoni-cart-notice-summary) {
    position: fixed;
    z-index: 100000;
    top: 104px;
    right: max(22px, calc((100vw - 1660px) / 2));
    width: min(440px, calc(100vw - 32px));
    margin: 0;
    pointer-events: none;
}

body.admin-bar .woocommerce-notices-wrapper.bottoni-cart-notice-stack,
body.admin-bar .woocommerce-notices-wrapper:has(.bottoni-cart-notice-summary) {
    top: 136px;
}

.bottoni-cart-notice-stack .woocommerce-message {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 26px;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 17px 16px 17px 52px;
    border: 1px solid rgba(221, 186, 117, .58);
    border-radius: 0;
    background: rgba(38, 27, 24, .97);
    box-shadow: 0 20px 54px rgba(38, 19, 15, .3);
    color: var(--bottoni-white);
    font-family: var(--bottoni-sans);
    line-height: 1.35;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .22s ease, transform .22s ease;
    pointer-events: auto;
}

.bottoni-cart-notice-stack .woocommerce-message::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 17px;
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(221, 186, 117, .72);
    border-radius: 50%;
    color: var(--bottoni-gold-soft);
    font-size: 13px;
    font-weight: 900;
    transform: translateY(-50%);
}

.bottoni-cart-notice-stack .woocommerce-message::after {
    display: none;
}

.bottoni-cart-notice-stack .woocommerce-message.is-hiding {
    opacity: 0;
    transform: translateY(-8px);
}

.bottoni-cart-notice-summary,
.bottoni-cart-notice-summary > * {
    display: block;
}

.bottoni-cart-notice-summary {
    min-width: 0;
}

.bottoni-cart-notice-summary > span {
    color: var(--bottoni-gold-soft);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-cart-notice-summary strong {
    margin-top: 3px;
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bottoni-cart-notice-summary small {
    margin-top: 3px;
    color: rgba(255, 255, 255, .68);
    font-size: 10px;
    font-weight: 700;
}

.bottoni-cart-notice-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bottoni-cart-notice-actions a {
    color: var(--bottoni-gold-soft);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .03em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.bottoni-cart-notice-actions a + a {
    padding-left: 10px;
    border-left: 1px solid rgba(221, 186, 117, .32);
}

.bottoni-cart-notice-actions a:hover,
.bottoni-cart-notice-actions a:focus-visible {
    color: #fff;
    outline: none;
}

.bottoni-cart-notice-close {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .62);
    font: 400 21px/1 var(--bottoni-sans);
    cursor: pointer;
}

.bottoni-cart-notice-close:hover,
.bottoni-cart-notice-close:focus-visible {
    color: #fff;
    outline: 1px solid rgba(221, 186, 117, .48);
}

@media (max-width: 720px) {
    .woocommerce-notices-wrapper.bottoni-cart-notice-stack,
    .woocommerce-notices-wrapper:has(.bottoni-cart-notice-summary) {
        top: 112px;
        right: 16px;
    }

    body.admin-bar .woocommerce-notices-wrapper.bottoni-cart-notice-stack,
    body.admin-bar .woocommerce-notices-wrapper:has(.bottoni-cart-notice-summary) {
        top: 158px;
    }

    .bottoni-cart-notice-stack .woocommerce-message {
        grid-template-columns: minmax(0, 1fr) 26px;
        gap: 10px;
        padding: 15px 14px 15px 48px;
    }

    .bottoni-cart-notice-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

/* Product variation choices and quantity stepper 2.2.0 */
.bottoni-single-purchase .bottoni-variation-select-enhanced {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.bottoni-variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bottoni-variation-option {
    min-width: 52px;
    min-height: 42px;
    padding: 8px 13px;
    border: 1px solid rgba(183, 121, 37, .38);
    border-radius: 0;
    background: rgba(255, 252, 247, .8);
    color: var(--bottoni-ink-soft);
    font: 800 13px/1.25 var(--bottoni-sans);
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.bottoni-variation-option:hover:not(:disabled),
.bottoni-variation-option:focus-visible {
    border-color: var(--bottoni-discovery);
    color: var(--bottoni-ink);
    outline: none;
    box-shadow: 0 0 0 2px rgba(183, 121, 37, .12);
}

.bottoni-variation-option.is-selected {
    border-color: var(--bottoni-commerce);
    background: var(--bottoni-commerce);
    color: #fff;
    box-shadow: 0 6px 16px rgba(128, 23, 45, .16);
}

.bottoni-variation-option:disabled {
    border-color: rgba(111, 84, 60, .14);
    background: rgba(242, 235, 226, .54);
    color: rgba(77, 65, 54, .38);
    cursor: not-allowed;
    text-decoration: line-through;
}

.bottoni-single-purchase .bottoni-single-quantity {
    display: inline-grid;
    grid-template-columns: 42px minmax(58px, 72px) 42px;
    vertical-align: middle;
}

.bottoni-single-purchase .bottoni-single-quantity .qty {
    width: 100%;
    min-width: 0;
    border-right: 0;
    border-left: 0;
    appearance: textfield;
    -moz-appearance: textfield;
}

.bottoni-single-purchase .bottoni-single-quantity .qty::-webkit-inner-spin-button,
.bottoni-single-purchase .bottoni-single-quantity .qty::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

.bottoni-single-quantity-button {
    min-width: 0;
    min-height: 50px;
    padding: 0;
    border: 1px solid rgba(183, 121, 37, .42);
    border-radius: 0;
    background: rgba(255, 250, 242, .82);
    color: var(--bottoni-ink);
    font: 700 18px var(--bottoni-sans);
    cursor: pointer;
}

.bottoni-single-quantity-button:hover:not(:disabled),
.bottoni-single-quantity-button:focus-visible {
    border-color: var(--bottoni-discovery);
    color: var(--bottoni-discovery-hover);
    outline: none;
}

.bottoni-single-quantity-button:disabled {
    color: rgba(77, 65, 54, .32);
    cursor: not-allowed;
}

@media (max-width: 480px) {
    .bottoni-variation-option {
        flex: 1 1 calc(50% - 8px);
        min-width: 0;
    }

    .bottoni-single-purchase .bottoni-single-quantity {
        grid-template-columns: 40px minmax(52px, 64px) 40px;
    }

    .bottoni-single-purchase .single_add_to_cart_button {
        padding-right: 16px;
        padding-left: 16px;
    }
}

@media (max-width: 520px) {
    .bottoni-brand-text span {
        font-size: 29px;
    }

    .bottoni-actions {
        flex-direction: column;
        width: calc(100vw - 56px);
        max-width: calc(100vw - 56px);
    }

    .bottoni-button {
        width: 100%;
    }

    .bottoni-hero-art {
        min-height: 310px;
    }

    .bottoni-hero-logo {
        left: 50%;
        width: min(222px, 64%);
    }

    .bottoni-hero-logo span {
        font-size: 11px;
    }

    .bottoni-made {
        gap: 10px;
        font-size: 11px;
        letter-spacing: .14em;
    }

    .bottoni-catalog-showcase .bottoni-container {
        width: calc(100% - 44px);
        max-width: calc(100vw - 44px);
    }

    .bottoni-catalog-showcase {
        padding-top: 68px;
        padding-bottom: 78px;
    }

    .bottoni-catalog-showcase::before {
        inset: 12px;
    }

    .bottoni-category-grid {
        gap: 12px;
    }

    .bottoni-category-card {
        padding: 22px 20px;
    }

}

/* Catalog measured composition and golden-ratio hierarchy 2.6.5 */
body.bottoni-catalog-archive .bottoni-shop-hero-inner {
    position: relative;
}

body.bottoni-catalog-archive .bottoni-shop-hero-inner::after {
    content: "";
    position: absolute;
    z-index: 3;
    bottom: 24px;
    left: 298px;
    width: min(440px, 38.2%);
    height: 7px;
    border-top: 1px solid rgba(166, 108, 39, .34);
    background: repeating-linear-gradient(90deg, rgba(166, 108, 39, .42) 0 1px, transparent 1px 17px);
    mask-image: linear-gradient(90deg, #000 0%, #000 76%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 76%, transparent 100%);
    pointer-events: none;
}

body.bottoni-catalog-archive .bottoni-shop-body {
    position: relative;
    isolation: isolate;
}

body.bottoni-catalog-archive .bottoni-shop-body::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 3%;
    width: 38.2%;
    height: 260px;
    background:
        linear-gradient(rgba(166, 108, 39, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(166, 108, 39, .055) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(135deg, transparent 4%, #000 38%, transparent 94%);
    -webkit-mask-image: linear-gradient(135deg, transparent 4%, #000 38%, transparent 94%);
    pointer-events: none;
}

@media (min-width: 1280px) {
    body.bottoni-catalog-archive .bottoni-shop-layout {
        grid-template-columns: 272px minmax(0, 1fr);
        gap: 26px;
    }

    body.bottoni-catalog-archive:not(.bottoni-buttons-catalog-context) .bottoni-shop-hero-inner,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        grid-template-columns: 272px minmax(0, 1fr);
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner {
        grid-template-columns: 272px minmax(0, 1fr) 310px;
    }

    body.bottoni-catalog-archive .bottoni-shop-toolbar {
        display: grid;
        grid-template-columns: minmax(190px, .618fr) minmax(0, 1fr);
    }
}

body.bottoni-catalog-archive .bottoni-shop-sidebar {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .62),
        0 18px 46px rgba(65, 42, 23, .075);
}

body.bottoni-catalog-archive .bottoni-shop-sidebar::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 0;
    width: 7px;
    height: 38.2%;
    background: repeating-linear-gradient(180deg, rgba(166, 108, 39, .42) 0 1px, transparent 1px 13px);
    mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
    pointer-events: none;
}

body.bottoni-catalog-archive .bottoni-shop-sidebar h2::before {
    content: "";
    width: 34px;
    height: 1px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    background: var(--bottoni-discovery);
    opacity: .72;
}

body.bottoni-catalog-archive .bottoni-shop-toolbar {
    position: relative;
}

body.bottoni-catalog-archive .bottoni-shop-toolbar::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 38.2%;
    height: 1px;
    background: linear-gradient(90deg, var(--bottoni-discovery), rgba(166, 108, 39, .16));
    pointer-events: none;
}

body.bottoni-catalog-archive .bottoni-catalog-result-count::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 10px;
    border: 1px solid rgba(166, 108, 39, .72);
    transform: rotate(45deg);
}

body.bottoni-catalog-archive .bottoni-shop-products ul.products {
    counter-reset: bottoni-catalog-card;
}

body.bottoni-catalog-archive .bottoni-product-card {
    position: relative;
    overflow: hidden;
    counter-increment: bottoni-catalog-card;
    background:
        linear-gradient(90deg, rgba(166, 108, 39, .5) 0 38.2%, rgba(127, 31, 50, .34) 38.2% 44%, transparent 44%) top / 100% 1px no-repeat,
        rgba(255, 250, 242, .48);
}

body.bottoni-catalog-archive .bottoni-product-card::before {
    content: counter(bottoni-catalog-card, decimal-leading-zero);
    position: absolute;
    z-index: 5;
    top: 24px;
    right: 24px;
    min-width: 25px;
    padding: 4px 5px;
    border: 1px solid rgba(166, 108, 39, .24);
    background: rgba(255, 250, 242, .78);
    color: rgba(116, 75, 31, .72);
    font-family: var(--bottoni-serif);
    font-size: 11px;
    line-height: 1;
    text-align: center;
    pointer-events: none;
}

body.bottoni-catalog-archive .bottoni-product-card::after {
    content: "";
    position: absolute;
    z-index: 4;
    top: -64px;
    right: -64px;
    width: 144px;
    height: 144px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(166, 108, 39, .12) 0 1px, transparent 1px 12px);
    opacity: .34;
    transition: opacity .22s ease, transform .32s ease;
    pointer-events: none;
}

body.bottoni-catalog-archive .bottoni-product-card:hover::after,
body.bottoni-catalog-archive .bottoni-product-card:focus-within::after {
    opacity: .72;
    transform: scale(1.08);
}

body.bottoni-catalog-archive .bottoni-product-category {
    position: relative;
    padding-left: 15px;
}

body.bottoni-catalog-archive .bottoni-product-category::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 9px;
    width: 8px;
    height: 1px;
    background: var(--bottoni-discovery);
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] {
    position: relative;
    padding-top: 20px;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(420px, 61.8%);
    height: 6px;
    background:
        linear-gradient(90deg, transparent, rgba(166, 108, 39, .38) 18%, rgba(166, 108, 39, .38) 82%, transparent) top / 100% 1px no-repeat,
        repeating-linear-gradient(90deg, transparent 0 15px, rgba(166, 108, 39, .26) 15px 16px);
    transform: translateX(-50%);
    pointer-events: none;
}

@media (max-width: 1279px) {
    body.bottoni-catalog-archive .bottoni-shop-hero-inner::after {
        left: 0;
        width: 38.2%;
    }
}

@media (max-width: 980px) {
    body.bottoni-catalog-archive .bottoni-shop-hero-inner::after,
    body.bottoni-catalog-archive .bottoni-shop-body::before {
        display: none;
    }

    body.bottoni-catalog-archive .bottoni-product-card::after {
        opacity: .22;
    }
}

@media (max-width: 720px) {
    body.bottoni-catalog-archive .bottoni-shop-sidebar h2::before {
        width: 24px;
    }

    body.bottoni-catalog-archive .bottoni-product-card::before {
        top: 20px;
        right: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bottoni-brand,
    .bottoni-hero-logo,
    .bottoni-made,
    .bottoni-float,
    .bottoni-catalog-piece,
    .bottoni-category-card {
        animation: none !important;
    }
}

/* bottoni-checkout-contact-tune */
body.woocommerce-checkout .wc-block-checkout input::placeholder {
    color: rgba(38, 33, 29, .46);
    opacity: 1;
}

body.woocommerce-checkout .wc-block-checkout input[type="email"],
body.woocommerce-checkout .wc-block-checkout input[type="tel"] {
    height: 54px;
    min-height: 54px;
    padding: 0 16px;
    line-height: 54px;
}
body.woocommerce-checkout .bottoni-checkout-field-hidden > .bottoni-checkout-field-label {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-address-form__first_name {
    clear: both;
}
/* bottoni-checkout-address2-collapsed-fix */
body.woocommerce-checkout .wc-block-components-address-form__address_2[hidden] > .bottoni-checkout-field-label,
body.woocommerce-checkout .wc-block-components-address-form__address_2[aria-hidden="true"] > .bottoni-checkout-field-label,
body.woocommerce-checkout .wc-block-components-address-form__address_2:not(:has(input:not([type="hidden"]))) > .bottoni-checkout-field-label {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-address-form__first_name {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
@media (max-width: 860px) {
    .bottoni-theme-header {
        position: sticky;
        top: 0;
        z-index: 80;
    }

    .bottoni-theme-navbar,
    .bottoni-topbar {
        position: relative;
        min-height: 74px;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
    }

    .bottoni-theme-brand,
    .bottoni-brand {
        width: 124px;
        height: 68px;
        margin-right: auto;
    }

    .bottoni-mobile-menu-toggle {
        display: inline-grid;
        order: 3;
    }

    .bottoni-floating-cart {
        order: 2;
    }

    .bottoni-theme-nav,
    .bottoni-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        z-index: 70;
        display: block;
        width: 100%;
        max-width: none;
        padding: 16px;
        border: 1px solid rgba(183, 121, 37, .28);
        background: linear-gradient(145deg, rgba(255, 250, 242, .98), rgba(248, 239, 226, .96));
        box-shadow: 0 24px 62px rgba(35, 24, 18, .14);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        pointer-events: none;
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
        overflow: visible;
    }

    .bottoni-theme-nav.is-mobile-menu-open,
    .bottoni-nav.is-mobile-menu-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .bottoni-theme-menu,
    .bottoni-home-menu {
        width: 100%;
        min-width: 0;
        display: grid;
        gap: 0;
    }

    .bottoni-theme-menu li,
    .bottoni-home-menu li {
        border-bottom: 1px solid rgba(183, 121, 37, .16);
    }

    .bottoni-theme-menu li:last-child,
    .bottoni-home-menu li:last-child {
        border-bottom: 0;
    }

    .bottoni-theme-menu a,
    .bottoni-home-menu a {
        display: flex;
        min-height: 48px;
        align-items: center;
        color: var(--bottoni-ink);
        font-size: 13px;
        font-weight: 900;
        letter-spacing: .06em;
    }

    .bottoni-floating-cart-text {
        display: none;
    }

    .bottoni-floating-cart-toggle {
        min-height: 40px;
        padding: 0 10px;
    }

    .bottoni-floating-cart-panel {
        position: fixed;
        top: 78px;
        left: 14px;
        right: 14px;
        width: auto;
        max-height: calc(100vh - 96px);
        overflow: auto;
    }

    .bottoni-floating-cart-panel::before {
        display: none;
    }

    .bottoni-floating-cart::after {
        width: 90px;
        height: 22px;
    }

    .bottoni-floating-cart-actions {
        grid-template-columns: 1fr;
    }
}
/* bottoni-mobile-menu-final-overrides */
@media (max-width: 860px) {
    .bottoni-theme-navbar,
    .bottoni-topbar {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: visible;
    }

    .bottoni-theme-nav,
    .bottoni-nav {
        padding-bottom: 16px;
        overflow-x: visible;
    }

    .bottoni-theme-menu,
    .bottoni-home-menu {
        width: 100%;
        min-width: 0;
    }

    .bottoni-floating-cart {
        z-index: 90;
    }

    .bottoni-floating-cart-panel {
        z-index: 100;
    }
}
/* Catalog controls polish */
@media (max-width: 980px) {
    .bottoni-shop-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .bottoni-catalog-result-count {
        width: 100%;
    }

    .bottoni-catalog-toolbar-actions {
        justify-self: stretch;
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .bottoni-catalog-toolbar-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .bottoni-catalog-control--view,
    .bottoni-catalog-ordering-control {
        grid-column: 1 / -1;
    }

    .bottoni-catalog-view-switcher,
    .bottoni-catalog-view-switcher button,
    .bottoni-catalog-per-page-label select,
    .bottoni-catalog-ordering-control .woocommerce-ordering select {
        width: 100%;
    }
}
/* Home company/about showcase */
.bottoni-company {
    position: relative;
    overflow: hidden;
    padding-top: clamp(44px, 6vw, 86px);
    padding-bottom: clamp(34px, 5vw, 70px);
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 250, 242, .9), transparent 28%),
        radial-gradient(circle at 88% 80%, rgba(183, 121, 37, .14), transparent 32%),
        linear-gradient(135deg, #f7ecdd 0%, #ead6be 100%);
    color: var(--bottoni-ink);
}

.bottoni-company::before {
    content: "";
    position: absolute;
    inset: clamp(18px, 3vw, 34px);
    border: 1px solid rgba(183, 121, 37, .22);
    pointer-events: none;
}

.bottoni-company::after {
    content: "";
    position: absolute;
    width: 58vw;
    height: 58vw;
    right: -22vw;
    top: -18vw;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(183, 121, 37, .11) 0 1px, transparent 1px 17px);
    pointer-events: none;
}

.bottoni-company .bottoni-container {
    position: relative;
    z-index: 2;
}

.bottoni-company-decor {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.bottoni-company-piece {
    position: absolute;
    width: clamp(74px, 9vw, 132px);
    height: auto;
    filter: drop-shadow(0 18px 18px rgba(65, 42, 23, .16));
}

.bottoni-company-piece-left {
    left: clamp(18px, 6vw, 110px);
    top: clamp(74px, 9vw, 130px);
    transform: rotate(-14deg);
}

.bottoni-company-piece-right {
    right: clamp(24px, 7vw, 130px);
    top: clamp(86px, 11vw, 160px);
    transform: rotate(12deg);
}

.bottoni-company-piece-corner {
    right: clamp(12px, 5vw, 86px);
    bottom: clamp(120px, 18vw, 230px);
    transform: rotate(-18deg);
}

.bottoni-company-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: clamp(46px, 6vw, 76px);
    border: 1px solid rgba(183, 121, 37, .2);
    background: rgba(255, 250, 242, .52);
    box-shadow: 0 24px 60px rgba(65, 42, 23, .08);
    backdrop-filter: blur(9px) saturate(1.08);
    -webkit-backdrop-filter: blur(9px) saturate(1.08);
}

.bottoni-company-stat {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 8px;
    min-height: 164px;
    padding: 28px 24px 24px;
    text-align: center;
}

.bottoni-company-stat + .bottoni-company-stat {
    border-left: 1px solid rgba(183, 121, 37, .18);
}

.bottoni-company-stat-icon {
    width: 36px;
    height: 36px;
    display: block;
    color: rgba(141, 88, 24, .78);
    background: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bottoni-company-stat-calendar .bottoni-company-stat-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12h28v28H10z'/%3E%3Cpath d='M16 8v8M32 8v8M10 20h28M18 28h1M24 28h1M30 28h1'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12h28v28H10z'/%3E%3Cpath d='M16 8v8M32 8v8M10 20h28M18 28h1M24 28h1M30 28h1'/%3E%3C/g%3E%3C/svg%3E");
}

.bottoni-company-stat-factory .bottoni-company-stat-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 40h32V19l-11 6V14l-11 7v-9H8z'/%3E%3Cpath d='M16 32h3M24 32h3M32 32h3'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 40h32V19l-11 6V14l-11 7v-9H8z'/%3E%3Cpath d='M16 32h3M24 32h3M32 32h3'/%3E%3C/g%3E%3C/svg%3E");
}

.bottoni-company-stat-button .bottoni-company-stat-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='15'/%3E%3Ccircle cx='19' cy='19' r='1.5'/%3E%3Ccircle cx='29' cy='19' r='1.5'/%3E%3Ccircle cx='19' cy='29' r='1.5'/%3E%3Ccircle cx='29' cy='29' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='15'/%3E%3Ccircle cx='19' cy='19' r='1.5'/%3E%3Ccircle cx='29' cy='19' r='1.5'/%3E%3Ccircle cx='19' cy='29' r='1.5'/%3E%3Ccircle cx='29' cy='29' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
}

.bottoni-company-stat-delivery .bottoni-company-stat-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17h24v18H7zM31 24h6l5 5v6H31z'/%3E%3Ccircle cx='16' cy='37' r='3'/%3E%3Ccircle cx='36' cy='37' r='3'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17h24v18H7zM31 24h6l5 5v6H31z'/%3E%3Ccircle cx='16' cy='37' r='3'/%3E%3Ccircle cx='36' cy='37' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

.bottoni-company-stat strong {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(25px, 2.5vw, 34px);
    font-weight: 700;
    line-height: 1;
}

.bottoni-company-stat p {
    max-width: 190px;
    margin: 0;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.42;
}

.bottoni-company-directions {
    display: grid;
    grid-template-columns: minmax(240px, .78fr) minmax(0, 2.22fr);
    gap: clamp(30px, 4vw, 56px);
    align-items: start;
    scroll-margin-top: 96px;
}

.bottoni-company-lead h2 {
    max-width: 360px;
    font-size: clamp(34px, 3.4vw, 50px);
    line-height: 1.05;
}

.bottoni-company-direction-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.bottoni-company-direction-card {
    position: relative;
    min-height: 152px;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 26px 58px 24px 26px;
    border: 1px solid rgba(183, 121, 37, .2);
    background: rgba(255, 250, 242, .48);
    color: var(--bottoni-ink);
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.bottoni-company-direction-card:hover,
.bottoni-company-direction-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(183, 121, 37, .52);
    background: rgba(255, 250, 242, .74);
    box-shadow: 0 20px 48px rgba(65, 42, 23, .1);
}

.bottoni-company-direction-card span {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(23px, 2vw, 30px);
    font-weight: 700;
    line-height: 1.05;
}

.bottoni-company-direction-card p {
    margin: 0;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.52;
}

.bottoni-company-direction-card em {
    position: absolute;
    right: 24px;
    top: 50%;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-serif);
    font-size: 28px;
    font-style: normal;
    line-height: 1;
    transform: translateY(-50%);
}

.bottoni-company-custom {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(320px, 1fr);
    align-items: stretch;
    margin-top: clamp(36px, 5vw, 62px);
    border: 1px solid rgba(183, 121, 37, .18);
    background: rgba(255, 250, 242, .36);
    overflow: hidden;
}

.bottoni-company-custom-media {
    position: relative;
    min-height: clamp(280px, 29vw, 390px);
    overflow: hidden;
}

.bottoni-company-custom-media > img:first-child {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.bottoni-company-custom-piece {
    position: absolute;
    width: clamp(52px, 7vw, 96px);
    height: auto;
    filter: drop-shadow(0 16px 18px rgba(65, 42, 23, .18));
}

.bottoni-company-custom-piece-1 {
    left: 11%;
    bottom: 8%;
    transform: rotate(-16deg);
}

.bottoni-company-custom-piece-2 {
    right: 16%;
    top: 12%;
    transform: rotate(12deg);
}

.bottoni-company-custom-piece-3 {
    right: 10%;
    bottom: 9%;
    transform: rotate(-8deg);
}

.bottoni-company-custom-copy {
    display: grid;
    align-content: center;
    justify-items: start;
    padding: clamp(34px, 5vw, 64px);
}

.bottoni-company-custom-copy h2 {
    max-width: 560px;
    margin: 0;
    font-size: clamp(34px, 3.6vw, 52px);
    line-height: 1;
}

.bottoni-company-custom-copy p:not(.bottoni-eyebrow) {
    max-width: 620px;
    margin: 20px 0 26px;
    color: var(--bottoni-muted);
    font-family: var(--bottoni-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.62;
}

.bottoni-company-help {
    display: grid;
    grid-template-columns: minmax(280px, 1.15fr) repeat(3, minmax(140px, auto)) auto;
    align-items: center;
    gap: 0;
    margin-top: 26px;
    border: 1px solid rgba(183, 121, 37, .24);
    background: rgba(255, 250, 242, .55);
    box-shadow: 0 16px 40px rgba(65, 42, 23, .07);
}

.bottoni-company-help > * {
    min-height: 72px;
    display: flex;
    align-items: center;
    padding: 16px 24px;
    border-left: 1px solid rgba(183, 121, 37, .14);
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.bottoni-company-help > *:first-child {
    border-left: 0;
}

.bottoni-company-help div {
    display: grid;
    gap: 4px;
    align-content: center;
}

.bottoni-company-help strong {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 700;
    line-height: 1.05;
}

.bottoni-company-help span {
    color: var(--bottoni-muted);
    font-size: 14px;
    font-weight: 600;
}

.bottoni-company-help a:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-company-help-button {
    justify-content: center;
    min-width: 190px;
    background: var(--bottoni-gold);
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.bottoni-company-help-button:hover,
.bottoni-company-help-button:focus-visible {
    background: var(--bottoni-gold-deep);
}

@media (max-width: 1180px) {
    .bottoni-company-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bottoni-company-stat:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(183, 121, 37, .18);
    }

    .bottoni-company-stat:nth-child(4) {
        border-top: 1px solid rgba(183, 121, 37, .18);
    }

    .bottoni-company-directions,
    .bottoni-company-custom {
        grid-template-columns: 1fr;
    }

    .bottoni-company-lead h2 {
        max-width: 720px;
    }

    .bottoni-company-help {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .bottoni-company-direction-grid {
        grid-template-columns: 1fr;
    }

    .bottoni-company-help {
        grid-template-columns: 1fr;
    }

    .bottoni-company-help > * {
        border-left: 0;
        border-top: 1px solid rgba(183, 121, 37, .14);
    }

    .bottoni-company-help > *:first-child {
        border-top: 0;
    }
}

@media (max-width: 560px) {
    .bottoni-company-stats {
        grid-template-columns: 1fr;
    }

    .bottoni-company-stat,
    .bottoni-company-stat:nth-child(3),
    .bottoni-company-stat:nth-child(4) {
        border-left: 0;
        border-top: 1px solid rgba(183, 121, 37, .18);
    }

    .bottoni-company-stat:first-child {
        border-top: 0;
    }

    .bottoni-company-piece {
        opacity: .34;
    }

    .bottoni-company-direction-card {
        padding-right: 48px;
    }
}
/* Home company width refinement */
.bottoni-company {
    padding-top: 0;
}

.bottoni-company::before {
    inset: 0 clamp(18px, 2vw, 34px) clamp(18px, 2vw, 34px);
}

.bottoni-company .bottoni-container {
    width: min(1500px, calc(100% - 56px));
}

.bottoni-company-belief {
    position: relative;
    z-index: 3;
    margin: 0 0 clamp(28px, 4vw, 56px);
    padding: clamp(38px, 5vw, 72px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 16%, rgba(221, 186, 117, .12), transparent 34%),
        linear-gradient(135deg, #1b1414 0%, #2b1d19 100%);
    color: var(--bottoni-white);
}

.bottoni-company-belief::after {
    content: "";
    position: absolute;
    width: 38vw;
    height: 38vw;
    right: -14vw;
    top: -21vw;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(221, 186, 117, .12) 0 1px, transparent 1px 18px);
    pointer-events: none;
}

.bottoni-company-belief-inner {
    position: relative;
    z-index: 1;
    width: min(1500px, calc(100% - 56px));
    display: grid;
    grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr);
    gap: clamp(42px, 8vw, 150px);
    align-items: center;
    margin: 0 auto;
}

.bottoni-company-belief .bottoni-eyebrow {
    color: var(--bottoni-gold-soft);
}

.bottoni-company-belief h2 {
    margin: 0;
    max-width: 660px;
    color: var(--bottoni-white);
    font-size: clamp(36px, 4vw, 58px);
    line-height: 1.02;
}

.bottoni-company-belief-inner > p {
    max-width: 680px;
    margin: 0;
    color: #eadbc8;
    font-family: var(--bottoni-sans);
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.52;
}

.bottoni-company-stats {
    width: min(1120px, 100%);
    margin-right: auto;
    margin-left: auto;
}

.bottoni-company-directions {
    grid-template-columns: minmax(270px, .62fr) minmax(0, 2.38fr);
    gap: clamp(34px, 5vw, 82px);
}

.bottoni-company-direction-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.bottoni-company-direction-card {
    min-height: 148px;
}

.bottoni-company-custom {
    grid-template-columns: minmax(460px, 1.1fr) minmax(420px, .9fr);
}

.bottoni-company-help {
    width: 100%;
}

@media (min-width: 1440px) {
    .bottoni-company-stats {
        width: min(1160px, 78vw);
    }

    .bottoni-company-piece-left {
        left: max(32px, calc((100vw - 1500px) / 2 - 130px));
    }

    .bottoni-company-piece-right {
        right: max(32px, calc((100vw - 1500px) / 2 - 130px));
    }
}

@media (max-width: 1180px) {
    .bottoni-company-belief-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .bottoni-company-directions,
    .bottoni-company-custom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .bottoni-company .bottoni-container,
    .bottoni-company-belief-inner {
        width: min(calc(100% - 32px), 1500px);
    }

    .bottoni-company-belief {
        padding: 34px 0;
    }
}
/* Workflow desktop refinement 1.6.6 */
.bottoni-company {
    overflow: hidden;
}

.bottoni-company .bottoni-container,
.bottoni-company-belief,
.bottoni-company-help,
.bottoni-company-custom {
    position: relative;
    z-index: 2;
}

.bottoni-company-decor {
    position: absolute;
    top: clamp(330px, 23vw, 460px);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.bottoni-company-piece {
    --size: 104px;
    --float-time: 8.5s;
    --rotate-time: 12s;
    --enter-delay: 0s;
    --float-delay: 0s;
    --float-y-from: -9px;
    --float-y-to: 13px;
    --rotate-from: -4deg;
    --rotate-to: 5deg;
    position: absolute;
    width: min(var(--size), 12vw);
    max-width: 156px;
    min-width: 54px;
    height: auto;
    opacity: var(--piece-opacity, .86);
    filter: drop-shadow(0 18px 20px rgba(65, 42, 23, .16));
    will-change: transform, translate, opacity;
    animation:
        bottoni-float-in .72s cubic-bezier(.16, 1, .3, 1) both,
        bottoni-float-y var(--float-time) ease-in-out var(--float-delay) infinite alternate,
        bottoni-float-rotate var(--rotate-time) ease-in-out var(--float-delay) infinite alternate;
    animation-delay: var(--enter-delay), var(--float-delay), var(--float-delay);
}

.bottoni-company-piece-1 {
    --size: 122px;
    --enter-delay: .05s;
    --float-delay: -.8s;
    --rotate-from: -10deg;
    --rotate-to: -2deg;
    left: max(20px, calc((100vw - 1500px) / 2 - 108px));
    top: 2%;
}

.bottoni-company-piece-2 {
    --size: 118px;
    --enter-delay: .12s;
    --float-delay: -2.2s;
    --rotate-from: 5deg;
    --rotate-to: 13deg;
    right: max(24px, calc((100vw - 1500px) / 2 - 92px));
    top: 5%;
}

.bottoni-company-piece-3 {
    --size: 116px;
    --enter-delay: .18s;
    --float-delay: -1.4s;
    --rotate-from: -20deg;
    --rotate-to: -10deg;
    left: max(24px, calc((100vw - 1500px) / 2 - 86px));
    top: 38%;
}

.bottoni-company-piece-4 {
    --size: 112px;
    --enter-delay: .24s;
    --float-delay: -3s;
    --rotate-from: 12deg;
    --rotate-to: 24deg;
    right: max(18px, calc((100vw - 1500px) / 2 - 76px));
    top: 45%;
}

.bottoni-company-piece-5 {
    --size: 78px;
    --enter-delay: .3s;
    --float-delay: -1.9s;
    --piece-opacity: .78;
    --rotate-from: -8deg;
    --rotate-to: 3deg;
    left: clamp(22px, 8vw, 145px);
    top: 64%;
}

.bottoni-company-piece-6 {
    --size: 92px;
    --enter-delay: .36s;
    --float-delay: -4.1s;
    --piece-opacity: .8;
    --rotate-from: 8deg;
    --rotate-to: 18deg;
    right: clamp(32px, 10vw, 190px);
    top: 70%;
}

.bottoni-company-piece-7 {
    --size: 78px;
    --enter-delay: .42s;
    --float-delay: -2.8s;
    --piece-opacity: .72;
    --rotate-from: -4deg;
    --rotate-to: 8deg;
    left: clamp(270px, 21vw, 430px);
    top: 22%;
}

.bottoni-company-piece-8 {
    --size: 72px;
    --enter-delay: .48s;
    --float-delay: -3.6s;
    --piece-opacity: .72;
    --rotate-from: 10deg;
    --rotate-to: 20deg;
    right: clamp(300px, 23vw, 460px);
    top: 27%;
}

.bottoni-company-piece-9 {
    --size: 96px;
    --enter-delay: .54s;
    --float-delay: -4.8s;
    --piece-opacity: .68;
    --rotate-from: -12deg;
    --rotate-to: -1deg;
    left: clamp(230px, 18vw, 360px);
    top: 78%;
}

.bottoni-company-piece-10 {
    --size: 82px;
    --enter-delay: .6s;
    --float-delay: -5.2s;
    --piece-opacity: .7;
    --rotate-from: 4deg;
    --rotate-to: 14deg;
    right: clamp(240px, 19vw, 390px);
    top: 84%;
}

@media (min-width: 1680px) {
    .bottoni-company-piece-1,
    .bottoni-company-piece-2,
    .bottoni-company-piece-3,
    .bottoni-company-piece-4 {
        width: var(--size);
    }
}

@media (max-width: 1320px) {
    .bottoni-company-piece-7,
    .bottoni-company-piece-8,
    .bottoni-company-piece-9,
    .bottoni-company-piece-10 {
        display: none;
    }

    .bottoni-company-piece {
        opacity: .72;
    }
}

@media (max-width: 900px) {
    .bottoni-company-decor {
        display: none;
    }
}

@media (min-width: 1280px) {
    .bottoni-shop-body > .bottoni-theme-content {
        width: min(1500px, calc(100% - 56px));
    }

    .bottoni-shop-layout {
        gap: clamp(28px, 3vw, 44px);
    }
}

@media (min-width: 1600px) {
    .bottoni-shop-body > .bottoni-theme-content {
        width: min(1660px, calc(100% - 96px));
    }

    .bottoni-shop-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 44px;
    }

    .bottoni-shop-products {
        max-width: 1220px;
    }

    .bottoni-shop-toolbar {
        max-width: 1220px;
    }
}

@media (min-width: 1760px) {
    .bottoni-shop-products.is-grid-5,
    .bottoni-shop-products.is-grid-5 + .woocommerce-pagination,
    .bottoni-shop-products.is-grid-5 ~ .woocommerce-pagination,
    .bottoni-shop-toolbar:has(+ .bottoni-shop-products.is-grid-5) {
        max-width: 1380px;
    }
}
/* Mobile front-page refinement 1.6.7 */
.bottoni-company-custom-piece {
    display: none !important;
}

@media (max-width: 760px) {
    .home .bottoni-hero {
        min-height: auto;
    }

    .home .bottoni-frame {
        width: min(calc(100% - 14px), 1180px);
        max-width: calc(100vw - 14px);
        margin: 7px auto;
    }

    .home .bottoni-frame::before {
        inset: 7px;
        box-shadow: inset 0 0 0 4px rgba(255, 250, 242, .62), inset 0 0 0 5px rgba(183, 121, 37, .22);
    }

    .home .bottoni-topbar {
        width: calc(100% - 26px);
        min-height: 58px;
        padding-top: 8px;
    }

    .home .bottoni-brand {
        width: 94px;
        height: 52px;
    }

    .home .bottoni-hero-grid {
        width: calc(100% - 26px);
        max-width: calc(100vw - 26px);
        gap: 22px;
        padding-top: 24px;
        padding-bottom: 22px;
    }

    .home .bottoni-hero-copy,
    .home .bottoni-hero h1,
    .home .bottoni-lead,
    .home .bottoni-actions {
        width: 100%;
        max-width: 100%;
    }

    .home .bottoni-kicker {
        margin-bottom: 10px;
        font-size: 10px;
        letter-spacing: .08em;
    }

    .home .bottoni-hero h1 {
        font-size: clamp(29px, 8.7vw, 38px);
        line-height: 1.03;
        letter-spacing: -.035em;
    }

    .home .bottoni-lead {
        max-width: 34em;
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.72;
    }

    .home .bottoni-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 20px;
    }

    .home .bottoni-actions .bottoni-button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }

    .home .bottoni-hero-meta {
        display: grid;
        gap: 6px;
        margin-top: 18px;
        font-size: 11px;
    }

    .home .bottoni-hero-art {
        width: 100%;
        max-width: 360px;
        min-height: 310px;
        margin: 0 auto;
    }

    .home .bottoni-hero-art::before {
        inset: 8% 2% 8% 2%;
    }

    .home .bottoni-hero-art::after {
        inset: 16% 9% 17% 9%;
    }

    .home .bottoni-hero-logo {
        width: min(245px, 70%);
        padding: 22px 24px 18px;
    }

    .home .bottoni-float-piece {
        filter: drop-shadow(0 12px 12px rgba(65, 42, 23, .14));
    }

    .home .bottoni-float-button-main {
        width: 74px;
        right: 2%;
        bottom: 12%;
    }

    .home .bottoni-float-buckle {
        width: 86px;
        right: -1%;
        top: 16%;
    }

    .home .bottoni-float-hook {
        width: 42px;
        left: 49%;
        top: 18%;
    }

    .home .bottoni-float-links {
        width: 76px;
        left: 42%;
        bottom: 15%;
    }

    .bottoni-company-belief {
        padding: 38px 0;
    }

    .bottoni-company-belief-inner {
        width: calc(100% - 28px);
        gap: 18px;
    }

    .bottoni-company-belief h2 {
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.05;
    }

    .bottoni-company-belief p:not(.bottoni-eyebrow) {
        font-size: 14px;
        line-height: 1.7;
    }

    .bottoni-company {
        padding-bottom: 34px;
    }

    .bottoni-company .bottoni-container {
        width: calc(100% - 18px);
        max-width: calc(100vw - 18px);
    }

    .bottoni-company-stats {
        margin-bottom: 34px;
    }

    .bottoni-company-stat {
        min-height: 132px;
        padding: 24px 18px 22px;
    }

    .bottoni-company-directions {
        gap: 22px;
    }

    .bottoni-company-lead h2 {
        max-width: 10em;
        font-size: clamp(28px, 8vw, 38px);
    }

    .bottoni-company-direction-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .bottoni-company-direction-card {
        min-height: 156px;
        padding: 18px 34px 18px 16px;
        gap: 8px;
    }

    .bottoni-company-direction-card span {
        font-size: clamp(18px, 5.4vw, 23px);
    }

    .bottoni-company-direction-card p {
        font-size: 11px;
        line-height: 1.42;
    }

    .bottoni-company-direction-card em {
        right: 14px;
        font-size: 22px;
    }

    .bottoni-company-custom {
        margin-top: 30px;
        grid-template-columns: 1fr;
    }

    .bottoni-company-custom-media {
        min-height: 0;
        aspect-ratio: 1.45 / 1;
    }

    .bottoni-company-custom-copy {
        padding: 26px 22px 28px;
    }

    .bottoni-company-custom-copy h2 {
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.02;
    }

    .bottoni-company-custom-copy p:not(.bottoni-eyebrow) {
        margin: 16px 0 22px;
        font-size: 14px;
        line-height: 1.62;
    }

    .bottoni-company-help {
        margin-top: 18px;
        grid-template-columns: 1fr;
    }

    .bottoni-company-help > * {
        min-height: 56px;
        padding: 14px 18px;
    }

    .bottoni-company-help strong {
        font-size: 22px;
    }

    .bottoni-company-help-button {
        min-width: 0;
    }
}

@media (max-width: 920px) and (orientation: landscape) {
    .home .bottoni-frame {
        width: min(calc(100% - 18px), 1180px);
        margin: 8px auto;
    }

    .home .bottoni-topbar {
        min-height: 56px;
        width: calc(100% - 32px);
    }

    .home .bottoni-brand {
        width: 92px;
        height: 50px;
    }

    .home .bottoni-hero-grid {
        width: calc(100% - 38px);
        grid-template-columns: minmax(260px, .95fr) minmax(260px, 1.05fr);
        gap: 22px;
        padding-top: 18px;
        padding-bottom: 22px;
    }

    .home .bottoni-hero h1 {
        font-size: clamp(30px, 5.2vw, 42px);
    }

    .home .bottoni-lead {
        margin-top: 14px;
        font-size: 13px;
        line-height: 1.58;
    }

    .home .bottoni-actions {
        display: flex;
        gap: 10px;
        margin-top: 16px;
    }

    .home .bottoni-actions .bottoni-button {
        width: auto;
        min-height: 40px;
        padding-inline: 18px;
    }

    .home .bottoni-hero-meta {
        display: flex;
        margin-top: 14px;
    }

    .home .bottoni-hero-art {
        max-width: 320px;
        min-height: 278px;
    }

    .bottoni-company-belief {
        padding: 34px 0;
    }

    .bottoni-company-belief-inner {
        grid-template-columns: minmax(260px, .9fr) minmax(260px, 1.1fr);
    }

    .bottoni-company-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .bottoni-company-stat {
        min-height: 126px;
        padding: 20px 14px 18px;
    }

    .bottoni-company-directions {
        grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
        gap: 24px;
    }

    .bottoni-company-direction-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bottoni-company-direction-card {
        min-height: 138px;
        padding: 18px 36px 18px 16px;
    }

    .bottoni-company-custom {
        grid-template-columns: minmax(300px, 1fr) minmax(300px, 1fr);
    }

    .bottoni-company-custom-copy {
        padding: 26px 28px;
    }
}
/* Mobile header correction 1.6.7 */
@media (max-width: 760px) {
    .home .bottoni-hero::before {
        inset: 7px;
        box-shadow: inset 0 0 0 4px rgba(255, 250, 242, .62), inset 0 0 0 5px rgba(183, 121, 37, .22);
    }

    .home .bottoni-topbar {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .home .bottoni-nav {
        width: auto;
        overflow: visible;
        padding-bottom: 0;
    }

    .home .bottoni-home-menu {
        min-width: 0;
        width: auto;
    }
}
/* Front page precision fixes 1.6.8 */
.bottoni-company-directions {
    padding-top: clamp(18px, 2vw, 32px);
}

.bottoni-company-lead {
    position: relative;
    z-index: 3;
    max-width: 380px;
    padding-top: 6px;
    isolation: isolate;
}

.bottoni-company-lead::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 28px -22px -18px -18px;
    border-radius: 999px;
    background: radial-gradient(ellipse at 42% 48%, rgba(248, 239, 227, .82) 0 38%, rgba(248, 239, 227, .42) 56%, transparent 72%);
    filter: blur(6px);
    pointer-events: none;
}

.bottoni-company-lead .bottoni-eyebrow {
    margin-bottom: 20px;
}

.bottoni-company-lead h2 {
    position: relative;
    max-width: 7.6em;
    -webkit-text-stroke: .012em rgba(255, 250, 242, .72);
    paint-order: stroke fill;
    text-shadow: 0 2px 0 rgba(255, 250, 242, .24), 0 12px 26px rgba(65, 42, 23, .08);
}

.bottoni-company-piece-3 {
    left: max(18px, calc((100vw - 1500px) / 2 - 118px));
    top: 31%;
}

.bottoni-company-piece-4 {
    right: max(16px, calc((100vw - 1500px) / 2 - 104px));
    top: 31%;
}

.bottoni-company-piece-5 {
    left: clamp(24px, 6vw, 92px);
    top: 60%;
}

.bottoni-company-piece-6 {
    right: clamp(28px, 7vw, 116px);
    top: 57%;
}

.bottoni-company-piece-7,
.bottoni-company-piece-8,
.bottoni-company-piece-9,
.bottoni-company-piece-10 {
    display: none;
}

.bottoni-company-custom {
    margin-top: clamp(48px, 6vw, 78px);
}

.bottoni-company-custom-copy {
    min-height: clamp(360px, 30vw, 470px);
}

.bottoni-company-help {
    overflow: hidden;
}

.bottoni-company-help-button {
    align-self: stretch;
    min-height: 100%;
    margin: -1px -1px -1px 0;
    border-left: 0;
}

.bottoni-company-belief {
    padding: clamp(32px, 4vw, 58px) 0;
}

.bottoni-company-belief h2 {
    font-size: clamp(34px, 3.2vw, 48px);
    line-height: 1.08;
}

.bottoni-company-belief-inner > p {
    font-size: clamp(17px, 1.55vw, 22px);
    line-height: 1.56;
}

@media (min-width: 1440px) {
    .bottoni-company-directions {
        grid-template-columns: minmax(280px, .52fr) minmax(0, 2.48fr);
    }
}

@media (max-width: 1180px) {
    .bottoni-company-lead {
        max-width: 620px;
    }

    .bottoni-company-lead h2 {
        max-width: 10em;
    }

    .bottoni-company-lead::before {
        inset: 24px -14px -14px -12px;
    }
}

@media (max-width: 760px) {
    .bottoni-company-directions {
        padding-top: 0;
    }

    .bottoni-company-lead::before {
        display: none;
    }

    .bottoni-company-help-button {
        margin: 0;
    }

    .bottoni-company-belief h2 {
        font-size: clamp(28px, 7.4vw, 38px);
    }

    .bottoni-company-belief-inner > p {
        font-size: 14px;
    }
}

/* Fold and narrow mobile front-page containment 1.6.9 */
@media (max-width: 980px) {
    .home .bottoni-hero-art {
        width: min(100%, 420px);
        max-width: 100%;
        overflow: hidden;
    }

    .home .bottoni-hero-logo {
        left: 50%;
        width: min(300px, calc(100% - 58px));
    }
}

@media (max-width: 760px) {
    .home .bottoni-company::before {
        inset: 0 6px 6px;
    }

    .home .bottoni-frame,
    .home .bottoni-topbar,
    .home .bottoni-hero-grid,
    .home .bottoni-container,
    .home .bottoni-company .bottoni-container,
    .home .bottoni-company-belief-inner {
        max-width: calc(100vw - 28px);
    }

    .home .bottoni-company .bottoni-container,
    .home .bottoni-company-belief-inner {
        width: calc(100% - 28px);
    }

    .home .bottoni-hero-art {
        width: min(100%, 360px);
        max-width: 100%;
        min-height: clamp(286px, 77vw, 310px);
    }

    .home .bottoni-hero-logo {
        width: min(245px, calc(100% - 54px));
        padding: 20px 22px 17px;
    }

    .home .bottoni-company-direction-card {
        min-width: 0;
        padding-right: 30px;
        overflow: hidden;
    }

    .home .bottoni-company-direction-card span {
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .home .bottoni-company-direction-card em {
        right: 10px;
    }
}

@media (max-width: 520px) {
    .home .bottoni-company-direction-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home .bottoni-company-direction-card {
        min-height: 158px;
        padding: 16px 26px 16px 14px;
    }

    .home .bottoni-company-direction-card span {
        font-size: clamp(17px, 4.8vw, 21px);
        line-height: 1.04;
    }

    .home .bottoni-company-direction-card p {
        font-size: 10.5px;
    }
}

/* Mobile company frame spacing 1.6.10 */
@media (min-width: 761px) and (max-width: 980px) {
    .home .bottoni-company::before {
        inset: 0 10px 10px;
    }
}

/* Shared transparent header mode */
body.bottoni-transparent-header .bottoni-theme-header {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    border-bottom-color: transparent;
    background: linear-gradient(180deg, rgba(255, 250, 242, .34), rgba(255, 250, 242, 0));
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

body.bottoni-transparent-header .bottoni-theme-brand {
    filter: drop-shadow(0 1px 1px rgba(255, 250, 242, .82));
}

body.bottoni-transparent-header .bottoni-theme-menu a {
    text-shadow: 0 1px 1px rgba(255, 250, 242, .76);
}

body.bottoni-buttons-landing .bottoni-theme-navbar {
    width: min(1540px, calc(100% - 64px));
}

body.bottoni-transparent-header .bottoni-floating-cart-toggle {
    border-color: rgba(127, 31, 50, .2);
    background: rgba(255, 250, 242, .7);
    backdrop-filter: blur(10px) saturate(1.05);
    -webkit-backdrop-filter: blur(10px) saturate(1.05);
    box-shadow: 0 10px 26px rgba(65, 42, 23, .07);
}

.bottoni-buttons-page {
    flex: 1 0 auto;
    overflow: hidden;
    background: #f8efe4;
    color: var(--bottoni-ink);
}

.bottoni-buttons-container,
.bottoni-buttons-hero-inner {
    width: min(1540px, calc(100% - 64px));
    margin: 0 auto;
}

.bottoni-buttons-hero {
    position: relative;
    min-height: clamp(620px, 44vw, 740px);
    overflow: hidden;
    isolation: isolate;
    background: #e8ddd1;
}

.bottoni-buttons-hero-image {
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
}

.bottoni-buttons-hero-inner {
    min-height: inherit;
    display: grid;
    grid-template-rows: auto 1fr;
    padding: 116px 0 68px;
    box-sizing: border-box;
}

.bottoni-buttons-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 600;
    color: #6d625a;
}

.bottoni-buttons-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.bottoni-buttons-breadcrumbs a:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-buttons-hero-copy {
    width: min(560px, 48%);
    align-self: center;
    padding: 32px 0 20px;
}

.bottoni-buttons-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #8d5818;
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.bottoni-buttons-kicker i {
    width: 34px;
    height: 1px;
    display: block;
    background: #b77925;
}

.bottoni-buttons-hero h1 {
    margin: 0;
    font-size: 96px;
    font-weight: 500;
    line-height: .86;
    text-transform: uppercase;
}

.bottoni-buttons-hero-copy > p {
    max-width: 540px;
    margin: 28px 0 0;
    font-family: var(--bottoni-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.65;
}

.bottoni-buttons-hero-cta {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 26px;
    padding: 0 22px;
    border: 1px solid #a66c27;
    background: #b77925;
    color: #fffaf2;
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 14px 32px rgba(88, 53, 21, .16);
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.bottoni-buttons-hero-cta:hover {
    border-color: var(--bottoni-discovery-hover);
    background: var(--bottoni-discovery-hover);
    transform: translateY(-2px);
}

.bottoni-buttons-hero-cta svg,
.bottoni-buttons-category-arrow svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bottoni-buttons-categories {
    padding: clamp(58px, 6vw, 92px) 0 clamp(64px, 7vw, 108px);
}

.bottoni-buttons-section-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-bottom: 38px;
}

.bottoni-buttons-categories h2 {
    flex: 0 0 auto;
    margin: 0;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
}

.bottoni-buttons-heading-ornament {
    position: relative;
    width: min(150px, 12vw);
    height: 12px;
    flex: 0 1 150px;
}

.bottoni-buttons-heading-ornament::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 1px;
    background: rgba(166, 108, 39, .58);
}

.bottoni-buttons-heading-ornament::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(166, 108, 39, .76);
    background: #f8efe4;
    transform: translateY(-50%) rotate(45deg);
}

.bottoni-buttons-heading-ornament-left::after {
    right: 0;
}

.bottoni-buttons-heading-ornament-right::after {
    left: 0;
}

.bottoni-buttons-category-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.bottoni-buttons-category-card {
    position: relative;
    min-width: 0;
    min-height: 360px;
    display: grid;
    grid-template-rows: 24px 1fr minmax(42px, auto) 28px;
    padding: 18px 20px 16px;
    overflow: hidden;
    border: 1px solid rgba(111, 84, 60, .2);
    background: rgba(255, 250, 242, .46);
    color: var(--bottoni-ink);
    text-decoration: none;
    box-sizing: border-box;
    box-shadow: 0 12px 34px rgba(78, 54, 34, .035);
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.bottoni-buttons-category-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: #b77925;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .24s ease;
}

.bottoni-buttons-category-card:hover {
    z-index: 1;
    border-color: rgba(166, 108, 39, .38);
    background: rgba(255, 252, 247, .9);
    box-shadow: 0 24px 52px rgba(78, 54, 34, .12);
    transform: translateY(-6px);
}

.bottoni-buttons-category-card:hover::before {
    transform: scaleX(1);
}

.bottoni-buttons-category-index {
    justify-self: end;
    color: rgba(141, 88, 24, .72);
    font-family: var(--bottoni-serif);
    font-size: 16px;
    font-weight: 600;
}

.bottoni-buttons-category-card strong {
    max-width: 14em;
    display: block;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-family: var(--bottoni-sans);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.42;
}

.bottoni-buttons-category-image {
    width: min(205px, 100%);
    aspect-ratio: 1;
    align-self: center;
    justify-self: center;
}

.bottoni-buttons-category-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition: transform .28s ease;
}

.bottoni-buttons-category-card:hover .bottoni-buttons-category-image img {
    transform: scale(1.045);
}

.bottoni-buttons-category-arrow {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    color: #a66c27;
    transition: color .18s ease, transform .18s ease;
}

.bottoni-buttons-category-card:hover .bottoni-buttons-category-arrow {
    color: var(--bottoni-discovery-hover);
    transform: translateX(3px);
}

.bottoni-buttons-benefits {
    border-top: 1px solid rgba(111, 84, 60, .18);
    border-bottom: 1px solid rgba(111, 84, 60, .18);
    background: rgba(255, 250, 242, .34);
}

.bottoni-buttons-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bottoni-buttons-benefit {
    min-width: 0;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 34px clamp(20px, 3vw, 48px);
    border-right: 1px solid rgba(111, 84, 60, .16);
}

.bottoni-buttons-benefit:first-child {
    padding-left: 0;
}

.bottoni-buttons-benefit:last-child {
    padding-right: 0;
    border-right: 0;
}

.bottoni-buttons-benefit-icon {
    position: relative;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    justify-self: center;
    border: 1px solid rgba(174, 118, 46, .48);
    transform: rotate(45deg);
}

.bottoni-buttons-benefit-icon::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(174, 118, 46, .18);
}

.bottoni-buttons-benefit-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #ae762e;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: rotate(-45deg);
}

.bottoni-buttons-benefit > div strong,
.bottoni-buttons-benefit > div span {
    display: block;
    font-family: var(--bottoni-sans);
}

.bottoni-buttons-benefit > div strong {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.bottoni-buttons-benefit > div span {
    margin-top: 6px;
    color: var(--bottoni-muted);
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1180px) {
    .bottoni-buttons-hero-copy {
        width: 54%;
    }

    .bottoni-buttons-hero h1 {
        font-size: 76px;
    }

    .bottoni-buttons-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bottoni-buttons-category-card {
        min-height: 370px;
    }

    .bottoni-buttons-benefit {
        padding-inline: 24px;
    }
}

@media (max-width: 820px) {
    body.bottoni-buttons-landing .bottoni-theme-navbar,
    .bottoni-buttons-container,
    .bottoni-buttons-hero-inner {
        width: min(calc(100% - 36px), 720px);
    }

    .bottoni-buttons-hero {
        min-height: 690px;
    }

    .bottoni-buttons-hero-image {
        object-position: 42% center;
    }

    .bottoni-buttons-hero-inner {
        padding-top: 104px;
        padding-bottom: 44px;
    }

    .bottoni-buttons-hero-copy {
        width: min(500px, 72%);
    }

    .bottoni-buttons-hero h1 {
        font-size: 68px;
    }

    .bottoni-buttons-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bottoni-buttons-benefit-grid {
        grid-template-columns: 1fr;
    }

    .bottoni-buttons-benefit,
    .bottoni-buttons-benefit:first-child,
    .bottoni-buttons-benefit:last-child {
        padding: 24px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(111, 84, 60, .16);
    }

    .bottoni-buttons-benefit:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 520px) {
    body.bottoni-buttons-landing .bottoni-theme-navbar,
    .bottoni-buttons-container,
    .bottoni-buttons-hero-inner {
        width: calc(100% - 28px);
    }

    .bottoni-buttons-hero {
        min-height: 680px;
    }

    .bottoni-buttons-hero-image {
        object-position: 66% center;
    }

    .bottoni-buttons-breadcrumbs {
        font-size: 11px;
    }

    .bottoni-buttons-hero-copy {
        width: 90%;
        padding-bottom: 6px;
    }

    .bottoni-buttons-hero h1 {
        font-size: 46px;
    }

    .bottoni-buttons-hero-copy > p {
        margin-top: 22px;
        font-size: 14px;
        line-height: 1.6;
    }

    .bottoni-buttons-hero-cta {
        min-height: 46px;
        margin-top: 24px;
        padding-inline: 16px;
        font-size: 10px;
    }

    .bottoni-buttons-categories {
        padding-top: 46px;
        padding-bottom: 64px;
    }

    .bottoni-buttons-section-heading {
        gap: 12px;
        margin-bottom: 26px;
    }

    .bottoni-buttons-categories h2 {
        font-size: 22px;
        text-align: center;
    }

    .bottoni-buttons-heading-ornament {
        min-width: 28px;
    }

    .bottoni-buttons-category-grid {
        gap: 10px;
    }

    .bottoni-buttons-category-card {
        min-height: 300px;
        grid-template-rows: 20px 1fr minmax(50px, auto) 24px;
        padding: 16px 12px 12px;
    }

    .bottoni-buttons-category-card strong {
        font-size: 11px;
        line-height: 1.42;
    }

    .bottoni-buttons-category-image {
        width: min(142px, 100%);
    }

    .bottoni-buttons-benefit {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 16px;
    }

    .bottoni-buttons-benefit-icon {
        width: 36px;
        height: 36px;
    }

    .bottoni-buttons-benefit-icon svg {
        width: 23px;
        height: 23px;
    }
}

@media (max-width: 350px) {
    .bottoni-buttons-hero-copy {
        width: 100%;
    }

    .bottoni-buttons-hero h1 {
        font-size: 38px;
    }

    .bottoni-buttons-category-grid {
        grid-template-columns: 1fr;
    }

    .bottoni-buttons-category-card {
        min-height: 320px;
    }
}

/* Button category heroes 1.6.15 */
.bottoni-button-category-hero {
    min-height: 390px;
    display: flex;
    background: var(--button-hero-bg);
}

.bottoni-button-category-hero::after {
    display: none;
}

.bottoni-button-category-hero .bottoni-shop-hero-inner {
    width: min(1180px, calc(100% - 44px));
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    align-items: center;
    gap: 48px;
    padding: 40px 0;
    box-sizing: border-box;
}

.bottoni-shop-hero-copy {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.bottoni-button-category-hero .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--button-hero-accent);
}

.bottoni-button-category-hero .bottoni-eyebrow::after {
    content: "";
    width: 52px;
    height: 1px;
    display: block;
    background: var(--button-hero-accent);
}

.bottoni-button-category-hero h1 {
    max-width: 760px;
    font-size: 64px;
    line-height: .98;
}

.bottoni-button-category-hero .bottoni-shop-description {
    max-width: 680px;
    margin-top: 18px;
    font-family: var(--bottoni-sans);
    font-size: 16px;
    line-height: 1.62;
}

.bottoni-button-category-art {
    position: relative;
    width: 310px;
    max-width: 100%;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    justify-self: end;
    isolation: isolate;
}

.bottoni-button-category-art::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: -80px;
    bottom: -80px;
    left: 50%;
    width: 1px;
    background: var(--button-hero-line);
    opacity: .3;
}

.bottoni-button-category-rings {
    position: absolute;
    z-index: -1;
    width: 184px;
    aspect-ratio: 1;
    border: 1px solid var(--button-hero-line);
    border-radius: 50%;
    opacity: .42;
    box-shadow:
        0 0 0 20px var(--button-hero-bg),
        0 0 0 21px var(--button-hero-line),
        0 0 0 40px var(--button-hero-bg),
        0 0 0 41px var(--button-hero-line),
        0 0 0 60px var(--button-hero-bg),
        0 0 0 61px var(--button-hero-line);
}

.bottoni-button-category-number {
    position: absolute;
    top: -8px;
    right: -10px;
    color: var(--button-hero-accent);
    font-family: var(--bottoni-serif);
    font-size: 88px;
    font-weight: 600;
    line-height: 1;
    opacity: .12;
}

.bottoni-button-category-art img {
    width: 255px;
    height: 255px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 20px 18px rgba(47, 34, 25, .2));
}

@media (max-width: 980px) {
    .bottoni-button-category-hero .bottoni-shop-hero-inner {
        grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
        gap: 24px;
    }

    .bottoni-button-category-hero h1 {
        font-size: 52px;
    }

    .bottoni-button-category-art {
        width: 250px;
    }

    .bottoni-button-category-art img {
        width: 210px;
        height: 210px;
    }

    .bottoni-button-category-rings {
        width: 154px;
    }
}

@media (max-width: 720px) {
    .bottoni-button-category-hero,
    .bottoni-button-category-hero .bottoni-shop-hero-inner {
        min-height: 0;
    }

    .bottoni-button-category-hero .bottoni-shop-hero-inner {
        width: calc(100% - 28px);
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 32px 0 24px;
    }

    .bottoni-button-category-hero .bottoni-eyebrow {
        margin-bottom: 14px;
        font-size: 11px;
    }

    .bottoni-button-category-hero .bottoni-eyebrow::after {
        width: 34px;
    }

    .bottoni-button-category-hero h1 {
        max-width: 100%;
        font-size: 40px;
        overflow-wrap: break-word;
    }

    .bottoni-button-category-hero .bottoni-shop-description {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.56;
    }

    .bottoni-button-category-art {
        width: 180px;
        justify-self: center;
    }

    .bottoni-button-category-art::before {
        top: -16px;
        bottom: -24px;
    }

    .bottoni-button-category-art img {
        width: 160px;
        height: 160px;
        filter: drop-shadow(0 14px 14px rgba(47, 34, 25, .18));
    }

    .bottoni-button-category-rings {
        width: 108px;
        box-shadow:
            0 0 0 14px var(--button-hero-bg),
            0 0 0 15px var(--button-hero-line),
            0 0 0 28px var(--button-hero-bg),
            0 0 0 29px var(--button-hero-line);
    }

    .bottoni-button-category-number {
        top: -6px;
        right: -34px;
        font-size: 64px;
    }
}

@media (max-width: 380px) {
    .bottoni-button-category-hero h1 {
        font-size: 36px;
    }
}

/* Main Buttons catalog hero 1.6.16 */
.bottoni-buttons-catalog-hero {
    min-height: 390px;
    display: flex;
    background-color: #dfc3a7;
    background-image: url("../img/buttons/all-buttons-hero-bg.jpg");
    background-position: center 48%;
    background-size: cover;
}

.bottoni-buttons-catalog-hero::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: rgba(249, 238, 226, .14);
    pointer-events: none;
}

.bottoni-buttons-catalog-hero::after {
    display: none;
}

.bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
    width: min(1180px, calc(100% - 44px));
    min-height: 390px;
    display: flex;
    align-items: center;
    padding: 40px 0;
    box-sizing: border-box;
}

.bottoni-buttons-catalog-hero .bottoni-shop-hero-copy {
    width: min(620px, 54%);
}

.bottoni-buttons-catalog-hero .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #865520;
}

.bottoni-buttons-catalog-hero .bottoni-eyebrow::after {
    content: "";
    width: 52px;
    height: 1px;
    display: block;
    background: #9e672c;
}

.bottoni-buttons-catalog-hero h1 {
    font-size: 64px;
    line-height: .98;
}

.bottoni-buttons-catalog-hero .bottoni-shop-description {
    max-width: 610px;
    margin-top: 18px;
    font-family: var(--bottoni-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.62;
}

@media (max-width: 720px) {
    .bottoni-buttons-catalog-hero {
        min-height: 410px;
        background-position: 38% center;
    }

    .bottoni-buttons-catalog-hero::before {
        background: rgba(249, 238, 226, .38);
    }

    .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        width: calc(100% - 28px);
        min-height: 410px;
        align-items: flex-start;
        padding: 34px 0 28px;
    }

    .bottoni-buttons-catalog-hero .bottoni-shop-hero-copy {
        width: 92%;
    }

    .bottoni-buttons-catalog-hero .bottoni-eyebrow {
        margin-bottom: 14px;
        font-size: 11px;
    }

    .bottoni-buttons-catalog-hero .bottoni-eyebrow::after {
        width: 34px;
    }

    .bottoni-buttons-catalog-hero h1 {
        font-size: 42px;
    }

    .bottoni-buttons-catalog-hero .bottoni-shop-description {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.56;
    }
}

body.bottoni-buttons-catalog-context .bottoni-theme-navbar {
    width: min(1180px, calc(100% - 44px));
}

body.bottoni-buttons-catalog-context .bottoni-button-category-hero,
body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner,
body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero,
body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
    min-height: 420px;
}

body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-copy,
body.bottoni-buttons-catalog-context .bottoni-button-category-art,
body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-copy {
    transform: translateY(28px);
}

body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero {
    background-position: center 28%;
}

.bottoni-shop-sidebar {
    padding: 20px 18px 18px;
    border-top: 2px solid rgba(166, 108, 39, .58);
}

.bottoni-shop-sidebar h2 {
    margin-bottom: 12px;
    padding-bottom: 11px;
    font-size: 27px;
}

.bottoni-shop-categories,
.bottoni-category-menu-children {
    gap: 1px;
}

.bottoni-shop-categories > .bottoni-category-menu-item + .bottoni-category-menu-item {
    padding-top: 2px;
    border-top: 1px solid rgba(111, 84, 60, .08);
}

.bottoni-category-menu-row {
    grid-template-columns: minmax(0, 1fr) 26px;
    gap: 5px;
}

.bottoni-category-menu-row > a {
    gap: 8px;
    min-height: 34px;
    padding: 6px 8px;
    border-radius: 4px;
    box-sizing: border-box;
}

.bottoni-category-menu-row > a small {
    min-width: 22px;
    height: 18px;
    font-size: 10px;
}

.bottoni-category-menu-item.is-active > .bottoni-category-menu-row > a {
    box-shadow: inset 2px 0 0 var(--bottoni-commerce);
}

.bottoni-category-toggle {
    width: 26px;
    height: 26px;
}

.bottoni-category-menu-children-wrap {
    padding-left: 10px;
}

.bottoni-category-menu-children {
    padding: 3px 0 3px 9px;
}

.bottoni-category-menu-children .bottoni-category-menu-row > a {
    min-height: 30px;
    padding: 5px 8px;
    font-size: 12px;
    line-height: 1.18;
}

.bottoni-js-ready .bottoni-category-menu-children-wrap.is-open {
    padding-top: 2px;
    padding-bottom: 2px;
}

@media (max-width: 720px) {
    body.bottoni-buttons-catalog-context .bottoni-theme-navbar {
        width: calc(100% - 28px);
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-hero,
    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        min-height: 0;
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        padding-top: 108px;
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-copy,
    body.bottoni-buttons-catalog-context .bottoni-button-category-art,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-copy {
        transform: none;
    }

    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero {
        background-position: 34% center;
    }

    .bottoni-shop-sidebar {
        padding: 18px 16px 16px;
    }
}

/* Catalog grid alignment and space efficiency 1.6.18 */
@media (min-width: 1280px) {
    .bottoni-shop-body > .bottoni-theme-content,
    body.bottoni-buttons-catalog-context .bottoni-theme-navbar,
    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        width: min(1500px, calc(100% - 56px));
    }

    .bottoni-shop-layout {
        grid-template-columns: 256px minmax(0, 1fr);
        gap: 26px;
        padding-top: 36px;
    }

    .bottoni-shop-products,
    .bottoni-shop-toolbar {
        width: 100%;
        max-width: none;
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner {
        grid-template-columns: 256px minmax(0, 1fr) 310px;
        gap: 26px;
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-copy {
        grid-column: 2;
    }

    body.bottoni-buttons-catalog-context .bottoni-button-category-art {
        grid-column: 3;
    }

    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        display: grid;
        grid-template-columns: 256px minmax(0, 1fr);
        gap: 26px;
    }

    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-copy {
        width: min(620px, 100%);
        grid-column: 2;
    }
}

@media (min-width: 1600px) {
    .bottoni-shop-body > .bottoni-theme-content,
    body.bottoni-buttons-catalog-context .bottoni-theme-navbar,
    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        width: min(1660px, calc(100% - 96px));
    }
}

body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero,
body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
    min-height: 360px;
}

body.bottoni-buttons-catalog-context .bottoni-button-category-hero,
body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner {
    min-height: 390px;
}

.bottoni-shop-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding: 10px 0 12px;
    border-top: 1px solid rgba(111, 84, 60, .14);
    border-bottom: 1px solid rgba(111, 84, 60, .14);
}

.bottoni-catalog-result-count {
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.bottoni-catalog-toolbar-actions {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.bottoni-product-card,
.bottoni-shop-products.is-grid-5 .bottoni-product-card {
    padding: 16px;
}

.bottoni-product-image {
    aspect-ratio: 1 / 1.02;
}

.bottoni-product-image::before {
    inset: 8px;
}

.bottoni-product-meta {
    padding-top: 12px;
}

body.woocommerce-page:not(.home) .bottoni-shop-products ul.products li.product .bottoni-catalog-purchase {
    margin-top: 14px !important;
}

@media (max-width: 980px) {
    .bottoni-shop-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .bottoni-catalog-result-count {
        width: 100%;
    }

    .bottoni-catalog-toolbar-actions {
        justify-self: stretch;
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero,
    body.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner,
    body.bottoni-buttons-catalog-context .bottoni-button-category-hero,
    body.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner {
        min-height: 0;
    }

    .bottoni-shop-layout {
        padding-top: 28px;
    }
}

/* Global catalog alignment and product card hierarchy 1.6.19 */
@media (min-width: 1280px) {
    body.bottoni-catalog-archive .bottoni-theme-navbar,
    body.bottoni-catalog-archive .bottoni-shop-hero-inner {
        width: min(1500px, calc(100% - 56px));
    }

    body.bottoni-catalog-archive:not(.bottoni-buttons-catalog-context) .bottoni-shop-hero-inner {
        min-height: 360px;
        display: grid;
        grid-template-columns: 256px minmax(0, 1fr);
        align-items: center;
        gap: 26px;
        padding: 48px 0;
        box-sizing: border-box;
    }

    body.bottoni-catalog-archive:not(.bottoni-buttons-catalog-context) .bottoni-shop-hero-copy {
        grid-column: 2;
    }
}

@media (min-width: 1600px) {
    body.bottoni-catalog-archive .bottoni-theme-navbar,
    body.bottoni-catalog-archive .bottoni-shop-hero-inner {
        width: min(1660px, calc(100% - 96px));
    }
}

.bottoni-product-card {
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.bottoni-product-card:hover {
    border-color: rgba(166, 108, 39, .38);
    background: rgba(255, 252, 247, .72);
    box-shadow: 0 18px 38px rgba(65, 42, 23, .08);
    transform: translateY(-2px);
}

.bottoni-product-meta {
    gap: 0;
}

.bottoni-product-category {
    min-height: 30px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 7px;
    font-size: 10px;
    line-height: 1.25;
}

.bottoni-product-title {
    min-height: 45px;
    display: grid;
    align-content: start;
    gap: 3px;
    padding: 7px 0 6px;
    border-top: 1px solid rgba(111, 84, 60, .11);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.bottoni-product-title small {
    color: var(--bottoni-muted);
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.bottoni-product-title > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.bottoni-product-prices {
    min-height: 34px;
    margin-top: 2px;
    padding-top: 8px;
    border-top: 1px solid rgba(111, 84, 60, .11);
}

.bottoni-product-price-line {
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 7px;
    white-space: normal;
}

.bottoni-product-price,
.bottoni-product-pack-price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.2;
}

.bottoni-product-price small,
.bottoni-product-pack-price small {
    margin-right: 0;
    font-size: 8px;
    line-height: 1.1;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-category {
    min-height: 28px;
    font-size: 9px;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-title {
    min-height: 43px;
    font-size: 15px;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-prices {
    min-height: 32px;
    padding-top: 7px;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-price,
.bottoni-shop-products.is-grid-5 .bottoni-product-pack-price {
    font-size: 14px;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-price-separator {
    font-size: 13px;
}

@media (max-width: 720px) {
    .bottoni-product-category,
    .bottoni-product-title,
    .bottoni-product-prices {
        min-height: 0;
    }
}

/* Catalog continuity and radial page transitions 2.3.4 */
body.bottoni-catalog-archive .bottoni-theme-main,
body.bottoni-catalog-product .bottoni-theme-main {
    overflow: clip;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] {
    display: flex;
    justify-content: center;
    margin: 34px 0 10px;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination]:empty {
    display: none;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] ul.page-numbers {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] li {
    margin: 0;
    padding: 0;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] .page-numbers:not(ul) {
    min-width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid rgba(183, 121, 37, .28);
    background: rgba(255, 250, 242, .62);
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-sizing: border-box;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] a.page-numbers:hover {
    border-color: rgba(127, 31, 50, .5);
    color: var(--bottoni-wine);
    transform: translateY(-1px);
}

body.bottoni-catalog-archive [data-bottoni-catalog-pagination] .page-numbers.current {
    border-color: var(--bottoni-wine);
    background: var(--bottoni-wine);
    color: #fff;
}

html.bottoni-page-transitions {
    background: var(--bottoni-paper);
}

@media (prefers-reduced-motion: no-preference) {
    html.bottoni-page-transitions::before {
        content: "";
        position: fixed;
        z-index: 2147483000;
        left: var(--bottoni-transition-x, 50vw);
        top: var(--bottoni-transition-y, 50vh);
        width: 0;
        height: 0;
        border-radius: 50%;
        background: var(--bottoni-paper);
        transform: translate(-50%, -50%);
        transition:
            width .3s cubic-bezier(.72, 0, .22, 1),
            height .3s cubic-bezier(.72, 0, .22, 1);
        will-change: width, height;
        pointer-events: none;
    }

    html.bottoni-page-transitions::after {
        content: "";
        position: fixed;
        z-index: 2147483001;
        left: var(--bottoni-transition-x, 50vw);
        top: var(--bottoni-transition-y, 50vh);
        width: 0;
        height: 0;
        border: 1px solid rgba(127, 31, 50, .4);
        border-radius: 50%;
        box-shadow:
            0 0 0 1px rgba(183, 121, 37, .26),
            0 0 8px rgba(127, 31, 50, .04);
        box-sizing: border-box;
        opacity: 0;
        transform: translate(-50%, -50%);
        transition:
            width .3s cubic-bezier(.72, 0, .22, 1),
            height .3s cubic-bezier(.72, 0, .22, 1),
            opacity .04s linear;
        will-change: width, height;
        pointer-events: none;
    }

    html.bottoni-page-transitions body {
        animation: bottoni-page-enter .3s cubic-bezier(.22, .72, .22, 1) backwards;
    }

    html.bottoni-page-transitions body.bottoni-cart-success-response {
        animation: none;
    }

    html.bottoni-page-transitions.bottoni-page-leaving body {
        animation: none;
        pointer-events: none;
    }

    html.bottoni-page-transitions.bottoni-page-leaving::before {
        width: var(--bottoni-transition-diameter, 300vmax);
        height: var(--bottoni-transition-diameter, 300vmax);
    }

    html.bottoni-page-transitions.bottoni-page-leaving::after {
        width: var(--bottoni-transition-diameter, 300vmax);
        height: var(--bottoni-transition-diameter, 300vmax);
        opacity: 1;
    }
}

@keyframes bottoni-page-enter {
    from {
        opacity: 0;
        transform: translate3d(0, 8px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* Catalog editorial content 2.5.0 */
.bottoni-catalog-editorial {
    position: relative;
    overflow: hidden;
    padding: 104px 0 112px;
    border-top: 1px solid rgba(127, 31, 50, .14);
    background:
        linear-gradient(90deg, rgba(255, 250, 242, .86), rgba(241, 226, 208, .9)),
        #f1e4d4;
    color: var(--bottoni-ink);
}

.bottoni-catalog-editorial::before {
    content: "";
    position: absolute;
    top: -320px;
    right: -240px;
    width: 760px;
    height: 760px;
    border: 1px solid rgba(183, 121, 37, .12);
    border-radius: 50%;
    box-shadow:
        0 0 0 42px rgba(183, 121, 37, .035),
        0 0 0 84px rgba(183, 121, 37, .028),
        0 0 0 126px rgba(183, 121, 37, .02);
    pointer-events: none;
}

.bottoni-catalog-editorial-inner {
    position: relative;
    z-index: 1;
    width: min(1540px, calc(100% - 64px));
}

.bottoni-catalog-editorial-header {
    display: grid;
    grid-template-columns: minmax(190px, .42fr) minmax(0, 1.58fr);
    gap: 56px;
    align-items: start;
    padding-bottom: 64px;
    border-bottom: 1px solid rgba(71, 53, 41, .18);
}

.bottoni-catalog-editorial .bottoni-eyebrow {
    margin: 9px 0 0;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.bottoni-catalog-editorial-header .bottoni-eyebrow::after,
.bottoni-catalog-editorial-guide-copy .bottoni-eyebrow::after {
    content: "";
    width: 46px;
    height: 1px;
    display: inline-block;
    margin: 0 0 3px 14px;
    background: currentColor;
}

.bottoni-catalog-editorial h2 {
    max-width: 1040px;
    margin: 0;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: 58px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.02;
}

.bottoni-catalog-editorial-lead {
    max-width: 920px;
    margin: 30px 0 0;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 19px;
    line-height: 1.75;
}

.bottoni-catalog-editorial-chapters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 66px;
    border-top: 1px solid rgba(71, 53, 41, .18);
    border-bottom: 1px solid rgba(71, 53, 41, .18);
}

.bottoni-catalog-editorial-chapters article {
    min-width: 0;
    padding: 34px 38px 44px;
    border-left: 1px solid rgba(71, 53, 41, .18);
}

.bottoni-catalog-editorial-chapters article:first-child {
    padding-left: 0;
    border-left: 0;
}

.bottoni-catalog-editorial-chapters article:last-child {
    padding-right: 0;
}

.bottoni-catalog-editorial-chapters article > span {
    color: var(--bottoni-commerce);
    font-family: var(--bottoni-serif);
    font-size: 17px;
    font-weight: 600;
}

.bottoni-catalog-editorial-chapters h3 {
    max-width: 14em;
    margin: 20px 0 18px;
    font-family: var(--bottoni-serif);
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.08;
}

.bottoni-catalog-editorial-chapters p {
    margin: 0;
    color: rgba(46, 36, 29, .78);
    font-family: var(--bottoni-sans);
    font-size: 14px;
    line-height: 1.78;
}

.bottoni-catalog-editorial-guide {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
    gap: 70px;
    margin-top: 72px;
    padding: 58px 64px 60px;
    background:
        linear-gradient(120deg, rgba(87, 42, 38, .22), transparent 46%),
        #281d1a;
    color: #fff8ee;
    box-shadow: 0 28px 70px rgba(45, 31, 25, .16);
}

.bottoni-catalog-editorial-guide-copy .bottoni-eyebrow {
    color: #d7a45e;
}

.bottoni-catalog-editorial-guide h3 {
    max-width: 520px;
    margin: 22px 0 18px;
    font-family: var(--bottoni-serif);
    font-size: 42px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.02;
}

.bottoni-catalog-editorial-guide-copy > p:last-child {
    max-width: 500px;
    margin: 0;
    color: rgba(255, 248, 238, .66);
    font-family: var(--bottoni-sans);
    font-size: 14px;
    line-height: 1.7;
}

.bottoni-catalog-editorial-guide ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 38px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bottoni-catalog-editorial-guide li {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 248, 238, .16);
}

.bottoni-catalog-editorial-guide li > span {
    color: #d7a45e;
    font-family: var(--bottoni-serif);
    font-size: 16px;
}

.bottoni-catalog-editorial-guide li strong {
    display: block;
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.bottoni-catalog-editorial-guide li p {
    margin: 7px 0 0;
    color: rgba(255, 248, 238, .6);
    font-family: var(--bottoni-sans);
    font-size: 12px;
    line-height: 1.58;
}

.bottoni-catalog-editorial-links {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    margin-top: 68px;
    padding: 28px 0 18px;
    border-top: 1px solid rgba(71, 53, 41, .18);
}

.bottoni-catalog-editorial-links > span {
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-catalog-editorial-links > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0 28px;
}

.bottoni-catalog-editorial-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgba(127, 31, 50, .24);
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition: border-color .18s ease, color .18s ease, transform .18s ease;
}

.bottoni-catalog-editorial-links a:hover,
.bottoni-catalog-editorial-links a:focus-visible {
    border-color: var(--bottoni-commerce);
    color: var(--bottoni-commerce);
    transform: translateY(-2px);
}

.bottoni-catalog-editorial-links a span {
    color: var(--bottoni-gold-deep);
}

.bottoni-catalog-editorial-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
    margin-top: 52px;
    padding: 34px 38px;
    border-left: 3px solid var(--bottoni-commerce);
    background: rgba(255, 250, 242, .72);
    box-shadow: 0 18px 54px rgba(65, 42, 23, .08);
}

.bottoni-catalog-editorial-cta div > span {
    display: block;
    margin-bottom: 9px;
    color: var(--bottoni-gold-deep);
    font-family: var(--bottoni-sans);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bottoni-catalog-editorial-cta strong {
    max-width: 900px;
    display: block;
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.55;
}

.bottoni-catalog-editorial-cta > a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 0 22px;
    border: 1px solid var(--bottoni-commerce);
    background: var(--bottoni-commerce);
    color: #fff;
    font-family: var(--bottoni-sans);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.bottoni-catalog-editorial-cta > a:hover,
.bottoni-catalog-editorial-cta > a:focus-visible {
    border-color: var(--bottoni-commerce-hover);
    background: var(--bottoni-commerce-hover);
    transform: translateY(-2px);
}

.bottoni-buttons-editorial {
    border-top: 0;
    background:
        linear-gradient(90deg, rgba(255, 250, 242, .92), rgba(237, 220, 200, .86)),
        #f1e4d4;
}

@media (max-width: 1100px) {
    .bottoni-catalog-editorial {
        padding: 84px 0 92px;
    }

    .bottoni-catalog-editorial-header {
        grid-template-columns: 160px minmax(0, 1fr);
        gap: 34px;
    }

    .bottoni-catalog-editorial h2 {
        font-size: 48px;
    }

    .bottoni-catalog-editorial-chapters {
        grid-template-columns: 1fr;
    }

    .bottoni-catalog-editorial-chapters article,
    .bottoni-catalog-editorial-chapters article:first-child,
    .bottoni-catalog-editorial-chapters article:last-child {
        display: grid;
        grid-template-columns: 40px minmax(220px, .6fr) minmax(0, 1.4fr);
        gap: 20px;
        align-items: start;
        padding: 30px 0;
        border-left: 0;
        border-top: 1px solid rgba(71, 53, 41, .14);
    }

    .bottoni-catalog-editorial-chapters article:first-child {
        border-top: 0;
    }

    .bottoni-catalog-editorial-chapters h3 {
        margin: 0;
        font-size: 27px;
    }

    .bottoni-catalog-editorial-guide {
        grid-template-columns: 1fr;
        gap: 38px;
        padding: 48px;
    }
}

@media (max-width: 760px) {
    .bottoni-catalog-editorial {
        padding: 68px 0 72px;
    }

    .bottoni-catalog-editorial-inner {
        width: calc(100% - 36px);
    }

    .bottoni-catalog-editorial::before {
        top: -180px;
        right: -260px;
        width: 520px;
        height: 520px;
    }

    .bottoni-catalog-editorial-header {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-bottom: 44px;
    }

    .bottoni-catalog-editorial .bottoni-eyebrow {
        margin-top: 0;
    }

    .bottoni-catalog-editorial h2 {
        font-size: 39px;
        line-height: 1.02;
    }

    .bottoni-catalog-editorial-lead {
        margin-top: 24px;
        font-size: 16px;
        line-height: 1.7;
    }

    .bottoni-catalog-editorial-chapters {
        margin-top: 44px;
    }

    .bottoni-catalog-editorial-chapters article,
    .bottoni-catalog-editorial-chapters article:first-child,
    .bottoni-catalog-editorial-chapters article:last-child {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 12px;
        padding: 28px 0 32px;
    }

    .bottoni-catalog-editorial-chapters h3,
    .bottoni-catalog-editorial-chapters p {
        grid-column: 2;
    }

    .bottoni-catalog-editorial-chapters h3 {
        font-size: 26px;
    }

    .bottoni-catalog-editorial-chapters p {
        font-size: 14px;
        line-height: 1.72;
    }

    .bottoni-catalog-editorial-guide {
        gap: 32px;
        margin: 48px -18px 0;
        padding: 42px 22px 44px;
    }

    .bottoni-catalog-editorial-guide h3 {
        font-size: 34px;
    }

    .bottoni-catalog-editorial-guide ol {
        grid-template-columns: 1fr;
    }

    .bottoni-catalog-editorial-links {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 46px;
    }

    .bottoni-catalog-editorial-links > div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .bottoni-catalog-editorial-links a {
        justify-content: space-between;
        overflow-wrap: anywhere;
    }

    .bottoni-catalog-editorial-cta {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 42px;
        padding: 28px 24px;
    }

    .bottoni-catalog-editorial-cta > a {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 420px) {
    .bottoni-catalog-editorial-inner {
        width: calc(100% - 28px);
    }

    .bottoni-catalog-editorial h2 {
        font-size: 34px;
    }

    .bottoni-catalog-editorial-guide {
        margin-right: -14px;
        margin-left: -14px;
    }

    .bottoni-catalog-editorial-links > div {
        grid-template-columns: 1fr;
    }
}

/* Photographic direction catalog heroes 1.6.25 */
.bottoni-direction-catalog-hero {
    min-height: 390px;
    isolation: isolate;
    background: #e9dfd3;
}

.bottoni-direction-catalog-hero::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(249, 244, 237, .98) 0%, rgba(249, 244, 237, .93) 34%, rgba(249, 244, 237, .58) 54%, rgba(249, 244, 237, .08) 76%),
        linear-gradient(180deg, rgba(255, 252, 247, .2), transparent 42%, rgba(83, 56, 33, .08));
    pointer-events: none;
}

.bottoni-direction-catalog-hero::after {
    display: none;
}

.bottoni-direction-catalog-hero-media {
    position: absolute;
    z-index: 0;
    inset: 0 0 0 auto;
    width: min(1920px, 100%);
    height: auto;
    overflow: hidden;
}

.bottoni-direction-catalog-hero-bg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.bottoni-direction-catalog-hero .bottoni-shop-hero-inner {
    position: relative;
    z-index: 2;
    min-height: 390px;
    padding-top: 100px;
    padding-bottom: 38px;
}

.bottoni-direction-catalog-hero .bottoni-shop-hero-copy {
    width: min(700px, 100%);
}

.bottoni-direction-catalog-hero .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
    color: var(--bottoni-discovery);
}

.bottoni-direction-catalog-hero .bottoni-eyebrow::after {
    content: "";
    width: 46px;
    height: 1px;
    flex: 0 0 46px;
    background: currentColor;
    opacity: .72;
}

.bottoni-direction-catalog-hero h1 {
    max-width: 760px;
    font-size: 62px;
    line-height: .98;
}

.bottoni-direction-catalog-hero .bottoni-shop-description {
    max-width: 680px;
    margin-top: 19px;
    color: rgba(37, 29, 23, .88);
    font-size: 17px;
    line-height: 1.56;
    text-shadow: 0 1px 1px rgba(255, 252, 247, .68);
}

@media (min-width: 1280px) {
    body.bottoni-direction-catalog-context .bottoni-direction-catalog-hero .bottoni-shop-hero-inner {
        align-items: start;
        padding-top: 116px;
        padding-bottom: 38px;
    }
}

@media (max-width: 980px) {
    .bottoni-direction-catalog-hero,
    .bottoni-direction-catalog-hero .bottoni-shop-hero-inner {
        min-height: 400px;
    }

    .bottoni-direction-catalog-hero::before {
        background:
            linear-gradient(90deg, rgba(249, 244, 237, .98) 0%, rgba(249, 244, 237, .94) 48%, rgba(249, 244, 237, .65) 72%, rgba(249, 244, 237, .28) 100%),
            linear-gradient(180deg, rgba(255, 252, 247, .18), transparent 42%, rgba(83, 56, 33, .08));
    }

    .bottoni-direction-catalog-hero-bg {
        object-position: center;
    }

    .bottoni-direction-catalog-hero h1 {
        font-size: 52px;
    }
}

@media (max-width: 720px) {
    body.bottoni-direction-catalog-context .bottoni-theme-navbar {
        width: calc(100% - 28px);
    }

    .bottoni-direction-catalog-hero,
    .bottoni-direction-catalog-hero .bottoni-shop-hero-inner {
        min-height: 500px;
    }

    .bottoni-direction-catalog-hero .bottoni-shop-hero-inner {
        width: calc(100% - 28px);
        padding-top: 128px;
        padding-bottom: 30px;
        box-sizing: border-box;
    }

    .bottoni-direction-catalog-hero::before {
        background:
            linear-gradient(180deg, rgba(249, 244, 237, .34) 0%, rgba(249, 244, 237, .68) 48%, rgba(249, 244, 237, .94) 100%),
            linear-gradient(90deg, rgba(249, 244, 237, .74), rgba(249, 244, 237, .48));
    }

    .bottoni-direction-catalog-hero-media {
        width: 100%;
    }

    .bottoni-direction-catalog-hero-bg {
        object-fit: cover;
        object-position: center;
    }

    .bottoni-direction-catalog-hero h1 {
        font-size: 40px;
        line-height: 1;
    }

    .bottoni-direction-catalog-hero .bottoni-shop-description {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.5;
    }
}

@media (max-width: 420px) {
    .bottoni-direction-catalog-hero,
    .bottoni-direction-catalog-hero .bottoni-shop-hero-inner {
        min-height: 520px;
    }

    .bottoni-direction-catalog-hero h1 {
        font-size: 35px;
    }
}

/* Product commerce and catalog identity 2.1.0 */
.bottoni-single-product-summary h1 {
    max-width: 720px;
    font-size: clamp(40px, 4.35vw, 66px);
    line-height: 1.02;
    overflow-wrap: anywhere;
}

.bottoni-product-purchase-panel {
    margin-top: 22px;
    padding: clamp(18px, 2.2vw, 26px);
    border: 1px solid rgba(183, 121, 37, .28);
    background: rgba(255, 251, 245, .62);
    box-shadow: 0 18px 46px rgba(65, 42, 23, .07);
}

.bottoni-product-purchase-panel .bottoni-product-commerce-summary {
    margin-top: 0;
    padding-bottom: 18px;
}

.bottoni-product-purchase-panel .bottoni-product-overview {
    margin-top: 18px;
}

.bottoni-product-purchase-panel .bottoni-single-copy {
    max-width: none;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.55;
}

.bottoni-product-purchase-panel .bottoni-single-purchase {
    margin-top: 18px;
    padding-top: 18px;
}

.bottoni-product-service-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(183, 121, 37, .24);
    font-family: var(--bottoni-sans);
}

.bottoni-product-service-notes p {
    min-width: 0;
    margin: 0;
    padding-left: 15px;
    border-left: 2px solid rgba(183, 121, 37, .58);
}

.bottoni-product-service-notes strong,
.bottoni-product-service-notes span {
    display: block;
}

.bottoni-product-service-notes strong {
    color: var(--bottoni-ink);
    font-size: 12px;
    font-weight: 900;
}

.bottoni-product-service-notes span {
    margin-top: 4px;
    color: var(--bottoni-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.bottoni-product-help-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 17px;
    color: var(--bottoni-wine);
    font-family: var(--bottoni-sans);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.bottoni-product-help-link:hover {
    color: var(--bottoni-discovery-hover);
}

.bottoni-product-title {
    min-height: 57px;
    display: -webkit-box;
    padding: 8px 0 7px;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bottoni-product-sku {
    min-height: 33px;
    display: flex;
    align-items: baseline;
    gap: 7px;
    padding: 7px 0 6px;
    border-top: 1px solid rgba(111, 84, 60, .11);
    color: var(--bottoni-ink-soft);
    font-family: var(--bottoni-sans);
    line-height: 1.2;
}

.bottoni-product-sku small {
    color: var(--bottoni-muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-product-sku span {
    min-width: 0;
    font-size: 12px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-title {
    min-height: 51px;
    font-size: 14px;
}

.bottoni-shop-products.is-grid-5 .bottoni-product-sku {
    min-height: 31px;
}

body.woocommerce-page:not(.home) .bottoni-single-related ul.products::before,
body.woocommerce-page:not(.home) .bottoni-single-related ul.products::after {
    display: none;
}

body.woocommerce-page:not(.home) .bottoni-single-related ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

@media (max-width: 720px) {
    .bottoni-single-product-summary h1 {
        font-size: clamp(36px, 10.5vw, 48px);
    }

    .bottoni-product-service-notes {
        grid-template-columns: 1fr;
    }

    .bottoni-product-title,
    .bottoni-product-sku,
    .bottoni-shop-products.is-grid-5 .bottoni-product-title,
    .bottoni-shop-products.is-grid-5 .bottoni-product-sku {
        min-height: 0;
    }
}

/* Keep the compact home map above the older contact-page wash rules. */
.bottoni-home-location .bottoni-home-location-wash {
    background:
        linear-gradient(90deg, rgba(255, 248, 237, .98) 0%, rgba(255, 248, 237, .94) 32%, rgba(255, 248, 237, .54) 49%, rgba(255, 248, 237, .08) 69%),
        linear-gradient(180deg, rgba(255, 248, 237, .16), transparent 46%, rgba(41, 30, 27, .09));
}

.bottoni-home-location .bottoni-home-location-grid {
    background:
        linear-gradient(rgba(127, 31, 50, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(127, 31, 50, .07) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity: .34;
}

@media (max-width: 720px) {
    .bottoni-home-location .bottoni-home-location-wash {
        background: linear-gradient(180deg, rgba(255, 248, 237, .98) 0%, rgba(255, 248, 237, .91) 55%, rgba(255, 248, 237, .44) 80%, rgba(255, 248, 237, .2) 100%);
    }
}

/* Editorial and global composition polish 2.6.1 */
.bottoni-home-signature {
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-top: 1px solid rgba(221, 186, 117, .2);
    border-bottom: 1px solid rgba(221, 186, 117, .2);
    background: #241918;
    color: #e6d5be;
}

.bottoni-home-signature > div {
    width: min(1500px, calc(100% - 56px));
    min-height: 58px;
    display: grid;
    grid-template-columns: auto minmax(40px, 1fr) auto minmax(40px, 1fr) auto minmax(40px, 1fr) auto;
    align-items: center;
    gap: 22px;
    margin: 0 auto;
    font-family: var(--bottoni-sans);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.bottoni-home-signature i {
    height: 1px;
    display: block;
    background: linear-gradient(90deg, rgba(200, 155, 90, .18), rgba(200, 155, 90, .62), rgba(200, 155, 90, .18));
}

.bottoni-home-location-copy h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 13px;
    font-family: var(--bottoni-sans);
    font-size: 52px;
    font-weight: 700;
    line-height: .92;
}

.bottoni-home-location-copy h2 span,
.bottoni-home-location-copy h2 em,
.bottoni-home-location-copy h2 strong {
    color: var(--bottoni-ink);
    font-style: normal;
    letter-spacing: 0;
}

.bottoni-home-location-copy h2 em {
    font-family: var(--bottoni-serif);
    font-size: 78px;
    font-weight: 600;
}

.bottoni-home-location-copy h2 strong {
    flex-basis: 100%;
    margin-top: 5px;
    font-family: var(--bottoni-sans);
    font-size: 48px;
    font-weight: 700;
}

.bottoni-buttons-editorial {
    padding-bottom: 70px;
}

.bottoni-catalog-editorial-lead {
    font-size: 20px;
    line-height: 1.68;
}

.bottoni-catalog-editorial-chapters p {
    font-size: 15px;
    line-height: 1.72;
}

.bottoni-catalog-editorial-guide-copy > p:last-child {
    font-size: 15px;
    line-height: 1.65;
}

.bottoni-catalog-editorial-guide li strong {
    font-size: 14px;
}

.bottoni-catalog-editorial-guide li p {
    color: rgba(255, 248, 238, .68);
    font-size: 13px;
    line-height: 1.55;
}

@media (min-width: 1101px) {
    .bottoni-catalog-editorial-header {
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 34px;
    }

    .bottoni-catalog-editorial-header .bottoni-eyebrow {
        display: grid;
        grid-template-columns: auto minmax(24px, 1fr);
        align-items: center;
        gap: 14px;
    }

    .bottoni-catalog-editorial-header .bottoni-eyebrow::after {
        width: auto;
        margin: 0;
    }

    .bottoni-catalog-editorial h2 {
        font-size: 62px;
    }

    .bottoni-catalog-editorial-chapters article {
        position: relative;
        overflow: hidden;
        padding-top: 72px;
    }

    .bottoni-catalog-editorial-chapters article > span {
        position: absolute;
        top: 8px;
        right: 32px;
        color: rgba(127, 31, 50, .1);
        font-size: 94px;
        font-weight: 500;
        line-height: 1;
        pointer-events: none;
    }

    .bottoni-catalog-editorial-chapters article:first-child > span {
        right: 38px;
    }

    .bottoni-catalog-editorial-chapters h3,
    .bottoni-catalog-editorial-chapters p {
        position: relative;
        z-index: 1;
    }

    .bottoni-catalog-editorial-guide {
        grid-template-columns: minmax(310px, .82fr) minmax(0, 1.18fr);
    }

    .bottoni-catalog-editorial-guide h3 {
        font-size: 46px;
    }

}

@media (min-width: 1200px) {
    .bottoni-theme-footer-menu,
    .bottoni-theme-footer-contacts {
        padding-left: 44px;
        border-left: 1px solid rgba(255, 250, 242, .12);
    }
}

@media (min-width: 721px) and (max-width: 1199px) {
    .bottoni-theme-footer-inner {
        grid-template-columns: minmax(260px, 1fr) minmax(150px, .55fr);
        gap: 44px;
    }

    .bottoni-theme-footer-contacts {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: baseline;
        padding-top: 30px;
        border-top: 1px solid rgba(255, 250, 242, .12);
    }

    .bottoni-theme-footer-contacts .bottoni-theme-footer-label,
    .bottoni-theme-footer-contacts address,
    .bottoni-theme-footer-contacts .bottoni-theme-footer-route {
        grid-column: 1 / -1;
    }
}

.bottoni-theme-footer-label,
.bottoni-theme-footer-kicker {
    font-size: 11px;
}

.bottoni-theme-footer-menu-list {
    font-size: 14px;
}

.bottoni-theme-footer-contacts {
    font-size: 16px;
}

.bottoni-theme-footer-phone {
    font-size: 34px;
}

.bottoni-theme-footer::after {
    right: 0;
    left: 0;
    width: auto;
    height: 3px;
    background:
        linear-gradient(90deg, #16824a 0 33.333%, #f4ecdf 33.333% 66.666%, #c72932 66.666% 100%) center / 216px 3px no-repeat,
        linear-gradient(90deg, transparent, rgba(221, 186, 117, .3), transparent) center / 100% 1px no-repeat;
    opacity: .86;
}

@media (max-width: 980px) {
    .bottoni-home-signature > div {
        width: calc(100% - 36px);
    }

    .bottoni-catalog-editorial-lead {
        font-size: 18px;
    }
}

@media (max-width: 720px) {
    .bottoni-home-signature > div {
        grid-template-columns: auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto;
        gap: 14px;
    }

    .bottoni-home-signature span:last-child,
    .bottoni-home-signature i:last-of-type {
        display: none;
    }

    .bottoni-home-location-copy h2 {
        gap: 0 9px;
        font-size: 35px;
    }

    .bottoni-home-location-copy h2 em {
        font-size: 57px;
    }

    .bottoni-home-location-copy h2 strong {
        font-size: 41px;
    }

    .bottoni-buttons-editorial {
        padding-bottom: 54px;
    }

    .bottoni-catalog-editorial-lead {
        font-size: 16px;
    }

    .bottoni-catalog-editorial-chapters p,
    .bottoni-catalog-editorial-guide-copy > p:last-child {
        font-size: 14px;
    }

    .bottoni-theme-footer-menu-list {
        font-size: 13px;
    }

    .bottoni-theme-footer-contacts {
        font-size: 15px;
    }

    .bottoni-theme-footer-phone {
        font-size: 30px;
    }
}

@media (max-width: 420px) {
    .bottoni-home-signature > div {
        width: calc(100% - 28px);
        grid-template-columns: auto minmax(18px, 1fr) auto;
    }

    .bottoni-home-signature span:nth-of-type(3),
    .bottoni-home-signature i:nth-of-type(2) {
        display: none;
    }

    .bottoni-home-location-copy h2 {
        font-size: 31px;
    }

    .bottoni-home-location-copy h2 em {
        font-size: 50px;
    }

    .bottoni-home-location-copy h2 strong {
        font-size: 37px;
    }
}

/* Editorial readability and closing composition 2.6.2 */
.bottoni-catalog-editorial-chapters p {
    color: rgba(46, 36, 29, .86);
    font-size: 16px;
    line-height: 1.7;
}

.bottoni-catalog-editorial-guide {
    gap: 58px;
    padding: 62px 66px;
}

.bottoni-catalog-editorial-guide-copy > p:last-child {
    color: rgba(255, 248, 238, .74);
    font-size: 16px;
    line-height: 1.62;
}

.bottoni-catalog-editorial-guide li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 16px;
    padding: 24px 0;
}

.bottoni-catalog-editorial-guide li > span {
    font-size: 18px;
}

.bottoni-catalog-editorial-guide li strong {
    font-size: 15px;
    line-height: 1.4;
}

.bottoni-catalog-editorial-guide li p {
    color: rgba(255, 248, 238, .7);
    font-size: 14px;
    line-height: 1.58;
}

.bottoni-catalog-editorial-links {
    margin-top: 54px;
}

.bottoni-catalog-editorial-cta {
    position: relative;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 0;
    align-items: stretch;
    margin-top: 38px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(127, 31, 50, .22);
    border-left: 3px solid var(--bottoni-commerce);
    background:
        linear-gradient(90deg, rgba(255, 250, 242, .96), rgba(247, 236, 223, .82));
    box-shadow: 0 18px 48px rgba(65, 42, 23, .08);
}

.bottoni-catalog-editorial-cta::before {
    content: "B";
    position: absolute;
    top: 50%;
    right: 244px;
    color: rgba(127, 31, 50, .055);
    font-family: var(--bottoni-serif);
    font-size: 118px;
    font-weight: 600;
    line-height: 1;
    transform: translateY(-50%);
    pointer-events: none;
}

.bottoni-catalog-editorial-cta > div {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 38px 32px;
}

.bottoni-catalog-editorial-cta div > span {
    margin-bottom: 8px;
}

.bottoni-catalog-editorial-cta strong {
    max-width: 900px;
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.24;
}

.bottoni-catalog-editorial-cta > a {
    min-height: 112px;
    padding: 20px 24px;
    border: 0;
    border-left: 1px solid rgba(255, 250, 242, .18);
}

.bottoni-buttons-editorial {
    padding-bottom: 38px;
}

@media (min-width: 1101px) {
    .bottoni-catalog-editorial-chapters article {
        padding-top: 62px;
    }

    .bottoni-catalog-editorial-chapters article > span {
        top: 13px;
        right: 26px;
        color: rgba(127, 31, 50, .065);
        font-size: 76px;
    }

    .bottoni-catalog-editorial-chapters article:first-child > span {
        right: 28px;
    }

    .bottoni-catalog-editorial-guide {
        grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr);
    }
}

@media (max-width: 1100px) {
    .bottoni-catalog-editorial-guide {
        gap: 34px;
        padding: 48px;
    }
}

@media (max-width: 760px) {
    .bottoni-catalog-editorial-chapters p {
        font-size: 15px;
        line-height: 1.68;
    }

    .bottoni-catalog-editorial-guide {
        padding: 36px 24px;
    }

    .bottoni-catalog-editorial-guide-copy > p:last-child {
        font-size: 14px;
    }

    .bottoni-catalog-editorial-guide li strong {
        font-size: 14px;
    }

    .bottoni-catalog-editorial-guide li p {
        font-size: 13px;
    }

    .bottoni-catalog-editorial-cta {
        grid-template-columns: 1fr;
    }

    .bottoni-catalog-editorial-cta::before {
        right: 18px;
        font-size: 92px;
    }

    .bottoni-catalog-editorial-cta > div {
        padding: 27px 24px 28px;
    }

    .bottoni-catalog-editorial-cta strong {
        font-size: 21px;
    }

    .bottoni-catalog-editorial-cta > a {
        min-height: 54px;
        border-top: 1px solid rgba(255, 250, 242, .18);
        border-left: 0;
    }

    .bottoni-buttons-editorial {
        padding-bottom: 28px;
    }
}

/* Homepage signature and location hierarchy 2.6.3 */
.bottoni-home-signature > div {
    min-height: 70px;
    gap: 26px;
    font-size: 11px;
}

.bottoni-home-signature span {
    color: rgba(255, 248, 238, .8);
}

.bottoni-home-signature span:first-child {
    color: #fff8ee;
    font-family: var(--bottoni-serif);
    font-size: 19px;
    font-weight: 600;
    text-transform: none;
}

.bottoni-home-signature span:nth-of-type(3) {
    color: #d6a867;
}

.bottoni-home-signature i {
    background: linear-gradient(90deg, rgba(200, 155, 90, .08), rgba(200, 155, 90, .34), rgba(200, 155, 90, .08));
}

.bottoni-home-location-copy {
    width: min(660px, 50%);
}

.bottoni-home-location-copy h2 {
    gap: 0 18px;
    line-height: .96;
}

.bottoni-home-location-copy h2 span {
    font-size: 50px;
}

.bottoni-home-location-copy h2 em {
    font-size: 82px;
    line-height: .9;
}

.bottoni-home-location-copy h2 strong {
    margin-top: 11px;
    font-size: 46px;
}

.bottoni-home-location-intro {
    max-width: 610px;
    font-size: 17px;
    line-height: 1.64;
}

.bottoni-home-location-copy address {
    font-size: 16px;
}

.bottoni-home-location-links a {
    padding-top: 17px;
    padding-bottom: 18px;
}

.bottoni-home-location-links span {
    font-size: 10px;
}

.bottoni-home-location-links strong {
    font-size: 15px;
}

.bottoni-home-location-more {
    gap: 12px;
    padding-bottom: 4px;
    font-size: 12px;
}

.bottoni-home-location-more::after {
    content: "→";
    color: var(--bottoni-gold-deep);
    transition: transform .18s ease;
}

.bottoni-home-location-more:hover::after,
.bottoni-home-location-more:focus-visible::after {
    transform: translateX(4px);
}

@media (min-width: 1200px) and (min-height: 850px) {
    .home .bottoni-hero-grid {
        padding-bottom: 82px;
    }
}

@media (max-width: 980px) {
    .bottoni-home-signature > div {
        min-height: 64px;
        gap: 18px;
        font-size: 10px;
    }

    .bottoni-home-signature span:first-child {
        font-size: 17px;
    }

    .bottoni-home-location-copy {
        width: min(600px, 66%);
    }

    .bottoni-home-location-copy h2 {
        gap: 0 13px;
    }

    .bottoni-home-location-copy h2 span {
        font-size: 43px;
    }

    .bottoni-home-location-copy h2 em {
        font-size: 70px;
    }

    .bottoni-home-location-copy h2 strong {
        font-size: 43px;
    }
}

@media (max-width: 720px) {
    .bottoni-home-signature > div {
        min-height: 60px;
        gap: 14px;
    }

    .bottoni-home-location-copy {
        width: 100%;
    }

    .bottoni-home-location-copy h2 {
        gap: 0 10px;
    }

    .bottoni-home-location-copy h2 span {
        font-size: 34px;
    }

    .bottoni-home-location-copy h2 em {
        font-size: 56px;
    }

    .bottoni-home-location-copy h2 strong {
        margin-top: 7px;
        font-size: 40px;
    }

    .bottoni-home-location-intro {
        font-size: 15px;
    }

    .bottoni-home-location-copy address {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .bottoni-home-location-copy h2 span {
        font-size: 30px;
    }

    .bottoni-home-location-copy h2 em {
        font-size: 49px;
    }

    .bottoni-home-location-copy h2 strong {
        font-size: 36px;
    }
}

/* Golden-ratio catalog details and measured footer 2.6.4 */
.bottoni-buttons-category-card {
    grid-template-rows: 24px minmax(0, 1.618fr) minmax(54px, .618fr) 34px;
}

.bottoni-buttons-category-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -104px;
    right: -104px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(166, 108, 39, .16) 0 1px, transparent 1px 16px);
    opacity: .16;
    transition: opacity .24s ease, transform .34s ease;
    pointer-events: none;
}

.bottoni-buttons-category-card > * {
    position: relative;
    z-index: 1;
}

.bottoni-buttons-category-card:hover::after,
.bottoni-buttons-category-card:focus-visible::after {
    opacity: .48;
    transform: translate(-8px, 8px);
}

.bottoni-buttons-category-card strong {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.38;
}

.bottoni-buttons-category-arrow {
    position: relative;
    width: 38px;
    height: 32px;
}

.bottoni-buttons-category-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    width: 26px;
    height: 1px;
    background: rgba(166, 108, 39, .28);
    transform: translateY(-50%);
    transition: width .2s ease, background-color .2s ease;
}

.bottoni-buttons-category-card:hover .bottoni-buttons-category-arrow::before,
.bottoni-buttons-category-card:focus-visible .bottoni-buttons-category-arrow::before {
    width: 34px;
    background: rgba(127, 31, 50, .52);
}

.bottoni-buttons-category-arrow svg {
    width: 22px;
    height: 22px;
}

.bottoni-buttons-benefits {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(255, 250, 242, .68), rgba(246, 233, 216, .58)),
        rgba(255, 250, 242, .34);
}

.bottoni-buttons-benefits::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(166, 108, 39, .08);
    border-radius: 50%;
    box-shadow:
        0 0 0 42px rgba(166, 108, 39, .025),
        0 0 0 84px rgba(166, 108, 39, .018);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.bottoni-buttons-benefit-grid {
    position: relative;
    z-index: 1;
}

.bottoni-buttons-benefit {
    position: relative;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 22px;
    min-height: 132px;
    padding-top: 28px;
    padding-bottom: 28px;
}

.bottoni-buttons-benefit::before {
    position: absolute;
    top: 17px;
    right: 18px;
    color: rgba(127, 31, 50, .28);
    font-family: var(--bottoni-serif);
    font-size: 13px;
    font-weight: 600;
}

.bottoni-buttons-benefit:nth-child(1)::before {
    content: "01";
}

.bottoni-buttons-benefit:nth-child(2)::before {
    content: "02 · φ";
}

.bottoni-buttons-benefit:nth-child(3)::before {
    content: "03";
}

.bottoni-buttons-benefit-icon {
    width: 46px;
    height: 46px;
}

.bottoni-buttons-benefit-icon::before {
    content: "";
    position: absolute;
    inset: -11px;
    border: 1px solid rgba(174, 118, 46, .14);
    border-radius: 50%;
}

.bottoni-buttons-benefit > div strong {
    font-family: var(--bottoni-serif);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
}

.bottoni-buttons-benefit > div span {
    margin-top: 8px;
    color: rgba(70, 55, 45, .72);
    font-size: 13px;
    line-height: 1.48;
}

@media (min-width: 1181px) {
    .bottoni-buttons-benefit-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr) minmax(0, 1fr);
    }

    .bottoni-buttons-benefit:nth-child(2) {
        padding-right: 52px;
        padding-left: 52px;
    }

    .bottoni-theme-footer-inner {
        grid-template-columns: minmax(320px, 1.618fr) minmax(180px, .618fr) minmax(360px, 1fr);
        gap: 58px;
    }
}

.bottoni-theme-footer-menu,
.bottoni-theme-footer-contacts {
    border-left-color: rgba(255, 250, 242, .075);
}

.bottoni-theme-footer-kicker::before,
.bottoni-theme-footer-label::before {
    margin-right: 10px;
    color: rgba(214, 168, 103, .58);
    font-family: var(--bottoni-serif);
    font-size: 13px;
}

.bottoni-theme-footer-kicker::before {
    content: "I";
}

.bottoni-theme-footer-menu .bottoni-theme-footer-label::before {
    content: "II";
}

.bottoni-theme-footer-contacts .bottoni-theme-footer-label::before {
    content: "III";
}

.bottoni-theme-footer-route {
    font-size: 12px;
}

.bottoni-theme-footer-bottom {
    position: relative;
}

.bottoni-theme-footer-bottom::before {
    content: "";
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    height: 6px;
    background: repeating-linear-gradient(90deg, rgba(214, 168, 103, .2) 0 1px, transparent 1px 18px);
    mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    pointer-events: none;
}

@media (max-width: 1180px) {
    .bottoni-buttons-category-card strong {
        font-size: 14px;
    }

    .bottoni-buttons-benefit {
        grid-template-columns: 58px minmax(0, 1fr);
    }
}

@media (max-width: 820px) {
    .bottoni-buttons-benefits::before {
        left: auto;
        right: -250px;
        transform: translateY(-50%);
    }

    .bottoni-buttons-benefit,
    .bottoni-buttons-benefit:first-child,
    .bottoni-buttons-benefit:last-child {
        min-height: 106px;
        padding: 24px 12px;
    }

    .bottoni-buttons-benefit::before {
        right: 12px;
    }
}

@media (max-width: 520px) {
    .bottoni-buttons-category-card {
        grid-template-rows: 20px minmax(0, 1.618fr) minmax(50px, .618fr) 28px;
    }

    .bottoni-buttons-category-card strong {
        font-size: 12px;
    }

    .bottoni-buttons-category-arrow {
        width: 32px;
        height: 28px;
    }

    .bottoni-buttons-category-arrow::before {
        right: 26px;
        width: 18px;
    }

    .bottoni-buttons-benefit > div strong {
        font-size: 17px;
    }

    .bottoni-buttons-benefit > div span {
        font-size: 12px;
    }

    .bottoni-theme-footer-kicker::before,
    .bottoni-theme-footer-label::before {
        margin-right: 7px;
    }
}

@media (min-width: 1280px) {
    body.bottoni-catalog-archive:not(.bottoni-buttons-catalog-context) .bottoni-shop-hero-inner {
        grid-template-columns: 272px minmax(0, 1fr);
    }

    body.bottoni-catalog-archive.bottoni-buttons-catalog-context .bottoni-buttons-catalog-hero .bottoni-shop-hero-inner {
        grid-template-columns: 272px minmax(0, 1fr);
    }

    body.bottoni-catalog-archive.bottoni-buttons-catalog-context .bottoni-button-category-hero .bottoni-shop-hero-inner {
        grid-template-columns: 272px minmax(0, 1fr) 310px;
    }
}

/* Single-product measured composition 2.6.6 */
body.bottoni-catalog-product .bottoni-single-product-shell {
    grid-template-columns: 272px minmax(0, 1fr);
}

body.bottoni-catalog-product .bottoni-product-sidebar {
    position: sticky;
    top: 18px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .62),
        0 18px 46px rgba(65, 42, 23, .075);
}

body.bottoni-catalog-product .bottoni-product-sidebar::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 0;
    width: 7px;
    height: 38.2%;
    background: repeating-linear-gradient(180deg, rgba(166, 108, 39, .42) 0 1px, transparent 1px 13px);
    mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
    pointer-events: none;
}

body.bottoni-catalog-product .bottoni-product-sidebar h2::before {
    content: "";
    width: 34px;
    height: 1px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    background: var(--bottoni-discovery);
    opacity: .72;
}

body.bottoni-catalog-product .bottoni-product-breadcrumbs {
    position: relative;
    align-items: center;
    margin-bottom: 34px;
    padding-bottom: 14px;
}

body.bottoni-catalog-product .bottoni-product-breadcrumbs::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: min(440px, 38.2%);
    height: 6px;
    border-top: 1px solid rgba(166, 108, 39, .32);
    background: repeating-linear-gradient(90deg, rgba(166, 108, 39, .38) 0 1px, transparent 1px 17px);
    mask-image: linear-gradient(90deg, #000 0%, #000 76%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 76%, transparent 100%);
    pointer-events: none;
}

body.bottoni-catalog-product .bottoni-single-product-layout {
    grid-template-columns: minmax(430px, 1.618fr) minmax(400px, 1fr);
    gap: 42px;
    align-items: start;
}

body.bottoni-catalog-product .bottoni-single-product-media {
    padding-top: 16px;
}

body.bottoni-catalog-product .bottoni-single-product-media::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 61.8%;
    height: 7px;
    background:
        linear-gradient(90deg, rgba(166, 108, 39, .52), rgba(166, 108, 39, .12)) top / 100% 1px no-repeat,
        repeating-linear-gradient(90deg, transparent 0 15px, rgba(166, 108, 39, .28) 15px 16px);
    pointer-events: none;
}

body.bottoni-catalog-product .bottoni-product-image-stage {
    box-shadow: 0 26px 72px rgba(65, 42, 23, .11);
}

body.bottoni-catalog-product .bottoni-single-product-summary {
    position: relative;
    padding-top: 16px;
}

body.bottoni-catalog-product .bottoni-single-product-summary::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(127, 31, 50, .48) 0 38.2%, rgba(166, 108, 39, .18) 38.2%, transparent 86%);
}

body.bottoni-catalog-product .bottoni-product-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

body.bottoni-catalog-product .bottoni-product-kicker::after {
    content: "";
    width: 44px;
    height: 1px;
    background: rgba(166, 108, 39, .58);
}

body.bottoni-catalog-product .bottoni-product-purchase-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-top: 2px solid rgba(166, 108, 39, .58);
    box-shadow: 0 16px 40px rgba(65, 42, 23, .055);
}

body.bottoni-catalog-product .bottoni-product-purchase-panel::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -104px;
    right: -104px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(166, 108, 39, .1) 0 1px, transparent 1px 15px);
    opacity: .44;
    pointer-events: none;
}

body.bottoni-catalog-product .bottoni-product-facts {
    counter-reset: bottoni-product-fact;
    gap: 0;
}

body.bottoni-catalog-product .bottoni-product-facts div {
    position: relative;
    counter-increment: bottoni-product-fact;
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 13px 34px 13px 0;
}

body.bottoni-catalog-product .bottoni-product-facts div::after {
    content: counter(bottoni-product-fact, decimal-leading-zero);
    position: absolute;
    top: 13px;
    right: 0;
    color: rgba(166, 108, 39, .38);
    font-family: var(--bottoni-serif);
    font-size: 12px;
    line-height: 1;
}

body.bottoni-catalog-product .bottoni-single-product-details {
    overflow: hidden;
    margin-top: 46px;
    padding: 38px 42px;
    border-right: 0;
    border-left: 0;
    background:
        linear-gradient(90deg, rgba(166, 108, 39, .42) 0 38.2%, rgba(127, 31, 50, .3) 38.2% 43%, transparent 43%) top / 100% 1px no-repeat,
        linear-gradient(135deg, rgba(255, 250, 242, .64), rgba(244, 234, 220, .34));
    box-shadow: none;
}

body.bottoni-catalog-product .bottoni-single-product-information {
    grid-template-columns: minmax(0, 1.618fr) minmax(280px, 1fr);
    gap: 50px;
}

body.bottoni-catalog-product .bottoni-single-product-information--single {
    grid-template-columns: minmax(0, 820px);
}

body.bottoni-catalog-product .bottoni-product-information-section {
    position: relative;
}

body.bottoni-catalog-product .bottoni-product-information-section > .bottoni-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.bottoni-catalog-product .bottoni-product-information-section > .bottoni-eyebrow::before {
    content: "";
    width: 26px;
    height: 1px;
    background: rgba(166, 108, 39, .64);
}

body.bottoni-catalog-product .bottoni-single-related {
    position: relative;
    margin-top: 58px;
    padding-top: 38px;
}

body.bottoni-catalog-product .bottoni-single-related::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 38.2%;
    height: 7px;
    background: repeating-linear-gradient(90deg, rgba(166, 108, 39, .34) 0 1px, transparent 1px 17px);
    pointer-events: none;
}

body.bottoni-catalog-product .bottoni-single-related-header {
    display: grid;
    grid-template-columns: minmax(0, 1.618fr) minmax(180px, 1fr);
    align-items: end;
}

body.bottoni-catalog-product .bottoni-single-related-header > a {
    justify-self: end;
}

body.bottoni-catalog-product .bottoni-single-related ul.products {
    counter-reset: bottoni-related-card;
}

body.bottoni-catalog-product .bottoni-single-related .bottoni-product-card {
    position: relative;
    overflow: hidden;
    counter-increment: bottoni-related-card;
    background:
        linear-gradient(90deg, rgba(166, 108, 39, .48) 0 38.2%, rgba(127, 31, 50, .3) 38.2% 44%, transparent 44%) top / 100% 1px no-repeat,
        rgba(255, 250, 242, .48);
}

body.bottoni-catalog-product .bottoni-single-related .bottoni-product-card::before {
    content: counter(bottoni-related-card, decimal-leading-zero);
    position: absolute;
    z-index: 5;
    top: 24px;
    right: 24px;
    min-width: 25px;
    padding: 4px 5px;
    border: 1px solid rgba(166, 108, 39, .24);
    background: rgba(255, 250, 242, .78);
    color: rgba(116, 75, 31, .72);
    font-family: var(--bottoni-serif);
    font-size: 11px;
    line-height: 1;
    text-align: center;
    pointer-events: none;
}

body.bottoni-catalog-product .bottoni-single-related .bottoni-product-category {
    position: relative;
    padding-left: 15px;
}

body.bottoni-catalog-product .bottoni-single-related .bottoni-product-category::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 9px;
    width: 8px;
    height: 1px;
    background: var(--bottoni-discovery);
}

@media (max-width: 1180px) {
    body.bottoni-catalog-product .bottoni-single-product-shell {
        grid-template-columns: 1fr;
    }

    body.bottoni-catalog-product .bottoni-product-sidebar {
        position: relative;
        top: auto;
        max-height: none;
        overflow: visible;
        scrollbar-gutter: auto;
    }

    body.bottoni-catalog-product .bottoni-single-product-layout {
        grid-template-columns: minmax(360px, 1.3fr) minmax(340px, 1fr);
        gap: 30px;
    }
}

@media (max-width: 980px) {
    body.bottoni-catalog-product .bottoni-single-product-layout,
    body.bottoni-catalog-product .bottoni-single-product-information,
    body.bottoni-catalog-product .bottoni-single-related-header {
        grid-template-columns: 1fr;
    }

    body.bottoni-catalog-product .bottoni-single-related-header > a {
        justify-self: start;
    }

    body.bottoni-catalog-product .bottoni-product-sidebar::before {
        display: none;
    }
}

@media (max-width: 720px) {
    body.bottoni-catalog-product .bottoni-product-breadcrumbs {
        margin-bottom: 24px;
    }

    body.bottoni-catalog-product .bottoni-single-product-media,
    body.bottoni-catalog-product .bottoni-single-product-summary {
        padding-top: 12px;
    }

    body.bottoni-catalog-product .bottoni-single-product-details {
        margin-top: 34px;
        padding: 28px 18px;
    }

    body.bottoni-catalog-product .bottoni-product-facts div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    body.bottoni-catalog-product .bottoni-single-related {
        margin-top: 42px;
        padding-top: 30px;
    }

body.bottoni-catalog-product .bottoni-single-related .bottoni-product-card::before {
        top: 20px;
        right: 20px;
    }
}

/* Editorial and service pages 2.6.8 */
.bottoni-standard-page-entry {
    position: relative;
    width: min(1180px, 100%);
    max-width: none;
    overflow: hidden;
    padding: 62px 0 92px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.bottoni-standard-page-entry::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 14px;
    right: -120px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(166, 108, 39, .08) 0 1px, transparent 1px 19px);
    pointer-events: none;
}

.bottoni-standard-page-head {
    display: grid;
    grid-template-columns: minmax(180px, .618fr) minmax(0, 1.618fr);
    align-items: end;
    gap: 44px;
    margin-bottom: 52px;
    padding: 22px 0 38px;
    border-top: 1px solid rgba(166, 108, 39, .34);
    border-bottom: 1px solid rgba(166, 108, 39, .2);
}

.bottoni-standard-page-head .bottoni-eyebrow {
    margin: 0;
    color: var(--bottoni-gold-deep);
    letter-spacing: 0;
}

.bottoni-standard-page-head h1 {
    margin: 0;
    font-size: 68px;
    line-height: .96;
}

.bottoni-standard-page-body {
    width: min(820px, 69%);
    margin-left: 26.4%;
    color: var(--bottoni-ink-soft);
    font: 500 18px/1.72 var(--bottoni-sans);
}

.bottoni-standard-page-body > :first-child {
    margin-top: 0;
}

.bottoni-standard-page-body h2,
.bottoni-standard-page-body h3 {
    color: var(--bottoni-ink);
    font-family: var(--bottoni-serif);
    font-weight: 600;
    letter-spacing: 0;
}

.bottoni-standard-page-body h2 {
    margin: 48px 0 18px;
    font-size: 38px;
    line-height: 1.06;
}

.bottoni-standard-page-body h3 {
    margin: 34px 0 14px;
    font-size: 27px;
    line-height: 1.12;
}

.bottoni-standard-page-body a {
    color: var(--bottoni-wine);
    text-decoration-color: rgba(127, 31, 50, .34);
    text-underline-offset: 4px;
}

.bottoni-standard-page-body blockquote {
    margin: 38px 0;
    padding: 24px 0 24px 30px;
    border-left: 2px solid rgba(166, 108, 39, .62);
    color: var(--bottoni-ink);
    font: 600 25px/1.42 var(--bottoni-serif);
}

.bottoni-service-main {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(rgba(166, 108, 39, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(166, 108, 39, .035) 1px, transparent 1px),
        linear-gradient(135deg, #fff8ed, #f1dfc7);
    background-size: 64px 64px, 64px 64px, auto;
}

.bottoni-service-shell {
    width: min(1500px, calc(100% - 56px));
    margin: 0 auto;
}

.bottoni-not-found {
    position: relative;
    min-height: 690px;
    display: grid;
    grid-template-columns: minmax(0, 1.618fr) minmax(360px, 1fr);
    align-items: center;
    gap: 64px;
    padding: 70px 0 92px;
}

.bottoni-not-found::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 61.8%;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(127, 31, 50, .1) 0 1px, transparent 1px 22px);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.bottoni-not-found-code {
    position: relative;
    z-index: 1;
    color: rgba(127, 31, 50, .12);
    font: 600 190px/.76 var(--bottoni-serif);
    letter-spacing: 0;
}

.bottoni-not-found-code::before {
    content: "ERR / 04";
    position: absolute;
    top: -42px;
    left: 5px;
    color: var(--bottoni-gold-deep);
    font: 800 11px/1 var(--bottoni-sans);
}

.bottoni-not-found-copy {
    position: relative;
    z-index: 2;
    padding: 38px 0 38px 38px;
    border-left: 1px solid rgba(166, 108, 39, .42);
}

.bottoni-not-found-copy .bottoni-eyebrow {
    margin: 0 0 17px;
    letter-spacing: 0;
}

.bottoni-not-found-copy h1 {
    margin: 0;
    font-size: 58px;
    font-weight: 600;
    line-height: .98;
}

.bottoni-not-found-copy > p:not(.bottoni-eyebrow) {
    margin: 24px 0 0;
    color: var(--bottoni-muted);
    font: 600 18px/1.58 var(--bottoni-sans);
}

.bottoni-service-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 22px;
    margin-top: 30px;
}

.bottoni-service-actions a {
    color: var(--bottoni-wine);
    font: 800 12px/1 var(--bottoni-sans);
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
}

.bottoni-service-actions .bottoni-service-primary {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    gap: 28px;
    padding: 0 22px;
    background: var(--bottoni-wine);
    color: #fff;
}

.bottoni-service-actions .bottoni-service-primary span {
    transition: transform .18s ease;
}

.bottoni-service-actions .bottoni-service-primary:hover span,
.bottoni-service-actions .bottoni-service-primary:focus-visible span {
    transform: translateX(4px);
}

.bottoni-search-shell {
    padding: 68px 0 96px;
}

.bottoni-search-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.618fr) minmax(360px, 1fr);
    align-items: end;
    gap: 54px;
    margin-bottom: 50px;
    padding: 24px 0 38px;
    border-top: 1px solid rgba(166, 108, 39, .4);
    border-bottom: 1px solid rgba(166, 108, 39, .22);
}

.bottoni-search-head .bottoni-eyebrow {
    margin: 0 0 16px;
    letter-spacing: 0;
}

.bottoni-search-head h1 {
    max-width: 880px;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 62px;
    font-weight: 600;
    line-height: .98;
}

.bottoni-search-form label {
    display: block;
    margin-bottom: 9px;
    color: var(--bottoni-gold-deep);
    font: 800 11px/1.2 var(--bottoni-sans);
    letter-spacing: 0;
    text-transform: uppercase;
}

.bottoni-search-form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.bottoni-search-form input {
    width: 100%;
    min-width: 0;
    height: 54px;
    padding: 0 16px;
    border: 1px solid rgba(166, 108, 39, .38);
    border-right: 0;
    border-radius: 0;
    background: rgba(255, 250, 242, .82);
    color: var(--bottoni-ink);
    font: 600 14px var(--bottoni-sans);
}

.bottoni-search-form button {
    min-width: 104px;
    height: 54px;
    padding: 0 20px;
    border: 1px solid var(--bottoni-wine);
    border-radius: 0;
    background: var(--bottoni-wine);
    color: #fff;
    font: 800 12px var(--bottoni-sans);
    text-transform: uppercase;
    cursor: pointer;
}

.bottoni-search-register {
    counter-reset: bottoni-search-result;
    border-top: 1px solid rgba(166, 108, 39, .26);
}

.bottoni-search-result {
    position: relative;
    counter-increment: bottoni-search-result;
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr) 62px;
    align-items: center;
    gap: 28px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(166, 108, 39, .22);
}

.bottoni-search-result::before {
    content: counter(bottoni-search-result, decimal-leading-zero);
    position: absolute;
    top: 20px;
    left: 150px;
    color: rgba(166, 108, 39, .5);
    font: 600 11px/1 var(--bottoni-serif);
}

.bottoni-search-result-media {
    width: 138px;
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(166, 108, 39, .2);
    background: rgba(255, 250, 242, .54);
    color: rgba(166, 108, 39, .35);
    font: 600 58px/1 var(--bottoni-serif);
    text-decoration: none;
}

.bottoni-search-result-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.bottoni-search-result-copy {
    padding: 14px 0 0;
}

.bottoni-search-result-type {
    margin: 0 0 7px;
    color: var(--bottoni-gold-deep);
    font: 800 10px/1 var(--bottoni-sans);
    letter-spacing: 0;
    text-transform: uppercase;
}

.bottoni-search-result-copy h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.02;
}

.bottoni-search-result-copy h2 a {
    color: var(--bottoni-ink);
    text-decoration: none;
}

.bottoni-search-result-copy > p:last-child {
    max-width: 780px;
    margin: 10px 0 0;
    color: var(--bottoni-muted);
    font: 500 14px/1.5 var(--bottoni-sans);
}

.bottoni-search-result-link {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    justify-self: end;
    border: 1px solid rgba(166, 108, 39, .36);
    color: var(--bottoni-wine);
    font: 400 22px/1 var(--bottoni-sans);
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.bottoni-search-result:hover .bottoni-search-result-link,
.bottoni-search-result-link:focus-visible {
    border-color: var(--bottoni-wine);
    background: var(--bottoni-wine);
    color: #fff;
}

.bottoni-search-main .navigation.pagination {
    margin-top: 42px;
}

.bottoni-search-empty {
    position: relative;
    width: min(820px, 100%);
    padding: 46px 0 46px 176px;
    border-top: 1px solid rgba(166, 108, 39, .34);
    border-bottom: 1px solid rgba(166, 108, 39, .22);
}

.bottoni-search-empty > span {
    position: absolute;
    top: 40px;
    left: 0;
    color: rgba(127, 31, 50, .12);
    font: 600 104px/.8 var(--bottoni-serif);
}

.bottoni-search-empty h2 {
    margin: 0;
    font-size: 42px;
}

.bottoni-search-empty p {
    margin: 16px 0 22px;
    color: var(--bottoni-muted);
    font: 500 16px/1.55 var(--bottoni-sans);
}

.bottoni-search-empty a {
    color: var(--bottoni-wine);
    font: 800 12px/1 var(--bottoni-sans);
    text-decoration: none;
    text-transform: uppercase;
}

body.woocommerce-order-received .bottoni-order-received-entry {
    width: 100%;
    max-width: none;
    padding: 54px 0 86px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.woocommerce-order-received .woocommerce-order {
    width: min(1080px, 100%);
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin: 0 0 34px;
    padding: 24px 28px;
    border-left: 2px solid #4f8c62;
    background: rgba(255, 250, 242, .68);
    color: var(--bottoni-ink);
    font: 600 21px/1.45 var(--bottoni-serif);
}

body.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 46px;
    padding: 0;
    border-top: 1px solid rgba(166, 108, 39, .38);
    border-bottom: 1px solid rgba(166, 108, 39, .24);
    list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    min-width: 0;
    margin: 0;
    padding: 20px 18px;
    border-right: 1px solid rgba(166, 108, 39, .18);
    color: var(--bottoni-muted);
    font: 800 10px/1.35 var(--bottoni-sans);
    text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child {
    border-right: 0;
}

body.woocommerce-order-received .woocommerce-order-overview strong {
    display: block;
    margin-top: 8px;
    overflow-wrap: anywhere;
    color: var(--bottoni-ink);
    font: 700 17px/1.3 var(--bottoni-serif);
    text-transform: none;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 42px;
}

body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2 {
    margin: 0 0 20px;
    font-size: 34px;
    font-weight: 600;
}

body.woocommerce-order-received table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid rgba(166, 108, 39, .48);
    color: var(--bottoni-ink);
    font-family: var(--bottoni-sans);
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
    padding: 16px 12px;
    border-bottom: 1px solid rgba(166, 108, 39, .2);
    text-align: left;
}

body.woocommerce-order-received table.shop_table th {
    color: var(--bottoni-gold-deep);
    font-size: 11px;
    text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-customer-details address {
    padding: 24px 28px;
    border: 1px solid rgba(166, 108, 39, .25);
    background: rgba(255, 250, 242, .56);
    font: 500 15px/1.65 var(--bottoni-sans);
}

@media (max-width: 980px) {
    .bottoni-standard-page-head,
    .bottoni-search-head,
    .bottoni-not-found {
        grid-template-columns: 1fr;
    }

    .bottoni-standard-page-body {
        width: min(820px, 100%);
        margin-left: 0;
    }

    .bottoni-not-found {
        gap: 34px;
    }

    .bottoni-not-found::after {
        left: auto;
        right: -220px;
        transform: translateY(-50%);
    }

    .bottoni-not-found-code {
        font-size: 142px;
    }

    .bottoni-not-found-copy {
        max-width: 680px;
    }

    .bottoni-search-head {
        align-items: start;
        gap: 30px;
    }

    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .bottoni-standard-page-entry {
        padding: 38px 0 58px;
    }

    .bottoni-standard-page-head {
        gap: 16px;
        margin-bottom: 34px;
        padding: 18px 0 28px;
    }

    .bottoni-standard-page-head h1,
    .bottoni-search-head h1 {
        font-size: 44px;
    }

    .bottoni-standard-page-body {
        font-size: 16px;
    }

    .bottoni-standard-page-body h2 {
        font-size: 32px;
    }

    .bottoni-service-shell {
        width: calc(100% - 28px);
    }

    .bottoni-not-found {
        min-height: 620px;
        padding: 48px 0 64px;
    }

    .bottoni-not-found-code {
        font-size: 104px;
    }

    .bottoni-not-found-copy {
        padding: 28px 0 28px 20px;
    }

    .bottoni-not-found-copy h1 {
        font-size: 42px;
    }

    .bottoni-search-shell {
        padding: 42px 0 64px;
    }

    .bottoni-search-head {
        margin-bottom: 34px;
        padding: 18px 0 28px;
    }

    .bottoni-search-result {
        grid-template-columns: 90px minmax(0, 1fr) 42px;
        gap: 16px;
    }

    .bottoni-search-result::before {
        left: 101px;
    }

    .bottoni-search-result-media {
        width: 90px;
    }

    .bottoni-search-result-copy h2 {
        font-size: 23px;
    }

    .bottoni-search-result-copy > p:last-child {
        display: none;
    }

    .bottoni-search-result-link {
        width: 38px;
        height: 38px;
    }

    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }

    body.woocommerce-order-received .woocommerce-order-overview li {
        border-right: 0;
        border-bottom: 1px solid rgba(166, 108, 39, .16);
    }
}

@media (max-width: 480px) {
    .bottoni-search-form > div {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .bottoni-search-form input {
        border-right: 1px solid rgba(166, 108, 39, .38);
    }

    .bottoni-search-result {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .bottoni-search-result::before {
        display: none;
    }

    .bottoni-search-result-media {
        width: 72px;
    }

    .bottoni-search-result-link {
        display: none;
    }

    .bottoni-search-empty {
        padding: 130px 0 38px;
    }
}

/* Mobile catalog width containment 2.6.9 */
@media (max-width: 720px) {
    html,
    body.bottoni-catalog-archive,
    body.bottoni-buttons-landing,
    body.bottoni-catalog-archive .bottoni-theme-site,
    body.bottoni-buttons-landing .bottoni-theme-site {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    body.bottoni-catalog-archive *,
    body.bottoni-buttons-landing * {
        box-sizing: border-box;
    }

    body.bottoni-catalog-archive .bottoni-shop-body,
    body.bottoni-catalog-archive .bottoni-shop-body > .bottoni-theme-content,
    body.bottoni-catalog-archive .bottoni-shop-layout,
    body.bottoni-catalog-archive .bottoni-shop-sidebar,
    body.bottoni-catalog-archive .bottoni-shop-products,
    body.bottoni-catalog-archive .bottoni-shop-toolbar,
    body.bottoni-catalog-archive .bottoni-catalog-toolbar-actions,
    body.bottoni-catalog-archive [data-bottoni-catalog-results],
    body.bottoni-catalog-archive [data-bottoni-catalog-pagination],
    body.bottoni-catalog-archive .bottoni-shop-products ul.products,
    body.bottoni-catalog-archive .bottoni-shop-products ul.products li.product {
        min-width: 0;
        max-width: 100%;
    }

    body.bottoni-catalog-archive .bottoni-shop-body > .bottoni-theme-content {
        width: calc(100% - 28px);
        margin-right: auto;
        margin-left: auto;
    }

    body.bottoni-catalog-archive .bottoni-shop-layout {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    body.bottoni-catalog-archive .bottoni-shop-sidebar {
        width: 100%;
        overflow-x: clip;
        overflow-y: visible;
        scrollbar-gutter: auto;
    }

    body.bottoni-catalog-archive .bottoni-shop-categories,
    body.bottoni-catalog-archive .bottoni-category-menu-children {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    body.bottoni-catalog-archive .bottoni-category-menu-item,
    body.bottoni-catalog-archive .bottoni-category-menu-row,
    body.bottoni-catalog-archive .bottoni-category-menu-row > a,
    body.bottoni-catalog-archive .bottoni-category-menu-children-wrap {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    body.bottoni-catalog-archive .bottoni-category-menu-row {
        grid-template-columns: minmax(0, 1fr) 26px;
    }

    body.bottoni-catalog-archive .bottoni-shop-toolbar,
    body.bottoni-catalog-archive .bottoni-catalog-toolbar-actions {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        justify-items: stretch;
    }

    body.bottoni-catalog-archive .bottoni-catalog-control,
    body.bottoni-catalog-archive .bottoni-catalog-control--view,
    body.bottoni-catalog-archive .bottoni-catalog-per-page-label,
    body.bottoni-catalog-archive .bottoni-catalog-ordering-control,
    body.bottoni-catalog-archive .bottoni-catalog-ordering-control .woocommerce-ordering {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        grid-column: auto;
    }

    body.bottoni-catalog-archive .bottoni-catalog-view-switcher {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.bottoni-catalog-archive .bottoni-catalog-view-switcher button {
        width: auto;
        min-width: 0;
        border-left: 1px solid rgba(183, 121, 37, .18);
    }

    body.bottoni-catalog-archive .bottoni-catalog-view-switcher button:first-child {
        border-left: 0;
    }

    body.bottoni-catalog-archive .bottoni-catalog-per-page-label select,
    body.bottoni-catalog-archive .bottoni-catalog-ordering-control .woocommerce-ordering select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    body.bottoni-catalog-archive .bottoni-product-card,
    body.bottoni-catalog-archive .bottoni-product-card-link,
    body.bottoni-catalog-archive .bottoni-product-image,
    body.bottoni-catalog-archive .bottoni-product-meta,
    body.bottoni-catalog-archive .bottoni-catalog-purchase {
        min-width: 0;
        max-width: 100%;
    }

    body.bottoni-catalog-archive .bottoni-shop-products.is-list .bottoni-product-card-link {
        width: 100%;
        grid-template-columns: minmax(92px, .382fr) minmax(0, .618fr);
    }

    body.bottoni-catalog-archive .bottoni-shop-products.is-list .bottoni-product-image {
        width: 100%;
    }

    body.bottoni-buttons-landing .bottoni-buttons-page,
    body.bottoni-buttons-landing .bottoni-buttons-hero,
    body.bottoni-buttons-landing .bottoni-buttons-categories,
    body.bottoni-buttons-landing .bottoni-buttons-benefits,
    body.bottoni-buttons-landing .bottoni-buttons-editorial,
    body.bottoni-buttons-landing .bottoni-buttons-container,
    body.bottoni-buttons-landing .bottoni-buttons-hero-inner,
    body.bottoni-buttons-landing .bottoni-buttons-category-grid,
    body.bottoni-buttons-landing .bottoni-buttons-benefit-grid {
        min-width: 0;
        max-width: 100%;
    }

    body.bottoni-buttons-landing .bottoni-buttons-container,
    body.bottoni-buttons-landing .bottoni-buttons-hero-inner {
        width: calc(100% - 28px);
    }
}

/* Checkout workspace and admin bar 2.7.0 */
body.woocommerce-checkout .bottoni-commerce-entry-content {
    width: min(1500px, calc(100% - 56px));
    padding-top: clamp(34px, 4vw, 64px);
    padding-bottom: clamp(64px, 7vw, 104px);
}

body.woocommerce-checkout .bottoni-checkout-entry,
body.woocommerce-checkout .bottoni-checkout-entry > .wp-block-woocommerce-checkout,
body.woocommerce-checkout .bottoni-checkout-entry .wc-block-checkout {
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.woocommerce-checkout .bottoni-commerce-page-head {
    margin-bottom: clamp(32px, 4vw, 54px);
}

body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout {
    display: block !important;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.618fr) minmax(390px, 1fr) !important;
    align-items: start;
    gap: clamp(28px, 3vw, 48px) !important;
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    width: auto !important;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout .wc-block-checkout__main {
    padding: clamp(28px, 2.6vw, 42px) !important;
    border: 1px solid rgba(166, 108, 39, .2);
    border-top: 2px solid rgba(166, 108, 39, .62);
    background: rgba(255, 250, 242, .56);
    box-shadow: 0 22px 58px rgba(65, 42, 23, .06);
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
    position: sticky;
    top: 24px;
    max-height: calc(100vh - 48px);
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(26px, 2.4vw, 36px) !important;
    border: 1px solid rgba(127, 31, 50, .18);
    border-top: 2px solid var(--bottoni-wine);
    background: rgba(255, 250, 242, .82);
    box-shadow: 0 24px 64px rgba(65, 42, 23, .09);
    scrollbar-gutter: stable;
}

body.admin-bar.woocommerce-checkout .wc-block-checkout__sidebar {
    top: 56px;
    max-height: calc(100vh - 80px);
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-step__title {
    font-size: clamp(25px, 1.9vw, 31px);
}

body.woocommerce-checkout .wc-block-components-order-summary {
    margin-top: 10px;
    border-top: 1px solid rgba(166, 108, 39, .24);
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 18px 0;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    width: 68px;
    min-width: 68px;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    min-width: 0;
    padding: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description > p,
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    overflow-wrap: anywhere;
    font-size: 13px;
    line-height: 1.42;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    min-width: 72px;
    color: var(--bottoni-ink);
    font-weight: 800;
    text-align: right;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    border: 0;
    background: var(--bottoni-ink);
    color: var(--bottoni-white);
    font: 800 10px/20px var(--bottoni-sans);
}

body.woocommerce-checkout .wc-block-components-totals-wrapper {
    padding: 16px 0;
    border-color: rgba(166, 108, 39, .2);
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
    padding-top: 20px;
    border-top: 1px solid rgba(127, 31, 50, .24);
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    box-shadow: 0 14px 30px rgba(127, 31, 50, .18);
}

#wpadminbar {
    position: fixed !important;
    top: 0 !important;
    border-bottom: 1px solid rgba(221, 186, 117, .24);
    background: linear-gradient(90deg, #171214 0%, #24171a 58%, #35151d 100%) !important;
    box-shadow: 0 5px 18px rgba(23, 18, 20, .16);
    font-family: var(--bottoni-sans);
}

#wpadminbar .ab-top-menu > li > .ab-item,
#wpadminbar .ab-top-secondary > li > .ab-item,
#wpadminbar #wp-admin-bar-site-name > .ab-item {
    color: rgba(255, 250, 242, .82);
    font-family: var(--bottoni-sans);
    font-weight: 600;
}

#wpadminbar .ab-top-menu > li:hover > .ab-item,
#wpadminbar .ab-top-menu > li.hover > .ab-item,
#wpadminbar .ab-top-menu > li > .ab-item:focus,
#wpadminbar .ab-top-secondary > li:hover > .ab-item {
    background: rgba(127, 31, 50, .72);
    color: #fffaf2;
}

#wpadminbar .menupop .ab-sub-wrapper,
#wpadminbar .shortlink-input {
    border-top: 1px solid rgba(221, 186, 117, .2);
    background: #21181a;
    box-shadow: 0 14px 34px rgba(23, 18, 20, .24);
}

#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
    background: #2a1d20;
}

#wpadminbar .ab-submenu .ab-item {
    color: rgba(255, 250, 242, .76);
}

#wpadminbar .ab-submenu .ab-item:hover,
#wpadminbar .ab-submenu .ab-item:focus {
    color: var(--bottoni-gold-soft);
}

@media (max-width: 1100px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
        grid-template-columns: minmax(0, 1.382fr) minmax(340px, 1fr) !important;
        gap: 26px !important;
    }
}

@media (max-width: 860px) {
    body.woocommerce-checkout .bottoni-commerce-entry-content {
        width: min(760px, calc(100% - 32px));
        padding-top: 28px;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
        display: block !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar {
        position: relative;
        top: auto;
        max-height: none;
        margin-top: 26px !important;
        overflow: visible;
        scrollbar-gutter: auto;
    }

    body.admin-bar.woocommerce-checkout .wc-block-checkout__sidebar {
        top: auto;
        max-height: none;
    }

    body.admin-bar .bottoni-theme-header {
        top: 32px;
    }
}

@media (max-width: 782px) {
    body.admin-bar .bottoni-theme-header {
        top: 46px;
    }
}

@media (max-width: 560px) {
    body.woocommerce-checkout .bottoni-commerce-entry-content {
        width: calc(100% - 24px);
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        padding: 22px 18px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 12px;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__image {
        width: 56px;
        min-width: 56px;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
        grid-column: 2;
        min-width: 0;
        text-align: left;
    }
}

/* Snaps direction landing 2.8.0 */
.bottoni-snaps-page .bottoni-buttons-hero { min-height: clamp(620px, 44vw, 740px); }
.bottoni-snaps-page .bottoni-buttons-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(248,239,228,.7), rgba(248,239,228,.15) 49%, transparent 65%); }
.bottoni-snaps-page .bottoni-buttons-hero-image { object-position: center; }
.bottoni-snaps-page .bottoni-buttons-hero-copy { width: min(560px, 48%); }
.bottoni-snaps-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.bottoni-snaps-actions .bottoni-buttons-hero-cta { margin: 0; }
.bottoni-snaps-text-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: inherit; font: 600 13px var(--bottoni-sans); text-underline-offset: 6px; }
.bottoni-snaps-intro { margin: -16px auto 36px; text-align: center; color: #756658; font: 14px/1.6 var(--bottoni-sans); }
.bottoni-snaps-page #snap-categories { scroll-margin-top: 110px; }
.bottoni-snaps-page .bottoni-buttons-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bottoni-snaps-page .bottoni-buttons-category-card { grid-template-rows: auto 210px auto 1fr auto; gap: 16px; padding: 24px; }
.bottoni-snaps-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #85715b; font: 10px/1.4 var(--bottoni-sans); }
.bottoni-snaps-page .bottoni-buttons-category-index { position: static; }
.bottoni-snaps-page .bottoni-buttons-category-image { width: 100%; height: 210px; }
.bottoni-snaps-page .bottoni-buttons-category-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.bottoni-snaps-page .bottoni-buttons-category-card strong { font-size: 17px; min-height: 0; text-align: left; }
.bottoni-snaps-page .bottoni-buttons-category-card p { margin: 0; color: #716457; font: 13px/1.7 var(--bottoni-sans); }
.bottoni-snaps-card-footer { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #ded0bf; padding-top: 18px; color: #7f1f32; font: 600 11px/1.5 var(--bottoni-sans); }
.bottoni-snaps-symbol { width: 160px; height: 160px; fill: none; stroke: #aa8550; stroke-width: 2; }
.bottoni-snaps-page a:focus-visible { outline: 3px solid #b77925; outline-offset: 5px; }
@media (max-width: 1100px) {
    .bottoni-snaps-page .bottoni-buttons-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .bottoni-snaps-page .bottoni-buttons-hero { min-height: 700px; }
    .bottoni-snaps-page .bottoni-buttons-hero-image { object-position: center bottom; }
    .bottoni-snaps-page .bottoni-buttons-hero::after { background: linear-gradient(180deg, rgba(248,239,228,.94), rgba(248,239,228,.8) 47%, transparent 77%); }
    .bottoni-snaps-page .bottoni-buttons-hero-inner { padding-bottom: 280px; }
    .bottoni-snaps-page .bottoni-buttons-hero-copy { width: min(100%, 510px); align-self: start; padding-top: 28px; }
    .bottoni-snaps-page .bottoni-buttons-hero-copy > p { font-size: 15px; margin-top: 18px; }
}
@media (max-width: 520px) {
    .bottoni-snaps-page .bottoni-buttons-category-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .bottoni-snaps-page .bottoni-buttons-category-card { grid-template-rows: auto 180px auto 1fr auto; padding: 22px; }
    .bottoni-snaps-page .bottoni-buttons-category-image { height: 180px; }
    .bottoni-snaps-page .bottoni-buttons-categories h2 { flex-shrink: 1; font-size: 22px; }
    .bottoni-snaps-page .bottoni-buttons-kicker { flex-wrap: wrap; font-size: 10px; gap: 8px; }
}

/* Snaps category art and editorial rhythm 2.8.1 */
.bottoni-snaps-page .bottoni-buttons-categories { padding-block: clamp(48px, 4.5vw, 72px) clamp(54px, 5vw, 80px); }
.bottoni-snaps-page .bottoni-buttons-category-card { grid-template-rows: auto auto auto 1fr auto; padding: 0 24px 22px; gap: 0; background: #faf5ee; border-color: #e0d3c3; box-shadow: none; }
.bottoni-snaps-page .bottoni-buttons-category-card::before,
.bottoni-snaps-page .bottoni-buttons-category-card::after { display: none; }
.bottoni-snaps-page .bottoni-snaps-card-top { position: relative; z-index: 1; min-height: 50px; padding-top: 4px; font-size: 10px; letter-spacing: .025em; }
.bottoni-snaps-page .bottoni-buttons-category-image { display: block; width: calc(100% + 48px); max-width: none; height: auto; aspect-ratio: 1; margin: 0 -24px 24px; overflow: hidden; background: #f5ede2; }
.bottoni-snaps-page .bottoni-buttons-category-image img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; mix-blend-mode: normal; transform: none; transition: transform .4s ease; }
.bottoni-snaps-page .bottoni-buttons-category-card:hover .bottoni-buttons-category-image img { transform: scale(1.035); }
.bottoni-snaps-page .bottoni-buttons-category-card strong { display: block; margin-bottom: 13px; font-size: clamp(15px, 1.2vw, 19px); line-height: 1.3; text-align: left; letter-spacing: -.02em; }
.bottoni-snaps-page .bottoni-buttons-category-card p { padding-bottom: 23px; font-size: 12px; line-height: 1.75; text-align: left; }
.bottoni-snaps-page .bottoni-snaps-card-footer { min-height: 20px; align-items: center; font-size: 11px; }
.bottoni-snaps-page .bottoni-buttons-category-card:hover { transform: translateY(-3px); border-color: #bd9565; box-shadow: 0 14px 34px rgba(68,43,28,.07); }
@media (max-width: 760px) {
    .bottoni-snaps-page .bottoni-buttons-category-card { padding-inline: 18px; }
    .bottoni-snaps-page .bottoni-buttons-category-image { width: calc(100% + 36px); margin-inline: -18px; }
    .bottoni-snaps-page .bottoni-buttons-category-card strong { font-size: 18px; }
    .bottoni-snaps-page .bottoni-buttons-category-card p { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .bottoni-snaps-page .bottoni-buttons-category-card,
    .bottoni-snaps-page .bottoni-buttons-category-image img { transition: none; }
    .bottoni-snaps-page .bottoni-buttons-category-card:hover,
    .bottoni-snaps-page .bottoni-buttons-category-card:hover .bottoni-buttons-category-image img { transform: none; }
}

/* Snaps alignment with direction pages 2.8.2 */
.bottoni-snaps-page .bottoni-buttons-category-card { background: rgba(255,250,242,.46); }
.bottoni-snaps-page .bottoni-buttons-category-card::before { display: block; }
.bottoni-snaps-page .bottoni-snaps-card-top { flex-direction: row-reverse; color: var(--bottoni-muted); }
.bottoni-snaps-page .bottoni-buttons-category-card strong { justify-self: stretch; max-width: none; font-size: 16px; text-align: center; letter-spacing: normal; }
.bottoni-snaps-page .bottoni-buttons-category-card p { font-size: 13px; text-align: center; line-height: 1.65; }
.bottoni-snaps-page .bottoni-snaps-card-footer { color: var(--bottoni-gold-deep); }
.bottoni-snaps-card-footer svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bottoni-snaps-page .bottoni-snaps-card-footer { border-top-color: rgba(111,84,60,.16); }
@media (max-width: 520px) {
    .bottoni-snaps-page .bottoni-buttons-category-image { width: min(100%, 270px); margin: 0 auto 20px; background: transparent; }
    .bottoni-snaps-page .bottoni-buttons-category-image img { mix-blend-mode: multiply; }
    .bottoni-snaps-page .bottoni-buttons-category-card { padding-bottom: 18px; }
}

/* Compact catalog navigation, 2.10.0 */
.bottoni-categories-toggle { display:none; }
.bottoni-empty-actions { display:flex; flex-wrap:wrap; gap:16px 28px; margin-top:24px; }
.bottoni-empty-actions a { color:var(--bottoni-gold-deep); text-underline-offset:5px; }
@media(max-width:767px) {
 .bottoni-js-ready .bottoni-shop-sidebar > h2 { display:none; }
 .bottoni-js-ready .bottoni-categories-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--bottoni-ink); font:600 16px var(--bottoni-sans); text-align:left; cursor:pointer; }
 .bottoni-js-ready .bottoni-categories-toggle[aria-expanded="false"] + #bottoni-categories-panel { display:none; }
 .bottoni-catalog-archive .bottoni-shop-hero:not(.bottoni-button-category-hero):not(.bottoni-direction-catalog-hero):not(.bottoni-buttons-catalog-hero) { padding:28px 0; min-height:0; }
 .bottoni-catalog-archive .bottoni-shop-hero-copy > p { font-size:15px; line-height:1.5; }
}

.bottoni-purchase-lead { max-width:800px; font-size:20px; line-height:1.6; }
.bottoni-purchase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:32px 0; }
.bottoni-purchase-grid section { border-top:1px solid var(--bottoni-gold-soft); padding:28px 0; }
.bottoni-purchase-grid h2 { font:600 32px/1.1 var(--bottoni-serif); margin:12px 0; }
.bottoni-purchase-grid p { font-size:15px; line-height:1.7; }
.bottoni-purchase-info a,.bottoni-purchase-links a { color:var(--bottoni-gold-deep); text-underline-offset:5px; }
.bottoni-purchase-links { font:13px/1.5 var(--bottoni-sans); margin:24px 0; }
@media(max-width:600px) { .bottoni-purchase-grid { grid-template-columns:1fr; } .bottoni-purchase-lead { font-size:17px; } }
