html {
    scrollbar-gutter: stable;
}
body {
    background: var(--site-background-color);
}
body.has-offcanvas {
    overflow: hidden;
}
#page-container {
    min-height: 100vh;
    display: flex;
    flex-flow: column;
}
#content-wrapper {
    flex-grow: 1;
    margin: 0 calc(var(--gutter-x) / 2);
}
#important-notice {
    background: var(--important-notice-background-color);
    color: var(--important-notice-text-color);
    text-align: center;
    font-weight: 600;
}
#important-notice .fourteen-forty {
    padding: calc(var(--gutter-x) / 5);
    font-size: 0.9em;
}
@media (max-width: 767px) {
    #important-notice .fourteen-forty {
        padding: calc(var(--gutter-x) / 2);
        font-size: 0.8em;
    }
}
#site-header {
    background: var(--header-background-color);
    color: var(--header-text-color);
    padding: calc(var(--gutter-y) / 2) var(--gutter-x);
}

#site-menu {
    position: sticky;
    display: block;
    top: 0;
    z-index: 999;
    background: #fff;
    margin-bottom: var(--gutter-y);
}
@media (max-width: 991px) {
    #site-menu {
        margin-bottom: 0;
    }
    #site-menu .navbar-header a {
        color: var(--navigation-text-color);
    }
}
@media (max-width: 991px) {
    #site-menu .container {
        padding: 0 !important;
    }
}
#site-menu .navbar {
    padding: calc(var(--gutter-x) / 2);
    border-radius: 0;
}
@media (min-width: 992px) {
    #site-menu .navbar {
        padding: 0;
    }
    #site-menu .navbar .dropdown-menu .nav-link {
        background: var(--dropdown-menu-item-background-color);
        color: var(--dropdown-menu-item-text-color);
    }
    #site-menu .navbar .dropdown-menu .nav-link:hover {
        filter: brightness(0.95);
    }
}
#site-menu .dropdown-menu {
    overflow: hidden;
    --gutter-y: 0.75em;
}
/* scrolling-down: reserved for future use */
.navbar-header {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.5em 1em;
    justify-content: space-between;
    background: var(--header-background-color);
    color: var(--header-text-color);
    width: 100%;
}
@media (min-width: 768px) {
    .navbar-header {
        gap: calc(var(--gutter-x) / 2);
    }
}
@media (min-width: 992px) {
    .navbar-header {
        padding: 0.75em 1em;
    }
}
.navbar-header .fourteen-forty {
    display: inherit;
    flex-flow: inherit;
    gap: inherit;
    justify-content: inherit;
    align-items: inherit;
    padding-top: 0;
    padding-bottom: 0;
}
.navbar-header .logotype {
    flex-grow: 1;
}
.navbar-header .logotype img {
    max-width: 150px;
    max-height: 48px;
}
@media (min-width: 768px) {
    .navbar-header .logotype img {
        max-width: 250px;
        max-height: 60px;
    }
}
@media (min-width: 768px) {
    .navbar-header .logotype {
        width: auto;
    }
}
@media (min-width: 992px) {
    .navbar-header .logotype {
        flex-grow: 0;
    }
}
.navbar-header .navbar-brand {
    display: none;
    width: calc(var(--sidebar-width) + var(--gutter-x) / 2);
    font-size: 17px;
}
.navbar-header .navbar-brand:hover,
.navbar-header .navbar-brand:focus {
    text-decoration: none;
}
.navbar-header .navbar-brand > img {
    display: block;
}
@media (min-width: 768px) {
    .navbar-header .navbar-brand {
        display: block;
    }
}
.navbar-header form[name="search_form"] .input-group {
    background-color: transparent;
    border: 1px solid #c1c1c1;
}
.navbar-header form[name="search_form"] .input-group * {
    padding: 6px 15px;
}
.navbar-header .navbar-search {
    flex: 1 1 auto;
    margin: 0 auto;
}
@media (max-width: 991px) {
    .navbar-header .navbar-search {
        width: 100%;
        order: 999;
    }
}
@media (min-width: 992px) {
    .navbar-header .navbar-search {
        max-width: 600px;
    }
}
.navbar-header .regional-setting {
    padding-bottom: 0;
}
.navbar-header .navbar-icon {
    font-size: 1.5em;
    color: #000 !important;
}
.navbar-icon svg {
    fill: var(--navigation-background-color);
    stroke: var(--navigation-background-color);
    width: 25px;
    height: 25px;
}
#cart {
    position: relative;
    display: inline-block;
}
#cart > a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 4px;
    border: 1px transparent solid;
    border-radius: var(--border-radius);
    color: inherit;
    white-space: nowrap;
}
#cart > a:hover {
    border-color: var(--default-border-color);
    text-decoration: none;
}
#cart img {
    max-width: 2em;
    max-height: 2em;
}
@media (min-width: 768px) {
    #cart img {
        font-size: 1.5em;
    }
}
#cart .badge {
    background: #ffc8b3;
    border-radius: 2rem;
    padding: 0.25em 0em;
    display: inline-block;
    text-align: center;
    position: absolute;
    top: 15px;
    right: -10px;
    width: 2em;
    animation: pulsating 1.5s linear infinite;
    font-size: 10px;
    color: #000;
}
#cart .badge:empty {
    display: none;
}
@media (max-width: calc(768px - 1px)) {
    #cart .details {
        display: none;
    }
}
@media (max-width: 992px) {
    #cart #cart .badge {
        top: 15px;
        right: 0;
    }
}
#sidebar {
    position: relative;
    display: flex;
    flex-flow: column;
}
#footer {
    background-color: var(--footer-background-color);
    color: var(--footer-text-color);
    padding: var(--gutter-y) calc(var(--gutter-x) / 2);
}
#footer a {
    color: inherit;
}
#footer .columns {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: var(--gutter-x);
}
@media (max-width: 991px) {
    #footer .columns {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    #footer .columns {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 567px) {
    #footer .columns {
        grid-template-columns: repeat(1, 1fr);
    }
}
#footer .newsletter {
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 767px) {
    #footer .newsletter {
        flex-direction: column;
        align-items: baseline;
    }
}
#footer .title {
    font-size: 1.1em;
    margin: 0 0 0.5em 0;
    color: var(--footer-title-color);
}
#footer .list-unstyled li {
    padding: 0;
}
#footer ul.list-vertical li {
    padding: 0;
}
#box-newsletter-subscribe .form-group {
    margin: 0 auto;
}
#box-newsletter-subscribe .form-control,
#box-newsletter-subscribe .btn {
    padding: 10px 15px;
}
#box-newsletter-subscribe p {
    margin-top: 0;
}
#copyright .notice {
    font-size: 0.75em;
}
#copyright .notice a {
    color: inherit;
    text-decoration: underline;
}
#scroll-up {
    bottom: 30px;
    display: none;
    height: 48px;
    position: fixed;
    right: 30px;
    width: 48px;
    z-index: 9999;
}
#scroll-up .fa {
    color: #cecece;
}
/* Boxes */
.box {
    margin-bottom: var(--gutter-y);
}
#box-cookie-notice {
    background: var(--cookie-notice-background-color);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1em;
    backdrop-filter: saturate(200%) blur(5px);
    color: var(--cookie-notice-text-color);
    z-index: 999;
}
#box-cookie-notice .notice {
    margin-bottom: 1em;
}
#box-cookie-notice .notice a {
    color: inherit;
    text-decoration: underline;
}
#box-cookie-notice button {
    margin: 0 0.5em;
}
@media (min-width: 768px) {
    #box-cookie-notice {
        max-width: 480px;
        margin: 0 auto;
        bottom: var(--gutter-y);
        border-radius: var(--border-radius);
    }
}
#box-recently-viewed-products .link img {
    transition: all 100ms linear;
}
#box-recently-viewed-products .link img:hover {
    transform: scale(1.05);
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}
@media (min-width: 992px) {
    #box-also-purchased-products {
        position: sticky;
        top: 0;
    }
}
#box-manufacturer-logotypes img {
    max-height: 60px;
}
#box-filter .manufacturers ul {
    max-height: 200px;
    overflow-y: auto;
}
#box-recently-viewed-products .listing {
    grid-template-columns: repeat(auto-fill, minmax(64px, 0.5fr));
}
.listing {
    display: grid;
    grid-gap: calc(var(--gutter-x) / 2);
}
@media (min-width: 768px) {
    .listing {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}
.listing.products.columns {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
@media (min-width: 768px) {
    .listing.products.columns {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    }
}
.listing.products.rows {
    grid-auto-flow: row;
    grid-template-columns: initial;
}
.listing.categories {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}
@media (min-width: 768px) {
    .listing.categories {
        grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    }
}
.listing.manufacturers {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
@media (min-width: 768px) {
    .listing.manufacturers {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}
.listing h1,
.listing h2,
.listing h3 {
    padding-bottom: 0;
    border: none;
}
.listing a {
    color: inherit;
    text-decoration: none;
}
.listing .category,
.listing .manufacturer,
.listing .product {
    position: relative;
    overflow: hidden;
    background: var(--image-whitespace-color);
    color: inherit;
    text-decoration: none;
    transition: all 0.5s ease;
    transform: scale(1);
}
@media (min-width: 768px) {
    .listing .category:hover,
    .listing .manufacturer:hover,
    .listing .product:hover .image-wrapper {
        filter: opacity(0.7);
    }
}
@media (min-width: 768px) {
    .listing .category:hover,
    .listing .manufacturer:hover,
    .listing .product:hover h3.name {
        filter: opacity(0.7);
    }
}
.listing .category {
    position: relative;
    background: var(--whitespace-color);
}
.listing .category .caption {
    padding: 2em;
    color: var(--default-text-color);
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
}
.listing .category .caption * {
    font-weight: 600;
    color: inherit;
    background: #ffffffd1;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.5em;
    box-shadow: 2px 2px 10px 2px #26252563;
    margin: 0;
    padding: 0.5em;
}
.listing .manufacturer {
    position: relative;
    background: var(--whitespace-color);
}
.listing .manufacturer img {
    width: 100%;
    height: auto;
    padding: 1rem;
}
.listing .manufacturer .caption {
    margin: 0;
    padding: calc(var(--gutter-y) / 2) var(--gutter-x);
    background: #f2f2f2;
    color: var(--default-text-color);
    text-align: center;
}
.listing .product {
    position: relative;
    background: var(--whitespace-color);
}
@media (max-width: 376px) {
    .listing .product {
        margin-bottom: calc(var(--gutter-y) * 1.5);
    }
}
.listing .product .link {
    text-decoration: none;
}
.listing .product .image-wrapper {
    background: var(--image-whitespace-color);
}
.listing .product .image-wrapper .sticker {
    font-size: 12px;
    font-weight: 600;
    top: 1em;
    left: 1em;
    padding: 1em;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    border-radius: 70% 30% 30% 70% / 60% 40% 60% 40%;
}
.listing .product .image-wrapper .sticker.new {
    background: rgba(255, 228, 170, 0.95);
}
.listing .product .image-wrapper .sticker.sale {
    background: rgba(190, 255, 191, 0.95);
}
.listing .product .name {
    font-size: 18px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-top: calc(var(--gutter-y) / 4);
    margin-bottom: calc(var(--gutter-y) / 4);
}
.listing .product .manufacturer-name {
    color: #5382b4;
    font-size: 13px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 200%;
    opacity: 0.75;
    margin-top: calc(var(--gutter-y) / -4);
}
.listing .product .description {
    color: var(--default-text-color);
    font-size: 13px;
    line-height: 200%;
    opacity: 0.75;
}
.listing .product .price-wrapper {
    font-size: 14px;
}
.listing .product .price-wrapper .price {
    white-space: nowrap;
}
.listing .product .price-wrapper .regular-price,
.listing .product .price-wrapper .recommended-price {
    color: var(--default-text-color);
    font-size: 0.75em;
    white-space: nowrap;
}
.listing .product .price-wrapper .campaign-price {
    color: #ef4242;
    white-space: nowrap;
}
.listing .product .price-wrapper del.regular-price {
    color: #c6c6c6;
    white-space: nowrap;
}
.listing.columns .product .image {
    width: 100%;
    height: auto;
}
.listing.columns .product .info {
    padding: 0.5rem 0;
}
.listing.columns .product .price-wrapper {
    position: initial;
}
.listing.rows .product .link {
    display: flex;
    gap: var(--gutter-x);
    padding: var(--gutter-y) var(--gutter-x);
}
.listing.rows .product .info {
    flex: 1 1 auto;
}
.listing.rows .product .image-wrapper {
    width: 175px;
}
.listing.rows .product .image-wrapper img {
    width: 100%;
}
@media (min-width: 768px) {
    .listing.rows .product .image-wrapper {
        width: 160px;
    }
}
@media (min-width: 768px) {
    .listing.rows .product {
        height: auto;
    }
    .listing.rows .product .description {
        margin-bottom: 1em;
    }
}
.category-header {
    margin-top: calc(var(--gutter-y) * 0.25);
    margin-bottom: var(--gutter-y);
}
#box-category-tree h2 {
    display: none;
}
#box-category-tree .nav-pills li a {
    background: transparent;
    border-radius: var(--border-radius);
    transition:
        background 0.18s ease,
        color 0.18s ease;
    color: var(--default-text-color);
    font-weight: 500;
}
#box-category-tree .nav-pills li a:hover {
    background: var(--soft-pink);
    color: #d4547a;
    text-decoration: none;
}
#box-category-tree .nav-pills li.active > a {
    background: var(--soft-pink);
    color: #c0406e;
    font-weight: 700;
}
#box-category-tree .nav-pills li.active > a .pcount {
    opacity: 0.7;
}
#box-category-tree .nav-pills li.opened > a {
    color: #c0406e;
    font-weight: 700;
}
#box-manufacturer-links .nav-pills li a {
    background: transparent;
    border-radius: var(--border-radius);
    transition:
        background 0.18s ease,
        color 0.18s ease;
    color: var(--default-text-color);
    font-weight: 500;
}
#box-manufacturer-links .nav-pills li a:hover {
    background: var(--soft-pink);
    color: #d4547a;
    text-decoration: none;
}
#box-manufacturer-links .nav-pills li.active > a {
    background: var(--soft-pink);
    color: #c0406e;
    font-weight: 700;
}

#box-category-tree .nav-pills li.opened > a:not(:hover) {
    background: transparent;
}
#box-product .sticky {
    position: sticky;
    display: flex !important;
    flex-direction: column;
    top: calc(var(--gutter-y) * 2);
}
#box-product .images {
    margin-bottom: var(--gutter-y);
}
#box-product .main-image {
    position: relative;
    background: var(--whitespace-color);
    overflow: hidden;
}
#box-product .main-image .sticker {
    font-size: 12px;
    font-weight: bold;
    top: 2.5em;
    left: 1em;
    padding: 1em 1.5em;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    border-radius: 70% 30% 30% 70% / 60% 40% 60% 40%;
}
#box-product .main-image .sticker.new {
    background: rgba(255, 228, 170, 0.96);
}
#box-product .main-image .sticker.sale {
    background: rgba(190, 255, 191, 0.95);
}
#box-product .product-title {
    font-size: 2em;
    margin-bottom: 0;
    line-height: 1.15;
    margin-bottom: 10px;
}
@media (max-width: 767px) {
    #box-product .product-title {
        font-size: 1.4em;
    }
}
#box-product .price-wrapper {
    font-size: 1.25em;
}
@media (max-width: 767px) {
    #box-product .price-wrapper {
        font-size: 1.1em;
    }
}
@media (max-width: 567px) {
    #box-product .price-wrapper {
        font-size: 0.9em;
    }
}
#box-product .price-wrapper .regular-price,
#box-product .price-wrapper .recommended-price {
    font-size: 0.75em;
}
#box-product .price-wrapper .campaign-price {
    color: #ef4242;
}
#box-product .price-wrapper del.regular-price {
    color: #c6c6c6;
}
#box-product .tax {
    color: #999;
}
#box-product .stock-available .value {
    color: #009900;
}
#box-product .stock-partly-available .value {
    color: #ff9900;
}
#box-product .stock-unavailable .value {
    color: #cc0000;
}
#box-product .out-of-stock-notice {
    background: var(--default-background-color);
    border: 1px solid var(--default-border-color);
    padding: var(--gutter-y) var(--gutter-x);
    border-radius: var(--border-radius);
}

/* Size chips */
#box-product .options .radio {
    display: inline-block;
    margin: 0 0.35rem 0.35rem 0;
}

#box-product .options .radio label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    padding: 0.45rem 0.85rem;
    border-radius: 2rem;
    border: 1.5px solid #ddd;
    background: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.18s;
    color: #333;
    user-select: none;
}

#box-product .options .radio label:hover {
    border-color: var(--primary-button-background-color);
    color: var(--primary-button-background-color);
}

#box-product .options .radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

#box-product .options .radio input[type="radio"]:checked + label,
#box-product .options .radio label:has(input[type="radio"]:checked) {
    border-color: var(--primary-button-background-color);
    background: var(--primary-button-background-color);
    color: #fff;
    font-weight: 700;
}

#box-product .options .form-group > label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #888;
    margin-bottom: 0.6rem;
    display: block;
}

#box-product .options .form-group {
    margin-bottom: 1rem;
}

#box-product .social-bookmarks {
    font-size: 1.75em;
    margin-top: 1em;
}
#box-product .social-bookmarks a {
    margin: 0 0.25em;
}
#box-product .description p:first-child {
    margin-top: 0;
}
#box-product .description p:last-child {
    margin-bottom: 0;
}
#box-product input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}
#box-product input[type="number"]::-webkit-inner-spin-button,
#box-product input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
}

#box-product .input-group button {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--default-background-color);
    border: none;
    align-items: center;
    justify-content: center;
    width: 20%;
    font-weight: bold;
}
#box-product .input-group input[type="number"] {
    font-weight: bold;
    padding: 0;
    flex: 1;
}
.tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
@media (max-width: 767px) {
    .tabs {
        flex-direction: column;
        margin-bottom: 2em;
    }
}
.tabs label {
    order: 1;
    display: block;
    padding: calc(var(--gutter-x) / 2) calc(var(--gutter-y) / 2);
    margin-right: 0.2rem;
    cursor: pointer;
    font-weight: bold;
    color: #bababa;
    border-bottom: 3px transparent;
    font-size: 1.15em;
    text-align: center;
}
.tabs .tab {
    order: 99;
    flex-grow: 1;
    width: 100%;
    display: none;
    padding: 2rem;
    margin-top: 1rem;
    background: #fff;
}
.tabs input[type="radio"] {
    display: none;
}
.tabs input[type="radio"]:checked + label {
    border-bottom: 3px solid #000;
    color: #000;
}
@media (max-width: 767px) {
    .tabs input[type="radio"]:checked + label {
        border-bottom: 2px solid #000;
    }
}
.tabs input[type="radio"]:checked + label + .tab {
    display: block;
}

@media (max-width: 767px) {
    .tabs .tab {
        padding: 1.25rem;
    }
    .tabs .tab,
    .tabs label {
        order: initial;
    }
    .tabs label {
        margin-right: 0;
        margin-top: 0.2rem;
    }
}

@media (min-width: 481px) {
    .flex-d {
        display: flex;
        gap: calc(var(--gutter-x) / 2);
    }
}
@media (max-width: 480px) {
    .iflex-m {
        display: flex;
        flex-direction: column;
        gap: var(--gutter-x);
    }
}
.flex0 {
    flex: 0;
}
.flex1 {
    flex: 1;
}
.flex2 {
    flex: 2;
}
.card {
    background: #fff;
    padding: var(--gutter-x);
}
.sort-items li {
    margin: 0.25em;
}
#box-featured-products .listing,
#box-featured-categories .listing {
    margin-bottom: 0.5em;
}

#content-wrapper {
    margin: 0;
}

#content-wrapper > .fourteen-forty,
#content-wrapper > main > .fourteen-forty,
#content-wrapper > main.fourteen-forty {
    width: min(calc(100% - 2rem), 1440px);
    margin-inline: auto;
    padding-top: calc(var(--gutter-y) * 0.5);
}

@media (max-width: 767px) {
    #content-wrapper > .fourteen-forty,
    #content-wrapper > main > .fourteen-forty,
    #content-wrapper > main.fourteen-forty {
        width: 100%;
        padding-inline: 0.75rem;
    }
}

.btn,
.form-control,
.input-group {
    box-shadow: 0 12px 30px rgba(73, 64, 101, 0.08);
}

.btn {
    border: 1px solid rgba(38, 49, 77, 0.06);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        filter 180ms ease,
        background 180ms ease;
}

.btn:hover:not(.active):not(.disabled):not([disabled]) {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(73, 64, 101, 0.14);
    text-decoration: none;
}

.btn.btn-primary {
    background: var(--primary-button-background-color);
    color: var(--primary-button-text-color);
}

.btn.btn-primary:hover:not(.active):not(.disabled):not([disabled]) {
    background: var(--primary-button-background-color-hover);
    color: var(--primary-button-text-color);
}

.btn.btn-outline {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(38, 49, 77, 0.1);
    color: var(--outline-button-text-color);
}

.btn.btn-outline:hover:not(.active):not(.disabled):not([disabled]) {
    background: var(--soft-blue);
    color: var(--default-text-color);
}

.form-control,
.input-group {
    border: 1px solid rgba(38, 49, 77, 0.08);
}

#site-menu {
    border-bottom: 1px solid rgba(38, 49, 77, 0.08);
    margin-bottom: calc(var(--gutter-y) * 0.75);
}

#site-menu .navbar-sticky {
    background: #fff;
    box-shadow: none;
}

#site-menu .navbar {
    background: transparent;
    padding: 0.8rem max(1rem, calc(var(--gutter-x) / 2));
}

#site-menu .dropdown-menu {
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: calc(var(--border-radius) * 0.75);
    box-shadow: 0 22px 50px rgba(73, 64, 101, 0.16);
    padding: 0.35rem;
}

#site-menu .navbar .dropdown-menu .nav-link:hover,
#site-menu .dropdown-menu .nav-link:hover {
    background: var(--soft-blue);
    filter: none;
}

.navbar-header {
    gap: 0.7rem 1rem;
}

.navbar-header .logotype {
    display: inline-flex;
    align-items: center;
}

.navbar-header .logotype img {
    max-height: 54px;
}

.navbar-header form[name="search_form"] .input-group {
    background: #f3f3f5;
    border: 1px solid transparent;
    border-radius: 999px;
    box-shadow: none;
    overflow: hidden;
}

.navbar-header form[name="search_form"] .input-group * {
    padding: 0.52rem 1rem;
}

.navbar-header form[name="search_form"] .form-control {
    box-shadow: none;
}

.navbar-header .navbar-icon,
.navbar-icon svg {
    color: var(--default-text-color) !important;
    fill: var(--default-text-color);
    stroke: var(--default-text-color);
}

.navbar-header .regional-setting,
.navbar-header .account,
#cart {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 999px;
    background: #f3f3f5;
    box-shadow: none;
    border: 1px solid transparent;
}

.navbar-header .regional-setting:hover,
.navbar-header .account:hover,
#cart:hover,
#cart > a:hover {
    border-color: transparent;
    background: #e9e9ec;
}

#cart .badge {
    background: var(--default-text-color);
    color: #fff;
    box-shadow: none;
}

.navbar-toggler .icon-bar {
    background-color: var(--default-text-color);
}

.navbar-nav {
    gap: 0.25rem;
    padding-top: 0;
}

.navbar-nav .nav-link {
    color: var(--navigation-text-color);
    border-radius: 0;
    padding: 0.6rem 0.9rem;
    font-size: 0.98rem;
    font-weight: 600;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    background: transparent;
    color: var(--navigation-text-color-hover);
    text-decoration: none;
}

.navbar-nav .nav-link .text:hover,
.navbar-nav .nav-item .nav-link .text:hover {
    border-bottom: none;
}

@media (min-width: 992px) {
    #site-menu .navbar {
        margin-top: 0;
        padding: 0.9rem 1rem;
    }

    .navbar-header {
        position: static;
        padding: 0;
        margin-bottom: 0;
    }

    .offcanvas .offcanvas-body {
        margin-top: 0.65rem;
        padding-top: 0.65rem;
        border-top: 1px solid rgba(38, 49, 77, 0.08);
    }
}

@media (max-width: 991px) {
    #site-menu {
        margin-bottom: calc(var(--gutter-y) * 0.75);
    }

    #site-menu .navbar-header a {
        color: var(--default-text-color);
    }

    .navbar-header .navbar-search {
        width: 100%;
    }

    .offcanvas {
        background:
            radial-gradient(
                circle at 20% 0%,
                rgba(255, 228, 238, 0.9),
                transparent 18rem
            ),
            var(--offcanvas-background-color) !important;
        opacity: 1;
    }

    .offcanvas .navbar-nav .nav-link {
        color: var(--default-text-color);
        margin: 0.2rem auto;
        max-width: 420px;
    }
}

.heading-title {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: calc(var(--gutter-y) * 0.75);
    letter-spacing: -0.03em;
}

.category-header .heading-title {
    margin-bottom: 0;
    flex: 1;
    min-width: 0;
}

.category-header ul.breadcrumb {
    margin-bottom: 0;
    font-size: 0.82em;
    opacity: 0.72;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Breadcrumb Flow - sujungtas breadcrumbs + H1 */
.breadcrumb-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 0.55rem;
    row-gap: 0.2rem;
}

.breadcrumb-flow__link {
    font-size: clamp(1rem, 2.5vw, 1.45rem);
    font-weight: 400;
    color: rgba(38, 49, 77, 0.38);
    text-decoration: none;
    letter-spacing: -0.02em;
    transition: color 0.18s ease;
    line-height: 1.3;
}

a.breadcrumb-flow__link:hover {
    color: rgba(38, 49, 77, 0.72);
}

.breadcrumb-flow__sep {
    font-size: clamp(1rem, 2.5vw, 1.45rem);
    font-weight: 300;
    color: rgba(38, 49, 77, 0.2);
    line-height: 1.3;
    user-select: none;
}

.breadcrumb-flow__current {
    font-size: clamp(1rem, 2.5vw, 1.45rem);
    font-weight: 800;
    color: #1a2236;
    letter-spacing: -0.03em;
    line-height: 1.3;
    margin: 0;
}

.breadcrumb-flow__current--standalone {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
}

.breadcrumb-flow__accent {
    display: inline-block;
    width: 2rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent-pink), var(--accent-blue));
    align-self: center;
    margin-left: 0.25rem;
    flex-shrink: 0;
}

/* Breadcrumb Product - kompaktiškas klasikinis variantas produkto puslapiui */
.breadcrumb-product {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.3rem;
    margin-bottom: 0.6rem;
}

.breadcrumb-product__item {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(38, 49, 77, 0.42);
    text-decoration: none;
    letter-spacing: 0.01em;
    line-height: 1.4;
    transition: color 0.15s ease;
    white-space: nowrap;
}

a.breadcrumb-product__item:hover {
    color: rgba(38, 49, 77, 0.75);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.breadcrumb-product__item--current {
    color: rgba(38, 49, 77, 0.28);
    font-weight: 400;
    cursor: default;
}

.breadcrumb-product__sep {
    font-size: 0.72rem;
    color: rgba(38, 49, 77, 0.18);
    user-select: none;
    line-height: 1.4;
}

.heading-title::after {
    content: "";
    flex: 1;
    min-width: 48px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        var(--accent-pink),
        var(--accent-blue),
        transparent
    );
}

.shoe-home {
    --shoe-ink: #26314d;
    --shoe-muted: #657086;
    --shoe-card: rgba(255, 255, 255, 0.9);
    --shoe-border: rgba(38, 49, 77, 0.08);
    padding-bottom: clamp(1rem, 4vw, 3rem);
}

.shoe-home section {
    scroll-margin-top: 110px;
}

.shoe-hero {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: clamp(1.15rem, 4vw, 2.55rem);
    background: #fff;
    box-shadow: 0 24px 64px rgba(73, 64, 101, 0.11);
}

.shoe-hero .carousel-inner {
    overflow: hidden;
    border-radius: inherit;
    line-height: var(--default-line-height);
}

.shoe-hero-slide {
    position: relative;
    min-height: clamp(460px, calc(100vh - 290px), 560px);
    padding: clamp(1.15rem, 2.8vw, 2.55rem) clamp(1.25rem, 4.4vw, 3.65rem)
        clamp(3.85rem, 5vw, 4.55rem);
    color: var(--shoe-ink);
}

.shoe-hero-slide::before,
.shoe-hero-slide::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.shoe-hero-slide::before {
    inset: clamp(0.55rem, 1.6vw, 1.15rem);
    border: 1px solid rgba(255, 255, 255, 0.72);
}

.shoe-hero-slide::after {
    width: clamp(10rem, 26vw, 22rem);
    height: clamp(10rem, 26vw, 22rem);
    right: -6rem;
    bottom: -7rem;
    background: rgba(255, 255, 255, 0.46);
    filter: blur(1px);
}

.shoe-hero-slide.tone-orthopedic {
    background:
        radial-gradient(
            circle at 12% 16%,
            rgba(255, 255, 255, 0.8),
            transparent 16rem
        ),
        linear-gradient(135deg, #e4fbf4 0%, #dff4ff 48%, #fff1bd 100%);
}

.shoe-hero-slide.tone-summer {
    background:
        radial-gradient(
            circle at 78% 16%,
            rgba(255, 255, 255, 0.74),
            transparent 14rem
        ),
        linear-gradient(135deg, #fff1bd 0%, #ffe4ee 48%, #dff4ff 100%);
}

.shoe-hero-slide.tone-kindergarten {
    background:
        radial-gradient(
            circle at 18% 20%,
            rgba(255, 255, 255, 0.76),
            transparent 15rem
        ),
        linear-gradient(135deg, #ffe4ee 0%, #fff3e6 48%, #e4fbf4 100%);
}

.shoe-hero-slide.tone-baby {
    background:
        radial-gradient(
            circle at 84% 20%,
            rgba(255, 255, 255, 0.74),
            transparent 15rem
        ),
        linear-gradient(135deg, #fff8f1 0%, #dff4ff 50%, #e4fbf4 100%);
}

.shoe-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(1.25rem, 4vw, 3rem);
    align-items: center;
    min-height: inherit;
}

.shoe-hero-copy {
    max-width: 660px;
}

.shoe-eyebrow,
.shoe-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: max-content;
    max-width: 100%;
    margin: 0 0 0.75rem;
    padding: 0.38rem 0.72rem;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #2c6c5e;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(73, 64, 101, 0.06);
}

.shoe-hero-title {
    max-width: 660px;
    margin: 0;
    color: var(--shoe-ink, #26314d);
    font-size: clamp(1.85rem, 4.4vw, 3.45rem);
    line-height: 1;
    letter-spacing: -0.048em;
}

.shoe-hero-text {
    max-width: 610px;
    margin: clamp(0.85rem, 1.8vw, 1.1rem) 0 0;
    color: #4f5b71;
    font-size: clamp(0.98rem, 1.45vw, 1.12rem);
}

.shoe-hero-actions,
.shoe-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: clamp(1.05rem, 2.4vw, 1.55rem);
}

.shoe-hero-note {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.7rem;
    margin-top: 0.8rem;
    color: var(--shoe-muted);
    font-size: 0.86rem;
}

.shoe-hero-note span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.shoe-hero-visual {
    display: grid;
    gap: 1rem;
}

.shoe-visual-card {
    position: relative;
    display: grid;
    gap: 0.58rem;
    min-height: 210px;
    padding: clamp(1.05rem, 3vw, 1.65rem);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: clamp(1.15rem, 3.2vw, 2rem);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 22px 52px rgba(73, 64, 101, 0.12);
    backdrop-filter: blur(14px);
}

.shoe-visual-badge {
    justify-self: start;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(101, 214, 192, 0.18);
    color: #256a5a;
    font-size: 0.8rem;
    font-weight: 700;
}

.shoe-visual-icon {
    display: grid;
    width: clamp(4.4rem, 14vw, 6.75rem);
    height: clamp(4.4rem, 14vw, 6.75rem);
    place-items: center;
    border: 8px solid rgba(255, 255, 255, 0.64);
    border-radius: 38% 62% 55% 45% / 45% 44% 56% 55%;
    background: #fff;
    box-shadow: 0 18px 40px rgba(73, 64, 101, 0.11);
    font-size: clamp(2.35rem, 7vw, 4rem);
    transform: rotate(-6deg);
    position: relative;
    overflow: hidden;
}

.shoe-visual-icon img,
.shoe-visual-icon svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shoe-visual-card strong {
    color: var(--shoe-ink);
    font-size: clamp(1.12rem, 2.2vw, 1.45rem);
    line-height: 1.08;
}

.shoe-visual-card small {
    color: var(--shoe-muted);
    font-size: 0.88rem;
    line-height: 1.42;
}

.shoe-size-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-top: 0.25rem;
}

.shoe-size-strip span {
    display: grid;
    min-width: 2.05rem;
    height: 2.05rem;
    place-items: center;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.8);
    color: var(--shoe-ink);
    font-size: 0.8rem;
    font-weight: 700;
}

.shoe-visual-points {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shoe-visual-points li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.58rem 0.72rem;
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.66);
    color: #3f4b61;
    font-size: 0.9rem;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(73, 64, 101, 0.07);
}

.shoe-visual-points li::before {
    content: "✓";
    display: grid;
    width: 1.55rem;
    height: 1.55rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 999px;
    background: var(--accent-mint);
    color: #173f37;
    font-size: 0.86rem;
}

.shoe-hero .carousel-indicators,
.shoe-hero .carousel-control {
    opacity: 1;
}

.shoe-hero .carousel-indicators {
    right: auto;
    bottom: clamp(1.15rem, 4vw, 2rem);
    left: clamp(1.2rem, 6vw, 5rem);
    width: auto;
    margin: 0;
    text-align: left;
}

.shoe-hero .carousel-indicators li {
    width: 0.75rem;
    height: 0.75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(38, 49, 77, 0.16);
    transition:
        width 200ms ease,
        background 200ms ease;
}

.shoe-hero .carousel-indicators .active {
    width: 2rem;
    background: var(--accent-mint);
}

.shoe-hero-control {
    top: auto;
    bottom: clamp(1rem, 4vw, 1.75rem);
    width: 2.85rem;
    height: 2.85rem;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--shoe-ink) !important;
    text-shadow: none;
    box-shadow: 0 14px 34px rgba(73, 64, 101, 0.1);
    backdrop-filter: blur(10px);
}

.shoe-hero-control.left {
    right: 4.45rem;
    left: auto;
}

.shoe-hero-control.right {
    right: 1.2rem;
}

.shoe-hero-control .icon-prev,
.shoe-hero-control .icon-next {
    top: 50%;
    left: 50%;
    right: auto;
    width: auto;
    height: auto;
    margin: 0;
    color: inherit;
    font-family: inherit;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    transform: translate(-50%, -50%);
}

.shoe-section-heading {
    display: grid;
    gap: 0.48rem;
    max-width: 720px;
    margin-bottom: clamp(0.9rem, 2.5vw, 1.3rem);
}

.shoe-section-heading h2,
.shoe-seo-panel h2,
.shoe-cta-band h2 {
    margin: 0;
    color: var(--shoe-ink);
    font-size: clamp(1.55rem, 3.5vw, 2.55rem);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

.shoe-section-heading p:not(.shoe-section-kicker),
.shoe-seo-panel p:not(.shoe-section-kicker),
.shoe-cta-band p {
    margin: 0;
    color: var(--shoe-muted);
    font-size: clamp(0.96rem, 1.45vw, 1.06rem);
}

.shoe-category-section,
.shoe-trust,
.shoe-seo-panel,
.shoe-cta-band {
    margin-bottom: clamp(1.25rem, 3.4vw, 2.5rem);
}

.shoe-category-grid {
    display: grid;
    gap: 1rem;
}

.shoe-category-card {
    position: relative;
    display: flex;
    min-height: 220px;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(1rem, 2.4vw, 1.35rem);
    border: 1px solid var(--shoe-border);
    border-radius: clamp(1.05rem, 3vw, 1.75rem);
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.96),
        rgba(255, 255, 255, 0.88)
    );
    box-shadow: 0 16px 38px rgba(73, 64, 101, 0.07);
    color: var(--shoe-ink);
    text-decoration: none;
    transform: translateY(0);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease;
}

.shoe-category-card::before {
    content: "";
    position: absolute;
    width: 8.4rem;
    height: 8.4rem;
    right: -3.8rem;
    top: -3.9rem;
    border-radius: 999px;
    background: var(--card-glow, var(--soft-mint));
    opacity: 0.86;
}

.shoe-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.5),
        transparent 48%
    );
    pointer-events: none;
}

.shoe-category-card:hover {
    border-color: rgba(101, 214, 192, 0.36);
    box-shadow: 0 28px 64px rgba(73, 64, 101, 0.14);
    color: var(--shoe-ink);
    text-decoration: none;
    transform: translateY(-6px);
}

.shoe-category-card.tone-orthopedic {
    --card-glow: var(--soft-mint);
}

.shoe-category-card.tone-summer {
    --card-glow: var(--soft-yellow);
}

.shoe-category-card.tone-kindergarten {
    --card-glow: var(--soft-pink);
}

.shoe-category-card.tone-baby {
    --card-glow: var(--soft-blue);
}

.shoe-category-top,
.shoe-category-bottom {
    position: relative;
    z-index: 1;
}

.shoe-category-icon {
    display: grid;
    width: 3.8rem;
    height: 3.8rem;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 32px rgba(73, 64, 101, 0.08);
    font-size: 2rem;
}

.shoe-category-card h3 {
    margin: 0 0 0.5rem;
    color: var(--shoe-ink);
    font-size: clamp(1.12rem, 2.2vw, 1.4rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.shoe-category-card p {
    margin: 0;
    color: var(--shoe-muted);
    line-height: 1.48;
}

.shoe-card-label,
.shoe-card-link {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    border-radius: 999px;
    font-weight: 800;
}

.shoe-card-label {
    margin-bottom: 0.8rem;
    padding: 0.3rem 0.65rem;
    background: rgba(255, 255, 255, 0.7);
    color: #2c6c5e;
    font-size: 0.78rem;
}

.shoe-card-link {
    margin-top: 1.25rem;
    color: #255f54;
}

.shoe-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1.15rem;
}

.shoe-category-links .shoe-card-link {
    margin-top: 0;
    padding: 0.5rem 0.78rem;
    border: 1px solid rgba(101, 214, 192, 0.26);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 24px rgba(73, 64, 101, 0.06);
    text-decoration: none;
}

.shoe-category-links .shoe-card-link:hover {
    border-color: rgba(101, 214, 192, 0.45);
    background: rgba(228, 251, 244, 0.82);
    color: #174e43;
    text-decoration: none;
}

.shoe-trust {
    padding: clamp(1.2rem, 4vw, 2.4rem);
    border: 1px solid var(--shoe-border);
    border-radius: clamp(1.35rem, 5vw, 2.7rem);
    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(101, 214, 192, 0.18),
            transparent 18rem
        ),
        rgba(255, 255, 255, 0.78);
    box-shadow: 0 22px 58px rgba(73, 64, 101, 0.08);
}

.shoe-trust-grid {
    display: grid;
    gap: 0.85rem;
    margin-top: clamp(1rem, 3vw, 1.4rem);
}

.shoe-trust-card {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px solid rgba(38, 49, 77, 0.07);
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.78);
}

.shoe-trust-icon,
.product-assurances .icon {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--soft-pink);
    font-size: 1.2rem;
}

.shoe-trust-card:nth-child(2) .shoe-trust-icon,
.product-assurances .assurance:nth-child(2) .icon {
    background: var(--soft-blue);
}

.shoe-trust-card:nth-child(3) .shoe-trust-icon,
.product-assurances .assurance:nth-child(3) .icon {
    background: var(--soft-yellow);
}

.shoe-trust-card:nth-child(4) .shoe-trust-icon {
    background: var(--soft-mint);
}

.shoe-trust-card strong,
.product-assurances strong {
    display: block;
    margin-bottom: 0.16rem;
    color: var(--shoe-ink, #26314d);
}

.shoe-trust-card p,
.product-assurances small {
    display: block;
    margin: 0;
    color: var(--shoe-muted, #657086);
    font-size: 0.92rem;
    line-height: 1.4;
}

.shoe-seo-panel {
    display: grid;
    gap: clamp(1rem, 4vw, 2rem);
    padding: clamp(1.2rem, 4vw, 2.4rem);
    border: 1px solid rgba(101, 214, 192, 0.18);
    border-radius: clamp(1.35rem, 5vw, 2.5rem);
    background: linear-gradient(
        135deg,
        rgba(228, 251, 244, 0.88),
        rgba(255, 255, 255, 0.84)
    );
}

.shoe-seo-panel p + p {
    margin-top: 0.75rem;
}

.shoe-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-content: start;
}

.shoe-quick-links a {
    display: inline-flex;
    padding: 0.58rem 0.82rem;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    color: var(--shoe-ink);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(73, 64, 101, 0.06);
}

.shoe-quick-links a:hover {
    border-color: rgba(101, 214, 192, 0.34);
    color: #255f54;
    text-decoration: none;
}

.shoe-cta-band {
    display: grid;
    gap: 0.8rem;
    justify-items: start;
    padding: clamp(1.25rem, 4vw, 2.4rem);
    border-radius: clamp(1.35rem, 5vw, 2.5rem);
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(255, 255, 255, 0.52),
            transparent 12rem
        ),
        linear-gradient(135deg, #26314d 0%, #2c6c5e 100%);
    color: #fff;
    box-shadow: 0 24px 64px rgba(38, 49, 77, 0.18);
}

.shoe-cta-band h2,
.shoe-cta-band p {
    color: #fff;
}

.shoe-cta-band p {
    max-width: 680px;
    opacity: 0.86;
}

.shoe-product-flow {
    margin-top: clamp(1rem, 4vw, 2.5rem);
}

@media (min-width: 768px) {
    .shoe-hero-slide {
        min-height: clamp(460px, calc(100vh - 290px), 560px);
    }

    .shoe-hero-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    }

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

    .shoe-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shoe-seo-panel {
        grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
        align-items: center;
    }

    .shoe-cta-band {
        justify-items: center;
        text-align: center;
    }
}

@media (min-width: 1100px) {
    .shoe-category-grid,
    .shoe-trust-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .shoe-hero-visual {
        max-width: 420px;
    }
}

@media (max-width: 567px) {
    .shoe-hero {
        margin-top: calc(var(--gutter-y) * 0.45);
    }

    .shoe-hero-slide {
        min-height: 610px;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .shoe-hero-actions .btn,
    .shoe-cta-actions .btn {
        width: 100%;
    }

    .shoe-hero-control {
        display: none;
    }

    .shoe-hero .carousel-indicators {
        left: 1rem;
    }
}
.listing {
    grid-gap: clamp(1rem, 2vw, 1.5rem);
}

.listing.products.columns {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

@media (min-width: 768px) {
    .listing.products.columns {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

.listing.categories {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

@media (min-width: 768px) {
    .listing.categories {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}

.listing .category,
.listing .manufacturer,
.listing .product {
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: var(--border-radius);
    background: var(--card-background-color);
    box-shadow: 0 18px 44px rgba(73, 64, 101, 0.08);
    transform: translateY(0);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease;
}

.listing .category:hover,
.listing .manufacturer:hover,
.listing .product:hover {
    border-color: rgba(255, 122, 162, 0.22);
    box-shadow: 0 26px 58px rgba(73, 64, 101, 0.14);
    transform: translateY(-6px);
}

.listing .category:hover,
.listing .manufacturer:hover,
.listing .product:hover .image-wrapper,
.listing .product:hover h3.name {
    filter: none;
}

.listing .category .link,
.listing .product .link {
    display: block;
    height: 100%;
}

.listing .category img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform 320ms ease;
}

.listing .category:hover img {
    transform: scale(1.04);
}

.listing .category .caption {
    padding: 1rem;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(38, 49, 77, 0.58) 100%
    );
}

.listing .category .caption * {
    display: inline-flex;
    margin: 0;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 34px rgba(73, 64, 101, 0.18);
    color: var(--default-text-color);
    font-size: 1rem;
    letter-spacing: 0;
    text-transform: none;
}

.listing .product .image-wrapper {
    margin: 0.65rem;
    overflow: hidden;
    border-radius: calc(var(--border-radius) * 0.75);
    border: 1px solid rgba(38, 49, 77, 0.06);
    background: #fff;
}

.listing .product .image {
    transition: transform 240ms ease;
}

.listing .product:hover .image {
    transform: scale(1.035);
}

.listing .product .image-wrapper .sticker,
#box-product .main-image .sticker {
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(73, 64, 101, 0.16);
    letter-spacing: 0.04em;
}

.listing .product .image-wrapper .sticker.new,
#box-product .main-image .sticker.new {
    background: rgba(255, 241, 189, 0.96);
}

.listing .product .image-wrapper .sticker.sale,
#box-product .main-image .sticker.sale {
    background: rgba(255, 122, 162, 0.96);
    color: #fff;
}

.listing.columns .product .info {
    padding: 0.35rem 1.1rem 1.25rem;
}

.listing-pagination {
    margin-top: clamp(1rem, 2.2vw, 1.6rem);
    padding-top: clamp(0.9rem, 1.8vw, 1.3rem);
    border-top: 1px solid rgba(38, 49, 77, 0.08);
}

.listing-pagination .pagination {
    margin: 0;
}

.listing .product .name {
    display: -webkit-box;
    min-height: 2.75em;
    overflow: hidden;
    color: var(--default-text-color);
    font-size: 1rem;
    line-height: 1.35;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.listing .product .manufacturer-name,
.listing .product .description {
    color: #6b7388;
}

.listing .product .price-wrapper {
    font-size: 1rem;
}

.listing .product .price-wrapper .price,
.listing .product .price-wrapper .campaign-price {
    color: #26314d;
    font-size: 1.15em;
}

.listing .product .price-wrapper .campaign-price {
    color: #ff4f7f;
}

.category-header {
    margin: calc(var(--gutter-y) * 0.25) auto calc(var(--gutter-y) * 0.35);
    padding: clamp(0.5rem, 1.2vw, 0.7rem) clamp(0.75rem, 2vw, 1.25rem);
    border-radius: calc(var(--border-radius) * 1.1);
    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(255, 228, 238, 0.9),
            transparent 18rem
        ),
        rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 44px rgba(73, 64, 101, 0.08);
}

#box-product .images {
    align-items: flex-start;
}

#box-product .main-image {
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: calc(var(--border-radius) * 1.15);
    background:
        radial-gradient(
            circle at 14% 10%,
            rgba(255, 255, 255, 0.9),
            transparent 48%
        ),
        linear-gradient(135deg, var(--soft-blue), var(--soft-pink));
    box-shadow: 0 22px 60px rgba(73, 64, 101, 0.1);
}

#box-product .extra-image.thumbnail {
    overflow: hidden;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: calc(var(--border-radius) * 0.65);
    background: #fff;
    box-shadow: 0 10px 24px rgba(73, 64, 101, 0.08);
}

#box-product .sticky {
    top: calc(var(--gutter-y) + 5rem);
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: calc(var(--border-radius) * 1.05);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 22px 60px rgba(73, 64, 101, 0.1);
    backdrop-filter: blur(14px);
}

#box-product .product-title {
    font-size: clamp(1.7rem, 4vw, 3rem);
    letter-spacing: -0.045em;
}

#box-product .price-wrapper {
    font-size: clamp(1.25rem, 3vw, 1.8rem);
}

#box-product .price-wrapper .campaign-price {
    color: #ff4f7f;
}

#box-product .short-description {
    color: #566071;
    font-size: 1.03rem;
}

#box-product .buy_now {
    padding: 1rem;
    border-radius: calc(var(--border-radius) * 0.85);
    background: linear-gradient(
        135deg,
        rgba(228, 251, 244, 0.95),
        rgba(223, 244, 255, 0.92)
    );
}

#box-product .input-group button {
    background: rgba(255, 255, 255, 0.72);
    color: var(--default-text-color);
}

#box-product .out-of-stock-notice {
    border-radius: calc(var(--border-radius) * 0.7);
}

#box-product .cheapest-shipping,
#box-product .stock-available,
#box-product .stock-delivery {
    gap: 0.45rem;
    color: #566071;
}

#box-product .cheapest-shipping svg path,
#box-product .stock-available svg path {
    fill: var(--accent-mint);
}

#box-product .stock-delivery svg polyline,
#box-product .stock-delivery svg circle {
    stroke: var(--accent-mint);
}

.product-assurances {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.65rem;
    margin-top: 1rem;
}

.product-assurances .assurance {
    padding: 0.85rem;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: calc(var(--border-radius) * 0.7);
    background: rgba(255, 255, 255, 0.72);
}

@media (max-width: 567px) {
    .product-assurances {
        grid-template-columns: 1fr;
    }
}

.tabs label {
    border-radius: 999px;
    color: #6b7388;
}

.tabs input[type="radio"]:checked + label {
    border-bottom-color: transparent;
    background: var(--soft-pink);
    color: var(--default-text-color);
}

.tabs .tab {
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: calc(var(--border-radius) * 0.9);
    box-shadow: 0 18px 44px rgba(73, 64, 101, 0.08);
    padding: 2rem !important;
}

#footer {
    position: relative;
    overflow: hidden;
    margin-top: calc(var(--gutter-y) * 2);
    padding-top: calc(var(--gutter-y) * 1.2);
    border-radius: 0;
    background:
        radial-gradient(
            circle at 12% 0%,
            rgba(255, 122, 162, 0.22),
            transparent 22rem
        ),
        radial-gradient(
            circle at 86% 20%,
            rgba(105, 200, 255, 0.22),
            transparent 24rem
        ),
        var(--footer-background-color);
}

.footer-intro {
    display: flex;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
    margin-bottom: calc(var(--gutter-y) * 1.1);
    padding-bottom: calc(var(--gutter-y) * 0.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-intro h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.6rem, 4vw, 3rem);
    letter-spacing: -0.05em;
}

.footer-intro p {
    max-width: 460px;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

#footer .columns {
    gap: clamp(1.25rem, 3vw, 2.5rem);
}

#footer .title {
    color: var(--footer-title-color);
    letter-spacing: -0.02em;
}

#footer .list-unstyled li + li {
    margin-top: 0.35rem;
}

#footer a:hover {
    color: #fff1bd;
}

#box-newsletter-subscribe {
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: calc(var(--border-radius) * 0.9);
    background: rgba(255, 255, 255, 0.08);
}

#box-newsletter-subscribe .input-group {
    background: rgba(255, 255, 255, 0.92);
}

#box-newsletter-subscribe .form-control,
#box-newsletter-subscribe .btn {
    padding: 0.85rem 1rem;
}

#copyright {
    margin-top: calc(var(--gutter-y) * 1.2);
    background: var(--copyright-background-color);
    color: var(--copyright-text-color);
}

#copyright .notice {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media (max-width: 767px) {
    .footer-intro {
        display: block;
    }

    .footer-intro p {
        margin-top: 0.5rem;
    }
}

/* Header optimisation + mega menu */
body.scrolling-down #site-menu {
    top: 0;
}

#site-menu,
#site-menu .navbar,
#site-menu .offcanvas,
#site-menu .offcanvas-body,
#site-menu .navbar-nav,
#site-menu .dropdown {
    overflow: visible;
}

#site-menu {
    /* position: sticky is set above – keeps containing-block for mega-menu panel */
    background: rgba(255, 255, 255, 0.94);
    margin-bottom: clamp(0.25rem, 0.5vw, 0.5rem);
}

#site-menu .navbar {
    display: block;
    position: static; /* defer containing-block to #site-menu */
    padding: 0;
}

.navbar-header.fourteen-forty,
#site-menu .offcanvas-body.fourteen-forty {
    width: min(calc(100% - 2rem), 1440px);
    min-width: 0;
}

.navbar-header {
    display: grid;
    grid-template-columns: minmax(150px, 240px) minmax(280px, 1fr) auto;
    gap: 1rem;
    min-height: 86px;
    padding: 0.85rem 0;
}

.navbar-header .logotype {
    min-width: 0;
    flex-grow: 0;
}

.navbar-header .logotype img {
    width: auto;
    max-width: min(220px, 100%);
    max-height: 58px;
}

.navbar-header .navbar-search {
    width: 100%;
    max-width: 680px;
    justify-self: stretch;
}

.navbar-actions {
    display: inline-flex;
    gap: 0.65rem;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
}

.navbar-header .regional-setting,
.navbar-header .account,
#cart,
#cart > a,
.navbar-toggler {
    flex: 0 0 auto;
}

#site-menu .offcanvas-body {
    position: static;
    display: block;
    margin-top: 0;
    padding: 0;
    border-top: 1px solid rgba(38, 49, 77, 0.08);
}

#site-menu .navbar-nav {
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.55rem 0 0.7rem;
    flex-wrap: wrap;
}

#site-menu .navbar-nav .nav-link {
    padding: 0.58rem 1rem;
    font-size: 0.96rem;
    line-height: 1.2;
}

#site-menu .dropdown [data-toggle="dropdown"],
#site-menu .mega-menu [data-toggle="mega-category"] {
    position: relative;
    padding-inline-end: 2rem !important;
}

#site-menu .dropdown [data-toggle="dropdown"]:after,
#site-menu .mega-menu [data-toggle="mega-category"]:after {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f078";
    font-size: 0.65em;
    right: 0.75rem;
    top: 50%;
    padding-top: 0;
    transform: translateY(-50%);
    transition: transform 0.15s;
}

#site-menu .mega-menu.open [data-toggle="mega-category"]:after,
#site-menu .dropdown.open [data-toggle="dropdown"]:after {
    transform: translateY(-50%) rotate(180deg);
}

#site-menu .dropdown-menu:not(.mega-menu-panel) {
    min-width: 220px;
    padding: 0.45rem;
    border-radius: 18px;
}

#site-menu .dropdown-menu:not(.mega-menu-panel) .dropdown-menu-item > a {
    border-radius: 12px;
}

#site-menu .mega-menu.dropdown {
    position: static;
}

#site-menu .mega-menu.dropdown::after {
    display: none;
}

/* Mega-menu panel is a direct child of .navbar, positioned absolutely over full width */
#site-menu .mega-menu-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
    max-width: none;
    overflow: hidden;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-top: none;
    border-radius: 0 0 calc(var(--border-radius) * 0.95)
        calc(var(--border-radius) * 0.95);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 30px 80px rgba(73, 64, 101, 0.18);
    z-index: 1000;
}

/* Panels are shown/hidden via JS. Default hidden state is set inline by JS.
   On desktop, shown panels use flex layout */
@media (min-width: 992px) {
    .mega-menu-panel[style*="display"] {
        /* JS sets display:block; override to use our layout */
    }
}

.mega-menu-feature {
    padding: 1.25rem;
    border-radius: calc(var(--border-radius) * 0.75);
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(255, 255, 255, 0.8),
            transparent 12rem
        ),
        linear-gradient(135deg, var(--soft-pink), var(--soft-blue));
}

.mega-menu-feature .eyebrow {
    display: inline-flex;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #74405a;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
}

.mega-menu-feature strong {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--default-text-color);
    font-size: 1.45rem;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.mega-menu-feature p {
    margin: 0 0 1rem;
    color: #566071;
    font-size: 0.94rem;
}

.mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.75rem;
}

.mega-menu-column {
    padding: 0.85rem;
    border: 1px solid rgba(38, 49, 77, 0.07);
    border-radius: calc(var(--border-radius) * 0.65);
    background: #fff;
}

.mega-menu-title {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--default-text-color) !important;
    font-weight: 600;
    line-height: 1.25;
}

.mega-menu-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mega-menu-links li + li {
    margin-top: 0.15rem;
}

.mega-menu-links a {
    display: block;
    padding: 0.28rem 0;
    color: #6b7388 !important;
    font-size: 0.92rem;
    line-height: 1.25;
}

.mega-menu-title:hover,
.mega-menu-links a:hover {
    color: var(--accent-pink) !important;
    text-decoration: none;
}

@media (min-width: 992px) {
    /* Hide the standalone #offcanvas on desktop — desktop nav is inside .navbar-sticky */
    #site-menu > #offcanvas {
        display: none !important;
    }

    #site-menu .offcanvas {
        display: block;
        width: 100% !important;
    }

    #site-menu .mega-menu.dropdown {
        position: static;
    }

    #site-menu .mega-menu.dropdown::after {
        display: none;
    }
}

@media (max-width: 991px) {
    #site-menu .navbar {
        padding: 0.75rem 1rem;
    }

    /* Hide only the desktop nav bar strip on mobile; offcanvas is position:fixed so it still works */
    #site-menu .navbar-sticky {
        display: none;
    }

    .navbar-header.fourteen-forty {
        width: 100%;
    }

    .navbar-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.75rem;
        min-height: auto;
        padding: 0;
    }

    .navbar-header .logotype {
        grid-column: 1;
        grid-row: 1;
    }

    .navbar-header .logotype img {
        max-width: min(180px, 100%);
        max-height: 52px;
    }

    .navbar-actions {
        grid-column: 2;
        grid-row: 1;
        gap: 0.45rem;
    }

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

    #site-menu .offcanvas-body {
        width: 100%;
        border-top: none;
    }

    #site-menu .navbar-nav {
        display: block;
        padding: 0.5rem 1rem 1.5rem;
    }

    #site-menu .navbar-nav .nav-link {
        max-width: none;
        padding: 0.8rem 1rem;
    }

    #site-menu .mega-menu-panel {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0.35rem 0 0.75rem;
        padding: 0.75rem;
        border-top: 1px solid rgba(38, 49, 77, 0.08);
        border-radius: calc(var(--border-radius) * 0.75);
        box-shadow: none;
        grid-template-columns: 1fr;
    }

    .mega-menu-feature {
        display: none;
    }

    .mega-menu-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

#cart:hover {
    border-color: rgba(255, 122, 162, 0.3);
    background: var(--soft-pink);
    text-decoration: none;
}

@media (max-width: 991px) {
    #site-menu .offcanvas {
        overflow-x: hidden;
        overflow-y: auto;
    }
}

@media (max-width: 567px) {
    .navbar-header .logotype img {
        max-width: min(150px, 100%);
    }

    .navbar-actions {
        gap: 0.3rem;
    }

    .navbar-header .regional-setting,
    .navbar-header .account,
    #cart,
    #cart > a,
    .navbar-toggler {
        min-width: 40px;
        min-height: 40px;
    }
}

/* Production header + ecommerce mega menu */
#site-menu,
#site-menu .navbar-header,
#site-menu .navbar-header .logotype img,
#site-menu .navbar-search,
#site-menu .navbar-search .input-group,
#site-menu .offcanvas-body,
#site-menu .navbar-nav {
    transition: all 180ms ease;
}

body.header-condensed #site-menu {
    box-shadow: 0 18px 44px rgba(73, 64, 101, 0.12);
}

body.header-condensed #site-menu .navbar-header {
    min-height: 72px;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

body.header-condensed #site-menu .navbar-header .logotype img {
    max-height: 50px;
}

body.header-condensed #site-menu .navbar-search {
    max-width: 620px;
}

body.header-condensed
    #site-menu
    .navbar-header
    form[name="search_form"]
    .input-group
    * {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}

body.header-condensed #site-menu .navbar-nav {
    padding-top: 0.4rem;
    padding-bottom: 0.5rem;
}

#site-menu .mega-menu-panel {
    overflow: hidden;
}

#site-menu .mega-menu-title-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--soft-pink), var(--soft-blue));
    color: var(--default-text-color);
    font-size: 1.1rem;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
    overflow: hidden;
}

#site-menu .mega-menu-title-icon.has-image {
    background: rgba(255, 255, 255, 0.85);
}

#site-menu .mega-menu-title-icon img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}

#site-menu .mega-menu-title-copy .name {
    display: block;
    color: var(--default-text-color);
    line-height: 1.2;
}

#site-menu .mega-menu-title-icon.tone-pink {
    background: linear-gradient(135deg, #ffe4ee, #fff0f5);
}

#site-menu .mega-menu-title-icon.tone-blue {
    background: linear-gradient(135deg, #dff4ff, #edf7ff);
}

#site-menu .mega-menu-title-icon.tone-yellow {
    background: linear-gradient(135deg, #fff1bd, #fff8dd);
}

#site-menu .mega-menu-title-icon.tone-mint {
    background: linear-gradient(135deg, #e4fbf4, #f1fffb);
}

#site-menu .mega-menu-title-icon.tone-lavender {
    background: linear-gradient(135deg, #ece8ff, #f5f2ff);
}

#site-menu .mega-menu-main {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

#site-menu .mega-menu-feature-stack {
    display: block;
}

#site-menu .mega-menu-feature {
    padding: 1.15rem;
}

#site-menu .mega-menu-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

#site-menu .mega-menu-column {
    padding: 1rem;
    border-radius: 22px;
    box-shadow: none;
}

#site-menu .mega-menu-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.7rem;
}

#site-menu .mega-menu-title-copy {
    min-width: 0;
}

#site-menu .mega-menu-links a {
    padding: 0.38rem 0;
}

#site-menu .mega-menu-links a:hover {
    color: var(--accent-pink) !important;
    text-decoration: none;
}

/* Per-category mega menu sub-panel */
#site-menu .mega-menu-panel {
    display: none;
}

#site-menu .mega-menu-sub-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(38, 49, 77, 0.08);
}

#site-menu .mega-menu-sub-title {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    color: var(--default-text-color) !important;
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none;
}

#site-menu .mega-menu-sub-title:hover {
    color: var(--accent-pink) !important;
}

#site-menu .mega-menu-view-all {
    font-size: 0.88rem;
    color: var(--accent-pink) !important;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

#site-menu .mega-menu-view-all:hover {
    text-decoration: underline;
}

#site-menu .mega-menu-sub-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.15rem;
    justify-content: center;
}

#site-menu .mega-menu-sub-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.7rem 0.42rem 0.45rem;
    border-radius: 999px;
    background: transparent;
    color: #4a5568 !important;
    font-size: 0.93rem;
    font-weight: 500;
    text-decoration: none;
    transition:
        background 0.13s,
        color 0.13s;
    white-space: nowrap;
}

#site-menu .mega-menu-sub-item:hover {
    background: rgba(255, 122, 162, 0.09);
    color: var(--accent-pink) !important;
    text-decoration: none;
}

#site-menu .mega-menu-sub-icon,
#site-menu .nav-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    width: 1.6rem;
    height: 1.6rem;
    flex: 0 0 1.6rem;
    border-radius: 7px;
    background: linear-gradient(135deg, var(--soft-pink), var(--soft-blue));
    font-size: 0.78rem;
    overflow: hidden;
}

#site-menu .mega-menu-sub-icon.has-image,
#site-menu .nav-link-icon.has-image {
    background: rgba(255, 255, 255, 0.85);
}

#site-menu .mega-menu-sub-icon img,
#site-menu .nav-link-icon img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}

#site-menu .mega-menu-sub-icon.tone-pink,
#site-menu .nav-link-icon.tone-pink {
    background: linear-gradient(135deg, #ffe4ee, #fff0f5);
}
#site-menu .mega-menu-sub-icon.tone-blue,
#site-menu .nav-link-icon.tone-blue {
    background: linear-gradient(135deg, #dff4ff, #edf7ff);
}
#site-menu .mega-menu-sub-icon.tone-yellow,
#site-menu .nav-link-icon.tone-yellow {
    background: linear-gradient(135deg, #fff1bd, #fff8dd);
}
#site-menu .mega-menu-sub-icon.tone-mint,
#site-menu .nav-link-icon.tone-mint {
    background: linear-gradient(135deg, #e4fbf4, #f1fffb);
}
#site-menu .mega-menu-sub-icon.tone-lavender,
#site-menu .nav-link-icon.tone-lavender {
    background: linear-gradient(135deg, #ece8ff, #f5f2ff);
}
#site-menu .mega-menu-sub-icon.tone-peach,
#site-menu .nav-link-icon.tone-peach {
    background: linear-gradient(135deg, #fff0e8, #fff5f0);
}

/* Mobile: subcategory inline panel */
@media (max-width: 991px) {
    .mega-menu-mobile-panel {
        display: none;
        padding: 0.5rem 0 0.75rem 1rem;
    }

    .mega-menu.open .mega-menu-mobile-panel {
        display: block;
    }

    .mega-menu-mobile-links {
        list-style: none;
        margin: 0 0 0.5rem;
        padding: 0;
    }

    .mega-menu-mobile-links li a {
        display: block;
        padding: 0.5rem 0;
        color: var(--default-text-color);
        font-size: 0.96rem;
        border-bottom: 1px solid rgba(38, 49, 77, 0.06);
    }

    .mega-menu-mobile-all {
        display: inline-block;
        margin-top: 0.4rem;
        font-size: 0.88rem;
        color: var(--accent-pink) !important;
        font-weight: 600;
    }
}

@media (max-width: 991px) {
    body.has-offcanvas::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(38, 49, 77, 0.26);
        backdrop-filter: blur(6px);
        z-index: 998;
    }

    body.header-condensed #site-menu .navbar-header {
        min-height: auto;
        padding-top: 0;
        padding-bottom: 0;
    }

    #site-menu .navbar-toggler {
        background: rgba(255, 255, 255, 0.88) !important;
        box-shadow: 0 10px 22px rgba(73, 64, 101, 0.08);
    }

    #site-menu .offcanvas {
        width: min(420px, calc(100vw - 0.75rem)) !important;
        max-width: calc(100vw - 0.75rem);
        height: 100dvh !important;
        padding-bottom: 1rem;
        border-radius: 0 28px 28px 0;
        background: rgba(255, 248, 241, 0.98) !important;
        box-shadow: 0 24px 60px rgba(28, 36, 54, 0.25);
        opacity: 1;
    }

    #site-menu .offcanvas-header {
        padding: 1rem 1rem 0.75rem;
    }

    #site-menu .offcanvas-title {
        font-size: 1.15rem;
        font-weight: 700;
    }

    #site-menu .offcanvas-body.fourteen-forty {
        width: 100%;
        min-width: 0;
        padding: 0 1rem 1rem;
    }

    #site-menu .navbar-nav {
        gap: 0;
    }

    #site-menu .nav-item + .nav-item {
        margin-top: 0.2rem;
    }

    #site-menu .navbar-nav .nav-link {
        width: 100%;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.72);
        box-shadow: 0 10px 24px rgba(73, 64, 101, 0.06);
    }

    #site-menu .dropdown.open > .nav-link,
    #site-menu .mega-menu.open > .nav-link {
        background: var(--soft-pink);
        color: var(--default-text-color);
    }

    #site-menu .dropdown-menu:not(.mega-menu-panel) {
        margin-top: 0.35rem;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.78);
    }

    #site-menu .mega-menu.dropdown::after {
        display: none;
    }

    #site-menu .mega-menu-panel {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin-top: 0.35rem;
        padding: 0.75rem;
        border-top: 1px solid rgba(38, 49, 77, 0.08);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.78);
        box-shadow: none;
        transform: none;
    }

    #site-menu .mega-menu-overview,
    #site-menu .mega-menu-feature-stack {
        display: none;
    }

    #site-menu .mega-menu-main {
        grid-template-columns: 1fr;
    }

    #site-menu .mega-menu-grid {
        grid-template-columns: 1fr;
    }

    #site-menu .mega-menu-column {
        padding: 0.9rem;
        border-radius: 18px;
    }
}

/* Desktop mega-menu panel: hidden on mobile */
@media (max-width: 991px) {
    #site-menu .mega-menu-panel {
        display: none !important;
    }
}

/* Mobile-only inline category panel inside offcanvas */
.mega-menu-mobile-panel {
    display: none;
    margin-top: 0.35rem;
    padding: 0.75rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
}

.mega-menu-mobile-panel .mega-menu-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
}

.mega-menu-mobile-panel .mega-menu-column {
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
}

.mega-menu-mobile-panel .mega-menu-title {
    font-size: 0.9rem;
    gap: 0.5rem;
    margin-bottom: 0;
}

.mega-menu-mobile-panel .mega-menu-title-icon {
    width: 2.2rem;
    height: 2.2rem;
    flex: 0 0 2.2rem;
    font-size: 0.9rem;
}

.mega-menu-mobile-all {
    display: block;
    margin-top: 0.75rem;
    text-align: center;
}

@media (max-width: 991px) {
    .mega-menu.open > .mega-menu-mobile-panel {
        display: block;
    }
}

@media (min-width: 992px) {
    .mega-menu-mobile-panel {
        display: none !important;
    }
}

/* ---- FILTER DRAWER ---- */
.filter-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.filter-bar #filter-tokens-inline {
    display: contents;
}
.filter-bar .filter-sort-inline {
    margin-left: auto;
}

.filter-drawer-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border: 1.5px solid #e0dbd6;
    border-radius: 2rem;
    padding: 0.5rem 1.25rem;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #2a2a2a;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
    font-family: inherit;
}

.filter-drawer-btn:hover {
    border-color: var(--primary-button-background-color);
    box-shadow: 0 0 0 3px rgba(232, 100, 122, 0.1);
}

.filter-active-count {
    background: var(--primary-button-background-color);
    color: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
}

.filter-sort-inline {
    margin-left: auto;
}

.filter-sort-inline .filter-drawer-btn {
    gap: 0.4rem;
}

.filter-sort-inline .sort-chevron {
    margin-left: 0.1rem;
    opacity: 0.6;
}
.filter-sort-inline .filter-drawer-btn::after,
.filter-sort-inline .filter-drawer-btn.dropdown-toggle::after {
    display: none;
}

.filter-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1100;
    backdrop-filter: blur(2px);
}

.filter-overlay.open {
    display: block;
}

.filter-drawer {
    position: fixed;
    top: 0;
    left: -400px;
    width: 360px;
    height: 100vh;
    background: #fff;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 4px 0 32px rgba(0, 0, 0, 0.12);
}

.filter-drawer.open {
    left: 0;
}

.filter-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #f0ece8;
    font-size: 17px;
    font-weight: 700;
    color: #2a2a2a;
}

.filter-drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    color: #888;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s;
}

.filter-drawer-close:hover {
    background: #f7f5f2;
    color: #333;
}

.filter-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.5rem;
}

.filter-group {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #f7f5f2;
}

.filter-group:last-child {
    border-bottom: none;
}

.filter-group-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888;
    margin-bottom: 0.75rem;
}

.filter-options {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.filter-option-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    transition: background 0.15s;
}

.filter-option-label:hover {
    background: #f7f5f2;
}

.filter-option-label input {
    accent-color: var(--primary-button-background-color);
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.filter-drawer-footer {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #f0ece8;
    display: flex;
    gap: 0.75rem;
}

.filter-reset-btn {
    flex: 1;
    border-radius: 2rem !important;
    font-weight: 600 !important;
}

.filter-apply-btn {
    flex: 2;
    border-radius: 2rem !important;
    font-weight: 700 !important;
    background: var(--primary-button-background-color) !important;
    color: #fff !important;
}

body.filter-drawer-open {
    overflow: hidden;
}

@media (max-width: 480px) {
    .filter-drawer {
        width: 100vw;
        left: -100vw;
    }
}

#box-filter .tokens:not(:empty) {
    padding: 0.5rem 0 0.75rem;
}
#filter-tokens-inline:not(:empty) {
    padding: 0;
}

#box-filter .tokens .token {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1.25rem;
    border-radius: 2rem;
    font-size: 14px;
    font-weight: 600;
    cursor: default;
    margin: 0;
    background: #fff;
    color: #2a2a2a;
    border: 1.5px solid #e0dbd6;
}

#box-filter .tokens .token .remove {
    color: inherit;
    font-weight: 700;
    text-decoration: none;
    opacity: 0.6;
}

#box-filter .tokens .token .remove:hover {
    opacity: 1;
}

/* ---- PRODUCT PAGE POLISH ---- */
.product-page-container {
    width: min(calc(100% - clamp(1.5rem, 4vw, 4rem)), 1440px);
    min-width: 0;
    margin: 0 auto;
    padding: 0 0 clamp(2rem, 4vw, 4rem);
    box-sizing: border-box;
}

.product-page-container > .layout {
    margin: 0;
}

.product-page-container .tabs {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

#box-product {
    width: 100%;
}

/* Specification-style tables for technical-data and size-chart tabs */
.technical-data .table.table-striped,
.size-chart .table.table-striped {
    border-collapse: collapse;
    background: transparent;
}
.technical-data .table.table-striped > tbody > tr,
.size-chart .table.table-striped > tbody > tr {
    background: transparent !important;
    border-bottom: 1px solid var(--default-border-color);
}
.technical-data .table.table-striped > tbody > tr:first-child,
.size-chart .table.table-striped > tbody > tr:first-child {
    border-top: 1px solid var(--default-border-color);
}
.technical-data .table.table-striped > tbody > tr:hover,
.size-chart .table.table-striped > tbody > tr:hover {
    background: transparent !important;
}
.technical-data .table td,
.size-chart .table td {
    padding: 10px 12px;
    vertical-align: middle;
    font-size: 0.95em;
}
.technical-data .table td.bold,
.size-chart .table td.bold {
    font-weight: 600;
    width: 40%;
    color: var(--default-text-color);
}
.technical-data .table th[colspan],
.size-chart .table th[colspan] {
    padding-top: 20px !important;
    padding-bottom: 6px !important;
    background: transparent !important;
    font-weight: 700;
    font-size: 0.8em;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--muted-text-color, #888);
    border-bottom: 2px solid var(--default-border-color);
}

#box-product .product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(1rem, 2vw, 1.5rem);
    row-gap: 0.5rem;
    align-items: start;
    margin: 0;
}

#box-product .product-layout.no-thumbnails {
    grid-template-columns: 1fr 1fr;
}

#box-product .product-media {
    width: 100%;
    max-width: 100%;
    grid-column: 1;
    grid-row: 1;
}

#box-product .product-layout > .product-info {
    grid-column: 2;
    grid-row: 1 / span 2;
}

#box-product .product-layout > .product-thumbs,
#box-product .product-layout > .product-media,
#box-product .product-layout > .product-info {
    min-width: 0;
}

/* ---- PRODUCT SLIDER ---- */
#box-product .product-thumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    grid-column: 1;
    grid-row: 2;
}

.pthumb {
    display: block;
    width: 72px;
    flex: 0 0 72px;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    background: #f7f7f7;
    cursor: pointer;
    transition: border-color 0.15s;
    line-height: 0;
}

.pthumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    aspect-ratio: unset !important;
}

.pthumb.active {
    border-color: #26314d;
}

.pthumb:hover:not(.active) {
    border-color: rgba(38, 49, 77, 0.3);
}

.pslider {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(38, 49, 77, 0.08);
    line-height: 0;
    width: 100%;
}

.pslider-track {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.pslider-slide {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.pslider-slide.active {
    display: block;
}

.pslider-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #fff;
    transition: opacity 0.2s;
    position: absolute;
    top: 0;
    left: 0;
}

.pslider-img.loading {
    opacity: 0.4;
}

.pslider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(38, 49, 77, 0.1);
    box-shadow: 0 4px 16px rgba(38, 49, 77, 0.12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition:
        background 0.15s,
        box-shadow 0.15s;
    color: #26314d;
    padding: 0;
}

.pslider-btn svg {
    width: 1.1rem;
    height: 1.1rem;
}

.pslider-btn:hover {
    background: #fff;
    box-shadow: 0 6px 22px rgba(38, 49, 77, 0.18);
}

.pslider-prev {
    left: 0.7rem;
}
.pslider-next {
    right: 0.7rem;
}

.pslider-dots {
    position: absolute;
    bottom: 0.75rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.35rem;
    z-index: 2;
}

.pslider-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(38, 49, 77, 0.25);
    border: none;
    padding: 0;
    cursor: pointer;
    transition:
        background 0.15s,
        transform 0.15s;
}

.pslider-dot.active {
    background: #26314d;
    transform: scale(1.4);
}

#box-product .main-image .sticker,
#box-product .pslider .sticker {
    position: absolute;
    top: clamp(0.8rem, 2vw, 1.1rem);
    left: clamp(0.8rem, 2vw, 1.1rem);
    z-index: 2;
    line-height: 1.2;
}

#box-product .product-info {
    align-self: stretch;
}

#box-product {
    --pdp-plum: #1a1a1a;
    --pdp-plum-soft: #707070;
    --pdp-lilac: #f5f5f5;
    --pdp-lilac-border: #e3e3e3;
    --pdp-selected: #ffffff;
    --pdp-selected-outline: #1a1a1a;
    --pdp-divider: rgba(0, 0, 0, 0.1);
}

#box-product .sticky {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 1.9vw, 1.2rem);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#box-product .sticky > * {
    margin-top: 0;
    margin-bottom: 0;
}

#box-product .sticky .breadcrumb {
    margin-bottom: 0;
    font-size: 0.86rem;
}

#box-product .product-title {
    font-size: clamp(1.6rem, 2.4vw, 2.4rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    margin: 0;
    color: var(--default-text-color);
}

#box-product .product-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.7rem 1rem;
}

#box-product .price-wrapper {
    font-size: clamp(1.55rem, 2.2vw, 2.1rem);
    line-height: 1.02;
}

#box-product .price-wrapper .price {
    color: var(--pdp-plum);
}

#box-product .price-wrapper .campaign-price {
    color: #1a7a4a;
}

#box-product .price-wrapper del {
    color: #aaa9b2;
    font-size: 0.78em;
}

#box-product .offer-expires {
    margin-top: 0.55rem;
    font-size: 0.88rem;
    color: #7a7192;
}

#box-product .short-description {
    max-width: 34rem;
    color: #5a5a5a;
    font-size: 1.02rem;
    line-height: 1.6;
}

#box-product .manufacturer,
#box-product .recommended-price {
    margin: 0 !important;
}

#box-product .sticky .manufacturer {
    order: -2;
}

#box-product .sticky .manufacturer img {
    max-height: 34px;
    width: auto;
}

#box-product .sticky .product-title {
    order: -1;
}

#box-product .codes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.4rem;
    align-items: center;
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--pdp-plum-soft);
    font-size: 0.95rem;
}

#box-product .codes strong {
    color: var(--pdp-plum);
    font-weight: 700;
}

#box-product .sticky hr {
    margin: 0.05rem 0 0.2rem;
    border: 0;
    border-top: 1px solid var(--pdp-divider);
}

#box-product .buy_now {
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
}

#box-product .buy_now form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

#box-product .options {
    margin-bottom: 0;
}

#box-product .options .form-group {
    margin: 0;
}

#box-product .option-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

#box-product .options .form-group > label,
#box-product .buy_now > form > .form-group > label {
    display: block;
    padding: 0;
    margin: 0;
    color: var(--pdp-plum-soft);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

#box-product .option-group--size > label,
#box-product .buy_now .purchase-quantity-group > label {
    color: var(--pdp-plum);
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

#box-product .option-values {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

#box-product .options .radio {
    display: inline-flex;
    padding: 0 !important;
    margin: 0;
    background: transparent !important;
    vertical-align: top;
}

#box-product .options .radio label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.45rem;
    min-height: 3.15rem;
    padding: 0.72rem 1rem;
    border: 1px solid var(--pdp-lilac-border);
    border-radius: 0.75rem;
    background: var(--pdp-lilac);
    box-shadow: none;
    color: var(--pdp-plum-soft);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition:
        border-color 0.18s,
        background 0.18s,
        box-shadow 0.18s,
        color 0.18s;
}

#box-product .options .radio label:hover {
    border-color: rgba(0, 0, 0, 0.3);
    color: var(--pdp-plum);
    transform: none;
}

#box-product .options .radio label:has(input[type="radio"]:checked) {
    border-color: var(--pdp-plum);
    background: #fff;
    color: var(--pdp-plum);
    box-shadow: 0 0 0 1px var(--pdp-plum);
}

#box-product .option-group--size {
    gap: 0.85rem;
}

#box-product .option-group--size .option-values {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

#box-product .option-group--size .radio {
    display: flex;
}

#box-product .option-group--size .radio label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 3.6rem;
    min-height: 3.6rem;
    padding: 0.5rem 0.6rem;
    border-width: 1px;
    border-radius: 0.7rem;
    background: #f7f7f7;
    color: #999;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.15;
    gap: 0.15rem;
}

#box-product .option-group--size .radio label .size-cm {
    font-size: 0.68rem;
    font-weight: 400;
    color: #aaa;
    line-height: 1;
}

#box-product
    .option-group--size
    .radio
    label:has(input[type="radio"]:checked)
    .size-cm {
    color: var(--pdp-plum);
    opacity: 0.75;
}

#box-product .option-group--size .radio label:has(input[type="radio"]:checked) {
    border-color: var(--pdp-plum);
    background: #fff;
    color: var(--pdp-plum);
    box-shadow: 0 0 0 1px var(--pdp-plum);
    font-weight: 700;
}

#box-product .buy_now .purchase-quantity-group {
    display: none;
}

#box-product .buy_now .form-group > .flex-d,
#box-product .buy_now .purchase-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: stretch;
}

#box-product .buy_now .quantity-selector {
    max-width: 360px;
}

#box-product .buy_now .input-group {
    display: grid;
    grid-template-columns: 3.2rem minmax(4rem, 1fr) auto 3.2rem;
    min-height: 3.45rem;
    overflow: hidden;
    border: 1px solid var(--pdp-lilac-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: none;
}

#box-product .buy_now .input-group button,
#box-product .buy_now .input-group .form-control,
#box-product .buy_now .input-group .input-group-text {
    min-height: 3.45rem;
    border: 0;
    box-shadow: none;
}

#box-product .buy_now .input-group .form-control {
    padding: 0;
    text-align: center;
    font-size: 1.18rem;
    font-weight: 700;
    color: var(--pdp-plum);
    background: transparent;
}

#box-product .buy_now .input-group .input-group-text {
    display: inline-flex;
    align-items: center;
    padding: 0 0.9rem !important;
    font-weight: 700;
    color: var(--pdp-plum-soft);
    background: transparent;
}

#box-product .buy_now .input-group button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 1.55rem;
    font-weight: 700;
    cursor: pointer;
    background: #fbf9fe;
    color: var(--pdp-plum);
}

#box-product .buy_now .input-group button:hover {
    background: #f4effa;
}

#box-product .buy_now .purchase-submit,
#box-product .buy_now .purchase-submit .btn {
    width: 100%;
}

#box-product .buy_now .btn[name="add_cart_product"],
#box-product .buy_now .add-to-cart-btn {
    min-height: 3.85rem;
    border: 0;
    border-radius: 0.6rem;
    background: var(--pdp-cart-green) !important;
    color: #fff !important;
    box-shadow: none;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

#box-product .buy_now .btn[name="add_cart_product"]:hover:not([disabled]),
#box-product .buy_now .add-to-cart-btn:hover:not([disabled]) {
    background: var(--pdp-cart-green-hover) !important;
}

#box-product .product-detail-cards {
    display: grid;
    gap: 0.8rem;
}

#box-product .stock-status {
    display: grid;
    gap: 0.8rem;
}

#box-product .detail-card {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    padding: 1rem 1.1rem;
    border: 0;
    border-radius: 0.65rem;
    background: #efe8f8;
    color: var(--pdp-plum);
}

#box-product .cheapest-shipping.detail-card {
    background: #f8d395;
}

#box-product .stock-available.detail-card {
    background: #e8e28b;
}

#box-product .stock-delivery.detail-card {
    background: #efe8f8;
}

#box-product .detail-card svg {
    flex: 0 0 auto;
    width: 1.4rem;
    height: 1.4rem;
    margin-top: 0.15rem;
    color: var(--pdp-plum);
}

#box-product .detail-card__content {
    min-width: 0;
    flex: 1 1 auto;
}

#box-product .detail-card strong {
    color: var(--pdp-plum);
    font-weight: 700;
}

#box-product .detail-card .description {
    margin-top: 0.35rem;
    font-size: 0.92rem;
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.6);
}

#box-product .stock-unavailable,
#box-product .stock-partly-available {
    background: #f8d395;
    color: var(--pdp-plum);
}

#box-product .stock-unavailable .value,
#box-product .stock-partly-available .value {
    color: inherit;
    font-weight: 700;
}

#box-product .product-assurances {
    display: none;
}

#box-product .social-bookmarks {
    display: none;
}

@media (max-width: 1280px) {
    #box-product .product-layout {
        grid-template-columns: 1fr 1fr;
    }
    #box-product .product-layout.no-thumbnails {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 1050px) {
    #box-product .product-layout {
        grid-template-columns: 1fr 1fr;
    }
    #box-product .product-layout.no-thumbnails {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .product-page-container {
        width: min(calc(100% - 1rem), 1440px);
    }

    #box-product .product-layout,
    #box-product .product-layout.no-thumbnails {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
    }

    #box-product .product-layout > .product-media {
        display: block;
        order: 1;
        width: 100%;
        min-width: 0;
        flex: 0 0 auto;
    }

    #box-product .product-layout > .product-thumbs {
        order: 2;
        flex-direction: row;
        overflow-x: auto;
        gap: 0.4rem;
        padding-bottom: 0.15rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    #box-product .product-layout > .product-info {
        order: 3;
        width: 100%;
    }

    #box-product .pslider {
        display: block;
        width: 100%;
        min-height: min(82vw, 420px);
    }

    #box-product .pslider-track {
        aspect-ratio: 1 / 1 !important;
        min-height: min(82vw, 420px);
    }

    #box-product .pslider-slide.active {
        display: block;
    }

    #box-product .product-thumbs::-webkit-scrollbar {
        display: none;
    }

    .pthumb {
        width: 72px;
        flex: 0 0 72px;
        border-radius: 10px;
    }

    #box-product .sticky {
        position: static;
        gap: 0.85rem;
        padding: 1rem;
    }

    #box-product .product-title {
        max-width: none;
        font-size: clamp(1.55rem, 8vw, 2rem);
    }

    #box-product .buy_now .quantity-selector {
        max-width: none;
    }

    #box-product .option-group--size .option-values {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    #box-product .detail-card {
        padding: 0.85rem 0.9rem;
    }

    #box-product .buy_now .form-group > .flex-d {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    #box-product .options .radio label {
        min-width: 3rem;
        min-height: 3rem;
        padding: 0.55rem 0.75rem;
        font-size: 0.95rem;
        border-radius: 0.65rem;
    }

    #box-product .option-group--size .option-values {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.55rem;
    }

    #box-product .option-group--size .radio label {
        min-height: 3.35rem;
        padding: 0.75rem 0.35rem;
        font-size: 1.05rem;
    }

    #box-product .buy_now .btn[name="add_cart_product"],
    #box-product .buy_now .add-to-cart-btn {
        min-height: 3.45rem;
    }

    #box-product .buy_now .input-group {
        grid-template-columns: 2.85rem minmax(3rem, 1fr) auto 2.85rem;
    }
}

/* ---- PRODUCT PAGE CONVERSION POLISH ---- */
#box-product {
    --pdp-ink: var(--default-text-color);
    --pdp-muted: #687286;
    --pdp-card: rgba(255, 255, 255, 0.94);
    --pdp-border: rgba(38, 49, 77, 0.09);
    --pdp-shadow: 0 24px 64px rgba(73, 64, 101, 0.11);
}

#box-product .product-layout {
    column-gap: clamp(1rem, 2.8vw, 2rem);
}

#box-product .pslider {
    border: 1px solid var(--pdp-border);
    border-radius: clamp(1.25rem, 2.6vw, 2rem);
    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(255, 255, 255, 0.92),
            transparent 45%
        ),
        linear-gradient(135deg, var(--soft-blue), var(--soft-pink));
    box-shadow: var(--pdp-shadow);
}

#box-product .pslider-track {
    position: relative;
    aspect-ratio: 1 / 1;
}

#box-product .pslider-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

#box-product .pslider-img {
    background: transparent;
}

#box-product .product-thumbs {
    padding-top: 0.1rem;
}

#box-product .pthumb,
.pthumb {
    border-color: rgba(38, 49, 77, 0.08);
    background: #fff;
    box-shadow: 0 10px 24px rgba(73, 64, 101, 0.08);
}

#box-product .pthumb.active,
.pthumb.active {
    border-color: var(--accent-pink);
    box-shadow: 0 0 0 3px rgba(255, 122, 162, 0.18);
}

#box-product .pslider .sticker,
#box-product .product-badge-row .sticker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0.48rem 0.82rem;
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 999px;
    box-shadow: 0 14px 32px rgba(73, 64, 101, 0.16);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

#box-product .pslider .sticker {
    position: absolute;
    top: clamp(0.85rem, 2vw, 1.2rem);
    left: clamp(0.85rem, 2vw, 1.2rem);
    z-index: 3;
}

#box-product .pslider .sticker.sale,
#box-product .product-badge-row .sticker.sale {
    background: linear-gradient(135deg, #ff4f7f 0%, #ff8d72 100%);
    color: #fff;
}

#box-product .pslider .sticker.new,
#box-product .product-badge-row .sticker.new {
    background: linear-gradient(135deg, var(--soft-yellow) 0%, #ffe4ee 100%);
    color: var(--pdp-ink);
}

#box-product .product-badge-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: -0.25rem;
}

#box-product .product-badge-row .sticker {
    position: static;
    box-shadow: 0 10px 24px rgba(73, 64, 101, 0.1);
}

#box-product .sticky {
    border-color: var(--pdp-border);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(255, 228, 238, 0.48),
            transparent 16rem
        ),
        var(--pdp-card);
    box-shadow: var(--pdp-shadow);
}

#box-product .product-title {
    color: var(--pdp-ink);
    line-height: 1.06;
}

#box-product .product-price-row {
    align-items: center;
}

#box-product .price-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.65rem;
}

#box-product .price-wrapper .price,
#box-product .price-wrapper .campaign-price {
    color: #257a47;
    font-weight: 800;
}

#box-product .price-wrapper del {
    color: rgba(38, 49, 77, 0.3);
    font-weight: 700;
}

#box-product .price-saving {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: var(--soft-mint);
    color: #146451;
    font-size: 0.88rem;
    font-weight: 800;
    white-space: nowrap;
}

#box-product .short-description {
    max-width: none;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(101, 214, 192, 0.24);
    border-left: 4px solid var(--accent-mint);
    border-radius: 1rem;
    background: rgba(228, 251, 244, 0.55);
    color: #4e5a68;
}

#box-product .buy_now {
    padding: clamp(0.9rem, 2vw, 1.15rem);
    border: 1px solid rgba(105, 200, 255, 0.22);
    border-radius: 1.25rem;
    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(255, 255, 255, 0.78),
            transparent 12rem
        ),
        linear-gradient(
            135deg,
            rgba(228, 251, 244, 0.92),
            rgba(223, 244, 255, 0.9)
        ) !important;
}

#box-product .buy_now .btn[name="add_cart_product"],
#box-product .buy_now .add-to-cart-btn {
    min-height: 4.1rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #4b2673 0%, #6b3da0 100%) !important;
    box-shadow: 0 18px 38px rgba(75, 38, 115, 0.25);
    letter-spacing: 0.06em;
}

#box-product .buy_now .btn[name="add_cart_product"]:hover:not([disabled]),
#box-product .buy_now .add-to-cart-btn:hover:not([disabled]) {
    background: linear-gradient(135deg, #3a1b59 0%, #5d318f 100%) !important;
    box-shadow: 0 22px 44px rgba(75, 38, 115, 0.3);
}

#box-product .purchase-benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem 0.85rem;
    margin-top: -0.45rem;
    color: #526074;
    font-size: 0.82rem;
    font-weight: 700;
}

#box-product .purchase-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

#box-product .product-detail-cards,
#box-product .stock-status {
    gap: 0.65rem;
}

#box-product .detail-card {
    border: 1px solid var(--pdp-border);
    border-left: 4px solid var(--accent-blue);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 12px 28px rgba(73, 64, 101, 0.06);
    color: var(--pdp-ink);
}

#box-product .cheapest-shipping.detail-card {
    background: rgba(255, 241, 189, 0.55);
    border-left-color: var(--accent-yellow);
}

#box-product .stock-available.detail-card {
    background: rgba(228, 251, 244, 0.65);
    border-left-color: var(--accent-mint);
}

#box-product .stock-delivery.detail-card {
    background: rgba(223, 244, 255, 0.58);
    border-left-color: var(--accent-blue);
}

#box-product .detail-card svg {
    color: var(--pdp-ink);
}

#box-product .product-assurances {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0;
}

#box-product .product-assurances .assurance {
    padding: 0.9rem;
    border: 1px solid var(--pdp-border);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 28px rgba(73, 64, 101, 0.06);
}

#box-product .product-assurances .icon {
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: 0.45rem;
    font-size: 1.05rem;
}

#box-product .product-assurances strong {
    color: var(--pdp-ink);
    font-size: 0.92rem;
}

#box-product .product-assurances small {
    color: var(--pdp-muted);
    font-size: 0.82rem;
}

@media (max-width: 991px) {
    #box-product .product-assurances {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 567px) {
    #box-product .pslider .sticker {
        top: 0.7rem;
        left: 0.7rem;
    }

    #box-product .product-badge-row .sticker,
    #box-product .price-saving,
    #box-product .purchase-benefits {
        font-size: 0.78rem;
    }

    #box-product .purchase-benefits {
        justify-content: flex-start;
    }
}

/* ---- PRODUCT PAGE CLEAN TRUST REDESIGN ---- */
#box-product {
    --pdp-clean-border: rgba(38, 49, 77, 0.1);
    --pdp-clean-muted: #6d7484;
    --pdp-clean-green: #2f9e44;
    --pdp-clean-plum: #1a1a1a;
    --pdp-cart-green: #5fbb63;
    --pdp-cart-green-hover: #4fa953;
}

#box-product .product-layout {
    column-gap: clamp(1.5rem, 3.2vw, 2.6rem);
}

#box-product .sticky {
    gap: 0.85rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

#box-product .breadcrumb-product {
    margin-bottom: 0.9rem;
}

#box-product .product-title {
    max-width: 42rem;
    color: #26314d;
    font-size: clamp(1.55rem, 2.65vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

#box-product .product-price-row {
    gap: 0.45rem 0.75rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(38, 49, 77, 0.08);
}

#box-product .price-wrapper {
    gap: 0.35rem 0.55rem;
    font-size: clamp(1.5rem, 2.15vw, 2rem);
}

#box-product .price-wrapper .campaign-price,
#box-product .price-wrapper .price {
    color: var(--pdp-clean-green);
}

#box-product .price-wrapper del {
    color: rgba(38, 49, 77, 0.32);
    font-size: 0.78em;
}

#box-product .price-saving {
    min-height: auto;
    padding: 0.3rem 0.65rem;
    border: 1px solid rgba(49, 115, 74, 0.14);
    background: #f2faf5;
    color: var(--pdp-clean-green);
    font-size: 0.86rem;
    font-weight: 700;
}

#box-product .sticky > hr {
    display: none;
}

#box-product .short-description {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--pdp-clean-muted);
    font-size: 1rem;
    line-height: 1.55;
}

#box-product .buy_now {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
}

#box-product .buy_now form {
    gap: 0.9rem;
}

#box-product .options {
    padding: 1rem;
    border: 1px solid var(--pdp-clean-border);
    border-radius: 1.1rem;
    background: #fbfcff;
}

#box-product .option-group--size > label,
#box-product .buy_now .purchase-quantity-group > label,
#box-product .options .form-group > label {
    margin-bottom: 0.75rem;
    color: #7a7192;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#box-product .option-group--size .option-values {
    gap: 0.5rem;
}

#box-product .option-group--size .radio label {
    min-width: 3.35rem;
    min-height: 3.35rem;
    border-color: rgba(0, 0, 0, 0.12);
    background: #fff;
    color: #999;
    box-shadow: none;
}

#box-product .option-group--size .radio label:has(input[type="radio"]:checked) {
    border-color: var(--pdp-clean-plum);
    background: #fff;
    color: var(--pdp-clean-plum);
    box-shadow: 0 0 0 1px var(--pdp-clean-plum);
}

#box-product .buy_now .btn[name="add_cart_product"],
#box-product .buy_now .add-to-cart-btn {
    min-height: 3.9rem;
    border-radius: 0.6rem;
    background: var(--pdp-cart-green) !important;
    box-shadow: none;
    font-size: 1.05rem;
    letter-spacing: 0;
    text-transform: none;
}

#box-product .buy_now .btn[name="add_cart_product"]:hover:not([disabled]),
#box-product .buy_now .add-to-cart-btn:hover:not([disabled]) {
    background: var(--pdp-cart-green-hover) !important;
    box-shadow: 0 12px 26px rgba(95, 187, 99, 0.42);
}

#box-product .purchase-benefits {
    justify-content: flex-start;
    gap: 0;
    margin-top: -0.2rem;
    color: var(--pdp-clean-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

#box-product .purchase-benefits span {
    gap: 0;
}

#box-product .purchase-benefits span + span::before {
    content: "•";
    margin: 0 0.55rem;
    color: rgba(38, 49, 77, 0.28);
}

#box-product .product-detail-cards {
    gap: 0.55rem;
}

#box-product .stock-status {
    gap: 0.55rem;
}

#box-product .detail-card {
    align-items: center;
    min-height: 3.6rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--pdp-clean-border);
    border-left: 3px solid rgba(38, 49, 77, 0.12);
    border-radius: 1rem;
    background: #fff;
    box-shadow: none;
    color: #40495c;
}

#box-product .detail-card svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0;
    color: #8b92a3;
}

#box-product .cheapest-shipping.detail-card,
#box-product .stock-available.detail-card,
#box-product .stock-delivery.detail-card {
    background: #fff;
}

#box-product .cheapest-shipping.detail-card {
    border-left-color: #d9a839;
}

#box-product .stock-available.detail-card {
    border-left-color: #56b98f;
}

#box-product .stock-delivery.detail-card {
    border-left-color: #77bde8;
}

#box-product .detail-card strong {
    color: #343b4d;
}

#box-product .stock-available .value {
    color: #3f8b63;
    font-weight: 700;
}

#box-product .product-assurances {
    display: none;
}

#box-product .pslider {
    border-color: var(--pdp-clean-border);
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 18px 46px rgba(73, 64, 101, 0.08);
}

#box-product .pslider .sticker {
    min-height: 2.35rem;
    padding: 0.48rem 0.78rem;
    border: 0;
    box-shadow: 0 12px 28px rgba(230, 83, 116, 0.22);
    font-size: 0.82rem;
}

#box-product .pslider .sticker.sale {
    background: #e95f7d;
}

#box-product .pslider .sticker.new {
    background: #fff1bd;
}

@media (max-width: 991px) {
    #box-product .product-assurances {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    #box-product .sticky {
        gap: 0.75rem;
        padding: 1rem;
    }

    #box-product .product-title {
        font-size: clamp(1.45rem, 7vw, 1.9rem);
    }

    #box-product .options {
        padding: 0.85rem;
    }

    #box-product .purchase-benefits {
        line-height: 1.5;
    }
}

/* ---- PRODUCT PAGE FINAL TIGHTENING ---- */
#box-product .sticky {
    gap: 0.75rem;
}

#box-product .product-title {
    font-size: clamp(1.5rem, 2.1vw, 2.05rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #1a1a1a;
}

#box-product .price-wrapper {
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    font-weight: 800;
    color: #2f9e44;
}

#box-product .product-price-row {
    padding-bottom: 0.7rem;
}

#box-product .price-saving {
    font-size: 0.8rem;
    padding: 0.26rem 0.58rem;
}

#box-product .options {
    padding: 0.85rem 0 1rem;
    border: 0;
    border-top: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 0;
    background: transparent;
}

#box-product .option-group {
    gap: 0.6rem;
}

#box-product .option-group--size > label,
#box-product .buy_now .purchase-quantity-group > label,
#box-product .options .form-group > label {
    margin-bottom: 0.45rem;
    color: #7b728f;
    font-size: 0.82rem;
    letter-spacing: 0.055em;
}

#box-product .option-group--size .option-values {
    gap: 0.55rem;
}

#box-product .option-group--size .radio label {
    min-width: 3.25rem;
    min-height: 3.05rem;
    padding: 0.48rem 0.55rem;
    border-radius: 0.8rem;
    border-width: 1.5px;
    border-color: #c4c4c4;
    background: #fff;
    color: #1f2430;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.05;
}

#box-product .option-group--size .radio label .size-cm {
    margin-top: 0.12rem;
    color: #8a8a8a;
    font-size: 0.68rem;
    line-height: 1;
}

#box-product .option-group--size .radio label .size-cm::after {
    content: " cm";
}

#box-product .option-group--size .radio label:has(input[type="radio"]:checked) {
    border-color: var(--pdp-clean-plum);
    background: #f6f6f6;
    color: var(--pdp-clean-plum);
    box-shadow: 0 0 0 2px var(--pdp-clean-plum);
    font-weight: 800;
}

#box-product .buy_now form {
    gap: 0.75rem;
}

#box-product .buy_now .btn[name="add_cart_product"],
#box-product .buy_now .add-to-cart-btn {
    min-height: 3.5rem;
    border-radius: 0.6rem;
    font-size: 1rem;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: 0 8px 20px rgba(95, 187, 99, 0.32);
}

#box-product .purchase-benefits {
    margin-top: -0.1rem;
    font-size: 0.78rem;
    line-height: 1.45;
}

#box-product .product-detail-cards {
    margin-top: 0.15rem;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(38, 49, 77, 0.08);
}

#box-product .detail-card {
    min-height: 3.15rem;
    padding: 0.72rem 0.85rem;
    gap: 0.7rem;
    border-radius: 0.85rem;
    border-left-width: 3px;
    font-size: 0.95rem;
}

#box-product .detail-card svg {
    width: 1.05rem;
    height: 1.05rem;
    opacity: 0.9;
}

#box-product .detail-card__content {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.35rem;
}

#box-product .detail-card strong {
    font-weight: 800;
}

#box-product .cheapest-shipping.detail-card {
    border-left-color: #cfa637;
}

#box-product .stock-available.detail-card {
    border-left-color: #69af83;
}

#box-product .stock-delivery.detail-card {
    border-left-color: #7dbbe0;
}

@media (max-width: 767px) {
    #box-product .product-title {
        font-size: clamp(1.35rem, 6vw, 1.75rem);
    }

    #box-product .buy_now .btn[name="add_cart_product"],
    #box-product .buy_now .add-to-cart-btn {
        min-height: 3.1rem;
    }

    #box-product .purchase-benefits span + span::before {
        margin: 0 0.38rem;
    }
}

/* ---- PRODUCT PAGE TRUST + FOMO POLISH ---- */
#box-product .product-urgency {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.46rem 0.78rem;
    border: 1px solid rgba(207, 166, 55, 0.22);
    border-radius: 999px;
    background: #fff8ef;
    color: #9b611f;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
}

#box-product .product-urgency.is-critical {
    border-color: rgba(233, 95, 125, 0.24);
    background: #fff2f5;
    color: #b64e67;
}

#box-product .product-urgency__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
    border-radius: 50%;
    background: rgba(233, 95, 125, 0.1);
    color: #d55b7b;
}

#box-product .product-urgency__icon svg {
    width: 0.82rem;
    height: 0.82rem;
}

#box-product .purchase-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.9rem;
    margin-top: 0.05rem;
    color: var(--pdp-clean-muted);
}

#box-product .purchase-benefits span + span::before,
#box-product .purchase-benefits .benefit-label::before {
    content: none !important;
    margin: 0 !important;
}

#box-product .purchase-benefits .benefit-item {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    white-space: nowrap;
}

#box-product .purchase-benefits .benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 50%;
    background: #f5f7fb;
    color: #6e7686;
}

#box-product .purchase-benefits .benefit-icon svg {
    width: 0.8rem;
    height: 0.8rem;
}

#box-product .purchase-benefits .benefit-label {
    color: #646c7d;
    font-size: 0.79rem;
    font-weight: 600;
    line-height: 1.3;
}

@media (max-width: 767px) {
    #box-product .product-urgency {
        font-size: 0.8rem;
    }

    #box-product .purchase-benefits {
        gap: 0.45rem 0.7rem;
    }

    #box-product .purchase-benefits .benefit-item {
        white-space: normal;
    }
}

/* ---- CATEGORY PAGE SEO LAYOUT ---- */
.category-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 360px);
    gap: clamp(0.65rem, 1.8vw, 1.15rem);
    align-items: start;
    margin-bottom: clamp(0.65rem, 1.8vw, 1.25rem);
    padding: clamp(0.65rem, 1.3vw, 0.95rem) clamp(0.8rem, 1.8vw, 1.25rem);
    border: 1px solid rgba(38, 49, 77, 0.07);
    border-radius: clamp(0.85rem, 2vw, 1.25rem);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 34px rgba(73, 64, 101, 0.07);
}

.category-intro--help-only {
    grid-template-columns: minmax(0, 360px);
    justify-content: end;
}

.category-intro__text {
    /* max-width: 760px; */
    color: #626d84;
    font-size: clamp(0.82rem, 1.15vw, 0.92rem);
    /* font-weight: 600; */
    line-height: 1.42;
}

.category-intro__text p:last-child {
    margin-bottom: 0;
}

.category-intro__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.55rem;
}

.category-intro__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    background: #e8fbf2;
    color: #0b7f60;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
}

.category-intro__badge .fa {
    font-size: 0.92em;
}

.category-intro__help {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.55rem;
    align-items: start;
    padding: clamp(0.55rem, 1.3vw, 0.78rem);
    border: 1px solid rgba(248, 156, 28, 0.12);
    border-radius: clamp(0.75rem, 1.8vw, 1rem);
    background: #fffaf0;
    color: #8b4720;
}

.category-intro__help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: #ff9f1a;
    color: #fff;
    font-size: 0.75rem;
}

.category-intro__help strong {
    display: block;
    margin-bottom: 0.16rem;
    color: #7c3918;
    font-size: 0.75rem;
}

.category-intro__help p {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.34;
}

.category-bottom-content {
    margin-top: clamp(2rem, 5vw, 4.5rem);
    padding-top: clamp(1.6rem, 4vw, 3.25rem);
    border-top: 1px solid rgba(38, 49, 77, 0.1);
}

.category-seo,
.category-faq {
    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
}

.category-seo__header {
    max-width: 760px;
    margin: 0 auto clamp(1.2rem, 3vw, 2rem);
    text-align: center;
}

.category-seo__kicker {
    display: inline-flex;
    margin-bottom: 0.45rem;
    color: #0c9c78;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.category-seo__header h2,
.category-faq__header h2 {
    margin: 0;
    color: #141b2d;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1.12;
}

.category-seo__body,
.category-faq {
    border: 1px solid rgba(38, 49, 77, 0.07);
    border-radius: clamp(1rem, 2.4vw, 1.55rem);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 42px rgba(73, 64, 101, 0.07);
}

.category-seo__body {
    padding: clamp(1.05rem, 3vw, 2rem);
    color: #5d687d;
    font-size: 0.98rem;
    line-height: 1.72;
}

.category-seo__body h2,
.category-seo__body h3,
.category-seo__body h4 {
    color: #1a2236;
    letter-spacing: -0.025em;
}

.category-seo__body ul {
    display: grid;
    gap: 0.72rem;
    margin: 1rem 0 1.25rem;
    padding-left: 0;
    list-style: none;
}

.category-seo__body li {
    position: relative;
    padding-left: 1.45rem;
}

.category-seo__body li::before {
    content: "";
    position: absolute;
    left: 0.15rem;
    top: 0.72em;
    width: 0.44rem;
    height: 0.44rem;
    border-radius: 999px;
    background: #0c9c78;
    box-shadow: 0 0 0 0.28rem rgba(12, 156, 120, 0.1);
}

.category-seo__body li strong {
    color: #1a2236;
}

.category-seo__body h2:first-child,
.category-seo__body h3:first-child,
.category-seo__body h4:first-child,
.category-seo__body p:first-child {
    margin-top: 0;
}

.category-seo__body p:last-child,
.category-seo__body ul:last-child,
.category-seo__body ol:last-child,
.category-faq__body p:last-child,
.category-faq__body ul:last-child,
.category-faq__body ol:last-child {
    margin-bottom: 0;
}

.category-faq {
    margin-top: clamp(1.1rem, 3vw, 2rem);
    padding: clamp(1.05rem, 3vw, 1.8rem);
}

.category-faq__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: clamp(0.9rem, 2vw, 1.25rem);
}

.category-faq__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    flex: 0 0 auto;
    border-radius: 0.72rem;
    background: #e8fbf2;
    color: #0c9c78;
    font-size: 1.1rem;
}

.category-faq__body {
    color: #5d687d;
    font-size: 0.96rem;
    line-height: 1.68;
}

.category-faq__accordion {
    display: grid;
    gap: 0.62rem;
}

.category-faq__item {
    overflow: hidden;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.78);
}

.category-faq__question {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.92rem 3rem 0.92rem 1rem;
    color: #1a2236;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
}

.category-faq__question::-webkit-details-marker {
    display: none;
}

.category-faq__question::marker {
    content: "";
}

.category-faq__question:hover {
    color: #0c9c78;
}

.category-faq__question:focus-visible {
    outline: 2px solid rgba(12, 156, 120, 0.28);
    outline-offset: -2px;
}

.category-faq__question::after {
    content: "+";
    position: absolute;
    right: 1rem;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    background: #e8fbf2;
    color: #0c9c78;
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
    transition:
        background 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.category-faq__item[open] .category-faq__question::after {
    content: "−";
    background: #0c9c78;
    color: #fff;
}

.category-faq__answer {
    padding: 0 1rem 1rem;
    color: #5d687d;
}

.category-faq__answer p {
    margin: 0;
}

.category-faq__body h2,
.category-faq__body h3,
.category-faq__body h4 {
    margin: 1.05rem 0 0.35rem;
    color: #1a2236;
    font-size: 1.04rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.category-faq__body h2:first-child,
.category-faq__body h3:first-child,
.category-faq__body h4:first-child {
    margin-top: 0;
}

@media (max-width: 991px) {
    .category-intro {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .category-intro {
        padding: 0.7rem;
        border-radius: 0.9rem;
    }

    .category-intro__badges {
        gap: 0.42rem;
    }

    .category-intro__badge {
        padding: 0.36rem 0.68rem;
        font-size: 0.8rem;
    }

    .category-intro__help {
        grid-template-columns: 1fr;
    }
}

/* Static / article page layout */
#box-page-wrap {
    max-width: 860px;
    margin: 0 auto;
    width: 100%;
}
#box-page-wrap .box-page-header {
    /* override the full-width category-header margin/auto centering */
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}
#box-page.card {
    border-radius: var(--border-radius);
    background: rgba(255, 255, 255, 0.97);
}
#box-page .card-body {
    padding: 2em 2.5em;
    line-height: 1.85;
    font-size: 1.05em;
}
#box-page .card-body h1 {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.03em;
    margin-top: 0;
    margin-bottom: 0.75em;
}
#box-page .card-body h2 {
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-top: 2em;
    margin-bottom: 0.5em;
}
#box-page .card-body h3 {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: 0.4em;
}
#box-page .card-body p {
    margin-top: 0;
    margin-bottom: 1em;
}
#box-page .card-body ul,
#box-page .card-body ol {
    padding-left: 1.5em;
    margin-bottom: 1em;
}
#box-page .card-body li {
    margin-bottom: 0.4em;
}
#box-page .card-body strong {
    font-weight: 700;
}
@media (max-width: 767px) {
    #box-page .card-body {
        padding: 1.25em 1.15em;
    }
}

/* =============================================================
   Blog / news articles
   ============================================================= */

.blog-page {
    padding-bottom: clamp(2rem, 5vw, 4rem);
}

.blog-page__breadcrumbs {
    margin-bottom: clamp(1rem, 2.5vw, 1.6rem);
}

.blog-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: clamp(1rem, 2.6vw, 2rem);
    align-items: start;
}

.blog-layout--article {
    grid-template-columns: minmax(220px, 280px) minmax(0, 960px);
}

.blog-layout__main {
    min-width: 0;
}

.blog-layout__sidebar {
    position: sticky;
    top: 6.25rem;
    min-width: 0;
}

.blog-filter {
    display: grid;
    gap: 1rem;
}

.blog-filter__section {
    padding: clamp(0.9rem, 2vw, 1.15rem);
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 36px rgba(73, 64, 101, 0.06);
}

.blog-filter__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
    color: #1a2236;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: -0.025em;
}

.blog-filter__title .fa {
    color: #0c9c78;
}

.blog-filter__links {
    display: grid;
    gap: 0.45rem;
}

.blog-filter__link,
.blog-filter__tag {
    text-decoration: none;
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.blog-filter__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.62rem 0.72rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    color: #39445e;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.25;
}

.blog-filter__link strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: rgba(12, 156, 120, 0.1);
    color: #0b7f60;
    font-size: 0.78rem;
}

.blog-filter__link:hover,
.blog-filter__link.active {
    border-color: rgba(12, 156, 120, 0.16);
    background: #e8fbf2;
    color: #0b7f60;
    text-decoration: none;
}

.blog-filter__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.blog-filter__section--keywords .blog-filter__tags {
    max-height: 28rem;
    overflow-y: auto;
    padding-right: 0.1rem;
}

.blog-filter__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.68rem;
    border: 1px solid rgba(12, 156, 120, 0.12);
    border-radius: 999px;
    background: #f4fff9;
    color: #26314d;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.2;
}

.blog-filter__tag:hover,
.blog-filter__tag.active {
    background: #0c9c78;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.blog-index__hero {
    margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
    padding: clamp(1.15rem, 3vw, 2rem);
    border: 1px solid rgba(38, 49, 77, 0.07);
    border-radius: clamp(1.1rem, 2.5vw, 1.65rem);
    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(255, 194, 214, 0.36),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.97),
            rgba(244, 255, 249, 0.94)
        );
    box-shadow: 0 18px 48px rgba(73, 64, 101, 0.08);
}

.blog-index__eyebrow,
.blog-article__eyebrow,
.blog-related__eyebrow {
    display: inline-flex;
    margin-bottom: 0.45rem;
    color: #0c9c78;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.blog-index__hero h1 {
    max-width: 760px;
    margin: 0;
    color: #141b2d;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.055em;
    line-height: 1.05;
}

.blog-index__hero p {
    max-width: 780px;
    margin: 0.7rem 0 0;
    color: #5d687d;
    font-size: clamp(0.98rem, 1.4vw, 1.1rem);
    font-weight: 650;
    line-height: 1.55;
}

.blog-index__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.9rem, 2vw, 1.25rem);
}

.blog-card {
    min-width: 0;
    min-height: 100%;
}

.blog-card--featured {
    grid-column: 1 / -1;
}

.blog-card__link {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: clamp(1rem, 2.4vw, 1.5rem);
    background: rgba(255, 255, 255, 0.96);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 14px 38px rgba(73, 64, 101, 0.07);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.blog-card__link:hover {
    border-color: rgba(12, 156, 120, 0.22);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 20px 50px rgba(73, 64, 101, 0.11);
    transform: translateY(-3px);
}

.blog-card--featured .blog-card__link {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.blog-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #eef7f2;
}

.blog-card--featured .blog-card__media {
    height: 100%;
    min-height: 320px;
    aspect-ratio: auto;
}

.blog-card__image,
.blog-related__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-card__image {
    transition: transform 0.32s ease;
}

.blog-card__link:hover .blog-card__image:not(.blog-card__image--placeholder) {
    transform: scale(1.045);
}

.blog-card__image--placeholder,
.blog-related__image--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(
            circle at 30% 20%,
            rgba(255, 195, 213, 0.5),
            transparent 34%
        ),
        linear-gradient(135deg, #e8fbf2, #fff3f8);
    color: rgba(12, 156, 120, 0.78);
    font-size: clamp(2rem, 5vw, 3.6rem);
}

.blog-card__content {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    padding: clamp(1rem, 2.4vw, 1.45rem);
}

.blog-card__meta,
.blog-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.9rem;
}

.blog-card__meta time,
.blog-article__date,
.blog-related__date {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #8992a5;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
}

.blog-card__meta .fa,
.blog-article__date .fa {
    color: #0c9c78;
}

.blog-card__title {
    margin: 0.62rem 0 0;
    color: #1a2236;
    font-size: clamp(1.12rem, 2.1vw, 1.45rem);
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.18;
}

.blog-card--featured .blog-card__title {
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.blog-card__excerpt {
    display: -webkit-box;
    margin: 0.7rem 0 0;
    overflow: hidden;
    color: #586378;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.blog-card--featured .blog-card__excerpt {
    font-size: 1rem;
    -webkit-line-clamp: 4;
}

.blog-card__tags,
.blog-article__keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
}

.blog-card__tags {
    margin-top: 0.9rem;
}

.blog-card__tag,
.blog-article__keyword {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #e8fbf2;
    color: #0b7f60;
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.2;
}

.blog-card__tag {
    padding: 0.28rem 0.56rem;
}

.blog-article__keyword {
    padding: 0.34rem 0.65rem;
    text-decoration: none;
}

.blog-article__keyword:hover {
    background: #0c9c78;
    color: #fff;
    text-decoration: none;
}

.blog-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    margin-top: auto;
    padding-top: 1.05rem;
    color: #d75b8a;
    font-size: 0.9rem;
    font-weight: 950;
}

.blog-card__cta .fa {
    font-size: 0.85em;
    transition: transform 0.18s ease;
}

.blog-card__link:hover .blog-card__cta .fa {
    transform: translateX(3px);
}

.blog-index__pagination {
    display: flex;
    justify-content: center;
    margin-top: clamp(1.2rem, 3vw, 2rem);
}

.blog-empty {
    padding: clamp(2rem, 5vw, 3rem);
    border: 1px dashed rgba(38, 49, 77, 0.18);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.75);
    color: #5d687d;
    text-align: center;
}

.blog-empty .fa {
    margin-bottom: 0.75rem;
    color: #0c9c78;
    font-size: 2.4rem;
}

.blog-empty h2 {
    margin: 0;
    color: #1a2236;
    font-size: 1.35rem;
    font-weight: 950;
}

.blog-empty p {
    margin: 0.45rem 0 0;
}

.blog-article-main {
    width: 100%;
    max-width: 960px;
}

.blog-article {
    max-width: 880px;
    margin: 0 auto;
    padding: clamp(1rem, 3vw, 2rem);
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: clamp(1.1rem, 2.5vw, 1.65rem);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 48px rgba(73, 64, 101, 0.08);
}

.blog-article__back {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    margin-bottom: clamp(1rem, 2vw, 1.3rem);
    color: #0c9c78;
    font-size: 0.86rem;
    font-weight: 900;
    text-decoration: none;
}

.blog-article__back:hover {
    color: #0b7f60;
    text-decoration: none;
}

.blog-article__header {
    max-width: 760px;
    margin: 0 auto clamp(1.05rem, 2.5vw, 1.55rem);
}

.blog-article__title {
    margin: 0;
    color: #141b2d;
    font-size: clamp(1.9rem, 4.4vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.055em;
    line-height: 1.08;
}

.blog-article__meta {
    margin-top: 0.9rem;
}

.blog-article__hero-image {
    overflow: hidden;
    margin: 0 0 clamp(1.25rem, 3vw, 2rem);
    border-radius: clamp(0.9rem, 2vw, 1.35rem);
    background: #eef7f2;
}

.blog-article__hero-image img {
    display: block;
    width: 100%;
    max-height: 470px;
    object-fit: cover;
}

.blog-article__body {
    max-width: 760px;
    margin: 0 auto;
    color: #46516a;
    font-size: clamp(1rem, 1.2vw, 1.06rem);
    font-weight: 520;
    line-height: 1.82;
}

.blog-article__body > :first-child {
    margin-top: 0 !important;
}

.blog-article__body > :last-child {
    margin-bottom: 0 !important;
}

.blog-article__body h2,
.blog-article__body h3,
.blog-article__body h4 {
    color: #1a2236;
    letter-spacing: -0.03em;
    line-height: 1.25;
}

.blog-article__body h2 {
    margin: 2.15rem 0 0.65rem;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 950;
}

.blog-article__body h3 {
    margin: 1.55rem 0 0.5rem;
    font-size: clamp(1.12rem, 1.8vw, 1.32rem);
    font-weight: 900;
}

.blog-article__body p {
    margin: 0 0 1.05rem;
}

.blog-article__body ul,
.blog-article__body ol {
    margin: 0 0 1.15rem;
    padding-left: 1.35rem;
}

.blog-article__body li {
    margin-bottom: 0.48rem;
}

.blog-article__body li::marker {
    color: #0c9c78;
    font-weight: 900;
}

.blog-article__body a {
    color: #c0406e;
    font-weight: 750;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

.blog-article__body strong {
    color: #1a2236;
    font-weight: 900;
}

.blog-article__body img {
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
}

.blog-article__body table {
    width: 100%;
    border-collapse: collapse;
}

.blog-related {
    max-width: 880px;
    margin: clamp(1.25rem, 3vw, 2rem) auto 0;
}

.blog-related__header {
    margin-bottom: 0.9rem;
}

.blog-related__header h2 {
    margin: 0;
    color: #1a2236;
    font-size: clamp(1.35rem, 2.6vw, 1.85rem);
    font-weight: 950;
    letter-spacing: -0.045em;
}

.blog-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

.blog-related__item {
    overflow: hidden;
    border: 1px solid rgba(38, 49, 77, 0.08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.94);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(73, 64, 101, 0.06);
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.blog-related__item:hover {
    border-color: rgba(12, 156, 120, 0.2);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(73, 64, 101, 0.1);
    transform: translateY(-2px);
}

.blog-related__media {
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #eef7f2;
}

.blog-related__content {
    padding: 0.85rem;
}

.blog-related__content h3 {
    margin: 0.35rem 0 0;
    color: #1a2236;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

.blog-related__content p {
    display: -webkit-box;
    margin: 0.45rem 0 0;
    overflow: hidden;
    color: #667086;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 991px) {
    .blog-layout,
    .blog-layout--article {
        grid-template-columns: 1fr;
    }

    .blog-layout__main {
        order: 1;
    }

    .blog-layout__sidebar {
        position: static;
        order: 2;
    }

    .blog-card--featured .blog-card__link {
        grid-template-columns: 1fr;
    }

    .blog-card--featured .blog-card__media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .blog-article-main,
    .blog-article,
    .blog-related {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .blog-index__list {
        grid-template-columns: 1fr;
    }

    .blog-index__hero,
    .blog-article {
        border-radius: 1rem;
    }

    .blog-article__title {
        font-size: clamp(1.65rem, 8vw, 2.25rem);
    }

    .blog-article__body {
        max-width: none;
        font-size: 0.98rem;
    }
}

@media (max-width: 575px) {
    .blog-index__hero,
    .blog-article,
    .blog-filter__section {
        padding: 0.85rem;
    }

    .blog-card__content {
        padding: 0.95rem;
    }

    .blog-card__tags,
    .blog-article__keywords,
    .blog-filter__tags {
        gap: 0.36rem;
    }
}

/* ==========================================================================
   Slide cart (side drawer)
   ========================================================================== */
#cart-wrap {
    display: contents;
}

#slide-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(38, 49, 77, 0.45);
    z-index: 1090;
    opacity: 0;
    animation: slide-cart-fade 0.2s ease forwards;
}

@keyframes slide-cart-fade {
    to {
        opacity: 1;
    }
}

#slide-cart {
    --sc-green: #5fbb63;
    --sc-green-hover: #4fa953;
    --sc-border: rgba(38, 49, 77, 0.1);
    --sc-muted: #6d7484;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 380px;
    max-width: 92vw;
    background: #fff;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    box-shadow: -12px 0 40px rgba(38, 49, 77, 0.18);
    transform: translateX(100%);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 14px;
}

#slide-cart.is-open {
    transform: translateX(0);
}

.slide-cart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid var(--sc-border);
}

.slide-cart-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1a1a;
}

.slide-cart-count {
    color: var(--sc-muted);
    font-weight: 600;
}

.slide-cart-close {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--sc-green);
    border-radius: 50%;
    background: #fff;
    color: var(--sc-green);
    cursor: pointer;
    padding: 0;
    transition:
        background 0.15s ease,
        color 0.15s ease;
}

.slide-cart-close:hover {
    background: var(--sc-green);
    color: #fff;
}

.slide-cart-shipping {
    padding: 0.75rem 1.25rem 0.25rem;
}

.slide-cart-shipping-text {
    margin: 0 0 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--sc-green);
}

.slide-cart-shipping-bar {
    height: 6px;
    border-radius: 99px;
    background: rgba(95, 187, 99, 0.18);
    overflow: hidden;
}

.slide-cart-shipping-bar > span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 99px;
    background: var(--sc-green);
    transition: width 0.4s ease;
}

.slide-cart-body {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.5rem 1.25rem 1rem;
}

.slide-cart-loading {
    display: flex;
    justify-content: center;
    padding: 2.5rem 0;
}

.slide-cart-loading .spinner {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 3px solid rgba(38, 49, 77, 0.15);
    border-top-color: var(--sc-green);
    animation: spin 0.8s linear infinite;
}

.slide-cart-empty {
    text-align: center;
    color: var(--sc-muted);
    padding: 2.5rem 0;
    margin: 0;
}

.slide-cart-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.slide-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--sc-border);
}

.slide-cart-item:last-child {
    border-bottom: 0;
}

.slide-cart-item-img {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    background: #f6f6f8;
}

.slide-cart-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.slide-cart-item-main {
    flex: 1 1 auto;
    min-width: 0;
}

.slide-cart-item-name {
    display: block;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.slide-cart-item-name:hover {
    color: var(--sc-green);
}

.slide-cart-item-options {
    margin-top: 0.15rem;
    font-size: 0.82rem;
    color: var(--sc-muted);
}

.slide-cart-item-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.6rem;
}

.slide-cart-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--sc-border);
    border-radius: 8px;
    overflow: hidden;
}

.slide-cart-stepper button {
    width: 30px;
    height: 30px;
    border: 0;
    background: #fff;
    color: #1a1a1a;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.slide-cart-stepper button:hover {
    background: #f3f4f7;
}

.slide-cart-qty {
    min-width: 30px;
    text-align: center;
    font-weight: 600;
}

.slide-cart-item-price {
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
}

.slide-cart-item-remove {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border: 0;
    background: transparent;
    color: var(--sc-muted);
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

.slide-cart-item-remove:hover {
    color: #1a1a1a;
    background: #f3f4f7;
}

.slide-cart-foot {
    border-top: 1px solid var(--sc-border);
    padding: 1rem 1.25rem 1.15rem;
}

.slide-cart-subtotal {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.85rem;
    font-size: 1rem;
}

.slide-cart-subtotal > span:first-child {
    color: var(--sc-muted);
}

.slide-cart-subtotal-value {
    font-weight: 700;
    font-size: 1.15rem;
    color: #1a1a1a;
}

.slide-cart-checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    min-height: 3.9rem;
    padding: 0.6rem 1rem;
    border: 0;
    border-radius: 0.6rem;
    background: var(--sc-green) !important;
    color: #fff !important;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
    text-decoration: none;
    transition:
        background 0.15s ease,
        box-shadow 0.15s ease;
}

.slide-cart-checkout:hover {
    background: var(--sc-green-hover) !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(95, 187, 99, 0.42);
    text-decoration: none;
}

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

@media (max-width: 480px) {
    #slide-cart {
        width: 100%;
        max-width: 100%;
    }
}

/* ----------------------------------------------------------------
   Product review ratings (FontAwesome stars)
----------------------------------------------------------------- */
.rating {
    display: inline-flex;
    gap: 0.1em;
    line-height: 1;
    white-space: nowrap;
}
.rating > .star {
    color: #d9d9d9;
}
.rating > .star.checked {
    color: #f5a623;
}
.product-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    margin: 0.25em 0 0.75em;
    font-size: 1.1em;
    text-decoration: none;
    color: var(--default-text-color);
}
.product-rating .product-rating-icon {
    font-size: 1.05em;
    line-height: 1;
    color: var(--default-text-color);
}
.product-rating .product-rating-average {
    font-weight: 600;
    line-height: 1;
}
.product-rating .product-rating-count {
    color: #888;
    font-size: 0.95em;
    line-height: 1;
}
.listing.products .rating-wrapper.compact-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    margin: 0.2em 0 0;
    font-size: 0.9em;
    line-height: 1;
    color: var(--default-text-color);
}
.listing.products .rating-wrapper.compact-rating .product-rating-icon {
    color: var(--default-text-color);
}
.listing.products .rating-wrapper.compact-rating .product-rating-average {
    font-weight: 600;
}
.listing.products .rating-wrapper.compact-rating .product-rating-count {
    color: #888;
    font-size: 0.95em;
}
