
/* PRESIDENTSHOP ANNOUNCEMENT BAR START */

.presi-announcement {
    position: relative;
    z-index: 20;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    background: #000;
}

.presi-announcement__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 16px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.035em;
    text-align: center;
    text-shadow: 0 1px 2px rgb(0 0 0 / 55%);
}

.presi-announcement__item,
.presi-announcement__separator {
    flex: 0 0 auto;
}

.presi-announcement__separator {
    margin-inline: 0.7rem;
    color: #fff;
}

@media (max-width: 768px) {
    .presi-announcement__inner {
        flex-wrap: wrap;
        min-height: 0;
        padding: 7px 10px;
        row-gap: 3px;
        font-size: 0.6875rem;
        letter-spacing: 0.02em;
    }

    .presi-announcement__separator {
        margin-inline: 0.4rem;
    }
}

@media (max-width: 420px) {
    .presi-announcement__inner {
        font-size: 0.625rem;
    }

    .presi-announcement__separator {
        margin-inline: 0.3rem;
    }
}

/* PRESIDENTSHOP ANNOUNCEMENT BAR END */

/* PRESIDENTSHOP SOCIAL BAR START */

.presi-social-bar {
    position: relative;
    z-index: 19;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #111;
    background: #dddddd;
    border-bottom: 1px solid rgb(0 0 0 / 5%);
    box-shadow: 0 3px 10px rgb(0 0 0 / 7%);
}

.presi-social-bar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 39px;
    padding: 3px 16px;
}

.presi-social-bar__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #111;
    border-radius: 50%;
    text-decoration: none;
    transition:
        color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}

.presi-social-bar__icon {
    display: block;
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.presi-social-bar__link:hover {
    color: #fff;
    background: #111;
    transform: translateY(-1px);
}

.presi-social-bar__link:focus-visible {
    color: #fff;
    background: #111;
    outline: 2px solid #111;
    outline-offset: 2px;
}

@media (max-width: 768px) {
    .presi-social-bar__inner {
        gap: 10px;
        min-height: 37px;
        padding-inline: 12px;
    }

    .presi-social-bar__link {
        width: 31px;
        height: 31px;
    }

    .presi-social-bar__icon {
        width: 21px;
        height: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .presi-social-bar__link {
        transition: none;
    }

    .presi-social-bar__link:hover {
        transform: none;
    }
}

/* PRESIDENTSHOP SOCIAL BAR END */

/* PRESIDENTSHOP SOCIAL ICON MOBILE SIZE */

@media (max-width: 600px) {
    .presi-social-bar__icon {
        width: 19px;
        height: 19px;
    }
}

/* PRESIDENTSHOP DESKTOP MENU LINKS START */

@media (min-width: 769px) {
    .main-navigation .main-nav ul li a,
    .main-navigation .main-nav ul li:hover > a,
    .main-navigation .main-nav ul li:focus-within > a,
    .main-navigation .main-nav ul li[class*="current-menu-"] > a,
    .main-navigation .main-nav ul li[class*="current_page_"] > a {
        color: #000;
        text-shadow: 0 1px 1px rgb(0 0 0 / 14%);
    }
}

/* PRESIDENTSHOP DESKTOP MENU LINKS END */

/* PRESIDENTSHOP MOBILE DRAWER WIDTH START */

@media (max-width: 768px) {
    :root {
        --presi-mobile-drawer-width: min(74vw, 400px);
    }

    #generate-slideout-menu {
        width: var(--presi-mobile-drawer-width);
    }

    #generate-slideout-menu.offside--left {
        left: calc(0px - var(--presi-mobile-drawer-width));
    }

    #generate-slideout-menu.offside--left.is-open {
        transform: translate3d(
            var(--presi-mobile-drawer-width),
            0,
            0
        );
    }

    .offside-js--is-left .offside-sliding-element {
        transform: translate3d(
            var(--presi-mobile-drawer-width),
            0,
            0
        );
    }
}

/* PRESIDENTSHOP MOBILE DRAWER WIDTH END */

/* PRESIDENTSHOP DRAWER SEARCH START */

@media (max-width: 768px) {
    .presi-drawer-search {
        width: 100%;
        padding: 14px 14px 16px;
        border-bottom: 1px solid rgb(0 0 0 / 8%);
    }

    .presi-drawer-search__form {
        width: 100%;
        margin: 0;
    }

    .presi-drawer-search__field {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        min-width: 0;
        height: 46px;
        overflow: hidden;
        color: #111;
        background: #fff;
        border: 1px solid rgb(0 0 0 / 16%);
        border-radius: 10px;
        box-shadow:
            0 1px 2px rgb(0 0 0 / 5%),
            0 5px 16px rgb(0 0 0 / 7%);
        transition:
            border-color 160ms ease,
            box-shadow 160ms ease;
    }

    .presi-drawer-search__field:focus-within {
        border-color: #111;
        box-shadow:
            0 0 0 2px rgb(0 0 0 / 7%),
            0 6px 18px rgb(0 0 0 / 9%);
    }

    .presi-drawer-search__input {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        height: 100%;
        margin: 0;
        padding: 0 48px 0 14px;
        color: #111;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        font-family: var(--presi-font-primary);
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        outline: 0;
        appearance: none;
    }

    .presi-drawer-search__input::placeholder {
        color: #747474;
        opacity: 1;
    }

    .presi-drawer-search__input:focus {
        color: #111;
        background: transparent;
        border: 0;
        box-shadow: none;
        outline: 0;
    }

    .presi-drawer-search__submit {
        position: absolute;
        top: 50%;
        right: 5px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        margin: 0;
        padding: 0;
        color: #fff;
        background: #111;
        border: 0;
        border-radius: 8px;
        box-shadow: none;
        transform: translateY(-50%);
        cursor: pointer;
        transition:
            background-color 160ms ease,
            transform 160ms ease;
    }

    .presi-drawer-search__submit:hover,
    .presi-drawer-search__submit:focus-visible {
        color: #fff;
        background: #000;
        transform: translateY(-50%) scale(1.03);
    }

    .presi-drawer-search__submit:focus-visible {
        outline: 2px solid #fff;
        outline-offset: -4px;
    }

    .presi-drawer-search__submit svg {
        display: block;
        width: 19px;
        height: 19px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
}

@media (prefers-reduced-motion: reduce) {
    .presi-drawer-search__field,
    .presi-drawer-search__submit {
        transition: none;
    }
}

/* PRESIDENTSHOP DRAWER SEARCH END */

/* PRESIDENTSHOP DRAWER SEARCH REFINEMENTS START */

@media (max-width: 768px) {
    .presi-drawer-search {
        padding: 12px 0 14px;
    }

    .presi-drawer-search__field {
        width: 100%;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .presi-drawer-search__field:focus-within {
        border-color: rgb(0 0 0 / 16%);
        box-shadow:
            0 1px 2px rgb(0 0 0 / 5%),
            0 5px 16px rgb(0 0 0 / 7%);
    }

    .presi-drawer-search__input {
        padding-right: 44px;
    }

    .presi-drawer-search__submit {
        right: 6px;
        width: 34px;
        height: 34px;
        border-radius: 7px;
    }

    .presi-drawer-search__submit svg {
        width: 16px;
        height: 16px;
    }
}

/* PRESIDENTSHOP DRAWER SEARCH REFINEMENTS END */

/* PRESIDENTSHOP DRAWER FOCUS ANCHOR START */

.presi-drawer-focus-anchor {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.presi-drawer-focus-anchor:focus {
    outline: 0;
}

/* PRESIDENTSHOP DRAWER FOCUS ANCHOR END */

/* PRESIDENTSHOP MOBILE DRAWER NAVIGATION START */

@media (max-width: 768px) {
    /*
     * Thin separators between the main navigation items.
     */
    #generate-slideout-menu .main-nav > ul > li {
        margin: 0;
        border-bottom: 1px solid rgb(0 0 0 / 28%);
    }

    #generate-slideout-menu .main-nav > ul > li:first-child {
        border-top: 1px solid rgb(0 0 0 / 28%);
    }

    /*
     * Compact menu-item spacing.
     */
    #generate-slideout-menu .main-nav > ul > li > a {
        display: flex;
        align-items: center;
        min-height: 42px;
        padding: 8px 16px;
        font-size: 1.0625rem;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: 0.005em;
    }

    /*
     * Keep submenu arrows vertically aligned.
     */
    #generate-slideout-menu .dropdown-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        padding: 0 0 0 12px;
    }
}

/* PRESIDENTSHOP MOBILE DRAWER NAVIGATION END */

/* PRESIDENTSHOP FULL WIDTH MOBILE DRAWER START */

@media (max-width: 768px) {
    /*
     * Remove GeneratePress' default inner spacing so the search
     * and navigation separators reach both drawer edges.
     */
    #generate-slideout-menu .inside-navigation {
        width: 100%;
        max-width: none;
        margin: 0;
        padding-right: 0;
        padding-left: 0;
    }

    #generate-slideout-menu .main-nav,
    #generate-slideout-menu .main-nav > ul,
    #generate-slideout-menu .presi-drawer-search {
        width: 100%;
        max-width: none;
        margin-right: 0;
        margin-left: 0;
        box-sizing: border-box;
    }

    #generate-slideout-menu .main-nav > ul {
        padding-right: 0;
        padding-left: 0;
    }

    /*
     * The close button keeps its own safe spacing.
     */
    #generate-slideout-menu .slideout-exit {
        margin-right: 10px;
        margin-left: auto;
    }
}

/* PRESIDENTSHOP FULL WIDTH MOBILE DRAWER END */

/* PRESIDENTSHOP MOBILE MENU SEPARATOR SHADOW */

@media (max-width: 768px) {
    #generate-slideout-menu .main-nav > ul > li {
        box-shadow: 0 1px 3px rgb(0 0 0 / 10%);
    }
}

/* PRESIDENTSHOP MOBILE DRAWER FOOTER START */

@media (max-width: 768px) {
    #generate-slideout-menu {
        height: 100dvh;
    }

    #generate-slideout-menu .inside-navigation {
        display: flex;
        flex-direction: column;
        min-height: 100%;
    }

    #generate-slideout-menu .main-nav {
        flex: 0 0 auto;
    }

    .presi-drawer-footer {
        position: sticky;
        bottom: 0;
        z-index: 3;
        width: 100%;
        margin-top: auto;
        padding: 14px 16px 12px;
        color: #111;
        text-align: center;
        background: #f4f4f4;
        border-top: 1px solid rgb(0 0 0 / 18%);
        box-shadow: 0 -4px 14px rgb(0 0 0 / 8%);
    }

    .presi-drawer-footer__support {
        margin: 0 0 10px;
    }

    .presi-drawer-footer__title {
        margin: 0 0 7px;
        color: #b00020;
        font-family: var(--presi-font-primary);
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.25;
        letter-spacing: 0;
        text-shadow: 0 1px 1px rgb(0 0 0 / 9%);
    }

    .presi-drawer-footer__phones {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        margin: 0;
        font-style: normal;
    }

    .presi-drawer-footer__phones a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 3px 2px;
        color: #b00020;
        font-family: var(--presi-font-primary);
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.2;
        text-decoration: none;
    }

    .presi-drawer-footer__phones a:hover {
        color: #8f001a;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .presi-drawer-footer__phones a:focus-visible {
        color: #8f001a;
        outline: 2px solid #b00020;
        outline-offset: 2px;
    }

    .presi-drawer-footer__navigation ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 2px 14px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .presi-drawer-footer__navigation li {
        margin: 0;
        padding: 0;
    }

    .presi-drawer-footer__navigation a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 30px;
        padding: 3px 1px;
        color: #111;
        font-family: var(--presi-font-primary);
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.25;
        text-align: center;
        text-decoration: none;
    }

    .presi-drawer-footer__navigation a:hover {
        color: #000;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .presi-drawer-footer__navigation a:focus-visible {
        outline: 2px solid #111;
        outline-offset: 2px;
    }
}

/* PRESIDENTSHOP MOBILE DRAWER FOOTER END */

/* PRESIDENTSHOP DRAWER FOOTER ICONS START */

@media (max-width: 768px) {
    .presi-drawer-footer__phones a,
    .presi-drawer-footer__navigation a {
        gap: 6px;
    }

    .presi-drawer-footer__phones a::before,
    .presi-drawer-footer__navigation a::before {
        content: "";
        display: inline-block;
        flex: 0 0 auto;
        width: 16px;
        height: 16px;
        background-color: currentColor;
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
        -webkit-mask-size: contain;
    }

    /* Telephone */

    .presi-drawer-footer__phones a::before {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.46 15.46 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24 11.36 11.36 0 0 0 3.57.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.57 1 1 0 0 1-.25 1.02l-2.2 2.2Z'/%3E%3C/svg%3E");
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.46 15.46 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24 11.36 11.36 0 0 0 3.57.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.57 1 1 0 0 1-.25 1.02l-2.2 2.2Z'/%3E%3C/svg%3E");
    }

    /* Parcel tracking */

    .presi-drawer-footer__navigation li:nth-child(1) a::before {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h11v11H3V4Zm12 4h3l3 4v3h-6V8ZM6.5 20a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm11 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h11v11H3V4Zm12 4h3l3 4v3h-6V8ZM6.5 20a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm11 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");
    }

    /* Product exchange */

    .presi-drawer-footer__navigation li:nth-child(2) a::before {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h10.17l-2.58-2.59L16 3l5 5-5 5-1.41-1.41L17.17 9H7V7Zm10 10H6.83l2.58 2.59L8 21l-5-5 5-5 1.41 1.41L6.83 15H17v2Z'/%3E%3C/svg%3E");
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h10.17l-2.58-2.59L16 3l5 5-5 5-1.41-1.41L17.17 9H7V7Zm10 10H6.83l2.58 2.59L8 21l-5-5 5-5 1.41 1.41L6.83 15H17v2Z'/%3E%3C/svg%3E");
    }

    /* Frequently asked questions */

    .presi-drawer-footer__navigation li:nth-child(3) a::before {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm.1 16.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5ZM14.2 11c-.84.62-1.2.94-1.2 2h-2c0-2.02.88-2.77 2-3.58.72-.53 1.15-.88 1.15-1.57 0-.92-.75-1.55-1.9-1.55-1.11 0-1.83.59-2.13 1.75L8.2 7.5c.52-2.02 2-3.2 4.13-3.2 2.33 0 3.9 1.38 3.9 3.43 0 1.63-.94 2.47-2.03 3.27Z'/%3E%3C/svg%3E");
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm.1 16.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5ZM14.2 11c-.84.62-1.2.94-1.2 2h-2c0-2.02.88-2.77 2-3.58.72-.53 1.15-.88 1.15-1.57 0-.92-.75-1.55-1.9-1.55-1.11 0-1.83.59-2.13 1.75L8.2 7.5c.52-2.02 2-3.2 4.13-3.2 2.33 0 3.9 1.38 3.9 3.43 0 1.63-.94 2.47-2.03 3.27Z'/%3E%3C/svg%3E");
    }

    .presi-drawer-footer__navigation a::before {
        width: 15px;
        height: 15px;
    }
}

/* PRESIDENTSHOP DRAWER FOOTER ICONS END */

/* Modern oval top edge for the mobile drawer footer. */
@media (max-width: 768px) {
    #generate-slideout-menu .presi-drawer-footer {
        position: sticky;
        bottom: 0;
        z-index: 2;
        width: 100%;
        padding-top: 24px;
        border-top: 0;
        border-radius: 50% 50% 0 0 / 18px 18px 0 0;
        box-shadow:
            0 -1px 0 rgb(0 0 0 / 10%),
            0 -7px 18px rgb(0 0 0 / 10%);
        overflow: hidden;
    }
}

/* Larger, easier-to-tap drawer footer links and icons. */
@media (max-width: 768px) {
    #generate-slideout-menu .presi-drawer-footer a {
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    #generate-slideout-menu .presi-drawer-footer__phone {
        min-height: 44px;
        padding: 8px 14px;
        font-size: 1.0625rem;
        line-height: 1.35;
        gap: 9px;
    }

    #generate-slideout-menu .presi-drawer-footer__phone::before {
        width: 19px;
        height: 19px;
        flex: 0 0 19px;
    }

    #generate-slideout-menu .presi-drawer-footer__navigation a {
        min-height: 46px;
        padding: 10px 16px;
        font-size: 1.0625rem;
        line-height: 1.35;
        gap: 11px;
    }

    #generate-slideout-menu .presi-drawer-footer__navigation a::before {
        width: 19px;
        height: 19px;
        flex: 0 0 19px;
    }

    #generate-slideout-menu .presi-drawer-footer__phone:focus-visible,
    #generate-slideout-menu .presi-drawer-footer__navigation a:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: -3px;
    }
}


/* PRESI DRAWER CUSTOM PNG ICONS START */
@media (max-width: 768px) {
    #generate-slideout-menu .presi-drawer-footer a::before {
        content: "";
        display: inline-block;
        width: 22px;
        height: 22px;
        min-width: 22px;
        flex: 0 0 22px;

        background-color: transparent !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;

        -webkit-mask: none !important;
        mask: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }

    /* Σταθερό τηλέφωνο */
    #generate-slideout-menu
    .presi-drawer-footer a[href^="tel:2112347993"]::before {
        background-image: url("/wp-content/uploads/2026/09/Stathero-icon-mobile-menu.png") !important;
    }

    /* Κινητό τηλέφωνο */
    #generate-slideout-menu
    .presi-drawer-footer a[href^="tel:6906532347"]::before {
        background-image: url("/wp-content/uploads/2026/09/kinito-icon-mobile-menu.png") !important;
    }

    /* Αναζήτηση Δέματος */
    #generate-slideout-menu
    .presi-drawer-footer a.presi-drawer-tracking::before {
        background-image: url("/wp-content/uploads/2026/09/anazitisidematos-icon-mobile-menu.png") !important;
    }

    /* Αλλαγή Προϊόντος */
    #generate-slideout-menu
    .presi-drawer-footer a.presi-drawer-exchange::before {
        background-image: url("/wp-content/uploads/2026/09/allages-icon-mobile-menu.png") !important;
    }

    /* Συχνές Ερωτήσεις */
    #generate-slideout-menu
    .presi-drawer-footer__navigation li:nth-child(3) a::before {
        background-image: url("/wp-content/uploads/2026/09/sixnes-erwtiseis-icon-mobile-menu.png") !important;
    }
}
/* PRESI DRAWER CUSTOM PNG ICONS END */

/* PRESI DRAWER FOOTER SEPARATORS START */
@media (max-width: 768px) {
    #generate-slideout-menu
    .presi-drawer-footer__navigation a {
        position: relative;
    }

    #generate-slideout-menu
    .presi-drawer-footer__navigation
    a.presi-drawer-tracking::after,
    #generate-slideout-menu
    .presi-drawer-footer__navigation
    a.presi-drawer-exchange::after {
        position: absolute;
        right: 16px;
        bottom: 0;
        left: 16px;

        height: 1px;
        content: "";
        pointer-events: none;

        background: rgb(0 0 0 / 32%);
        border-radius: 999px;
        box-shadow: 0 1px 2px rgb(0 0 0 / 12%);
    }
}
/* PRESI DRAWER FOOTER SEPARATORS END */

/* PRESI MOBILE MENU TOGGLE START */
@media (max-width: 768px) {
    /* Mobile menu button */
    #mobile-header .menu-toggle,
    .main-navigation .menu-toggle,
    .main-navigation .slideout-toggle > a {
        min-height: 44px;
        gap: 8px;
        align-items: center;
        justify-content: center;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    /* Hamburger icon */
    #mobile-header .menu-toggle .gp-icon svg,
    .main-navigation .menu-toggle .gp-icon svg,
    .main-navigation .slideout-toggle .gp-icon svg {
        width: 26px;
        height: 26px;
        fill: currentColor;
    }

    /* “Menu” text */
    #mobile-header .mobile-menu,
    .main-navigation .mobile-menu {
        font-family: "Commissioner", sans-serif;
        font-size: 1.0625rem;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.01em;
    }
}
/* PRESI MOBILE MENU TOGGLE END */

/* PRESI MOBILE MENU TEXT ALIGNMENT START */
@media (max-width: 768px) {
    #mobile-header .mobile-menu,
    .main-navigation .mobile-menu {
        position: relative;
        top: -4px;
    }
}
/* PRESI MOBILE MENU TEXT ALIGNMENT END */

/* PRESI CART DRAWER CSS START */

/* Hide GeneratePress' native cart item to prevent duplicate triggers. */
.main-navigation .wc-menu-item {
    display: none !important;
}

/* Header trigger */
.presi-cart-trigger {
    position: relative;
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    padding: 7px 9px;
    align-items: center;
    justify-content: center;
    gap: 7px;

    color: #090909;
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-shadow: none;

    font-family: "Commissioner", sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1;

    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.presi-cart-trigger:hover,
.presi-cart-trigger:focus {
    color: #000;
    background: rgb(0 0 0 / 5%);
}

.presi-cart-trigger:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.presi-cart-trigger__icon {
    display: inline-flex;
    width: 25px;
    height: 25px;
}


.presi-cart-trigger__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.presi-cart-count {
    position: absolute;
    top: 1px;
    right: 0;

    display: inline-flex;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    align-items: center;
    justify-content: center;

    color: #fff;
    background: #b00020;
    border: 2px solid #fff;
    border-radius: 999px;

    font-family: "Commissioner", sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1;
}

/* Page overlay */
.presi-cart-overlay {
    position: fixed;
    z-index: 999998;
    inset: 0;

    visibility: hidden;
    opacity: 0;
    background: rgb(0 0 0 / 48%);
    backdrop-filter: blur(2px);

    transition:
        opacity 220ms ease,
        visibility 220ms ease;
}

body.presi-cart-open .presi-cart-overlay {
    visibility: visible;
    opacity: 1;
}

/* Main cart drawer */
.presi-cart-drawer {
    position: fixed;
    z-index: 999999;
    top: 0;
    right: 0;

    display: flex;
    width: min(92vw, 430px);
    height: 100vh;
    height: 100dvh;
    flex-direction: column;

    visibility: hidden;
    background: #fff;
    box-shadow: -14px 0 36px rgb(0 0 0 / 18%);
    transform: translate3d(102%, 0, 0);

    transition:
        transform 280ms cubic-bezier(0.22, 0.61, 0.36, 1),
        visibility 280ms ease;
    will-change: transform;
}

body.presi-cart-open {
    overflow: hidden;
}

body.presi-cart-open .presi-cart-drawer {
    visibility: visible;
    transform: translate3d(0, 0, 0);
}

/* Drawer header */
.presi-cart-drawer__header {
    display: flex;
    min-height: 86px;
    padding: 18px 18px 16px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    background: #f3f3f3;
    border-bottom: 1px solid rgb(0 0 0 / 14%);
    box-shadow: 0 3px 12px rgb(0 0 0 / 6%);
}

.presi-cart-drawer__title {
    margin: 0;
    color: #080808;
    font-family: "Commissioner", sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
}

.presi-cart-drawer__subtitle {
    margin: 4px 0 0;
    color: #555;
    font-size: 0.8125rem;
    line-height: 1.35;
}

.presi-cart-drawer__close {
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    padding: 0;
    align-items: center;
    justify-content: center;

    color: #fff;
    background: #111;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgb(0 0 0 / 16%);

    cursor: pointer;
}

.presi-cart-drawer__close:hover {
    color: #fff;
    background: #2a2a2a;
}

.presi-cart-drawer__close:focus-visible {
    outline: 3px solid rgb(176 0 32 / 35%);
    outline-offset: 2px;
}

.presi-cart-drawer__close svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

/* Loading indicator */
.presi-cart-drawer__loading {
    position: absolute;
    z-index: 3;
    top: 86px;
    right: 0;
    left: 0;

    height: 3px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.presi-cart-drawer__loading span {
    display: block;
    width: 38%;
    height: 100%;
    background: #b00020;
    border-radius: 999px;
    transform: translateX(-120%);
}

.presi-cart-drawer.is-loading .presi-cart-drawer__loading {
    opacity: 1;
}

.presi-cart-drawer.is-loading .presi-cart-drawer__loading span {
    animation: presi-cart-loading 850ms ease-in-out infinite;
}

@keyframes presi-cart-loading {
    50% {
        transform: translateX(170%);
    }

    100% {
        transform: translateX(320%);
    }
}

/* Mini-cart content */
.presi-cart-drawer__body {
    min-height: 0;
    padding: 16px 18px 20px;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.presi-cart-drawer ul.woocommerce-mini-cart {
    margin: 0;
    padding: 0;
    list-style: none;
}

.presi-cart-drawer .woocommerce-mini-cart-item {
    position: relative;
    min-height: 86px;
    margin: 0;
    padding: 12px 34px 12px 0;

    border-bottom: 1px solid rgb(0 0 0 / 14%);
}

.presi-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    display: block;
    min-height: 64px;
    padding-left: 76px;

    color: #111;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.presi-cart-drawer .woocommerce-mini-cart-item img {
    position: absolute;
    top: 12px;
    left: 0;

    width: 64px;
    height: 64px;
    margin: 0;

    border-radius: 9px;
    object-fit: cover;
}

.presi-cart-drawer .woocommerce-mini-cart-item .quantity {
    display: block;
    margin-top: 5px;
    padding-left: 76px;

    color: #111;
    font-size: 0.8125rem;
    font-weight: 500;
}

.presi-cart-drawer .remove_from_cart_button {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 0;

    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;

    color: #8f001a !important;
    background: rgb(176 0 32 / 8%);
    border-radius: 50%;

    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
    transform: translateY(-50%);
}

.presi-cart-drawer .remove_from_cart_button:hover {
    color: #fff !important;
    background: #b00020;
}

.presi-cart-drawer .woocommerce-mini-cart__total {
    display: flex;
    margin: 18px 0 14px;
    padding: 14px 0 0;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    color: #111;
    border-top: 1px solid rgb(0 0 0 / 20%);
    font-size: 1rem;
}

.presi-cart-drawer .woocommerce-mini-cart__total strong {
    font-weight: 600;
}

.presi-cart-drawer .woocommerce-mini-cart__buttons {
    display: grid;
    margin: 0;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.presi-cart-drawer .woocommerce-mini-cart__buttons .button {
    display: inline-flex;
    min-height: 48px;
    margin: 0;
    padding: 10px 14px;
    align-items: center;
    justify-content: center;

    border: 1px solid #111;
    border-radius: 9px;

    font-family: "Commissioner", sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.presi-cart-drawer .presi-mini-cart__cart-button {
    color: #111;
    background: #fff;
}

.presi-cart-drawer .presi-mini-cart__checkout-button {
    color: #fff;
    background: #111;
}

.presi-cart-drawer .presi-mini-cart__cart-button:hover {
    color: #fff;
    background: #333;
}

.presi-cart-drawer .presi-mini-cart__checkout-button:hover {
    color: #fff;
    background: #b00020;
    border-color: #b00020;
}

.presi-cart-drawer .woocommerce-mini-cart__empty-message {
    margin: 0;
    padding: 70px 20px;

    color: #333;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 768px) {
    .presi-cart-trigger__label {
        display: none;
    }

    .presi-cart-trigger {
        padding-right: 6px;
        padding-left: 6px;
    }

    .presi-cart-drawer {
        width: min(92vw, 390px);
    }

    .presi-cart-drawer__header {
        padding-right: 14px;
        padding-left: 16px;
    }

    .presi-cart-drawer__body {
        padding-right: 16px;
        padding-left: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .presi-cart-overlay,
    .presi-cart-drawer {
        transition-duration: 1ms;
    }

    .presi-cart-drawer__loading span {
        animation: none !important;
    }
}

/* PRESI CART DRAWER CSS END */



/* PRESI DESKTOP HEADER LAYOUT START */

/*
 * Desktop header:
 * search on the left, logo exactly centered, cart on the right.
 */
@media (min-width: 769px) {
    .site-header .inside-header {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            auto
            minmax(0, 1fr);
        align-items: center;
        column-gap: 32px;
    }

    /* Left column */
    .presi-desktop-header-search {
        grid-column: 1;
        grid-row: 1;
        width: min(100%, 340px);
        justify-self: start;
        margin-left: 10px;
    }

    /* Center column */
    .site-header .inside-header > .site-logo,
    .site-header .inside-header > .site-branding {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        justify-self: center;
    }

    /* Right column */
    .presi-desktop-header-cart {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        margin-right: 10px;
    }

    /*
     * Hide only the navigation copy on desktop.
     * The header copy above remains visible.
     */
    .main-navigation .presi-cart-trigger {
        display: none;
    }

    .presi-desktop-header-cart .presi-cart-trigger {
        display: inline-flex;
    }

    /* Desktop product search */
    .presi-desktop-search {
        display: flex;
        width: 100%;
        height: 44px;
        align-items: center;

        background: #f3f3f3;
        border: 1px solid rgb(0 0 0 / 20%);
        border-radius: 10px;
        box-shadow:
            0 1px 0 rgb(255 255 255 / 75%) inset,
            0 3px 10px rgb(0 0 0 / 6%);

        overflow: hidden;
        transition:
            border-color 160ms ease,
            box-shadow 160ms ease;
    }

    .presi-desktop-search:focus-within {
        border-color: rgb(0 0 0 / 58%);
        box-shadow:
            0 0 0 3px rgb(0 0 0 / 8%),
            0 3px 10px rgb(0 0 0 / 7%);
    }

    .presi-desktop-search__input {
        width: 100%;
        min-width: 0;
        height: 100%;
        margin: 0;
        padding: 0 14px;

        color: #111;
        background: transparent;
        border: 0;
        border-radius: 0;
        outline: 0;
        box-shadow: none;

        font-family: "Commissioner", sans-serif;
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 1;
    }

    .presi-desktop-search__input::placeholder {
        color: #626262;
        opacity: 1;
    }

    .presi-desktop-search__input::-webkit-search-cancel-button {
        cursor: pointer;
    }

    .presi-desktop-search__submit {
        display: inline-flex;
        width: 36px;
        min-width: 36px;
        height: 36px;
        margin: 0 3px 0 0;
        padding: 0;
        align-items: center;
        justify-content: center;

        color: #fff;
        background: #111;
        border: 0;
        border-radius: 8px;

        cursor: pointer;
        transition:
            color 160ms ease,
            background-color 160ms ease;
    }

    .presi-desktop-search__submit:hover {
        color: #fff;
        background: #2c2c2c;
    }

    .presi-desktop-search__submit:focus-visible {
        outline: 2px solid #000;
        outline-offset: -4px;
    }

    .presi-desktop-search__submit svg {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
}

/* These desktop tools must never appear in the mobile header. */
@media (max-width: 768px) {
    .presi-desktop-header-search,
    .presi-desktop-header-cart {
        display: none;
    }
}

/* PRESI DESKTOP HEADER LAYOUT END */



/* PRESI MOBILE CART ALIGNMENT START */
@media (max-width: 768px) {
    .presi-cart-trigger {
        right: 10px;
    }
}
/* PRESI MOBILE CART ALIGNMENT END */

/* PRESI CONTEXT BAR CSS START */

.presi-context-bar {
    position: relative;
    z-index: 10;
    width: 100%;

    color: #fff;
    background: #080808;
    border-top: 1px solid rgb(255 255 255 / 9%);
    border-bottom: 1px solid rgb(0 0 0 / 75%);
    box-shadow: 0 4px 12px rgb(0 0 0 / 12%);
}

.presi-context-bar__inner {
    width: min(
        calc(100% - 48px),
        var(--presi-container, 1320px)
    );
    margin-inline: auto;
    padding-block: 15px;
}

/* Page and category title */
.presi-context-bar__title {
    margin: 0;

    color: #fff;
    font-family: "Commissioner", sans-serif;
    font-size: clamp(1.125rem, 1.4vw, 1.375rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.005em;
    text-shadow: 0 1px 2px rgb(0 0 0 / 45%);
}

/* Optional page/category description */
.presi-context-bar__description {
    max-width: 920px;
    margin-top: 5px;

    color: rgb(255 255 255 / 82%);
    font-family: "Commissioner", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
}

.presi-context-bar__description p {
    margin: 0;
}

.presi-context-bar__description a {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* Product breadcrumb */
.presi-context-bar--breadcrumb .presi-context-bar__inner {
    padding-block: 13px;
}

.presi-context-bar .presi-context-bar__breadcrumb {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;

    color: rgb(255 255 255 / 86%);
    font-family: "Commissioner", sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.45;
}

.presi-context-bar__breadcrumb a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    text-shadow: 0 1px 2px rgb(0 0 0 / 45%);
}

.presi-context-bar__breadcrumb a:hover {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.presi-context-bar__breadcrumb a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
    border-radius: 2px;
}

.presi-context-bar__separator {
    color: rgb(255 255 255 / 48%);
    font-weight: 400;
}

/* Mobile */
@media (max-width: 768px) {
    .presi-context-bar__inner {
        width: calc(100% - 32px);
        padding-block: 12px;
    }

    .presi-context-bar__title {
        font-size: 1.0625rem;
        line-height: 1.3;
    }

    .presi-context-bar__description {
        margin-top: 4px;
        font-size: 0.8125rem;
        line-height: 1.45;
    }

    .presi-context-bar--breadcrumb
    .presi-context-bar__inner {
        padding-block: 11px;
    }

    .presi-context-bar
    .presi-context-bar__breadcrumb {
        gap: 5px;
        font-size: 0.8125rem;
        line-height: 1.45;
    }
}


/* PRESI CONTEXT BAR ALIGNMENT START */

/* Center page/category titles and descriptions only. */
.presi-context-bar--title .presi-context-bar__inner {
    text-align: center;
}

.presi-context-bar--title .presi-context-bar__description {
    margin-right: auto;
    margin-left: auto;
}

/* PRESI CONTEXT BAR ALIGNMENT END */

/* PRESI CONTEXT BAR CSS END */




/* PRESI CART FIXED FOOTER START */

/*
 * Self-contained cart drawer layout.
 *
 * The cart lives outside .site-content and uses a local reset for its
 * actions, so WooCommerce page, product and grid styles cannot affect it.
 */
.presi-cart-drawer {
    --presi-cart-footer-gutter: 18px;
}

html body .presi-cart-drawer .presi-cart-drawer__body {
    display: flex !important;
    min-width: 0;
    min-height: 0;
    padding: 0 !important;
    flex: 1 1 auto;
    overflow: hidden !important;
}

html body .presi-cart-drawer .widget_shopping_cart_content {
    display: flex !important;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

html body .presi-cart-drawer ul.woocommerce-mini-cart {
    display: block;
    min-width: 0;
    min-height: 0;
    margin: 0 !important;
    padding:
        16px
        var(--presi-cart-footer-gutter)
        0 !important;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    list-style: none;
}

/* Product-row dimensions remain identical on every page type. */
html body .presi-cart-drawer .woocommerce-mini-cart-item {
    position: relative !important;
    min-height: 86px;
    margin: 0 !important;
    padding: 12px 42px 12px 0 !important;
    box-sizing: border-box;
}

html body .presi-cart-drawer
.woocommerce-mini-cart-item > a:not(.remove) {
    display: block;
    min-height: 64px;
    padding-left: 76px;
    color: #111;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

html body .presi-cart-drawer
.woocommerce-mini-cart-item img {
    position: absolute !important;
    top: 12px !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    border-radius: 9px;
    object-fit: cover;
}

html body .presi-cart-drawer
.woocommerce-mini-cart-item .quantity {
    display: block;
    margin-top: 5px;
    padding-left: 76px;
    color: #111 !important;
    font-size: 0.8125rem;
    font-weight: 500;
}

/* Stable remove control on home, shop, category and product pages. */
html body .presi-cart-drawer .remove_from_cart_button {
    position: absolute !important;
    z-index: 2;
    top: 50% !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    float: none !important;

    display: inline-flex !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;

    border: 0 !important;
    border-radius: 50% !important;
    background: rgb(176 0 32 / 8%) !important;
    box-shadow: none !important;
    color: #8f001a !important;

    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center;
    text-decoration: none !important;
    text-indent: 0 !important;
    transform: translateY(-50%) !important;
}

html body .presi-cart-drawer
.remove_from_cart_button:hover {
    background: #b00020 !important;
    color: #fff !important;
}

html body .presi-cart-drawer
.remove_from_cart_button:focus-visible {
    outline: 2px solid #b00020;
    outline-offset: 2px;
}

/* Footer subtotal reset and layout. */
html body .presi-cart-drawer
p.woocommerce-mini-cart__total {
    all: unset;
    display: flex;
    width: 100%;
    margin: 0;
    padding:
        14px
        var(--presi-cart-footer-gutter)
        12px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-sizing: border-box;

    background: #fff;
    border-top: 1px solid rgb(0 0 0 / 18%);
    color: #111;
    font-family: "Commissioner", sans-serif;
    font-size: 18px;
    line-height: 1.3;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__total strong {
    font-weight: 600;
}

/* Footer action wrapper: always two equal columns. */
html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons {
    all: unset;
    display: grid;
    width: 100%;
    margin: 0;
    padding:
        0
        var(--presi-cart-footer-gutter)
        18px;
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    box-sizing: border-box;
    background: #fff;
}

/*
 * Local button reset. This prevents WooCommerce/GeneratePress rules
 * from changing these actions on product, shop or category pages.
 */
html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons > a.button {
    all: unset;
    display: inline-flex;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 10px 8px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;

    border: 1px solid #111;
    border-radius: 3px;
    box-shadow: none;
    font-family: "Commissioner", sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons >
a.presi-mini-cart__cart-button {
    background: #fff;
    color: #111;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons >
a.presi-mini-cart__checkout-button {
    background: #111;
    color: #fff;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons >
a.presi-mini-cart__cart-button:hover {
    background: #333;
    border-color: #333;
    color: #fff;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons >
a.presi-mini-cart__checkout-button:hover {
    background: #b00020;
    border-color: #b00020;
    color: #fff;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons > a:focus-visible {
    outline: 2px solid #b00020;
    outline-offset: 2px;
}

html body .presi-cart-drawer
.woocommerce-mini-cart__empty-message {
    display: flex;
    min-height: 0;
    margin: 0 !important;
    padding: 40px 20px !important;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-align: center;
}

@media (max-width: 768px) {
    .presi-cart-drawer {
        --presi-cart-footer-gutter: 16px;
    }
}

/* PRESI CART FIXED FOOTER END */

/* PRESI CART FOOTER CASCADE GUARD START */

/*
 * Final component boundary for WooCommerce catalog/product pages.
 * Only structural and visual properties that external WooCommerce
 * styles commonly override are locked.
 */
html body .presi-cart-drawer
.widget_shopping_cart_content {
    align-items: stretch !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__total.total {
    position: static !important;
    display: flex !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding:
        14px
        var(--presi-cart-footer-gutter)
        12px !important;
    float: none !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    box-sizing: border-box !important;

    border: 0 !important;
    border-top: 1px solid rgb(0 0 0 / 18%) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #111 !important;
    opacity: 1 !important;
    text-align: left !important;
    transform: none !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__total.total strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
    font-weight: 600 !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__total.total
.woocommerce-Price-amount {
    display: inline !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    color: #111 !important;
    font-weight: 600 !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons {
    position: static !important;
    display: grid !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding:
        0
        var(--presi-cart-footer-gutter)
        18px !important;
    float: none !important;
    flex: 0 0 auto !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.button {
    position: static !important;
    display: inline-flex !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    float: none !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;

    border: 1px solid #111 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    font-family: "Commissioner", sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    opacity: 1 !important;
    transform: none !important;
    cursor: pointer !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__cart-button {
    border-color: #111 !important;
    background: #fff !important;
    color: #111 !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__checkout-button {
    border-color: #111 !important;
    background: #111 !important;
    color: #fff !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__cart-button:hover {
    border-color: #333 !important;
    background: #333 !important;
    color: #fff !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__checkout-button:hover {
    border-color: #2a2a2a !important;
    background: #2a2a2a !important;
    color: #fff !important;
}

/* Explicit cart-button order and clearfix reset. */
html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons {
    direction: ltr !important;
    align-items: stretch !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons::before,
html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons::after {
    content: none !important;
    display: none !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__cart-button {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 1 !important;
    justify-self: stretch !important;
    direction: ltr !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__checkout-button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 2 !important;
    justify-self: stretch !important;
    direction: ltr !important;
}

html body .presi-cart-drawer
p.woocommerce-mini-cart__buttons.buttons >
a.presi-mini-cart__checkout-button:hover {
    border-color: #2a2a2a !important;
    background: #2a2a2a !important;
    color: #fff !important;
}

/* PRESI CART FOOTER CASCADE GUARD END */

/* PRESI MINI CART PRODUCT PRICE START */

html body .presi-cart-drawer
.woocommerce-mini-cart-item
.quantity
.woocommerce-Price-amount,
html body .presi-cart-drawer
.woocommerce-mini-cart-item
.quantity
.woocommerce-Price-amount bdi,
html body .presi-cart-drawer
.woocommerce-mini-cart-item
.quantity
.woocommerce-Price-currencySymbol {
    color: #111 !important;
    font-weight: 600;
}

/* PRESI MINI CART PRODUCT PRICE END */

/* PRESI CART DRAWER BUTTON ICONS START */

/*
 * Lightweight inline icons for the mini-cart footer buttons.
 * CSS masks inherit the button text color and create no HTTP request.
 */
.presi-cart-drawer
.woocommerce-mini-cart__buttons
a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.presi-cart-drawer
.woocommerce-mini-cart__buttons
a.button::before {
    display: inline-block;
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    content: "";
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

/* Cart icon. */
.presi-cart-drawer
.presi-mini-cart__cart-button::before {
    width: 22px;
    height: 22px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8h14l-1 13H6L5 8Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8h14l-1 13H6L5 8Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Secure checkout icon. */
.presi-cart-drawer
.presi-mini-cart__checkout-button::before {
    width: 22px;
    height: 22px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 5 6v5c0 4.7 2.9 8.1 7 10 4.1-1.9 7-5.3 7-10V6l-7-3Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 5 6v5c0 4.7 2.9 8.1 7 10 4.1-1.9 7-5.3 7-10V6l-7-3Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* PRESI CART DRAWER BUTTON ICONS END */

/* PRESI DESKTOP SUBMENU DESIGN START */

/*
 * Desktop GeneratePress dropdown only.
 * The slideout/mobile navigation remains completely unchanged.
 */
@media (min-width: 769px) {
    /*
     * Slightly wider dropdown with a small amount of vertical breathing room.
     */
    .main-navigation:not(.slideout-navigation)
    .main-nav
    > ul
    > li
    > ul.sub-menu {
        width: 230px;
        min-width: 230px;
        padding: 7px 0;
        overflow: visible;
        background-color: #fff;
        border: 1px solid rgb(0 0 0 / 12%);
        box-shadow:
            0 8px 22px rgb(0 0 0 / 10%),
            0 2px 6px rgb(0 0 0 / 5%);
    }

    /*
     * Thin separator between submenu items.
     */
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li {
        margin: 0;
        border-bottom: 1px solid rgb(0 0 0 / 22%);
    }

    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li:last-child {
        border-bottom: 0;
    }

    /*
     * Comfortable item size without making the dropdown oversized.
     */
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li
    > a {
        display: flex;
        width: 100%;
        min-height: 48px;
        padding: 12px 18px;
        align-items: center;
        color: #000;
        line-height: 1.35;
        text-shadow: none;
        background-color: #fff;
        box-shadow: none;
        transition:
            box-shadow 150ms ease,
            background-color 150ms ease;
    }

    /*
     * Minimal hover:
     * keep the item white and add only a subtle dark shadow.
     */
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li:hover
    > a,
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li:focus-within
    > a,
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li.sfHover
    > a,
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li[class*="current-menu-"]
    > a,
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li[class*="current_page_"]
    > a {
        position: relative;
        z-index: 1;
        color: #000;
        background-color: #fff;
        box-shadow:
            inset 0 0 0 1px rgb(0 0 0 / 16%),
            0 2px 8px rgb(0 0 0 / 10%);
    }

    /*
     * Clear keyboard indication without a black background.
     */
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li
    > a:focus-visible {
        color: #000;
        background-color: #fff;
        outline: 2px solid #000;
        outline-offset: -4px;
        box-shadow: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .main-navigation:not(.slideout-navigation)
    .main-nav
    ul.sub-menu
    > li
    > a {
        transition: none;
    }
}

/* PRESI DESKTOP SUBMENU DESIGN END */

/* PRESI MOBILE DRAWER SMOOTH MOTION START */

@media (max-width: 768px) {
    /*
     * Smooth GeneratePress/Offside drawer movement.
     * CSS only — no extra JavaScript or external request.
     */
    html.offside-js--init
    #generate-slideout-menu {
        transition-property: transform, visibility;
        transition-duration: 320ms;
        transition-timing-function:
            cubic-bezier(0.22, 1, 0.36, 1);
        backface-visibility: hidden;
    }

    /*
     * Keep the page and overlay movement synchronized with the drawer.
     */
    html.offside-js--init
    .offside-sliding-element {
        transition-property: transform;
        transition-duration: 320ms;
        transition-timing-function:
            cubic-bezier(0.22, 1, 0.36, 1);
        backface-visibility: hidden;
    }

    .slideout-overlay {
        transition:
            opacity 280ms ease,
            visibility 280ms ease;
    }
}

/* Respect the visitor's reduced-motion preference. */
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
    html.offside-js--init
    #generate-slideout-menu,
    html.offside-js--init
    .offside-sliding-element,
    .slideout-overlay {
        transition-duration: 0.01ms;
    }
}

/* PRESI MOBILE DRAWER SMOOTH MOTION END */


/* PRESI MOBILE CONTACT BAR START */

.presi-mobile-contact-bar {
    position: relative;
    z-index: 30;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #000;
    background-color: #dddddd;
    border: 0;
    box-shadow:
        0 3px 7px rgba(0, 0, 0, .15),
        0 1px 2px rgba(0, 0, 0, .11);
    box-sizing: border-box;
}

.presi-mobile-contact-bar__inner {
    width: 100%;
    min-height: 47px;
    margin: 0;
    padding: 0 24px;
    align-items: center;
    box-sizing: border-box;
}

.presi-mobile-contact-bar__inner--desktop {
    display: flex;
    gap: clamp(54px, 8vw, 135px);
    justify-content: center;
}

.presi-mobile-contact-bar__inner--mobile {
    display: none;
}

.presi-mobile-contact-bar__link {
    display: inline-flex;
    min-height: 44px;
    margin: 0;
    padding: 0 7px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    color: #000;
    background-color: transparent;
    border: 0;
    border-radius: 2px;
    box-shadow: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition:
        background-color .18s ease,
        transform .18s ease;
}

a.presi-mobile-contact-bar__link:visited {
    color: #000;
}

.presi-mobile-contact-bar__link svg {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.presi-mobile-contact-bar__text {
    display: inline-block;
    color: inherit;
    font: inherit;
    letter-spacing: .01em;
}

a.presi-mobile-contact-bar__link:hover,
a.presi-mobile-contact-bar__link:active {
    color: #000;
    background-color: rgba(0, 0, 0, .065);
}

a.presi-mobile-contact-bar__link:active {
    transform: scale(.97);
}

a.presi-mobile-contact-bar__link:focus-visible {
    color: #000;
    background-color: rgba(255, 255, 255, .5);
    outline: 2px solid #000;
    outline-offset: -3px;
}

.presi-mobile-contact-bar__link--pending {
    cursor: default;
}

@media (max-width: 768px) {
    .presi-mobile-contact-bar__inner {
        min-height: 46px;
        padding-right: 14px;
        padding-left: 14px;
    }

    .presi-mobile-contact-bar__inner--desktop {
        display: none;
    }

    .presi-mobile-contact-bar__inner--mobile {
        display: flex;
        justify-content: space-between;
    }

    .presi-mobile-contact-bar__link {
        padding-right: 5px;
        padding-left: 5px;
        gap: 7px;
    }
}

@media (max-width: 359px) {
    .presi-mobile-contact-bar__inner {
        padding-right: 8px;
        padding-left: 8px;
    }

    .presi-mobile-contact-bar__link {
        gap: 5px;
        font-size: 13px;
    }

    .presi-mobile-contact-bar__link svg {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .presi-mobile-contact-bar__link {
        transition: none;
    }
}

/* PRESI MOBILE CONTACT BAR END */

/* PRESI DESKTOP MAIN MENU ICONS START */

@media (min-width: 1025px) {
    #menu-main-menu-desktop > :is(
        #menu-item-39,
        #menu-item-44,
        #menu-item-76,
        #menu-item-79
    ) > a::before {
        content: "";
        display: inline-block;
        width: 17px;
        height: 17px;
        margin-right: 7px;
        vertical-align: -3px;
        background-color: #000;
        pointer-events: none;
        -webkit-mask-image: var(--presi-menu-icon);
        mask-image: var(--presi-menu-icon);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
    }

    #menu-main-menu-desktop > #menu-item-39 > a {
        --presi-menu-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%2010%209-7%209%207M5%209v12h5v-7h4v7h5V9%22%2F%3E%3C%2Fsvg%3E");
    }

    #menu-main-menu-desktop > #menu-item-44 > a {
        --presi-menu-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%207h14l1%2014H4L5%207Z%22%2F%3E%3Cpath%20d%3D%22M9%208V6a3%203%200%200%201%206%200v2%22%2F%3E%3C%2Fsvg%3E");
    }

    #menu-main-menu-desktop > #menu-item-76 > a {
        --presi-menu-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M9.5%209a2.5%202.5%200%200%201%205%20.5c0%201.5-2.5%202-2.5%203.5M12%2016.5v.1%22%2F%3E%3C%2Fsvg%3E");
    }

    #menu-main-menu-desktop > #menu-item-79 > a {
        --presi-menu-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%207%209%206%209-6%22%2F%3E%3C%2Fsvg%3E");
    }

}

/* PRESI DESKTOP MAIN MENU ICONS END */
