:root {
    --gold: #c49a37;
    --red: #ed1728;
    --text: #565656;
    --line: #e5e5e5
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    overflow-x: clip
}

body {
    margin: 0;
    overflow-x: hidden;
    background: #fff;
    color: var(--text);
    font-family: Inter,Arial,Helvetica,sans-serif;
    font-size: 13px
}

.container {
    width: min(1400px,calc(100% - 34px));
    margin-inline: auto
}

a {
    color: inherit;
    text-decoration: none
}

img {
    display: block;
    max-width: 100%
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.utility-bar {
    height: 32px;
    background: #333;
    font-size: 12px;
    font-weight: 700;
    color: rgba(255,255,255,.86)
}

    .utility-bar a:hover {
        color: #fff
    }

    .utility-bar a {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 7px;
        height: 100%;
        white-space: nowrap
    }

    .utility-bar a i {
        font-size: 15px
    }

.utility-inner {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 23px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none
}

.utility-inner::-webkit-scrollbar {
    display: none
}

.utility-socials {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    height: 100%;
    margin-left: auto
}

.utility-socials .footer-social-link {
    width: 26px;
    height: 26px;
    display: grid;
    flex: 0 0 26px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit
}

.utility-socials .footer-social-link:hover {
    background: transparent;
    color: #fff
}

.utility-socials .footer-brand-icon {
    width: 17px;
    height: 17px
}

.utility-socials .utility-phone { gap: 5px; margin-right: 5px; font-weight: 700 }

.member-header-actions { margin-left: auto; display: flex; align-items: center; gap: 9px }
.member-header-actions a { padding: 11px 16px; border: 1px solid var(--menu-divider,#ddd); border-radius: 5px; font-weight: 700 }
.member-header-actions .member-login { background: var(--header-text,#333); color: var(--header-bg,#fff) }
.member-header-actions a:hover { transform: translateY(-1px) }
.header-cart-link { display: inline-flex; align-items: center; gap: 5px }.header-cart-badge { min-width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; margin-left: 2px; padding: 0 5px; border-radius: 999px; background: #e00018; color: #fff; font-size: 11px; font-weight: 800; line-height: 1 }.header-cart-badge[hidden] { display: none !important }

.member-page { min-height: 520px; padding: 45px 17px 70px; background: #f3f3f3 }
.member-card,.member-account { width: min(720px,100%); margin: auto; padding: 30px; border-radius: 10px; background: #fff; box-shadow: 0 10px 30px rgb(0 0 0 / 8%) }
.member-card { width: min(520px,100%) }
.member-card h1,.member-account h1 { margin: 0 0 22px; color: #222 }
.member-card .member-form { display: grid; gap: 16px }
.member-card label { display: grid; gap: 7px; color: #333; font-weight: 700 }
.member-card input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid #d7d7d7; border-radius: 5px; font: inherit }
.member-card button { height: 46px; border: 0; border-radius: 5px; background: var(--theme-accent,#333); color: #fff; font-weight: 800; cursor: pointer }
.member-card p { margin: 3px 0 0; text-align: center }.member-card p a { text-decoration: underline }
.member-message { margin-bottom: 16px; padding: 11px; border-radius: 5px; background: #fff0f0; color: #a40000 }
.member-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; border-bottom: 1px solid #eee; padding-bottom: 20px }
.member-heading h1 { margin: 4px 0 }.member-heading p { margin: 0 }
.member-account-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end }
.member-account-actions a { padding: 9px 13px; border: 1px solid #ddd; border-radius: 5px }
.member-success { margin-bottom: 18px; padding: 12px; border-radius: 5px; background: #eaf8ee; color: #176b31; font-weight: 700 }
.member-account h2 { margin: 30px 0 16px; padding: 13px 16px; border-left: 5px solid var(--theme-accent,#333); border-radius: 0 7px 7px 0; background: #f1f3f5; color: #24282c; font-size: 23px; line-height: 1.2 }.member-favorites { display: grid; gap: 9px }
.member-favorites>a { display: flex; align-items: center; gap: 15px; min-height: 54px; padding: 12px 15px; border: 1px solid #dfe3e7; border-left: 3px solid #c8cdd2; border-radius: 7px; background: #fafbfc }.member-favorites>a:hover { border-color: #bfc5ca; border-left-color: #969fa7; background: #fafbfc }.member-favorites>a span { flex: 0 0 auto; padding: 4px 8px; border-radius: 4px; background: #e9ecef; color: #626970; font-size: 12px }.member-favorites>a strong { min-width: 0; color: #34383c }.member-favorites>a b { margin-left: auto; padding-left: 18px; color: #202428; white-space: nowrap }
.product-member-actions { display: flex; gap: 10px; flex: 1 1 auto }
.product-favorite-button { min-height: 48px; padding: 0 16px; border: 1px solid #d9d9d9; border-radius: 6px; background: #fff; color: #333; font-weight: 800; cursor: pointer }
.product-favorite-button i { margin-right: 5px; font-size: 19px; vertical-align: middle }
.product-favorite-button.is-favorite { border-color: #e31b34; color: #e31b34; background: #fff5f6 }
.product-cart-control { display: flex; min-height: 48px }.product-cart-control input { width: 65px; padding: 0 8px; border: 1px solid #d9d9d9; border-radius: 6px 0 0 6px }.product-cart-button { padding: 0 16px; border: 0; border-radius: 0 6px 6px 0; background: #168342; color: #fff; font-weight: 800; cursor: pointer }
.cart-page { min-height: 520px; padding: 38px 0 70px; background: #f3f3f3 }.cart-page h1 { color: #222 }.cart-layout { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 22px }.cart-items,.cart-summary { border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgb(0 0 0 / 6%) }.cart-item { display: grid; grid-template-columns: minmax(220px,1fr) 130px 250px 130px; gap: 15px; align-items: center; padding: 18px; border-bottom: 1px solid #eee }.cart-item:last-child { border-bottom: 0 }.cart-item>div:first-child { display: grid; gap: 4px }.cart-item>div:first-child span { color: #888 }.cart-item>div:first-child a { color: #222; font-weight: 800 }.cart-quantity { display: flex }.cart-quantity input { width: 72px; padding: 8px; border: 1px solid #ddd }.cart-quantity button { border: 0; border-radius: 10px; background: #444; color: #fff; cursor: pointer }.cart-quantity .cart-remove-button { margin-left: 5px; padding: 0 12px; border-radius: 10px; background: #c82333 }.cart-quantity .cart-remove-button:hover { background: #a91d2b }.cart-summary { padding: 22px; align-self: start }.cart-summary h2 { margin-top: 0 }.cart-summary>div { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 18px }.cart-currency-totals { display: grid; gap: 6px; text-align: right }.cart-summary label { display: grid; gap: 7px; margin: 14px 0; font-weight: 700 }.cart-summary textarea { min-height: 80px; padding: 10px; border: 1px solid #ddd; border-radius: 5px; resize: vertical }.cart-summary>button { width: 100%; min-height: 48px; border: 0; border-radius: 5px; background: #168342; color: #fff; font-weight: 800; cursor: pointer }.cart-payment { padding: 12px; border-radius: 5px; background: #f3f7f4 }.cart-empty { padding: 35px; border-radius: 8px; background: #fff }.member-orders { display: grid; gap: 11px }.member-orders article { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; padding: 14px; border: 1px solid #d9dee3; border-radius: 8px }.member-orders article div { display: grid }.member-orders time,.member-orders span { color: #697178 }.member-orders em { color: #168342; font-style: normal; font-weight: 700 }

.member-orders .member-order { display: block; padding: 0; overflow: hidden; background: #fff; box-shadow: 0 2px 7px rgb(0 0 0 / 3%) }.member-orders .member-order.is-open { border-color: var(--theme-accent,#555) }
.cart-quantity button:not(.cart-remove-button) { padding-right: 10px; padding-left: 10px }
.member-order-toggle { position: relative; display: grid; grid-template-columns: 1fr auto 34px; gap: 8px 18px; width: 100%; padding: 16px 14px 16px 17px; border: 0; border-left: 4px solid #aeb5bb; background: #f4f6f8; color: inherit; font: inherit; text-align: left; cursor: pointer }.member-order.is-open .member-order-toggle { border-left-color: var(--theme-accent,#555); background: #f1f3f5 }
.member-order-toggle>div { display: grid }.member-order-toggle>div strong { color: #272c30; font-size: 15px }.member-order-toggle em { grid-column: 2; justify-self: end; padding: 5px 10px; border-radius: 999px; background: #dff4e6; color: #117234; text-align: right; font-size: 13px }.member-order-toggle>span { align-self: center; padding: 4px 8px; border-radius: 4px; background: #e4e8eb; color: #525a61 }.member-order-toggle>i { grid-column: 3; grid-row: 1/3; align-self: center; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #cfd5da; border-radius: 50%; background: #fff; color: #3f464c; font-size: 22px; transition: transform .2s ease,border-color .18s ease }.member-order.is-open .member-order-toggle>i { transform: rotate(180deg); border-color: var(--theme-accent,#555) }.member-order-details[hidden] { display: none }
.member-order-lines { display: grid !important }
.member-order-line { display: grid !important; grid-template-columns: minmax(180px,1fr) 75px 120px 120px; gap: 12px; align-items: center; padding: 12px 14px; border-top: 1px solid #eee }
.member-order-line>a { display: grid }.member-order-line>a span { font-size: 11px }.member-order-line>a strong { color: #333 }
.member-order-line>b { text-align: right; color: #333 }
.member-order-totals { display: flex !important; justify-content: space-between; gap: 15px; padding: 13px 14px; border-top: 1px solid #ddd; background: #f7faf8 }
.member-order-totals>div { display: grid; gap: 5px; text-align: right }.member-order-totals strong { color: #333 }
.member-order-pagination { margin-top: 18px }
@media(max-width:650px){.member-favorites>a{flex-wrap:wrap}.member-favorites>a b{width:100%;margin-left:0;padding:5px 0 0;text-align:right}.member-order-line{grid-template-columns:1fr 1fr}.member-order-line>a{grid-column:1/-1}.member-order-toggle{grid-template-columns:1fr 34px}.member-order-toggle span,.member-order-toggle em{grid-column:1;justify-self:start;text-align:left}.member-order-toggle>i{grid-column:2;grid-row:1/4}}

.site-header {
    position: relative;
    z-index: 1000;
    background: var(--header-bg,#fff);
    color: var(--header-text,#565656)
}

.header-main {
    height: 98px;
    display: flex;
    align-items: center;
    gap: 20px
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 1 auto;
    width: max-content;
    max-width: 250px;
    min-width: 0;
    color: var(--gold);
    margin-right:20px;
}

.brand-icon {
    display: block;
    width: 42px;
    height: 35px;
    border: 5px solid var(--gold);
    border-radius: 7px 15px 15px 7px;
    transform: skewX(-16deg) rotate(30deg);
    flex: 0 0 auto
}

.brand strong {
    display: block;
    font-size: 21px;
    line-height: 1;
    letter-spacing: .5px
}

.brand .brand-fallback {
    max-width: 250px;
    overflow: hidden;
    color: var(--header-text,#333);
    font-size: 25px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap
}

.brand small {
    display: block;
    font-size: 9px;
    letter-spacing: 2.6px;
    margin-top: 5px
}

.brand .firma-logo-1 {
    width: var(--main-logo-width,auto);
    height: var(--main-logo-height,auto);
    max-width: 250px;
    max-height: 72px;
    object-fit: contain
}

.utility-bar.has-vertical-logo {
    position: relative;
    background-color: transparent !important;
    background-image: linear-gradient(var(--header-bg,#fff),var(--header-bg,#fff))
}

.utility-bar.has-vertical-logo::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: calc(max(17px,(100vw - 1400px)/2) + var(--main-logo-width) + 20px);
    border-radius: 4px 0 0 4px;
    background: var(--utility-bg,#333);
    content: ""
}

.utility-bar.has-vertical-logo .utility-inner {
    position: relative;
    z-index: 1;
    padding-left: calc(var(--main-logo-width) + 32px)
}

@media (min-width:801px) {
    .utility-bar.has-vertical-logo::after {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: max(0px,calc((100vw - 1400px)/2 - 14px));
        border-radius: 0 4px 4px 0;
        background: var(--utility-bg,#333);
        content: ""
    }

    .site-header.has-vertical-logo .header-main {
        position: relative;
        height: max(98px,calc(var(--main-logo-height) - 20px));
        padding-left: calc(var(--main-logo-width) + 20px)
    }

    .site-header.has-vertical-logo .brand {
        position: absolute;
        z-index: 2;
        top: -20px;
        left: 0;
        width: var(--main-logo-width);
        max-width: none;
        margin-right: 0
    }

    .site-header.has-vertical-logo .brand .firma-logo-1 {
        width: var(--main-logo-width);
        height: var(--main-logo-height);
        max-width: none;
        max-height: 110px
    }
}

.search {
    position: relative;
    z-index: 20;
    height: 38px;
    display: flex;
    flex: 1 1 600px;
    border: 1px solid #ddd;
    border-radius: 3px;
    max-width: 600px
}

    .search input {
        border: 0;
        outline: 0;
        flex: 1;
        padding: 0 15px;
        font-size: 12px;
        font-style: italic;
        color: #777
    }

    .search button {
        width: 42px;
        border: 0;
        border-left: 1px solid #ddd;
        background: #fafafa;
        color: #777;
        font-size: 24px
    }

.search-suggestions {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    z-index: 100;
    display: none;
    overflow: hidden;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 30px rgb(0 0 0 / 18%)
}

.search-suggestions.is-open { display: block }
.search-suggestion-item { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 12px; padding: 12px 14px; border-bottom: 1px solid #eee; color: #333 }
.search-suggestion-item:last-child { border-bottom: 0 }
.search-suggestion-item span { color: #777; font-size: 12px }
.search-suggestion-item strong { min-width: 0; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap }
.search-suggestion-item:hover,.search-suggestion-item.is-active { background: #f2f2f2 }
.search-suggestion-empty { padding: 15px; color: #777; font-size: 13px; text-align: center }
.search-results-header { padding: 24px 28px; border-radius: 8px; background: #fff }
.search-results-header h1 { margin: 0 0 8px; color: #222; font-size: 28px }
.search-results-header p { margin: 0; color: #666 }

.call-us {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 5px 0;
    color: var(--header-text,#333);
    background: transparent;
    border: 1px solid rgb(0 0 0 / 10%);
    border-radius: 30px;
    padding-right: 13px;
    padding-left: 8px;
}

    .call-us:hover {
        color: var(--gold)
    }

.call-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 0px solid currentColor;
    border-radius: 50%;
    background: rgba(128,128,128,.12);
    color: var(--header-text,#333);
    font-size: 25px;
    line-height: 1
}

.call-copy small {
    display: block;
    margin-bottom: 3px;
    color: var(--header-muted,#777);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase
}

    .call-copy strong {
        display: block;
        color: var(--header-text,#333);
        font-size: 17px;
        line-height: 1.1;
        white-space: nowrap
    }

.nav-row {
    position: relative;
    z-index: 1001;
    overflow-x: clip;
    overflow-y: visible;
    border-top: 0px dotted #ccc;
    border-bottom: 1px solid #ccc;
    box-shadow: 0 2px 2px rgba(0,0,0,.08)
}

.nav-inner {
    position: relative;
    min-height: 50px;
    display: flex;
    align-items: center;
    overflow: visible;
    border-top: 2px dotted #ccc;
    border-radius: 8px
}

.nav-inner::before,
.nav-inner::after {
    position: absolute;
    z-index: 35;
    top: 0;
    bottom: 0;
    width: max(44px,calc((100vw - 100%)/2 + 44px));
    background: var(--header-bg,#fff);
    content: "";
    pointer-events: auto
}

.nav-inner::before {
    right: 100%
}

.nav-inner::after {
    left: 100%
}

.nav-inner.has-category-prev::before { right: calc(100% - 44px) }
.nav-inner.has-category-next::after { left: calc(100% - 44px) }

.main-nav {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: max-content;
    min-width: 100%;
    justify-content: safe center;
    gap: clamp(14px,2.8vw,60px);
    font-weight: 700;
    font-size: clamp(12px,1.1vw,14px);
    border-top: 0;
    border-radius: 0;
    transform: translateX(var(--category-menu-offset,0));
    transition: transform .25s ease;
    will-change: transform;
}

.category-scroll-arrow {
    position: absolute;
    z-index: 40;
    top: 50%;
    display: none;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--menu-divider,#ddd);
    border-radius: 50%;
    background: var(--submenu-bg,#fff);
    color: var(--header-text,#333);
    box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
    cursor: pointer;
    transform: translateY(-50%)
}

.category-scroll-arrow.is-visible { display: grid }
.category-scroll-arrow i { font-size: 23px }
.category-scroll-prev { left: 5px }
.category-scroll-next { right: 5px }

    .main-nav a {
        padding: 18px 0;
        white-space: nowrap
    }

.main-nav > a,
.main-nav > .nav-group,
.main-nav > .category-nav,
.main-nav > .nav-more {
    flex: 0 0 auto;
    min-width: 0
}

.main-nav > .nav-group > a {
    display: block
}

.main-nav .category-menu-link {
    display: flex;
    align-items: center;
    gap: 4px
}

.main-nav .category-menu-link > .bx {
    font-size: 20px;
    margin-left:9px;
    margin-top:-1px;
    float:right;
}

.main-nav > .category-nav {
    flex-shrink: 0
}

        .main-nav a:hover {
            color: var(--header-muted,#777)
        }

.category-nav {
    position: static
}

.category-trigger {
    display: flex;
    align-items: center;
    gap: 8px
}

    .category-trigger .bx {
        font-size: 18px
    }

.category-mega {
    position: absolute;
    z-index: 30;
    top: 100%;
    left: 0;
    display: none;
    width: 100%;
    padding: 26px;
    background: var(--submenu-bg,#fff);
    color: var(--submenu-text,#444);
    border: 1px solid var(--menu-divider,#e1e1e1);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 12px 28px rgba(0,0,0,.18)
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 7px
}

    .category-grid a {
        display: grid;
        place-items: center;
        min-height: 60px;
        padding: 10px 12px;
        border: 1px solid var(--menu-divider,#ececec);
        border-radius: 6px;
        color: var(--submenu-text,#444);
        background: transparent;
        font-size: 13px;
        text-align: center;
        text-transform: none;
        transition: background .18s ease,color .18s ease,border-color .18s ease
    }

        .category-grid a:hover {
            color: var(--submenu-text,#444);
            background: var(--menu-hover-bg,#f2f2f2);
            border-color: var(--menu-divider,#aaa)
        }

.category-nav:hover .category-mega,
.category-nav:focus-within .category-mega {
    display: block
}

.nav-group {
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: center
}

.sub-nav {
    position: absolute;
    z-index: 20;
    top: 100%;
    left: 0;
    display: none;
    min-width: 210px;
    padding: 7px 0;
    background: var(--submenu-bg,#fff);
    color: var(--submenu-text,#565656);
    border: 1px solid var(--menu-divider,#e2e2e2);
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
    font-size: 13px;
    transform: translateX(var(--submenu-shift,0px))
}

    .sub-nav a {
        display: block;
        padding: 11px 1px;
        white-space: nowrap
    }

    .sub-nav .menu-link-with-icon {
        display: flex;
        width: 100%;
        align-items: center;
        gap: 5px
    }

.menu-link-with-icon > .bx {
    flex: 0 0 auto;
    font-size: 16px;
    line-height: 1
}

        .sub-nav a:hover {
            color: var(--submenu-text,#555);
            background: var(--menu-hover-bg,#f2f2f2)
        }

.nav-group:hover .sub-nav,
.nav-group:focus-within .sub-nav {
    display: block
}

.nav-more {
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: center
}

.nav-more[hidden] {
    display: none
}

.nav-more-trigger {
    display: flex;
    align-items: center;
    gap: 5px;
    height: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: inherit;
    cursor: pointer;
    white-space: nowrap
}

.nav-more-trigger .bx {
    font-size: 17px
}

.nav-more-menu {
    position: absolute;
    z-index: 40;
    top: 100%;
    right: 0;
    display: none;
    min-width: 235px;
    max-height: min(70vh,560px);
    padding: 7px 0;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--submenu-text,#565656);
    background: var(--submenu-bg,#fff);
    border: 1px solid var(--menu-divider,#e2e2e2);
    font-size: 13px;
    box-shadow: 0 10px 24px rgba(0,0,0,.16)
}

.nav-more:hover .nav-more-menu,
.nav-more:focus-within .nav-more-menu,
.nav-more.is-open .nav-more-menu {
    display: block
}

.nav-more-menu > a,
.nav-more-menu > .nav-group > a {
    display: block;
    width: 100%;
    padding: 11px 38px 11px 15px;
    color: var(--submenu-text,#565656);
    white-space: nowrap
}

.nav-more-menu > a:hover,
.nav-more-menu > .nav-group > a:hover {
    color: var(--submenu-text,#565656);
    background: var(--menu-hover-bg,#f2f2f2)
}

.nav-more-menu > .nav-group {
    position: relative;
    display: block;
    width: 100%
}

.nav-more-menu > .nav-group > a:after {
    position: absolute;
    top: 50%;
    right: 14px;
    content: '\2304';
    font-size: 20px;
    line-height: 1;
    transform: translateY(-50%)
}

.nav-more-menu > .nav-group > .sub-nav {
    position: static;
    min-width: 0;
    margin: 0;
    padding: 0 0 6px 13px;
    border: 0;
    box-shadow: none;
    background: var(--menu-hover-bg,#f2f2f2)
}

.nav-more-menu > .nav-group > .sub-nav a {
    padding: 9px 15px;
    font-size: .92em
}

.menu-button {
    display: none;
    border: 0;
    background: transparent;
    padding: 14px 0;
    font-weight: 700
}

.hero {
    display: none
}

.home-banner {
    position: relative;
    margin-top: 18px;
    overflow: hidden
}

.home-banner-viewport {
    overflow: hidden;
    border-radius: 2px;
    cursor: grab;
    user-select: none
}

.home-banner.is-dragging .home-banner-viewport { cursor: grabbing }
.home-banner-slide img { pointer-events: none }

.home-banner-track {
    display: flex;
    transition: transform .55s ease;
    will-change: transform
}

.home-banner-slide {
    min-width: 100%;
    flex: 0 0 100%
}

.home-banner-slide a,
.home-banner-slide img {
    display: block;
    width: 100%
}

.home-banner-slide img {
    height: auto
}

.home-banner-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 50%;
    color: #fff;
    background: rgb(0 0 0 / 42%);
    transform: translateY(-50%);
    cursor: pointer;
    transition: background .2s ease
}

.home-banner-arrow:hover { background: rgb(0 0 0 / 68%) }
.home-banner-arrow i { font-size: 30px }
.home-banner-prev { left: 18px }
.home-banner-next { right: 18px }

.home-banner-dots {
    position: absolute;
    right: 0;
    bottom: 13px;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 8px
}

.home-banner-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: rgb(0 0 0 / 35%);
    cursor: pointer
}

.home-banner-dot.is-active { background: #fff }

@media (max-width: 600px) {
    .home-banner { margin-top: 12px }
    .home-banner-arrow { width: 34px; height: 34px }
    .home-banner-arrow i { font-size: 24px }
    .home-banner-prev { left: 8px }
    .home-banner-next { right: 8px }
    .home-banner-dots { bottom: 8px }
}

.inner-page {
    padding: 42px 0 65px;
    min-height: 420px;
    background: #f3f3f3
}

.inner-page-layout {
    display: grid;
    grid-template-columns: 245px minmax(0,1fr);
    gap: 34px;
    align-items: start
}

.inner-page-layout:has(.page-content:only-child) {
    grid-template-columns: 1fr
}

.page-sidebar,
.page-content {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 9px;
    overflow: hidden;
}

.page-sidebar h2 {
    margin: 0;
    padding: 17px 19px;
    background: var(--page-accent,#3f3f3f);
    color: var(--page-title-text,#fff);
    font-size: 16px
}

.page-sidebar nav a {
    display: block;
    padding: 13px 18px;
    border-bottom: 1px solid #ececec;
    font-size: 12px;
    font-weight: 700
}

.page-sidebar nav a:before {
    content: '›';
    margin-right: 9px;
    color: var(--page-accent,#3f3f3f)
}

.page-sidebar nav a:hover {
    background: #f7f7f7
}

.page-sidebar nav a.active {
    color: var(--page-active,#666);
    background: var(--page-active-bg,#eee)
}

.page-sidebar nav a.active:before {
    color: var(--page-active,#666)
}

.page-content {
    padding: 26px 30px 38px ;
    padding: 17px 25px 30px;
}

.page-content h1 {
    margin: 0 0 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #ddd;
    color: #3f3f3f;
    font-size: 28px
}

.rich-content {
    font-size: 14px;
    line-height: 1.75
}

.page-form-module {
    margin-top: 32px;
    padding: 27px;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #f8f9fa
}

.embedded-page-module {
    margin-top: 32px
}

.embedded-page-module > h2 {
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--page-accent,#3f3f3f);
    color: #3f3f3f;
    font-size: 23px
}

.embedded-gallery .gallery-card-grid,
.embedded-links .link-card-grid {
    margin-top: 0
}

.embedded-product-group .category-product-grid {
    margin-top: 0
}

.document-card-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 14px
}

.document-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 112px;
    padding: 18px 34px 18px 16px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #dde0e3;
    border-radius: 8px;
    color: #444;
    background: #fff;
    text-align: center;
    transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease
}

.document-card:hover {
    border-color: var(--page-accent,#555);
    box-shadow: 0 8px 20px rgb(0 0 0 / 9%);
    transform: translateY(-2px)
}

.document-card-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    color: var(--page-accent,#444);
    background: #f1f2f3
}

.document-card-icon i {
    font-size: 22px
}

.document-card strong {
    max-width: 100%;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.35;
    text-overflow: ellipsis
}

.document-card-open {
    position: absolute;
    top: 12px;
    right: 12px;
    color: var(--page-accent,#555);
    font-size: 17px
}

.document-module-empty {
    grid-column: 1/-1;
    padding: 18px;
    border: 1px dashed #d7d7d7;
    border-radius: 8px;
    color: #777;
    background: #fff;
    text-align: center
}

.page-form-module > header {
    margin-bottom: 22px
}

.page-form-module > header span {
    display: block;
    margin-bottom: 5px;
    color: var(--page-accent,#3f3f3f);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px
}

.page-form-module > header h2 {
    margin: 0;
    color: #3f3f3f;
    font-size: 23px
}

.page-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px
}

.page-form-field {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0
}

.page-form-field-full,
.page-form-actions,
.page-form-empty {
    grid-column: 1/-1
}

.page-form-field legend {
    display: block;
    width: 100%;
    margin-bottom: 7px;
    color: #444;
    font-size: 13px;
    font-weight: 700
}

.page-form-field legend em {
    color: #d52331;
    font-style: normal
}

.page-form-field input[type="text"],
.page-form-field input[type="email"],
.page-form-field input[type="tel"],
.page-form-field input[type="date"],
.page-form-field input[type="number"],
.page-form-field select,
.page-form-field textarea {
    display: block;
    width: 100%;
    border: 1px solid #d4d7da;
    border-radius: 5px;
    background: #fff;
    color: #333;
    font: inherit;
    outline: 0
}

.page-form-field input[type="text"],
.page-form-field input[type="email"],
.page-form-field input[type="tel"],
.page-form-field input[type="date"],
.page-form-field input[type="number"],
.page-form-field select {
    height: 44px;
    padding: 0 12px
}

.page-form-field textarea {
    min-height: 125px;
    padding: 12px;
    resize: vertical
}

.page-form-field input:focus,
.page-form-field select:focus,
.page-form-field textarea:focus {
    border-color: var(--page-accent,#3f3f3f);
    box-shadow: 0 0 0 3px rgb(0 0 0 / 6%)
}

.page-form-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    padding: 12px;
    border: 1px solid #d4d7da;
    border-radius: 5px;
    background: #fff
}

.page-form-options label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer
}

.page-form-actions {
    display: flex;
    justify-content: flex-end
}

.page-form-submit {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 24px;
    border: 0;
    border-radius: 5px;
    background: var(--page-accent,#3f3f3f);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer
}

.page-form-submit i {
    font-size: 18px
}

.page-form-trap {
    position: absolute!important;
    left: -10000px!important;
    width: 1px!important;
    height: 1px!important;
    overflow: hidden!important
}

.page-form-result {
    display: none;
    margin-top: 18px;
    padding: 13px 15px;
    border-radius: 8px;
    font-weight: 600
}

.page-form-result:not(:empty) { display: block }
.page-form-result.success { color: #176b35; background: #eaf7ee; border: 1px solid #bfe3ca }
.page-form-result.error { color: #9e2525; background: #fff0f0; border: 1px solid #efc1c1 }
.page-form-submit:disabled { opacity: .65; cursor: wait }

.page-form-empty {
    margin: 0;
    color: #777
}

.page-form-result {
    margin-top: 13px
}

.rich-content img {
    max-width: 100%;
    height: auto
}

    .hero img {
        width: 100%;
        border-radius: 2px
    }

.products {
    padding: 25px 0 45px
}

    .products h1 {
        text-align: center;
        font-size: 19px;
        color: #222;
        margin: 0 0 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid #ddd
    }

.product-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px
}

.product-grid > .home-category-card {
    flex: 0 0 calc((100% - 16px)/3)
}

    .product-grid a, .featured-row a {
        overflow: hidden;
        background: #ddd
    }

.home-category-card {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center
}

.home-category-name {
    padding: 24px;
    color: #333;
    font-size: 18px;
    font-weight: 700;
    text-align: center
}

.home-category-empty {
    display: flex;
    min-height: 155px;
    padding: 28px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px dashed #d1d1d1;
    border-radius: 8px;
    color: #666;
    background: #fff;
    text-align: center
}

.home-category-empty i {
    color: var(--theme-accent,#555);
    font-size: 34px
}

.home-category-empty strong {
    color: #333;
    font-size: 17px
}

.category-products-page {
    min-height: 480px;
    padding: 28px 0 55px;
    background: #f1f1f1
}

.category-products-header {
    padding: 28px 25px 20px;
    border-radius: 8px;
    background: #fff;
    text-align: center
}

.category-products-header h1 {
    margin: 0 0 24px;
    color: #111;
    font-size: 31px
}

.page-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 24px
}

.category-products-header .page-heading-row h1,
.product-heading-row h1 {
    margin-bottom: 0
}

.site-breadcrumb {
    max-width: 55%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px 8px;
    padding-top: 6px;
    color: #888;
    font-size: 12px;
    line-height: 1.4;
    text-align: right
}

.site-breadcrumb a { color: #555; font-weight: 600 }
.site-breadcrumb a:hover { color: var(--theme-accent,#111) }
.site-breadcrumb i { color: #aaa; font-style: normal }
.site-breadcrumb span { color: #888 }

.site-breadcrumb.breadcrumb-top {
    max-width: none;
    justify-content: flex-start;
    margin: 0 0 12px;
    padding: 0;
    text-align: left
}

.category-products-header nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 25px
}

.category-products-header nav a {
    color: #777;
    font-size: 14px;
    font-weight: 700
}

.category-products-header nav a:hover,
.category-products-header nav a.active {
    color: var(--theme-accent,#111)
}

.product-list-toolbar {
    margin-top: 4px;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 15px;
    border-radius: 8px;
    background: #fff;
    color: #222
}

.product-list-count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    white-space: nowrap
}

.product-list-count strong {
    color: var(--theme-accent,#111);
    font-size: 20px
}

.product-list-count span {
    color: #666;
    font-size: 14px
}

.product-filter {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 7px
}

.product-filter select,
.product-filter input,
.product-filter button {
    height: 36px;
    border: 1px solid #d4d4d4;
    border-radius: 7px;
    background: #fff;
    font: inherit
}

.product-filter select { padding: 0 30px 0 10px }
.product-filter input { width: 105px; padding: 0 9px }
.product-filter button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 20px; border-color: var(--theme-accent,#111); background: var(--theme-accent,#111); color: #fff; font-weight: 700; cursor: pointer }
.product-filter button i { font-size: 18px }

.home-product-group {
    margin-top: 35px;
    margin-bottom: 42px
}

.home-product-group > header {
    padding-bottom: 14px;
    border-bottom: 2px solid var(--theme-accent,#333)
}

.home-product-group > header h2 {
    margin: 0;
    color: #222;
    font-size: 25px;
    line-height: 1.25
}

.home-product-group > header p {
    margin: 8px 0 0;
    color: #707070;
    font-size: 14px;
    line-height: 1.6
}

.home-product-group-empty {
    grid-column: 1/-1;
    padding: 30px;
    border-radius: 8px;
    background: #fff;
    color: #777;
    text-align: center
}

.home-product-slider {
    position: relative
}

.home-product-viewport {
    overflow: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab
}

.home-product-viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    user-select: none
}

.home-product-viewport::-webkit-scrollbar {
    display: none
}

.category-product-grid.home-product-track {
    display: flex;
    flex-wrap: nowrap;
    grid-template-columns: none;
    align-items: stretch
}

.home-product-track > .category-product-card {
    flex: 0 0 calc((100% - 60px)/4)
}

.home-product-arrow {
    position: absolute;
    z-index: 3;
    top: calc(50% + 12px);
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    color: var(--theme-accent,#333);
    box-shadow: 0 5px 18px rgb(0 0 0 / 16%);
    cursor: pointer;
    transform: translateY(-50%)
}

.home-product-arrow i { font-size: 29px }
.home-product-prev { left: -18px }
.home-product-next { right: -18px }
.home-product-arrow:disabled { opacity: .28; cursor: default }

.category-product-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 20px;
    margin-top: 25px
}

.category-product-card {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 14px 12px 10px;
    overflow: hidden;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    background: #fff;
    color: #084579;
    transition: transform .2s ease,box-shadow .2s ease
}

.category-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgb(0 0 0 / 10%)
}

.product-code { margin-bottom: 8px; font-size: 13px }
.category-product-card > strong { min-height: 38px; font-size: 14px; line-height: 1.35 }
.product-image { height: 245px; display: flex; align-items: center; justify-content: center; margin-top: 8px }
.product-image img { max-width: 100%; max-height: 100%; width: auto; height: auto }
.product-image i { color: #ccc; font-size: 70px }
.product-new { position: absolute; left: 10px; bottom: 47px; padding: 7px 5px; border-radius: 50%; background: #ff4052; color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase }
.product-price { margin-top: auto; padding-top: 10px; border-top: 1px solid #ddd; color: #064477; font-size: 18px; font-weight: 800; text-align: center }
.product-price small { font-size: 11px }
.product-price-request { font-size: 17px; font-weight: 800; text-transform: uppercase }
.product-stock { align-self: center; margin-top: 7px; padding: 5px 12px; border-radius: 5px; background: #f3f3f3; color: #174f78; font-size: 12px }
.product-stock strong { font-weight: 800 }
.product-producible { color: #25703e; background: #eaf7ee; font-weight: 700 }
.product-sold-out { color: #a52d2d; background: #fff0f0; font-weight: 700 }
.product-producible i,.product-sold-out i { font-size: 16px; vertical-align: -2px }

.product-list-empty {
    margin-top: 25px;
    padding: 35px;
    border-radius: 8px;
    background: #fff;
    color: #666;
    text-align: center
}

.product-pagination {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 30px
}

.product-pagination a,
.product-pagination span {
    min-width: 39px;
    height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 7px;
    background: #fff;
    color: #333;
    font-weight: 700
}

.product-pagination .active {
    border-color: var(--theme-accent,#111);
    background: var(--theme-accent,#111);
    color: #fff
}

.product-detail-page { min-height: 520px; padding: 28px 0 60px; overflow-x: hidden; background: #f1f1f1 }
.product-detail-layout { display: grid; grid-template-columns: minmax(360px,480px) minmax(0,1fr); gap: 28px; align-items: start }
.product-gallery { min-width: 0 }
.product-detail-info { min-width: 0; max-width: 100% }
.product-main-image { position: relative; width: 100%; min-height: 470px; display: flex; align-items: center; justify-content: center; padding: 38px 20px 20px; border: 1px solid #ddd; border-radius: 8px; background: #fff }
.product-image-toolbar { position: absolute; z-index: 2; top: 8px; left: 16px; right: 10px; display: flex; align-items: center; justify-content: space-between; color: #555; font-size: 14px; pointer-events: none }
.product-image-toolbar>span i { font-size: 20px; vertical-align: -3px }
.product-main-image-view { position: absolute; inset: 38px 20px 20px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; cursor: zoom-in }
.product-image-favorite { width: 38px; height: 38px; min-height: 0; display: grid; place-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; color: #555; pointer-events: auto }
.product-image-favorite svg { width: 27px; height: 27px; fill: transparent; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: fill .18s ease,color .18s ease,transform .18s ease }.product-image-favorite:hover svg { transform: scale(1.08) }.product-image-favorite span { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0 }.product-image-favorite.is-favorite { border: 0; background: transparent; color: #e31b34 }.product-image-favorite.is-favorite svg { fill: currentColor }
.category-product-card,.similar-product-card { position: relative }
.product-card-favorite { position: absolute; z-index: 4; top: 8px; right: 8px; width: 30px; height: 30px; min-height: 0; display: grid; place-items: center; padding: 0; border: 1px solid #e4e4e4; border-radius: 50%; background: rgb(255 255 255 / 94%); color: #555; box-shadow: 0 3px 10px rgb(0 0 0 / 8%); cursor: pointer }
.product-card-favorite svg { width: 19px; height: 19px; fill: transparent; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: fill .18s ease,color .18s ease,transform .18s ease }.product-card-favorite:hover svg { transform: scale(1.08) }.product-card-favorite span { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0 }.product-card-favorite.is-favorite { border-color: #f1b9c0; background: #fff; color: #e31b34 }.product-card-favorite.is-favorite svg { fill: currentColor }
.product-main-image img { max-width: 100%; max-height: 440px; width: auto; height: auto }
.product-main-image.empty { color: #ccc; cursor: default }
.product-main-image.empty>i { font-size: 100px }
.product-thumbnails { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto }
.product-thumbnails button { width: 74px; height: 74px; flex: 0 0 74px; padding: 5px; border: 1px solid #ddd; border-radius: 6px; background: #fff; cursor: pointer }
.product-thumbnails img { max-width: 100%; max-height: 100% }
.product-detail-info h1 { margin: -4px 0 18px; color: #111; font-size: 31px; line-height: 1.2 }
.product-detail-meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 15px; border-radius: 8px; background: #fff; color: #333; text-transform: uppercase }
.product-detail-meta i { font-size: 18px; vertical-align: -3px }
.product-detail-meta time { color: #555; font-size: 13px; text-transform: none }
.product-description { min-height: 170px; max-width: 100%; padding: 25px 30px; overflow-wrap: anywhere; color: #222 }
.product-description table { display: block; max-width: 100%; overflow-x: auto }
.product-description iframe,.product-description video { max-width: 100% }
.product-option-row { display: grid; grid-template-columns: 185px minmax(0,1fr); align-items: center; gap: 12px; margin-top: 7px; padding: 12px 15px; border-radius: 8px; background: #fff }
.product-option-row strong { color: #222; text-transform: capitalize }
.product-option-row span { min-width: 0; overflow-wrap: anywhere }
.product-option-row strong i { font-size: 18px; vertical-align: -3px }
.product-stock-table { margin-top: 48px; overflow: hidden; border-radius: 8px; color: #333 }
.stock-head,.stock-row,.stock-total { display: grid; grid-template-columns: minmax(0,1fr) 125px }
.stock-head { background: #ccc; text-transform: uppercase }
.stock-head span,.stock-row span,.stock-total strong { padding: 12px 14px }
.stock-head span:last-child,.stock-row span:last-child,.stock-total strong:last-child { border-left: 1px solid #d2d2d2; text-align: right }
.stock-row { border-bottom: 1px solid #d0d0d0 }
.stock-row-excluded { opacity: .55 }
.stock-row > span:first-child { color: #777; font-style: italic }
.stock-color { width: 19px; height: 19px; display: inline-block; margin-right: 8px; border-radius: 50%; vertical-align: -4px }
.stock-total { background: #eee }
.product-detail-actions { display: flex; align-items: stretch; gap: 12px; margin-top: 35px }
.product-detail-price { min-width: 280px; display: flex; align-items: center; justify-content: center; padding: 12px 20px; border-radius: 8px; background: #fff; color: #bd0000; font-size: 20px }
.product-detail-price strong { margin-right: 6px; font-size: 38px; font-weight: 400 }
.product-detail-price small { margin-left: 4px; font-size: 11px; font-weight: 700 }
.product-offer-button { min-width: 165px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 22px; border: 0; border-radius: 8px; background: #e90012; color: #fff; font: inherit; font-weight: 700; cursor: pointer }
.product-offer-modal { position: fixed; inset: 0; z-index: 10020; display: none; align-items: center; justify-content: center; padding: 24px; background: rgb(0 0 0 / 62%) }
.product-offer-modal.is-open { display: flex }
.product-offer-modal-open { overflow: hidden }
.product-offer-dialog { width: min(720px,100%); max-height: calc(100vh - 48px); overflow-y: auto; border-radius: 8px; background: #fff; color: #222; box-shadow: 0 24px 70px rgb(0 0 0 / 28%) }
.product-offer-dialog > header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; border-bottom: 1px solid #e5e5e5; background: #f5f5f5 }
.product-offer-dialog h2 { margin: 0; color: #111; font-size: 21px; text-transform: uppercase }
.product-offer-close { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 8px; background: #fff; color: #d90013; cursor: pointer }
.product-offer-close i { font-size: 30px }
.product-offer-form { display: grid; gap: 12px; padding: 20px 24px 24px }
.product-offer-product,.product-offer-form > label { display: grid; grid-template-columns: 225px minmax(0,1fr); align-items: center; gap: 16px }
.product-offer-product { padding-bottom: 13px; border-bottom: 1px solid #ededed }
.product-offer-product strong { overflow-wrap: anywhere }
.product-offer-form label > span:first-child,.product-offer-product > span { color: #333; font-weight: 600 }
.product-offer-form label b { color: #d90013 }
.product-offer-form input,.product-offer-form select { width: 100%; min-width: 0; height: 42px; padding: 0 12px; border: 1px solid #cfd2d6; border-radius: 6px; background: #fff; color: #222; font: inherit }
.product-offer-form input:focus,.product-offer-form select:focus { outline: 2px solid color-mix(in srgb,var(--theme-accent,#111) 28%,transparent); border-color: var(--theme-accent,#555) }
.offer-quantity { display: flex; align-items: center; gap: 9px }
.offer-quantity input { max-width: 180px }
.offer-quantity em { font-style: normal }
.offer-honeypot { position: absolute!important; left: -10000px!important }
.product-offer-submit { display: flex; justify-content: center; padding-top: 4px }
.product-offer-submit button { min-width: 150px; height: 46px; border: 0; border-radius: 8px; background: #e90012; color: #fff; font: inherit; font-weight: 700; cursor: pointer }
.product-offer-submit button:disabled { opacity: .6; cursor: wait }
.product-offer-result { display: none; padding: 11px 13px; border-radius: 7px; text-align: center }
.product-offer-result.success,.product-offer-result.error { display: block }
.product-offer-result.success { border: 1px solid #b9dfc4; background: #eaf7ee; color: #176b35 }
.product-offer-result.error { border: 1px solid #edbcbc; background: #fff0f0; color: #9e2525 }
.product-image-modal { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 35px; background: rgb(0 0 0 / 88%) }
.product-image-modal.is-open { display: flex }
.product-image-modal img { max-width: 94vw; max-height: 92vh; width: auto; height: auto }
.product-image-modal-close { position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; color: #111; cursor: pointer }
.product-image-modal-close i { font-size: 30px }
.similar-products { margin-top: 45px; padding-top: 25px; border-top: 1px solid #d5d5d5 }
.similar-products h2 { margin: 0 0 20px; color: #222; font-size: 24px }
.similar-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px }
.similar-product-card { min-width: 0; display: flex; flex-direction: column; padding: 14px 12px 11px; border: 1px solid #e1e1e1; border-radius: 8px; background: #fff; color: #084579; transition: transform .2s ease,box-shadow .2s ease }
.similar-product-card:hover { transform: translateY(-3px); box-shadow: 0 9px 22px rgb(0 0 0 / 10%) }
.similar-product-card > strong { min-height: 38px; font-size: 14px; line-height: 1.35 }
.similar-product-image { height: 220px; display: flex; align-items: center; justify-content: center; margin: 10px 0 }
.similar-product-image img { max-width: 100%; max-height: 100%; width: auto; height: auto }
.similar-product-image i { color: #ccc; font-size: 60px }

@media (max-width: 900px) { .similar-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)) } }

@media (max-width: 900px) {
    .product-detail-layout { grid-template-columns: minmax(0,1fr) }
    .product-main-image { min-height: 380px }
    .product-detail-info h1 { margin-top: 8px }
}

@media (max-width: 560px) {
    .product-detail-page { padding-top: 14px }
    .product-main-image { min-height: 310px }
    .product-main-image img { max-height: 285px }
    .product-detail-info h1 { font-size: 25px }
    .page-heading-row { flex-direction: column; gap: 5px }
    .site-breadcrumb { max-width: 100%; justify-content: flex-start; padding-top: 0; text-align: left }
    .product-detail-meta { align-items: flex-start; flex-direction: column }
    .product-description { min-height: 0; padding: 20px 5px }
    .product-option-row { grid-template-columns: 1fr }
    .product-stock-table { width: 100%; max-width: 100%; margin-top: 25px; overflow: hidden }
    .stock-head,.stock-row,.stock-total { min-width: 0; grid-template-columns: minmax(0,1fr) 90px }
    .stock-head span,.stock-row span,.stock-total strong { min-width: 0; padding: 10px 9px; overflow-wrap: anywhere }
    .product-detail-actions { flex-direction: column }
    .product-detail-price,.product-offer-button { min-width: 0; min-height: 65px }
    .product-offer-modal { padding: 10px }
    .product-offer-dialog { max-height: calc(100vh - 20px) }
    .product-offer-dialog > header { padding: 12px 14px }
    .product-offer-dialog h2 { font-size: 18px }
    .product-offer-form { gap: 10px; padding: 16px 14px 20px }
    .product-offer-product,.product-offer-form > label { grid-template-columns: 1fr; gap: 6px }
    .product-offer-product { gap: 4px }
    .offer-quantity input { max-width: none }
    .similar-product-grid { grid-template-columns: 1fr }
    .similar-product-image { height: 245px }
}

@media (max-width: 1000px) {
    .category-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) }
    .home-product-track > .category-product-card { flex-basis: calc((100% - 40px)/3) }
}

@media (max-width: 760px) {
    .category-products-page { padding-top: 15px }
    .category-products-header h1 { font-size: 25px }
    .category-products-header nav { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 6px }
    .category-products-header nav a { flex: 0 0 auto }
    .product-list-toolbar { align-items: flex-start; flex-direction: column }
    .product-filter { width: 100%; margin-left: 0; flex-wrap: wrap }
    .product-filter select { flex: 1 1 100% }
    .product-filter input { flex: 1 1 calc(50% - 4px); width: 0 }
    .product-filter button { width: 100% }
    .category-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px }
    .home-product-track > .category-product-card { flex-basis: calc((100% - 10px)/2) }
    .home-product-viewport { overflow-x: auto; scroll-snap-type: x mandatory }
    .home-product-track > .category-product-card { scroll-snap-align: start }
    .home-product-prev { left: -8px }
    .home-product-next { right: -8px }
    .product-image { height: 190px }
}

@media (max-width: 430px) {
    .category-product-grid { grid-template-columns: 1fr }
    .home-product-track > .category-product-card { flex-basis: 100% }
    .product-image { height: 245px }
}

@media (max-width: 800px) {
    .product-grid > .home-category-card { flex-basis: calc((100% - 8px)/2) }
}

@media (max-width: 520px) {
    .product-grid > .home-category-card { flex-basis: 100% }
}

    .product-grid img, .featured-row img {
        width: 100%;
        height: auto;
        transition: transform .25s ease
    }

    .product-grid a:hover img, .featured-row a:hover img {
        transform: scale(1.025)
    }

.featured-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 66.1%;
    margin: 9px auto 0
}

.footer-logo {
    height: 82px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #e5e7ea
}

.footer-logo .brand-icon {
        width: 48px;
        height: 40px
    }

.site-footer {
    border-top: 0;
    background: #f7f8fa
}

.footer-logo .firma-logo-2 {
    width: auto;
    height: auto;
    max-width: 100px;
    max-height: 68px;
    object-fit: contain
}

.footer-grid {
    display: grid;
    grid-template-columns: .95fr 1.75fr .8fr;
    gap: 0;
    padding: 38px 0 34px;
    font-size: 14px;
    line-height: 1.55
}

    .footer-grid h3 {
        position: relative;
        font-size: 16px;
        color: var(--theme-accent,#3f3f3f);
        margin: 0 0 22px;
        padding-bottom: 12px
    }

    .footer-grid h3:after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 42px;
        height: 3px;
        border-radius: 3px;
        background: var(--theme-accent,#3f3f3f)
    }

.footer-grid > section {
    min-width: 0;
    padding: 0 38px;
    border-left: 1px solid #e0e3e6
}

.footer-grid > section:first-child {
    padding-left: 0;
    border-left: 0
}

.footer-grid > section:last-child {
    padding-right: 0
}

    .footer-grid strong {
        font-size: 14px
    }

.contact-line {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin: 20px 0
}

    .contact-line > span:first-of-type {
        flex: 1
    }

    .contact-line:first-of-type {
        font-size: 18px
    }

        .contact-line:first-of-type span {
            font-size: 12px
        }

    .contact-line b {
        font-size: 15px
    }

.rss {
    font-size: 22px;
    color: #f47a20
}

.footer-contact {
    min-width: 0
}

.footer-company-name {
    display: block;
    margin-bottom: 21px;
    color: #444;
    font-size: 16px !important
}

.footer-contact-row {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    align-items: start;
    gap: 12px;
    margin: 0 0 17px
}

.footer-contact-row > i,
.footer-rss {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f2f2f2;
    color: var(--theme-accent,#3f3f3f);
    font-size: 21px
}

.footer-contact-row small,
.footer-contact-value,
.footer-contact-row strong {
    display: block
}

.footer-contact-row small {
    margin: 1px 0 4px;
    color: #888;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px
}

.footer-contact-row strong,
.footer-contact-value {
    color: #555;
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere
}

.footer-contact-row strong {
    font-size: 16px
}

.footer-contact-row a:hover,
.footer-rss:hover {
    color: var(--theme-accent,#3f3f3f)
}

.footer-rss {
    margin-top: 4px
}

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 20px
}

.footer-social-link {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f2f2f2;
    color: var(--theme-accent,#3f3f3f);
    font-size: 21px;
    transition: color .2s,background-color .2s
}

.footer-social-link:hover {
    background: var(--theme-accent,#3f3f3f);
    color: #fff
}

.footer-brand-icon {
    width: 17px;
    height: 17px;
    display: block;
    background-color: currentColor;
    -webkit-mask: center/contain no-repeat;
    mask: center/contain no-repeat
}

.footer-brand-facebook {
    -webkit-mask-image: url('/Tasarimlar/12/assets/icons/facebook.svg');
    mask-image: url('/Tasarimlar/12/assets/icons/facebook.svg')
}

.footer-brand-instagram {
    -webkit-mask-image: url('/Tasarimlar/12/assets/icons/instagram.svg');
    mask-image: url('/Tasarimlar/12/assets/icons/instagram.svg')
}

.footer-brand-youtube {
    -webkit-mask-image: url('/Tasarimlar/12/assets/icons/youtube.svg');
    mask-image: url('/Tasarimlar/12/assets/icons/youtube.svg')
}

.footer-socials .footer-rss {
    margin-top: 0
}

.mail-title {
    margin-top: 0 !important
}

.newsletter-card {
    margin-top: 27px;
    padding: 14px;
    border: 1px solid #e0e3e6;
    border-radius: 8px;
    background: #fff
}

.newsletter-card h3 {
    margin-bottom: 12px;
    padding-bottom: 0
}

.newsletter-card h3:after {
    display: none
}

.newsletter-card p {
    margin: 0 0 15px;
    color: #666
}

.newsletter {
    display: flex;
    max-width: 480px;
    height: 42px;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden
}

    .newsletter input {
        flex: 1;
        min-width: 0;
        border: 0;
        padding: 0 10px;
        font-size: 13px;
        font-style: italic
    }

    .newsletter button {
        width: 72px;
        background: var(--theme-accent,#3f3f3f);
        color: #fff;
        border: 0;
        font-size: 13px
    }

.footer-grid ul {
    padding: 0;
    margin: 0;
    list-style: none
}

.footer-grid li {
    margin: 0;
    border-bottom: 1px solid #e4e6e8
}

.footer-grid li:last-child {
    border-bottom: 0
}

.footer-grid li a {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 0
}

    .footer-grid li:before {
        display: none
    }

.copyright {
    background: #eceef0;
    border-top: 1px solid #d9dcdf;
    font-size: 11px
}

    .copyright .container {
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

.bottom-menu {
    display: flex;
    justify-content: flex-end;
    gap: 16px
}

    .bottom-menu .menu-link-with-icon {
        display: inline-flex;
        align-items: center;
        gap: 5px
    }

    .bottom-menu a:hover {
        color: var(--red)
    }

.contact-page {
    padding: 48px 0 60px;
    background: #f5f5f5;
    color: #3d3d3d
}

.company-blog {
    padding: 48px 0 64px;
    background: #f4f5f6;
    color: #3d3d3d
}

.links-page {
    padding: 42px 0 64px;
    background: #f4f5f6;
    color: #3d3d3d
}

.faq-page {
    padding: 42px 0 64px;
    min-height: 420px;
    background: #f4f5f6;
    color: #3d3d3d
}

.gallery-page {
    padding: 42px 0 64px;
    min-height: 420px;
    background: #f4f5f6;
    color: #3d3d3d
}

.gallery-page-layout { display: block }
.gallery-page-layout.has-sidebar { display:grid; grid-template-columns:245px minmax(0,1fr); gap:34px; align-items:start }
.gallery-page-main { min-width:0 }
.gallery-heading { margin-bottom:28px }
.gallery-heading h1 { margin:0 0 9px; font-size:32px; line-height:1.2 }
.gallery-heading p { margin:0; color:#707070; font-size:14px }

.gallery-module {
    margin-bottom: 28px;
    padding: 26px;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff
}

.gallery-module:last-child { margin-bottom:0 }
.gallery-module h2 { margin:0 0 20px; padding-bottom:13px; border-bottom:2px solid var(--gallery-accent,#3f3f3f); font-size:21px }

.gallery-card-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 15px
}

.gallery-card {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 11px;
    padding: 15px;
    border: 1px solid #e0e2e4;
    border-radius: 8px;
    background: #fff;
    color: #555;
    font: inherit;
    cursor: zoom-in;
    transition: border-color .2s,box-shadow .2s,transform .2s
}

.gallery-card:hover {
    border-color: var(--gallery-accent,#3f3f3f);
    box-shadow: 0 10px 25px rgb(0 0 0 / 8%);
    transform: translateY(-2px)
}

.gallery-card img {
    display: block;
    width: auto;
    max-width: 170px;
    height: auto;
    max-height: 220px;
    object-fit: contain
}

.gallery-card span {
    width: 100%;
    overflow: hidden;
    font-size: 12px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap
}

.gallery-module-empty,
.gallery-empty {
    grid-column: 1/-1;
    padding: 28px;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff;
    color: #777;
    text-align: center
}

.gallery-empty i { color:var(--gallery-accent,#3f3f3f); font-size:42px }
.gallery-empty p { margin:10px 0 0 }

.gallery-modal {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 55px 25px 30px
}

.gallery-modal.is-open { display:flex }
.gallery-modal-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgb(0 0 0 / 82%); cursor:zoom-out }
.gallery-modal figure { position:relative; z-index:1; max-width:min(1100px,92vw); max-height:88vh; margin:0; text-align:center }
.gallery-modal figure img { display:block; max-width:100%; max-height:80vh; width:auto; height:auto; margin:auto; border-radius:8px; box-shadow:0 20px 65px rgb(0 0 0 / 45%) }
.gallery-modal figcaption { margin-top:12px; color:#fff; font-size:14px }
.gallery-modal figcaption:empty { display:none }
.gallery-modal-close { position:absolute; z-index:2; top:16px; right:20px; width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid rgb(255 255 255 / 35%); border-radius:50%; background:rgb(0 0 0 / 35%); color:#fff; font-size:26px; cursor:pointer }
.gallery-modal-nav { position:absolute; z-index:2; top:50%; width:48px; height:48px; display:grid; place-items:center; padding:0; border:1px solid rgb(255 255 255 / 35%); border-radius:50%; background:rgb(0 0 0 / 38%); color:#fff; font-size:27px; cursor:pointer; transform:translateY(-50%); transition:background-color .2s }
.gallery-modal-nav:hover { background:var(--gallery-accent,#3f3f3f) }
.gallery-modal-prev { left:22px }
.gallery-modal-next { right:22px }
body.gallery-modal-open { overflow:hidden }

.faq-page-layout {
    display: block
}

.faq-page-layout.has-sidebar {
    display: grid;
    grid-template-columns: 245px minmax(0,1fr);
    gap: 34px;
    align-items: start
}

.faq-page-main {
    min-width: 0
}

.faq-heading {
    margin-bottom: 28px
}

.faq-heading h1 {
    margin: 0 0 9px;
    font-size: 32px;
    line-height: 1.2
}

.faq-heading p {
    margin: 0;
    color: #707070;
    font-size: 14px
}

.faq-module {
    margin-bottom: 25px
}

.faq-module:last-child {
    margin-bottom: 0
}

.faq-module > h2 {
    margin: 0 0 15px;
    padding-bottom: 11px;
    border-bottom: 2px solid var(--faq-accent,#3f3f3f);
    font-size: 20px
}

.faq-accordion {
    display: grid;
    gap: 10px
}

.faq-item {
    overflow: hidden;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff;
    transition: border-color .2s,box-shadow .2s
}

.faq-item[open] {
    border-color: var(--faq-accent,#3f3f3f);
    box-shadow: 0 8px 22px rgb(0 0 0 / 6%)
}

.faq-item summary {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 19px;
    color: #3f3f3f;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    list-style: none
}

.faq-item summary::-webkit-details-marker {
    display: none
}

.faq-item summary i {
    position: relative;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    background: #f1f2f3
}

.faq-item summary i:before,
.faq-item summary i:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 2px;
    background: var(--faq-accent,#3f3f3f);
    transform: translate(-50%,-50%)
}

.faq-item summary i:after {
    transform: translate(-50%,-50%) rotate(90deg);
    transition: transform .2s
}

.faq-item[open] summary i:after {
    transform: translate(-50%,-50%) rotate(0)
}

.faq-item[open] summary {
    color: var(--faq-accent,#3f3f3f)
}

.faq-answer {
    padding: 0 19px 19px
}

.faq-answer p {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid #eceeef;
    color: #656565;
    font-size: 14px;
    line-height: 1.75
}

.faq-module-empty,
.faq-empty {
    padding: 28px;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff;
    color: #777;
    text-align: center
}

.faq-empty i {
    color: var(--faq-accent,#3f3f3f);
    font-size: 42px
}

.faq-empty p {
    margin: 10px 0 0
}

.links-page-layout {
    display: block
}

.links-page-layout.has-sidebar {
    display: grid;
    grid-template-columns: 245px minmax(0,1fr);
    gap: 34px;
    align-items: start
}

.links-page-main {
    min-width: 0
}

.links-heading {
    margin-bottom: 30px
}

.links-heading > span {
    display: block;
    margin-bottom: 8px;
    color: var(--links-accent,#3f3f3f);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px
}

.links-heading h1 {
    margin: 0 0 9px;
    font-size: 32px;
    line-height: 1.2
}

.links-heading p {
    margin: 0;
    color: #707070;
    font-size: 14px
}

.link-module {
    margin-bottom: 28px;
    padding: 30px;
    
    border: 1px solid #dfe1e3;
    background: #fff;
    
    border-radius: 8px;
}

.link-module:last-child {
    margin-bottom: 0
}

.link-module > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 21px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e4e6e8
}

.link-module > header > div {
    display: flex;
    align-items: center;
    gap: 11px
}

.link-module > header i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f1f2f3;
    color: var(--links-accent,#3f3f3f);
    font-size: 20px
}

.link-module h2 {
    margin: 0;
    font-size: 21px
}

.link-module > header > span {
    flex: 0 0 auto;
    color: #888;
    font-size: 12px
}

.link-card-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 15px
}

.link-card {
    position: relative;
    min-width: 0;
    min-height: 176px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e0e2e4;
    border-radius: 8px;
    background: #fff;
    transition: border-color .2s,box-shadow .2s,transform .2s
}

a.link-card:hover {
    border-color: var(--links-accent,#3f3f3f);
    box-shadow: 0 10px 25px rgb(0 0 0 / 8%);
    transform: translateY(-2px)
}

.link-card-image {
    height: 125px;
    display: grid;
    place-items: center;
    padding: 15px;
    border-bottom: 1px solid #eceeef;
    background: #fff
}

.link-card.no-title {
    min-height: 125px
}

.link-card.no-title .link-card-image {
    height: 100%;
    border-bottom: 0
}

.link-card-image img {
    width: 170px;
    max-width: 170px;
    height: 90px;
    max-height: 90px;
    object-fit: contain
}

.link-card-no-image {
    color: var(--links-accent,#3f3f3f);
    font-size: 38px
}

.link-card-copy {
    min-width: 0;
    display: block;
    padding: 15px 38px;
    text-align: center
}

.link-card-copy strong,
.link-card-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.link-card-copy strong {
    color: #3f3f3f;
    font-size: 14px
}

.link-card-copy small {
    margin-top: 5px;
    color: #888;
    font-size: 11px
}

.link-card-arrow {
    position: absolute;
    right: 14px;
    bottom: 17px;
    color: var(--links-accent,#3f3f3f);
    font-size: 18px
}

.link-module-empty,
.links-empty {
    padding: 28px;
    border-radius: 8px;
    background: #f7f8f9;
    color: #777;
    text-align: center
}

.links-empty {
    border: 1px solid #dfe1e3;
    background: #fff
}

.links-empty i {
    color: var(--links-accent,#3f3f3f);
    font-size: 42px
}

.links-empty p {
    margin: 10px 0 0
}

.blog-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 30px
}

.blog-heading span,
.blog-detail header > span {
    display: block;
    margin-bottom: 8px;
    color: var(--blog-accent,#3f3f3f);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px
}

.blog-heading h1 {
    margin: 0 0 9px;
    font-size: 32px;
    line-height: 1.2
}

.blog-heading p {
    margin: 0;
    color: #707070;
    font-size: 14px
}

.blog-count {
    flex: 0 0 auto;
    padding: 8px 14px;
    border-radius: 20px;
    background: #fff;
    color: var(--blog-accent,#3f3f3f);
    font-size: 12px;
    font-weight: 700
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px
}

.blog-card {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgb(0 0 0 / 5%);
    transition: border-color .2s,box-shadow .2s,transform .2s
}

.blog-card:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--blog-accent,#3f3f3f)
}

.blog-card:hover {
    border-color: var(--blog-accent,#3f3f3f);
    box-shadow: 0 15px 34px rgb(0 0 0 / 9%);
    transform: translateY(-3px)
}

.blog-card-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 27px
}

.blog-card time,
.blog-detail time {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #888;
    font-size: 12px
}

.blog-card time i,
.blog-detail time i {
    color: var(--blog-accent,#3f3f3f);
    font-size: 17px
}

.blog-card h2 {
    margin: 12px 0 10px;
    font-size: 20px;
    line-height: 1.4
}

.blog-card p {
    display: -webkit-box;
    margin: 0 0 18px;
    overflow: hidden;
    color: #666;
    font-size: 13px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.blog-read-more,
.blog-back {
    width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--blog-accent,#3f3f3f);
    font-size: 13px;
    font-weight: 700
}

.blog-read-more {
    margin-top: auto
}

.blog-read-more i,
.blog-back i {
    font-size: 19px
}

.blog-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 32px
}

.blog-pagination a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #d9dcdf;
    border-radius: 8px;
    background: #fff;
    font-weight: 700
}

.blog-pagination a:hover,
.blog-pagination a.active {
    border-color: var(--blog-accent,#3f3f3f);
    background: var(--blog-accent,#3f3f3f);
    color: #fff
}

.blog-detail {
    max-width: 920px;
    margin: 0 auto
}

.blog-detail > .blog-back {
    margin-bottom: 22px
}

.blog-detail header {
    margin-bottom: 22px;
    padding: 30px 34px;
    border-radius: 8px;
    background: var(--blog-accent,#3f3f3f);
    color: #fff
}

.blog-detail header > span,
.blog-detail header time,
.blog-detail header time i {
    color: rgb(255 255 255 / 78%)
}

.blog-detail h1 {
    margin: 0 0 17px;
    font-size: 34px;
    line-height: 1.3
}

.blog-content {
    display: flow-root;
    padding: 38px 42px;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    line-height: 1.85
}

.blog-content > :first-child { margin-top: 0 }
.blog-content > :last-child { margin-bottom: 0 }
.blog-content h2 { margin: 30px 0 12px; font-size: 24px }
.blog-content h3 { margin: 26px 0 10px; font-size: 20px }
.blog-content p { margin: 0 0 18px }
.blog-content img { height: auto; margin: 24px auto; border-radius: 8px }
.blog-content img[style*="float: right"],
.blog-content img[style*="float:right"] {
    max-width: 48%;
    margin: 4px 0 22px 28px
}

.blog-content img[style*="float: left"],
.blog-content img[style*="float:left"] {
    max-width: 48%;
    margin: 4px 28px 22px 0
}
.blog-content a { color: var(--blog-accent,#3f3f3f); text-decoration: underline }
.blog-content ul,.blog-content ol { margin: 0 0 20px; padding-left: 25px }

.blog-detail footer {
    margin-top: 22px
}

.blog-empty {
    padding: 45px;
    border: 1px solid #dfe1e3;
    border-radius: 8px;
    background: #fff;
    color: #666;
    text-align: center
}

.blog-empty i {
    color: var(--blog-accent,#3f3f3f);
    font-size: 45px
}

.blog-empty p {
    margin: 12px 0 0
}

.contact-heading {
    margin-bottom: 28px
}

.contact-heading span {
    display: block;
    margin-bottom: 8px;
    color: var(--contact-accent,#3f3f3f);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px
}

.contact-heading h1 {
    margin: 0 0 10px;
    font-size: 32px;
    line-height: 1.2
}

.contact-heading p {
    margin: 0;
    font-size: 15px;
    color: #666
}

.contact-summary {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
    margin-bottom: 38px
}

.contact-summary-card {
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    background: #fff;
    transition: border-color .2s,transform .2s
}

.contact-summary-card:hover {
    border-color: var(--contact-accent,#3f3f3f);
    transform: translateY(-2px)
}

.contact-summary-card > i {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--contact-accent,#3f3f3f);
    color: #fff;
    font-size: 23px
}

.contact-summary-card small,
.contact-summary-card strong {
    display: block
}

.contact-summary-card small {
    margin-bottom: 4px;
    color: #888;
    font-size: 12px
}

.contact-summary-card strong {
    font-size: 16px;
    overflow-wrap: anywhere
}

.address-section h2 {
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--contact-accent,#3f3f3f);
    font-size: 23px
}

.address-grid {
    display: grid;
    grid-template-columns: minmax(300px,.8fr) minmax(430px,1.2fr);
    gap: 22px;
    align-items: stretch
}

.address-list-panel {
    border: 1px solid #dedede;
    border-radius: 8px;
    overflow: hidden;
    background: #fff
}

.address-card {
    padding: 22px 24px;
    border-bottom: 1px solid #e4e4e4
}

.address-card:last-child {
    border-bottom: 0
}

.address-map {
    min-height: 100%;
    border: 1px solid #dedede;
    border-radius: 8px;
    overflow: hidden;
    background: #fff
}

.address-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 340px;
    border: 0
}

.address-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px
}

.address-card-title i {
    color: var(--contact-accent,#3f3f3f);
    font-size: 25px
}

.address-card h3 {
    margin: 0;
    font-size: 19px
}

.address-card address {
    min-height: 48px;
    margin-bottom: 16px;
    color: #666;
    font-size: 14px;
    font-style: normal;
    line-height: 1.65
}

.address-card > a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    font-size: 14px
}

.address-card > a i {
    color: var(--contact-accent,#3f3f3f);
    font-size: 18px
}

.address-card .map-link {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--contact-accent,#3f3f3f);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700
}

.address-card .map-link:hover {
    text-decoration: underline;
    cursor: pointer
}

.no-address {
    margin: 0;
    padding: 22px;
    border: 1px solid #dedede;
    border-radius: 8px;
    background: #fff
}

.contact-form-section {
    display: grid;
    grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr);
    gap: 44px;
    margin-top: 42px;
    padding: 34px;
    border: 1px solid #dedede;
    border-radius: 8px;
    background: #fff
}

.contact-form-heading span {
    display: block;
    margin-bottom: 8px;
    color: var(--contact-accent,#3f3f3f);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px
}

.contact-form-heading h2 {
    margin: 0 0 12px;
    font-size: 26px
}

.contact-form-heading p {
    margin: 0;
    color: #707070;
    font-size: 14px;
    line-height: 1.6
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px
}

.contact-field {
    display: block
}

.contact-field span {
    display: block;
    margin-bottom: 7px;
    color: #444;
    font-size: 13px;
    font-weight: 700
}

.contact-field input,
.contact-field textarea {
    display: block;
    width: 100%;
    border: 1px solid #d7d7d7;
    border-radius: 2px;
    background: #fff;
    color: #333;
    font: inherit;
    outline: 0;
    transition: border-color .2s,box-shadow .2s
}

.contact-field input {
    height: 46px;
    padding: 0 13px
}

.contact-field textarea {
    min-height: 135px;
    padding: 13px;
    resize: vertical
}

.contact-field input:focus,
.contact-field textarea:focus {
    border-color: var(--contact-accent,#3f3f3f);
    box-shadow: 0 0 0 3px rgb(0 0 0 / 7%)
}

.contact-field-email,
.contact-field-message,
.contact-form-actions {
    grid-column: 1/-1
}

.contact-form-actions {
    display: flex;
    justify-content: flex-end
}

.contact-submit {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 24px;
    border: 0;
    border-radius: 2px;
    background: var(--contact-accent,#3f3f3f);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer
}

.contact-submit i {
    font-size: 19px
}

.contact-submit:disabled {
    opacity: .65;
    cursor: wait
}

.contact-form-result {
    display: none;
    grid-column: 1/-1;
    padding: 13px 15px;
    border-radius: 8px;
    font-weight: 600
}

.contact-form-result:not(:empty) {
    display: block
}

.contact-form-result.success {
    color: #176b35;
    border: 1px solid #bfe3ca;
    background: #eaf7ee
}

.contact-form-result.error {
    color: #9e2525;
    border: 1px solid #efc1c1;
    background: #fff0f0
}

@media(max-width:800px) {
    .header-main {
        height: auto;
        display: grid;
        padding: 20px 0;
        grid-template-columns: 1fr auto
    }

    .site-header.has-vertical-logo .header-main {
        position: relative;
        min-height: 172px;
        padding-top: 0;
        grid-template-rows: 110px 42px;
        row-gap: 0
    }

    .site-header.has-vertical-logo .brand {
        position: absolute;
        z-index: 2;
        top: -20px;
        left: 0;
        width: var(--main-logo-width);
        max-width: none;
        margin: 0
    }

    .site-header.has-vertical-logo .brand .firma-logo-1 {
        width: var(--main-logo-width);
        height: var(--main-logo-height);
        max-width: none;
        max-height: 110px
    }

    .site-header.has-vertical-logo .call-us {
        grid-column: 2;
        grid-row: 1;
        align-self: center
    }

    .site-header.has-vertical-logo .search {
        grid-column: 1/-1;
        grid-row: 2
    }

    .search {
        grid-column: 1/-1;
        grid-row: 2;
        width: 100%;
        max-width: none
    }

    .call-us {
        margin-left: 0;
        grid-column: 2;
        grid-row: 1
    }

    .nav-inner {
        display: block;
        padding-inline: 12px
    }

    .nav-inner::before,
    .nav-inner::after { display: none }

    .category-scroll-arrow { display: none !important }

    .member-header-actions { grid-column: 2; grid-row: 1 }
    .member-header-actions a { padding: 8px 9px; font-size: 11px }
    .product-member-actions { width: 100%; flex-direction: column }
    .product-cart-control { width: 100% }.product-cart-button { flex: 1 }.cart-layout { grid-template-columns: 1fr }.cart-item { grid-template-columns: 1fr 1fr }.cart-item>div:first-child { grid-column: 1/-1 }

    .menu-button {
        display: block;
        color: var(--header-text,#333)
    }

    .main-nav {
        display: none;
        width: 100%;
        min-width: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-bottom: 10px;
        transform: none
    }

    .nav-more {
        display: none !important
    }

        .main-nav.is-open {
            display: flex
        }

        .main-nav a {
            padding: 10px 0;
            border-top: 1px solid var(--menu-divider,#eee)
        }

        .main-nav > a,
        .main-nav > .nav-group > a,
        .main-nav > .category-nav > .category-trigger {
            color: var(--header-text,#333)
        }

        .category-trigger .bx {
            display: none
        }

    .nav-group {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: stretch
    }

        .nav-group > a {
            display: block;
            width: 100%;
            border-bottom: 1px solid var(--menu-divider,#eee)
        }

    .category-nav {
        width: 100%;
        border-bottom: 1px solid var(--menu-divider,#eee)
    }

    .category-nav + .nav-group > a {
        border-top: 0
    }

    .category-mega {
        position: static;
        display: none;
        width: 100%;
        max-height: 320px;
        overflow-y: auto;
        padding: 10px 0 0 16px;
        border: 0;
        border-radius: 0;
        box-shadow: none
    }

    .category-nav.is-open .category-mega {
        display: block
    }

    .category-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 5px
    }

        .category-grid a {
            min-height: 44px;
            padding: 8px;
            border: 1px solid var(--menu-divider,#eee);
            overflow:hidden;
        }

    .sub-nav {
        position: static;
        display: block;
        width: 100%;
        min-width: 0;
        padding: 0 0 0 18px;
        border: 0;
        color: var(--header-text,#333);
        background: transparent;
        box-shadow: none
    }

        .sub-nav a {
            display: block;
            width: 100%;
            padding: 10px 12px;
            color: var(--header-text,#333);
            font-size: .92em
        }

        .sub-nav a:first-child {
            border-top: 0
        }

        .sub-nav:before {
            display: none
        }

    .product-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .inner-page-layout {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .inner-page-layout .page-content {
        order: 1
    }

    .inner-page-layout .page-sidebar {
        order: 2
    }

    .featured-row {
        width: 100%
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px
    }

    .footer-grid > section {
        padding: 0 24px
    }

        .footer-grid section:last-child {
            grid-column: 1/-1;
            margin-top: 4px;
            padding: 28px 0 0;
            border-top: 1px solid #e0e3e6;
            border-left: 0
        }

    .footer-logo {
        height: 100px
    }

    .contact-summary,
    .address-grid,
    .address-grid.single-address {
        grid-template-columns: 1fr
    }

    .address-map {
        min-height: 300px
    }

    .contact-form-section {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 26px
    }

    .blog-grid {
        grid-template-columns: 1fr
    }

    .link-card-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .document-card-grid {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }

    .links-page-layout.has-sidebar {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .links-page-layout .links-page-main {
        order: 1
    }

    .links-page-layout .links-sidebar {
        order: 2
    }

    .faq-page-layout.has-sidebar {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .faq-page-layout .faq-page-main {
        order: 1
    }

    .faq-page-layout .faq-sidebar {
        order: 2
    }

    .gallery-page-layout.has-sidebar { grid-template-columns:1fr; gap:20px }
    .gallery-page-layout .gallery-page-main { order:1 }
    .gallery-page-layout .gallery-sidebar { order:2 }
    .gallery-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }

    .blog-detail h1 {
        font-size: 29px
    }
}

@media(max-width:520px) {
    .container {
        width: min(100% - 22px,1400px)
    }

    .page-form-module {
        padding: 20px 16px
    }

    .page-form-grid {
        grid-template-columns: 1fr
    }

    .page-form-field-full,
    .page-form-actions,
    .page-form-empty {
        grid-column: auto
    }

    .page-form-submit {
        width: 100%
    }

    .contact-page {
        padding: 32px 0 42px
    }

    .contact-heading h1 {
        font-size: 26px
    }

    .contact-summary-card,
    .address-card {
        padding: 17px
    }

    .contact-form-section {
        padding: 20px 17px
    }

    .contact-form-grid {
        grid-template-columns: 1fr
    }

    .contact-field-email,
    .contact-field-message,
    .contact-form-actions {
        grid-column: auto
    }

    .contact-submit {
        width: 100%
    }

    .company-blog {
        padding: 32px 0 44px
    }

    .links-page {
        padding: 32px 0 44px
    }

    .faq-page {
        padding: 32px 0 44px
    }

    .gallery-page { padding:32px 0 44px }
    .gallery-heading h1 { font-size:27px }
    .gallery-module { padding:17px }
    .gallery-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px }
    .gallery-card { padding:10px }
    .gallery-card img { max-width:100% }
    .gallery-modal { padding-right:12px; padding-left:12px }
    .gallery-modal-nav { width:40px; height:40px; font-size:23px }
    .gallery-modal-prev { left:8px }
    .gallery-modal-next { right:8px }

    .faq-heading h1 {
        font-size: 27px
    }

    .faq-item summary {
        min-height: 56px;
        padding: 13px 15px;
        font-size: 14px
    }

    .faq-answer {
        padding: 0 15px 16px
    }

    .links-heading h1 {
        font-size: 27px
    }

    .link-module {
        padding: 17px
    }

    .link-module > header {
        align-items: flex-start
    }

    .link-card-grid {
        grid-template-columns: 1fr
    }

    .document-card-grid {
        grid-template-columns: 1fr
    }

    .link-card {
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr
    }

    .link-card-image {
        height: 125px;
        min-height: 125px;
        border-right: 0;
        border-bottom: 1px solid #eceeef
    }

    .link-card.no-title .link-card-image {
        min-height: 125px;
        border-bottom: 0
    }

    .link-card-copy {
        align-self: center;
        width: 100%;
        padding: 15px 34px;
        text-align: center
    }

    .blog-heading {
        align-items: flex-start;
        flex-direction: column
    }

    .blog-heading h1 {
        font-size: 27px
    }

    .blog-detail header,
    .blog-content {
        padding: 24px 20px
    }

    .blog-detail h1 {
        font-size: 25px
    }

    .blog-content img[style*="float"] {
        float: none !important;
        display: block;
        max-width: 100%;
        margin: 20px auto !important
    }

    .utility-inner {
        gap: 12px
    }

    .header-main {
        grid-template-columns: minmax(0,1fr) auto;
        column-gap: 14px
    }

    .brand {
        grid-column: 1;
        grid-row: 1
    }

    .brand .firma-logo-1 {
        max-width: 250px;
        width: var(--main-logo-width,auto);
        height: var(--main-logo-height,auto)
    }

    .call-us {
        display: flex;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        margin-top: 0;
        margin-right:8px;
    }

    .search {
        grid-column: 1/-1;
        grid-row: 2
    }

    .call-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        font-size: 22px
    }

    .call-copy strong {
        font-size: 14px
    }

    .brand strong {
        font-size: 18px
    }

    .product-grid {
        grid-template-columns: 1fr;
        gap: 7px
    }

    .featured-row {
        grid-template-columns: 1fr
    }

    .products {
        padding-top: 18px
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-grid > section,
    .footer-grid > section:first-child,
    .footer-grid > section:last-child {
        margin: 0;
        padding: 25px 0 0;
        border-top: 1px solid #e0e3e6;
        border-left: 0
    }

    .footer-grid > section:first-child {
        padding-top: 0;
        border-top: 0
    }

        .footer-grid section:last-child {
            grid-column: auto
        }

    .footer-logo {
        height: 80px
    }
}
