:root {
    font-family: Arial, Helvetica, sans-serif;
    color-scheme: light;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: #f4f1eb;
    color: #171717;
}

a {
    color: inherit;
}

.pro-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 16px;
}

.pro-card {
    width: min(100%, 520px);
    background: #ffffff;
    border: 1px solid #ded8ce;
    border-radius: 18px;
    padding: 34px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
}

.pro-card--wide {
    width: min(100%, 820px);
}

.pro-brand {
    display: inline-block;
    margin-bottom: 26px;
    text-decoration: none;
    font-size: 29px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.pro-eyebrow {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

h1 {
    margin: 0 0 12px;
    font-size: clamp(27px, 5vw, 38px);
    line-height: 1.15;
}

.pro-intro {
    margin: 0 0 26px;
    color: #59544d;
    line-height: 1.7;
}

.pro-form {
    display: grid;
    gap: 18px;
}

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

label {
    display: grid;
    gap: 7px;
    font-weight: 700;
}

input {
    width: 100%;
    min-height: 48px;
    border: 1px solid #cfc8bd;
    border-radius: 10px;
    padding: 10px 13px;
    background: #ffffff;
    color: #171717;
    font: inherit;
}

input:focus {
    outline: 2px solid #171717;
    outline-offset: 2px;
}

.pro-button {
    min-height: 49px;
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    background: #171717;
    color: #ffffff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.pro-button--secondary {
    margin-top: 12px;
}

.pro-secondary {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #e7e1d8;
}

.pro-secondary p {
    margin: 0 0 8px;
    color: #686159;
}

.pro-secondary a {
    font-weight: 800;
}

.pro-alert {
    margin-bottom: 22px;
    border-radius: 10px;
    padding: 14px 16px;
    line-height: 1.55;
}

.pro-alert ul {
    margin: 0;
    padding-inline-start: 20px;
}

.pro-alert--error {
    background: #f8e8e8;
}

.pro-alert--success {
    background: #e7f3e8;
}

.pro-note {
    margin: 24px 0;
    padding: 16px;
    border-radius: 10px;
    background: #f4f1eb;
    line-height: 1.65;
}

.pro-product-image {
    display: block;
    width: 100%;
    max-height: 320px;
    margin: 0 0 16px;
    border-radius: 10px;
    background: #ffffff;
    object-fit: contain;
}

@media (max-width: 680px) {
    .pro-card {
        padding: 25px 20px;
    }

    .pro-grid {
        grid-template-columns: 1fr;
    }
}

/* FLORI PROFESSIONAL SHOP MODERN UI S1 */

body.pro-shop-body {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(198, 169, 120, 0.14),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(255, 255, 255, 0.9),
            transparent 28%
        ),
        #f5f1ea;
    color: #171717;
    font-family:
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;
}

.pro-shop-shell {
    display: block;
    min-height: 100vh;
    padding: 38px 28px 54px;
}

.pro-shop-surface {
    position: relative;
    width: min(100%, 1320px);
    margin: 0 auto;
    overflow: hidden;
    padding: clamp(30px, 4vw, 54px);
    border: 1px solid rgba(179, 154, 112, 0.25);
    border-radius: 30px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(252, 250, 246, 0.98)
        );
    box-shadow:
        0 28px 80px rgba(33, 27, 20, 0.10);
}

.pro-shop-surface::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            #171717,
            #b89a68 45%,
            #e5d4b5 72%,
            #171717
        );
}

.pro-shop-brand {
    margin: 0 0 20px;
    font-size: 34px;
    line-height: 1;
    letter-spacing: 0.18em;
}

.pro-shop-eyebrow {
    margin-bottom: 10px;
    color: #aa8854;
    font-size: 12px;
    letter-spacing: 0.16em;
}

.pro-shop-title {
    max-width: 780px;
    margin: 0 0 14px;
    font-size: clamp(34px, 4.2vw, 54px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.pro-shop-intro {
    max-width: 760px;
    margin-bottom: 0;
    color: #6a6258;
    font-size: 16px;
    line-height: 1.8;
}

.pro-shop-banner {
    margin: 28px 0 36px;
    padding: 16px 18px;
    border: 1px solid #e7dfd2;
    border-inline-start: 4px solid #b4935f;
    border-radius: 15px;
    background: #faf8f4;
    color: #5f574d;
    font-size: 14px;
    line-height: 1.7;
}

.pro-shop-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.pro-shop-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #ebe5dc;
    border-radius: 22px;
    background: #ffffff;
    box-shadow:
        0 12px 32px rgba(34, 29, 23, 0.065);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.pro-shop-product-image,
.pro-shop-image-placeholder {
    width: 100%;
    height: 280px;
    margin: 0 0 20px;
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8f5f0
        );
}

.pro-shop-product-image {
    display: block;
    max-height: none;
    padding: 12px;
    object-fit: contain;
}

.pro-shop-image-placeholder {
    display: grid;
    place-items: center;
    border: 1px solid #eee8df;
    color: #c2b39b;
    font-size: 23px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.pro-shop-product-title {
    margin: 0 0 10px;
    color: #181714;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.35;
}

.pro-shop-description {
    display: -webkit-box;
    min-height: 73px;
    margin: 0 0 18px;
    overflow: hidden;
    color: #71695f;
    font-size: 14px;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.pro-shop-price-row {
    margin: auto 0 11px;
    padding-top: 12px;
    color: #171717;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.25;
}

.pro-shop-price-row strong {
    display: block;
    margin-bottom: 5px;
    color: #8a8176;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.pro-shop-price-row del {
    margin-inline-start: 7px;
    color: #9a9186;
    font-size: 14px;
    font-weight: 500;
}

.pro-shop-stock-row {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    gap: 7px;
    margin: 0 0 17px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
}

.pro-shop-stock-row::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: currentColor;
}

.pro-shop-stock-row.is-available {
    background: #edf6ef;
    color: #2c7041;
}

.pro-shop-stock-row.is-unavailable {
    background: #f8ecea;
    color: #9b463d;
}

.pro-shop-product-button {
    display: flex;
    width: 100%;
    min-height: 51px;
    align-items: center;
    justify-content: center;
    margin: 0;
    border: 1px solid #171717;
    border-radius: 13px;
    background: #171717;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    box-shadow:
        0 8px 20px rgba(23, 23, 23, 0.14);
    transition:
        transform 160ms ease,
        background 160ms ease,
        box-shadow 160ms ease;
}

.pro-shop-home-button {
    display: inline-flex;
    width: auto;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    border: 1px solid #ded7cd;
    background: #ffffff;
    color: #25211c;
    text-decoration: none;
    box-shadow: none;
}

@media (hover: hover) and (pointer: fine) {
    .pro-shop-product-card:hover {
        transform: translateY(-5px);
        border-color: #d9c8ad;
        box-shadow:
            0 22px 46px rgba(34, 29, 23, 0.11);
    }

    .pro-shop-product-button:hover {
        transform: translateY(-1px);
        background: #2b2925;
        box-shadow:
            0 12px 24px rgba(23, 23, 23, 0.19);
    }

    .pro-shop-home-button:hover {
        background: #f7f4ef;
    }
}

@media (max-width: 1050px) {
    .pro-shop-shell {
        padding: 28px 20px 44px;
    }

    .pro-shop-surface {
        padding: 34px;
    }

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

@media (max-width: 680px) {
    .pro-shop-shell {
        padding: 12px;
    }

    .pro-shop-surface {
        padding: 25px 16px;
        border-radius: 22px;
    }

    .pro-shop-brand {
        font-size: 29px;
    }

    .pro-shop-title {
        font-size: clamp(31px, 10vw, 40px);
    }

    .pro-shop-intro {
        font-size: 15px;
    }

    .pro-shop-banner {
        margin: 22px 0 26px;
        padding: 14px;
    }

    .pro-shop-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pro-shop-product-card {
        padding: 14px;
        border-radius: 19px;
    }

    .pro-shop-product-image,
    .pro-shop-image-placeholder {
        height: 265px;
        margin-bottom: 17px;
        border-radius: 14px;
    }

    .pro-shop-product-title {
        font-size: 20px;
    }

    .pro-shop-description {
        min-height: 0;
    }

    .pro-shop-price-row {
        margin-top: 10px;
        font-size: 24px;
    }

    .pro-shop-home-button {
        width: 100%;
    }
}

/* FLORI PROFESSIONAL PRODUCT MODERN UI S2-R1 */

body.pro-product-body {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(198, 169, 120, 0.14),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(255, 255, 255, 0.9),
            transparent 28%
        ),
        #f5f1ea;
    color: #171717;
    font-family:
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;
}

.pro-product-shell {
    display: block;
    min-height: 100vh;
    padding: 38px 28px 54px;
}

.pro-product-surface {
    position: relative;
    width: min(100%, 1180px);
    margin: 0 auto;
    overflow: hidden;
    padding: clamp(30px, 4vw, 52px);
    border: 1px solid rgba(179, 154, 112, 0.25);
    border-radius: 30px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(252, 250, 246, 0.98)
        );
    box-shadow:
        0 28px 80px rgba(33, 27, 20, 0.10);
}

.pro-product-surface::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            #171717,
            #b89a68 45%,
            #e5d4b5 72%,
            #171717
        );
}

.pro-product-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 36px;
}

.pro-product-brand {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1;
    letter-spacing: 0.18em;
}

.pro-product-eyebrow {
    margin: 0;
    color: #aa8854;
    font-size: 12px;
    letter-spacing: 0.16em;
}

.pro-product-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pro-product-top-link {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border: 1px solid #e1d9ce;
    border-radius: 12px;
    background: #ffffff;
    color: #332d26;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        background 160ms ease;
}

.pro-product-top-link--accent {
    border-color: #d7c39f;
    background: #f7f1e7;
    color: #503f26;
}

.pro-product-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(360px, 0.95fr);
    gap: clamp(34px, 5vw, 62px);
    align-items: start;
    direction: ltr;
}

.pro-product-media-panel,
.pro-product-info-panel {
    direction: rtl;
}

.pro-product-media-panel {
    position: sticky;
    top: 24px;
    display: grid;
    min-height: 540px;
    place-items: center;
    overflow: hidden;
    border: 1px solid #ebe5dc;
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8f5f0
        );
    box-shadow:
        0 14px 36px rgba(34, 29, 23, 0.06);
}

.pro-product-detail-image,
.pro-product-detail-placeholder {
    width: 100%;
    height: 540px;
    margin: 0;
    border-radius: 0;
}

.pro-product-detail-image {
    display: block;
    max-height: none;
    padding: clamp(24px, 4vw, 44px);
    background: transparent;
    object-fit: contain;
}

.pro-product-detail-placeholder {
    display: grid;
    place-items: center;
    color: #c2b39b;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0.2em;
}

.pro-product-info-panel {
    min-width: 0;
    padding-top: 4px;
}

.pro-product-kicker {
    margin: 0 0 9px;
    color: #ad8c57;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.pro-product-title {
    margin: 0 0 24px;
    color: #181714;
    font-size: clamp(33px, 3.8vw, 47px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.09;
}

.pro-product-price-card {
    margin-bottom: 18px;
    padding: 22px 24px;
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            #171717,
            #2b2823
        );
    color: #ffffff;
    box-shadow:
        0 18px 34px rgba(23, 23, 23, 0.15);
}

.pro-product-price-label {
    display: block;
    margin-bottom: 8px;
    color: #d7bf92;
    font-size: 12px;
    font-weight: 700;
}

.pro-product-price-value {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.1;
}

.pro-product-price-value del {
    margin-inline-start: 10px;
    color: #bdb7ad;
    font-size: 16px;
    font-weight: 500;
}

.pro-product-stock-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 19px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
}

.pro-product-stock-status.is-stocked {
    background: #edf6ef;
    color: #2c7041;
}

.pro-product-stock-status.is-out {
    background: #f8ecea;
    color: #9b463d;
}

.pro-product-stock-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: currentColor;
}

.pro-product-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.pro-product-meta-item {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #ebe5dc;
    border-radius: 14px;
    background: #faf8f4;
}

.pro-product-meta-item span {
    display: block;
    margin-bottom: 4px;
    color: #8a8176;
    font-size: 11px;
    font-weight: 700;
}

.pro-product-meta-item strong {
    display: block;
    overflow-wrap: anywhere;
    color: #302b25;
    font-size: 14px;
    font-weight: 750;
}

.pro-product-description {
    margin-bottom: 20px;
    padding: 18px 19px;
    border: 1px solid #ebe5dc;
    border-radius: 16px;
    background: #ffffff;
    color: #625a50;
    font-size: 14px;
    line-height: 1.85;
}

.pro-product-purchase-form {
    margin: 0;
}

.pro-product-purchase-panel {
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid #e5ddd0;
    border-radius: 16px;
    background: #f8f5ef;
}

.pro-product-purchase-panel label {
    gap: 9px;
    color: #494239;
    font-size: 13px;
}

.pro-product-purchase-panel input {
    min-height: 52px;
    border: 1px solid #d9d0c3;
    border-radius: 12px;
    padding: 10px 14px;
    background: #ffffff;
    color: #171717;
    font-size: 17px;
    font-weight: 700;
}

.pro-product-purchase-panel input:focus {
    outline: 2px solid #b4935f;
    outline-offset: 2px;
}

.pro-product-add-button {
    width: 100%;
    min-height: 56px;
    border: 1px solid #171717;
    border-radius: 14px;
    background: #171717;
    color: #ffffff;
    box-shadow:
        0 10px 24px rgba(23, 23, 23, 0.17);
    transition:
        transform 160ms ease,
        background 160ms ease,
        box-shadow 160ms ease;
}

.pro-product-error {
    margin: 10px 0;
    padding: 13px 15px;
    border: 1px solid #efd6d2;
    border-radius: 12px;
    background: #faecea;
    color: #8f3c34;
    font-size: 13px;
}

.pro-product-unavailable-note {
    padding: 16px 17px;
    border: 1px solid #efdcd8;
    border-radius: 14px;
    background: #faf0ee;
    color: #91463d;
    line-height: 1.6;
}

.pro-product-navigation {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid #ebe5dc;
}

.pro-product-nav-link {
    display: inline-flex;
    min-height: 45px;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border: 1px solid #ded7cd;
    border-radius: 12px;
    background: #ffffff;
    color: #28231d;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        background 160ms ease;
}

.pro-product-nav-primary {
    border-color: #171717;
    background: #171717;
    color: #ffffff;
}

.pro-product-nav-cart {
    border-color: #d7c39f;
    background: #f7f1e7;
    color: #503f26;
}

@media (hover: hover) and (pointer: fine) {
    .pro-product-top-link:hover,
    .pro-product-nav-link:hover {
        transform: translateY(-1px);
        border-color: #c9b58f;
        background: #f7f4ef;
    }

    .pro-product-nav-primary:hover {
        border-color: #2b2925;
        background: #2b2925;
    }

    .pro-product-add-button:hover {
        transform: translateY(-1px);
        background: #2b2925;
        box-shadow:
            0 14px 28px rgba(23, 23, 23, 0.21);
    }
}

@media (max-width: 900px) {
    .pro-product-shell {
        padding: 25px 18px 42px;
    }

    .pro-product-surface {
        padding: 34px;
    }

    .pro-product-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pro-product-media-panel {
        position: static;
        min-height: 450px;
    }

    .pro-product-detail-image,
    .pro-product-detail-placeholder {
        height: 450px;
    }
}

@media (max-width: 680px) {
    .pro-product-shell {
        padding: 12px;
    }

    .pro-product-surface {
        padding: 24px 16px;
        border-radius: 22px;
    }

    .pro-product-topbar {
        display: grid;
        gap: 17px;
        margin-bottom: 25px;
    }

    .pro-product-brand {
        font-size: 29px;
    }

    .pro-product-top-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pro-product-top-link {
        width: 100%;
    }

    .pro-product-layout {
        gap: 22px;
    }

    .pro-product-media-panel {
        min-height: 335px;
        border-radius: 18px;
    }

    .pro-product-detail-image,
    .pro-product-detail-placeholder {
        height: 335px;
    }

    .pro-product-detail-image {
        padding: 19px;
    }

    .pro-product-title {
        margin-bottom: 19px;
        font-size: clamp(30px, 9vw, 38px);
    }

    .pro-product-price-card {
        padding: 19px;
    }

    .pro-product-price-value {
        font-size: 30px;
    }

    .pro-product-meta-grid {
        grid-template-columns: 1fr;
    }

    .pro-product-navigation {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pro-product-nav-link {
        width: 100%;
    }
}

/* FLORI PROFESSIONAL CART MODERN UI S3 */

body.pro-cart-body {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(198, 169, 120, 0.14),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(255, 255, 255, 0.9),
            transparent 28%
        ),
        #f5f1ea;
    color: #171717;
    font-family:
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;
}

.pro-cart-shell {
    display: block;
    min-height: 100vh;
    padding: 38px 28px 54px;
}

.pro-cart-surface {
    position: relative;
    width: min(100%, 1240px);
    margin: 0 auto;
    overflow: hidden;
    padding: clamp(30px, 4vw, 52px);
    border: 1px solid rgba(179, 154, 112, 0.25);
    border-radius: 30px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(252, 250, 246, 0.98)
        );
    box-shadow:
        0 28px 80px rgba(33, 27, 20, 0.10);
}

.pro-cart-surface::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            #171717,
            #b89a68 45%,
            #e5d4b5 72%,
            #171717
        );
}

.pro-cart-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}

.pro-cart-brand {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1;
    letter-spacing: 0.18em;
}

.pro-cart-eyebrow {
    margin: 0;
    color: #aa8854;
    font-size: 12px;
    letter-spacing: 0.16em;
}

.pro-cart-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pro-cart-top-link {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border: 1px solid #e1d9ce;
    border-radius: 12px;
    background: #ffffff;
    color: #332d26;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.pro-cart-top-link--active {
    border-color: #d7c39f;
    background: #f7f1e7;
    color: #503f26;
}

.pro-cart-heading {
    max-width: 720px;
    margin-bottom: 30px;
}

.pro-cart-kicker {
    margin: 0 0 8px;
    color: #ad8c57;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.pro-cart-title {
    margin: 0 0 12px;
    color: #181714;
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.pro-cart-intro {
    margin: 0;
    color: #71695f;
    font-size: 15px;
    line-height: 1.75;
}

.pro-cart-alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 13px;
    font-size: 13px;
    line-height: 1.6;
}

.pro-cart-alert--success {
    border: 1px solid #dbe9de;
    background: #f1f7f2;
    color: #2c7041;
}

.pro-cart-alert--error {
    border: 1px solid #efd6d2;
    background: #faecea;
    color: #8f3c34;
}

.pro-cart-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 350px);
    gap: 28px;
    align-items: start;
}

.pro-cart-items-panel {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.pro-cart-item-card {
    padding: 22px;
    border: 1px solid #ebe5dc;
    border-radius: 20px;
    background: #ffffff;
    box-shadow:
        0 10px 28px rgba(34, 29, 23, 0.055);
}

.pro-cart-item-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.pro-cart-item-kicker {
    margin: 0 0 6px;
    color: #ad8c57;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.pro-cart-item-title {
    margin: 0;
    color: #181714;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
}

.pro-cart-line-total {
    flex: 0 0 auto;
    min-width: 120px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #171717;
    color: #ffffff;
}

.pro-cart-line-total span {
    display: block;
    margin-bottom: 4px;
    color: #d6bf95;
    font-size: 10px;
    font-weight: 700;
}

.pro-cart-line-total strong {
    display: block;
    font-size: 20px;
    font-weight: 800;
}

.pro-cart-item-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 17px;
}

.pro-cart-meta-cell {
    min-width: 0;
    padding: 12px;
    border: 1px solid #ebe5dc;
    border-radius: 12px;
    background: #faf8f4;
}

.pro-cart-meta-cell span {
    display: block;
    margin-bottom: 4px;
    color: #8a8176;
    font-size: 10px;
    font-weight: 700;
}

.pro-cart-meta-cell strong {
    display: block;
    overflow-wrap: anywhere;
    color: #302b25;
    font-size: 13px;
    font-weight: 750;
}

.pro-cart-price-warning {
    display: grid;
    gap: 4px;
    margin-bottom: 16px;
    padding: 13px 14px;
    border: 1px solid #ead9b9;
    border-radius: 12px;
    background: #fff9ed;
    color: #74572c;
    font-size: 12px;
    line-height: 1.55;
}

.pro-cart-item-actions {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    padding-top: 16px;
    border-top: 1px solid #eee8df;
}

.pro-cart-update-zone {
    min-width: 0;
    flex: 1 1 auto;
}

.pro-cart-body .pro-cart-row {
    display: flex;
    align-items: end;
    gap: 10px;
    margin: 0;
}

.pro-cart-body .pro-cart-row label {
    flex: 1 1 180px;
    min-width: 0;
}

.pro-cart-body .pro-cart-row input {
    width: 100%;
    min-height: 48px;
    border: 1px solid #d9d0c3;
    border-radius: 11px;
    padding: 9px 12px;
    background: #ffffff;
    font-size: 16px;
    font-weight: 700;
}

.pro-cart-body .pro-cart-row .pro-button {
    min-height: 48px;
    margin: 0;
    border: 1px solid #171717;
    border-radius: 11px;
    padding-inline: 18px;
    background: #171717;
    color: #ffffff;
}

.pro-cart-remove-zone {
    flex: 0 0 auto;
}

.pro-cart-remove-zone form {
    margin: 0;
}

.pro-cart-remove-zone .pro-button {
    min-height: 48px;
    margin: 0;
    border: 1px solid #ead8d4;
    border-radius: 11px;
    background: #fff7f5;
    color: #93483f;
    box-shadow: none;
}

.pro-cart-unavailable {
    padding: 13px 14px;
    border: 1px solid #efdcd8;
    border-radius: 12px;
    background: #faf0ee;
    color: #91463d;
    font-size: 12px;
    line-height: 1.55;
}

.pro-cart-summary-card {
    position: sticky;
    top: 24px;
    padding: 23px;
    border: 1px solid #e3dacd;
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            #f8f3ea,
            #ffffff
        );
    box-shadow:
        0 14px 34px rgba(34, 29, 23, 0.07);
}

.pro-cart-summary-kicker {
    margin: 0 0 7px;
    color: #ad8c57;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.pro-cart-summary-card h2 {
    margin: 0 0 22px;
    color: #191714;
    font-size: 25px;
    font-weight: 800;
}

.pro-cart-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 0;
    border-bottom: 1px solid #e8e0d5;
    color: #625a50;
    font-size: 13px;
}

.pro-cart-summary-row strong {
    color: #25211c;
    font-size: 16px;
}

.pro-cart-summary-total {
    margin-bottom: 18px;
    border-bottom: 0;
}

.pro-cart-summary-total strong {
    color: #171717;
    font-size: 25px;
    font-weight: 800;
}

.pro-cart-stock-note {
    margin-bottom: 18px;
    padding: 13px 14px;
    border-radius: 12px;
    background: #f1ede6;
    color: #71685c;
    font-size: 11px;
    line-height: 1.6;
}

.pro-cart-checkout-button {
    display: flex;
    width: 100%;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    margin: 0 0 11px;
    border-radius: 13px;
    background: #171717;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    box-shadow:
        0 10px 24px rgba(23, 23, 23, 0.16);
}

.pro-cart-continue-link {
    display: block;
    padding: 8px;
    color: #665b4c;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.pro-cart-footer-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 30px;
    padding-top: 21px;
    border-top: 1px solid #ebe5dc;
}

.pro-cart-footer-nav a {
    color: #655b4e;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.pro-cart-empty {
    display: grid;
    max-width: 560px;
    min-height: 330px;
    place-items: center;
    margin: 20px auto;
    padding: 42px;
    border: 1px solid #ebe5dc;
    border-radius: 22px;
    background: #faf8f4;
    text-align: center;
}

.pro-cart-empty-mark {
    color: #c2b39b;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: 0.2em;
}

.pro-cart-empty h2 {
    margin: 12px 0 5px;
    font-size: 25px;
}

.pro-cart-empty p {
    margin: 0 0 18px;
    color: #71695f;
    line-height: 1.7;
}

.pro-cart-empty-button {
    width: auto;
    margin: 0;
}

@media (hover: hover) and (pointer: fine) {
    .pro-cart-top-link:hover,
    .pro-cart-footer-nav a:hover,
    .pro-cart-continue-link:hover {
        color: #9c7840;
    }

    .pro-cart-checkout-button:hover,
    .pro-cart-body .pro-cart-row .pro-button:hover {
        background: #2b2925;
    }

    .pro-cart-remove-zone .pro-button:hover {
        border-color: #dcbdb7;
        background: #ffefec;
    }
}

@media (max-width: 980px) {
    .pro-cart-shell {
        padding: 25px 18px 42px;
    }

    .pro-cart-surface {
        padding: 34px;
    }

    .pro-cart-layout {
        grid-template-columns: 1fr;
    }

    .pro-cart-summary-card {
        position: static;
    }
}

@media (max-width: 760px) {
    .pro-cart-item-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .pro-cart-shell {
        padding: 12px;
    }

    .pro-cart-surface {
        padding: 24px 16px;
        border-radius: 22px;
    }

    .pro-cart-topbar {
        display: grid;
        gap: 17px;
    }

    .pro-cart-brand {
        font-size: 29px;
    }

    .pro-cart-top-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pro-cart-top-link {
        width: 100%;
    }

    .pro-cart-title {
        font-size: clamp(30px, 9vw, 38px);
    }

    .pro-cart-item-card {
        padding: 16px;
    }

    .pro-cart-item-heading {
        display: grid;
    }

    .pro-cart-line-total {
        width: 100%;
    }

    .pro-cart-item-meta {
        grid-template-columns: 1fr;
    }

    .pro-cart-item-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pro-cart-body .pro-cart-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pro-cart-body .pro-cart-row .pro-button,
    .pro-cart-remove-zone .pro-button {
        width: 100%;
    }

    .pro-cart-summary-card {
        padding: 19px;
    }

    .pro-cart-footer-nav {
        display: grid;
    }
}
/* FLORI PROFESSIONAL MOBILE DENSITY POLISH UI-M1 - SHARED */
@media (max-width: 680px) {

    /* -------------------------------------------------------------
       PROFESSIONAL SHOP
       ------------------------------------------------------------- */

    body.pro-shop-body .pro-shop-brand {
        margin-bottom: 14px;
        font-size: 28px;
    }

    body.pro-shop-body .pro-shop-eyebrow {
        margin-bottom: 7px;
        font-size: 11px;
    }

    body.pro-shop-body .pro-shop-title {
        margin-bottom: 9px;
        font-size: clamp(28px, 8.5vw, 34px);
        line-height: 1.08;
    }

    body.pro-shop-body .pro-shop-intro {
        font-size: 14px;
        line-height: 1.6;
    }

    body.pro-shop-body .pro-shop-banner {
        margin: 16px 0 18px;
        padding: 12px 13px;
        font-size: 12px;
        line-height: 1.6;
    }

    body.pro-shop-body .pro-shop-grid {
        gap: 14px;
    }

    body.pro-shop-body .pro-shop-product-card {
        padding: 12px;
        border-radius: 17px;
    }

    body.pro-shop-body .pro-shop-product-image,
    body.pro-shop-body .pro-shop-image-placeholder {
        height: 220px;
        margin-bottom: 13px;
        border-radius: 13px;
    }

    body.pro-shop-body .pro-shop-product-image {
        padding: 10px;
    }

    body.pro-shop-body .pro-shop-product-title {
        margin-bottom: 7px;
        font-size: 18px;
        line-height: 1.4;
    }

    body.pro-shop-body .pro-shop-description {
        min-height: 0;
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 1.55;
        -webkit-line-clamp: 2;
    }

    body.pro-shop-body .pro-shop-price-row {
        margin: 8px 0;
        padding-top: 8px;
        font-size: 22px;
    }

    body.pro-shop-body .pro-shop-price-row strong {
        margin-bottom: 3px;
        font-size: 10px;
    }

    body.pro-shop-body .pro-shop-stock-row {
        margin-bottom: 10px;
        padding: 5px 9px;
        font-size: 11px;
    }

    body.pro-shop-body .pro-shop-product-button {
        min-height: 48px;
    }

    /* -------------------------------------------------------------
       PROFESSIONAL PRODUCT DETAIL
       ------------------------------------------------------------- */

    body.pro-product-body .pro-product-media-panel {
        min-height: 285px;
    }

    body.pro-product-body .pro-product-detail-image,
    body.pro-product-body .pro-product-detail-placeholder {
        height: 285px;
    }

    body.pro-product-body .pro-product-detail-image {
        padding: 14px;
    }

    body.pro-product-body .pro-product-title {
        margin-bottom: 14px;
        font-size: clamp(27px, 8vw, 32px);
        line-height: 1.15;
    }

    body.pro-product-body .pro-product-price-card {
        margin-bottom: 12px;
        padding: 16px;
        border-radius: 15px;
    }

    body.pro-product-body .pro-product-stock-status {
        margin-bottom: 12px;
    }

    body.pro-product-body .pro-product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 14px;
    }

    body.pro-product-body .pro-product-meta-item {
        padding: 10px 11px;
        border-radius: 12px;
    }

    body.pro-product-body .pro-product-meta-item span {
        margin-bottom: 3px;
        font-size: 10px;
    }

    body.pro-product-body .pro-product-meta-item strong {
        font-size: 13px;
    }

    body.pro-product-body .pro-product-description {
        margin-bottom: 14px;
        padding: 14px 15px;
        border-radius: 14px;
        font-size: 13px;
        line-height: 1.65;
    }

    body.pro-product-body .pro-product-purchase-panel {
        margin-bottom: 10px;
        padding: 13px;
        border-radius: 14px;
    }

    body.pro-product-body .pro-product-purchase-panel input {
        min-height: 48px;
    }

    body.pro-product-body .pro-product-navigation {
        gap: 8px;
        margin-top: 22px;
    }

    /* -------------------------------------------------------------
       PROFESSIONAL CART
       ------------------------------------------------------------- */

    body.pro-cart-body .pro-cart-item-card {
        padding: 14px;
        border-radius: 17px;
    }

    body.pro-cart-body .pro-cart-item-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 10px;
        margin-bottom: 14px;
    }

    body.pro-cart-body .pro-cart-line-total {
        width: auto;
        min-width: 100px;
        padding: 10px 12px;
        border-radius: 12px;
    }

    body.pro-cart-body .pro-cart-line-total strong {
        font-size: 18px;
    }

    body.pro-cart-body .pro-cart-item-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    body.pro-cart-body .pro-cart-meta-cell {
        padding: 10px;
    }

    body.pro-cart-body .pro-cart-item-actions {
        gap: 10px;
        padding-top: 12px;
    }

    body.pro-cart-body .pro-cart-summary-card {
        padding: 16px;
    }

    body.pro-cart-body .pro-cart-summary-card h2 {
        margin-bottom: 16px;
        font-size: 23px;
    }

    body.pro-cart-body .pro-cart-footer-nav {
        gap: 10px;
        margin-top: 20px;
        padding-top: 16px;
    }
}
/* FLORI PROFESSIONAL PRODUCT MOBILE POLISH UI-M1A */
@media (max-width: 680px) {

    body.pro-product-body .pro-product-title {
        margin-bottom: 12px;
        font-size: clamp(25px, 7.3vw, 30px);
        line-height: 1.18;
    }

    body.pro-product-body .pro-product-price-card {
        display: flex;
        min-height: 66px;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 10px;
        padding: 13px 15px;
        border: 1px solid #dcc79f;
        border-radius: 14px;
        background:
            linear-gradient(
                135deg,
                #fbf7f0,
                #ffffff
            );
        color: #181714;
        box-shadow:
            0 8px 22px rgba(34, 29, 23, 0.07);
    }

    body.pro-product-body .pro-product-price-card span {
        color: #9a7845;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.02em;
    }

    body.pro-product-body .pro-product-price-card strong {
        color: #171717;
        font-size: 27px;
        font-weight: 850;
        line-height: 1;
        letter-spacing: -0.03em;
    }

    body.pro-product-body .pro-product-stock-status {
        margin: 0 0 10px;
    }

    body.pro-product-body .pro-product-meta-grid {
        gap: 7px;
        margin-bottom: 12px;
    }

    body.pro-product-body .pro-product-meta-item {
        min-height: 57px;
        padding: 9px 10px;
    }

    body.pro-product-body .pro-product-description {
        margin-bottom: 12px;
        padding: 12px 14px;
    }

    body.pro-product-body .pro-product-purchase-panel {
        padding: 12px;
    }
}
/* FLORI PROFESSIONAL CART MOBILE POLISH UI-M1B */
@media (max-width: 680px) {

    /* -------------------------------------------------------------
       MOBILE CART ITEM
       ------------------------------------------------------------- */

    body.pro-cart-body .pro-cart-item-card {
        padding: 13px;
        border-radius: 16px;
        box-shadow:
            0 7px 20px rgba(34, 29, 23, 0.045);
    }

    body.pro-cart-body .pro-cart-item-heading {
        display: block;
        margin-bottom: 11px;
    }

    body.pro-cart-body .pro-cart-item-kicker {
        margin-bottom: 4px;
        font-size: 9px;
        letter-spacing: 0.12em;
    }

    body.pro-cart-body .pro-cart-item-title {
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 1.35;
    }

    /*
     * Replace the heavy black subtotal box with the same
     * premium light treatment used on the mobile product page.
     */
    body.pro-cart-body .pro-cart-line-total {
        display: flex;
        width: 100%;
        min-width: 0;
        min-height: 58px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 11px 13px;
        border: 1px solid #dcc79f;
        border-radius: 13px;
        background:
            linear-gradient(
                135deg,
                #fbf7f0,
                #ffffff
            );
        color: #171717;
        box-shadow:
            0 6px 18px rgba(34, 29, 23, 0.055);
    }

    body.pro-cart-body .pro-cart-line-total span {
        margin: 0;
        color: #9a7845;
        font-size: 9px;
        font-weight: 800;
    }

    body.pro-cart-body .pro-cart-line-total strong {
        color: #171717;
        font-size: 22px;
        font-weight: 850;
        line-height: 1;
        letter-spacing: -0.025em;
    }

    /* -------------------------------------------------------------
       COMPACT 2 X 2 COMMERCIAL DATA
       ------------------------------------------------------------- */

    body.pro-cart-body .pro-cart-item-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-bottom: 10px;
    }

    body.pro-cart-body .pro-cart-meta-cell {
        min-height: 56px;
        padding: 8px 9px;
        border-radius: 11px;
    }

    body.pro-cart-body .pro-cart-meta-cell span {
        margin-bottom: 2px;
        font-size: 9px;
    }

    body.pro-cart-body .pro-cart-meta-cell strong {
        font-size: 12px;
        line-height: 1.25;
    }

    /* -------------------------------------------------------------
       QUANTITY / UPDATE
       ------------------------------------------------------------- */

    body.pro-cart-body .pro-cart-item-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        padding-top: 10px;
    }

    body.pro-cart-body .pro-cart-update-zone {
        width: 100%;
    }

    body.pro-cart-body .pro-cart-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 84px;
        align-items: end;
        gap: 7px;
    }

    body.pro-cart-body .pro-cart-row label {
        min-width: 0;
    }

    body.pro-cart-body .pro-cart-row input {
        min-height: 44px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 15px;
    }

    body.pro-cart-body .pro-cart-row .pro-button {
        width: 84px;
        min-height: 44px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 12px;
    }

    /*
     * Remove remains easy to tap but no longer looks like
     * a second primary checkout action.
     */
    body.pro-cart-body .pro-cart-remove-zone {
        width: 100%;
    }

    body.pro-cart-body .pro-cart-remove-zone .pro-button {
        width: 100%;
        min-height: 42px;
        padding: 8px 12px;
        border-radius: 10px;
        font-size: 11px;
    }

    /* -------------------------------------------------------------
       ORDER SUMMARY
       ------------------------------------------------------------- */

    body.pro-cart-body .pro-cart-summary-card {
        padding: 14px;
        border-radius: 16px;
        box-shadow:
            0 8px 22px rgba(34, 29, 23, 0.05);
    }

    body.pro-cart-body .pro-cart-summary-kicker {
        margin-bottom: 4px;
        font-size: 9px;
    }

    body.pro-cart-body .pro-cart-summary-card h2 {
        margin-bottom: 12px;
        font-size: 21px;
    }

    body.pro-cart-body .pro-cart-summary-row {
        padding: 9px 0;
        font-size: 12px;
    }

    body.pro-cart-body .pro-cart-summary-row strong {
        font-size: 14px;
    }

    body.pro-cart-body .pro-cart-summary-total {
        margin-bottom: 11px;
    }

    body.pro-cart-body .pro-cart-summary-total strong {
        font-size: 23px;
    }

    body.pro-cart-body .pro-cart-stock-note {
        margin-bottom: 11px;
        padding: 10px 11px;
        font-size: 10px;
        line-height: 1.5;
    }

    body.pro-cart-body .pro-cart-checkout-button {
        min-height: 50px;
        margin-bottom: 7px;
        border-radius: 11px;
    }

    body.pro-cart-body .pro-cart-continue-link {
        padding: 6px;
        font-size: 11px;
    }

    body.pro-cart-body .pro-cart-footer-nav {
        margin-top: 15px;
        padding-top: 13px;
    }
}
/* FLORI_PROFESSIONAL_LANGUAGE_SWITCH_PRO_LANG_1 */
.pro-language-switcher {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    width: 100%;
    margin: 0 0 0.85rem;
    direction: ltr;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
}

.pro-language-switcher a {
    color: #5f5a50;
    text-decoration: none;
    transition:
        color 160ms ease,
        opacity 160ms ease;
}

.pro-language-switcher a:hover {
    color: #111111;
}

.pro-language-switcher a[aria-current="true"] {
    color: #a17c3e;
}

.pro-language-switcher span {
    color: #b9b1a4;
}

@media (max-width: 680px) {
    .pro-language-switcher {
        margin-bottom: 0.7rem;
        font-size: 0.74rem;
    }
}
/* /FLORI_PROFESSIONAL_LANGUAGE_SWITCH_PRO_LANG_1 */
/* FLORI_PROFESSIONAL_CART_AJAX_PRO_CART_AJAX_1B */

.pro-product-purchase-form.is-loading {
    opacity: 0.78;
}

.pro-product-purchase-form.is-loading .pro-product-add-button,
.pro-product-add-button:disabled {
    cursor: wait;
    opacity: 0.72;
}

.pro-product-ajax-status {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(53, 116, 76, 0.20);
    border-radius: 12px;
    background: rgba(234, 246, 237, 0.88);
    color: #285c3b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.pro-product-ajax-status.is-error {
    border-color: rgba(150, 63, 47, 0.20);
    background: rgba(255, 241, 238, 0.92);
    color: #8b3428;
}

@media (max-width: 680px) {
    .pro-product-ajax-status {
        margin-top: 8px;
        padding: 9px 10px;
        font-size: 12px;
    }
}

/* /FLORI_PROFESSIONAL_CART_AJAX_PRO_CART_AJAX_1B */
/* FLORI_PROFESSIONAL_CART_BADGE_PRO_CART_BADGE_1 */

.pro-product-cart-link-with-badge {
    position: relative;
}

.pro-product-cart-count-badge {
    position: absolute;
    inset-block-start: -9px;
    inset-inline-end: -9px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 21px;
    height: 21px;
    padding: 0 5px;

    border: 2px solid #ffffff;
    border-radius: 999px;

    background: #b42318;
    color: #ffffff;

    box-shadow:
        0 4px 12px rgba(180, 35, 24, 0.28);

    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.pro-product-cart-count-badge[hidden] {
    display: none;
}

@media (max-width: 680px) {
    .pro-product-cart-count-badge {
        inset-block-start: -8px;
        inset-inline-end: -7px;

        min-width: 20px;
        height: 20px;

        font-size: 10px;
    }
}

/* /FLORI_PROFESSIONAL_CART_BADGE_PRO_CART_BADGE_1 */

/* FLORI_PROFESSIONAL_MY_ORDERS_D18_D3A_START */

/* Professional orders index */
body.pro-orders-body {
            min-height: 100vh;
            background: #f8f6f2;
        }

        .pro-orders-shell {
            min-height: 100vh;
            padding: 32px 18px 48px;
        }

        .pro-orders-surface {
            width: min(100%, 1120px);
            margin: 0 auto;
            padding: clamp(24px, 4vw, 44px);
            border: 1px solid #e4ddd2;
            border-radius: 26px;
            background: #fff;
            box-shadow: 0 20px 50px rgba(30, 25, 20, .07);
        }

        .pro-orders-language,
        .pro-orders-top-actions,
        .pro-orders-footer {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
        }

        .pro-orders-language {
            margin-bottom: 20px;
            direction: ltr;
        }

        .pro-orders-language a,
        .pro-orders-top-actions a,
        .pro-orders-footer a {
            display: inline-flex;
            min-height: 42px;
            align-items: center;
            justify-content: center;
            padding: 9px 14px;
            border: 1px solid #ded7cd;
            border-radius: 11px;
            color: #2c2823;
            text-decoration: none;
            font-weight: 700;
        }

        .pro-orders-language a[aria-current="true"] {
            border-color: #b4935f;
            background: #f7f1e7;
        }

        .pro-orders-topbar {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            align-items: flex-start;
            margin-bottom: 30px;
        }

        .pro-orders-title {
            margin: 0 0 10px;
            font-size: clamp(31px, 5vw, 47px);
        }

        .pro-orders-intro {
            margin: 0 0 28px;
            color: #6a6258;
            line-height: 1.75;
        }

        .pro-orders-list {
            display: grid;
            gap: 14px;
        }

        .pro-order-card {
            display: grid;
            grid-template-columns:
                minmax(180px, 1.3fr)
                repeat(4, minmax(90px, .7fr))
                auto;
            gap: 14px;
            align-items: center;
            padding: 17px;
            border: 1px solid #e9e2d8;
            border-radius: 16px;
        }

        .pro-order-card small {
            display: block;
            margin-bottom: 4px;
            color: #8a8176;
            font-size: 11px;
            font-weight: 700;
        }

        .pro-order-number {
            color: #171717;
            font-weight: 900;
            text-decoration: none;
            overflow-wrap: anywhere;
        }

        .pro-order-view {
            display: inline-flex;
            min-height: 40px;
            align-items: center;
            justify-content: center;
            padding: 8px 13px;
            border-radius: 10px;
            background: #171717;
            color: #fff;
            text-decoration: none;
            font-weight: 800;
        }

        .pro-orders-empty {
            padding: 30px 20px;
            border: 1px dashed #d8cec0;
            border-radius: 16px;
            text-align: center;
        }

        .pro-orders-pagination {
            display: flex;
            justify-content: space-between;
            margin-top: 22px;
        }

        .pro-orders-pagination a {
            color: #463b2d;
            font-weight: 800;
        }

        .pro-orders-footer {
            margin-top: 30px;
            padding-top: 22px;
            border-top: 1px solid #ebe5dc;
        }

        @media (max-width: 900px) {
            .pro-order-card {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

            .pro-order-card > div:first-child {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 620px) {
            .pro-orders-shell {
                padding: 12px;
            }

            .pro-orders-surface {
                padding: 23px 15px;
                border-radius: 20px;
            }

            .pro-orders-topbar {
                display: grid;
            }

            .pro-order-card {
                grid-template-columns: 1fr;
            }

            .pro-order-card > div:first-child {
                grid-column: auto;
            }
        }

/* Professional order detail */
body.pro-order-body {
            min-height: 100vh;
            background: #f8f6f2;
        }

        .pro-order-shell {
            min-height: 100vh;
            padding: 32px 18px 48px;
        }

        .pro-order-surface {
            width: min(100%, 1080px);
            margin: 0 auto;
            padding: clamp(24px, 4vw, 44px);
            border: 1px solid #e4ddd2;
            border-radius: 26px;
            background: #fff;
            box-shadow: 0 20px 50px rgba(30, 25, 20, .07);
        }

        .pro-order-language,
        .pro-order-nav {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
        }

        .pro-order-language {
            margin-bottom: 20px;
            direction: ltr;
        }

        .pro-order-language a,
        .pro-order-nav a {
            display: inline-flex;
            min-height: 42px;
            align-items: center;
            justify-content: center;
            padding: 9px 14px;
            border: 1px solid #ded7cd;
            border-radius: 11px;
            color: #2c2823;
            text-decoration: none;
            font-weight: 700;
        }

        .pro-order-language a[aria-current="true"] {
            border-color: #b4935f;
            background: #f7f1e7;
        }

        .pro-order-heading h1 {
            margin: 0 0 24px;
            font-size: clamp(29px, 5vw, 44px);
            overflow-wrap: anywhere;
        }

        .pro-order-summary {
            display: grid;
            grid-template-columns:
                repeat(3, minmax(0, 1fr));
            gap: 12px;
        }

        .pro-order-summary-card {
            padding: 15px;
            border: 1px solid #e9e2d8;
            border-radius: 14px;
            background: #faf8f4;
        }

        .pro-order-summary-card small,
        .pro-order-item small {
            display: block;
            margin-bottom: 5px;
            color: #867d71;
            font-size: 11px;
            font-weight: 700;
        }

        .pro-order-section {
            margin-top: 28px;
            padding-top: 23px;
            border-top: 1px solid #ece6dc;
        }

        .pro-order-section h2 {
            margin: 0 0 15px;
            font-size: 21px;
        }

        .pro-order-items {
            display: grid;
            gap: 11px;
        }

        .pro-order-item {
            display: grid;
            grid-template-columns:
                minmax(0, 1.5fr)
                minmax(100px, .7fr)
                minmax(80px, .45fr)
                minmax(100px, .65fr)
                minmax(100px, .65fr);
            gap: 12px;
            align-items: center;
            padding: 15px;
            border: 1px solid #e9e2d8;
            border-radius: 14px;
        }

        .pro-order-money {
            display: grid;
            gap: 10px;
            max-width: 480px;
            margin-inline-start: auto;
        }

        .pro-order-money-row {
            display: flex;
            justify-content: space-between;
            gap: 18px;
        }

        .pro-order-money-row--total {
            margin-top: 4px;
            padding-top: 12px;
            border-top: 1px solid #ddd4c7;
            font-size: 18px;
        }

        .pro-order-note {
            padding: 16px;
            border: 1px solid #e5dccf;
            border-radius: 14px;
            background: #faf8f4;
            color: #5f574d;
            line-height: 1.7;
        }

        .pro-order-nav {
            margin-top: 28px;
            padding-top: 22px;
            border-top: 1px solid #ebe5dc;
        }

        .pro-order-nav a:first-child {
            border-color: #171717;
            background: #171717;
            color: #fff;
        }

        @media (max-width: 800px) {
            .pro-order-summary {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

            .pro-order-item {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

            .pro-order-item > div:first-child {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 560px) {
            .pro-order-shell {
                padding: 12px;
            }

            .pro-order-surface {
                padding: 23px 15px;
                border-radius: 20px;
            }

            .pro-order-summary,
            .pro-order-item {
                grid-template-columns: 1fr;
            }

            .pro-order-item > div:first-child {
                grid-column: auto;
            }
        }

/* FLORI_PROFESSIONAL_MY_ORDERS_D18_D3A_END */

/* FLORI_PROFESSIONAL_DASHBOARD_D19_D1_START */

.pro-dashboard-body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(
            circle at 50% -10%,
            rgba(189, 159, 109, .12),
            transparent 32%
        ),
        #f8f6f2;
}

.pro-dashboard-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 42px 20px;
}

.pro-dashboard {
    width: min(100%, 1040px);
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid #ded6ca;
    border-radius: 28px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 26px 70px rgba(38, 31, 23, .10);
}

.pro-dashboard-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 52px;
}

.pro-dashboard-language {
    display: flex;
    gap: 8px;
}

.pro-dashboard-language a {
    min-width: 62px;
    padding: 10px 14px;
    border: 1px solid #ddd5ca;
    border-radius: 11px;
    background: #fff;
    color: #28231e;
    text-align: center;
    text-decoration: none;
    font-weight: 800;
}

.pro-dashboard-language a[aria-current="true"] {
    border-color: #b58d54;
    background: #f8f1e6;
}

.pro-dashboard-brand {
    display: grid;
    justify-items: end;
    gap: 7px;
}

.pro-dashboard-brand strong {
    color: #111;
    font-size: 31px;
    font-weight: 900;
    letter-spacing: .14em;
    line-height: 1;
}

.pro-dashboard-brand span {
    color: #25211d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.pro-dashboard-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 28px;
}

.pro-dashboard-heading {
    max-width: 680px;
}

.pro-dashboard-eyebrow {
    margin: 0 0 10px;
    color: #8a6a3c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.pro-dashboard-heading h1 {
    margin: 0;
    color: #15120f;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.pro-dashboard-subtitle {
    margin: 14px 0 0;
    color: #6f665c;
    font-size: 16px;
    line-height: 1.7;
}

.pro-dashboard-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border: 1px solid #d7e0d2;
    border-radius: 999px;
    background: #f4f8f1;
    color: #315330;
    font-weight: 900;
    white-space: nowrap;
}

.pro-dashboard-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #4a7a45;
    box-shadow: 0 0 0 4px rgba(74, 122, 69, .10);
}

.pro-dashboard-notice {
    display: grid;
    gap: 6px;
    margin-bottom: 28px;
    padding: 17px 19px;
    border: 1px solid #e5ddd1;
    border-radius: 15px;
    background: #faf7f2;
}

.pro-dashboard-notice strong {
    color: #312b24;
    font-size: 14px;
}

.pro-dashboard-notice span {
    color: #756c61;
    line-height: 1.65;
}

.pro-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.pro-dashboard-action {
    position: relative;
    min-height: 230px;
    display: flex;
    flex-direction: column;
    padding: 23px;
    overflow: hidden;
    border: 1px solid #e3dbcf;
    border-radius: 19px;
    background: #fff;
    color: #17130f;
    text-decoration: none;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.pro-dashboard-action:hover,
.pro-dashboard-action:focus-visible {
    transform: translateY(-3px);
    border-color: #b99563;
    box-shadow: 0 18px 34px rgba(42, 34, 25, .10);
}

.pro-dashboard-action-number {
    margin-bottom: 33px;
    color: #ae8a59;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.pro-dashboard-action strong {
    margin-bottom: 10px;
    font-size: 21px;
    line-height: 1.25;
}

.pro-dashboard-action-copy {
    color: #71685d;
    font-size: 14px;
    line-height: 1.65;
}

.pro-dashboard-action-arrow {
    margin-top: auto;
    padding-top: 22px;
    color: #17130f;
    font-size: 22px;
    font-weight: 900;
}

.pro-dashboard-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #e9e2d8;
}

.pro-dashboard-footer > div {
    display: grid;
    gap: 5px;
}

.pro-dashboard-footer strong {
    color: #302a23;
    font-size: 14px;
}

.pro-dashboard-footer span {
    color: #7a7166;
    font-size: 13px;
    line-height: 1.55;
}

.pro-dashboard-logout {
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid #17130f;
    border-radius: 11px;
    background: #17130f;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 850;
}

.pro-dashboard-logout:hover,
.pro-dashboard-logout:focus-visible {
    background: #322b24;
}

@media (max-width: 820px) {
    .pro-dashboard-shell {
        place-items: start center;
        padding: 22px 14px 36px;
    }

    .pro-dashboard {
        padding: 26px 20px;
        border-radius: 22px;
    }

    .pro-dashboard-topbar {
        margin-bottom: 36px;
    }

    .pro-dashboard-hero {
        display: grid;
        align-items: start;
    }

    .pro-dashboard-status {
        justify-self: start;
    }

    .pro-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .pro-dashboard-action {
        min-height: 180px;
    }

    .pro-dashboard-action-number {
        margin-bottom: 22px;
    }
}

@media (max-width: 560px) {
    .pro-dashboard-shell {
        padding: 12px;
    }

    .pro-dashboard {
        padding: 22px 15px;
        border-radius: 19px;
    }

    .pro-dashboard-topbar {
        display: grid;
        gap: 22px;
    }

    .pro-dashboard-brand {
        grid-row: 1;
        justify-items: start;
    }

    .pro-dashboard-language {
        grid-row: 2;
    }

    .pro-dashboard-heading h1 {
        font-size: 36px;
    }

    .pro-dashboard-status {
        white-space: normal;
    }

    .pro-dashboard-footer {
        display: grid;
        align-items: stretch;
    }

    .pro-dashboard-footer form {
        display: grid;
    }

    .pro-dashboard-logout {
        width: 100%;
    }
}

/* FLORI_PROFESSIONAL_DASHBOARD_D19_D1_END */

/* FLORI_PROFESSIONAL_SEARCH_UI_S1B_R1_START */

body.pro-shop-body .pro-shop-search {
    margin: 0 0 28px;
    padding: 18px;
    border: 1px solid #e2d8ca;
    border-radius: 18px;
    background:
        linear-gradient(
            180deg,
            #fbf9f5 0%,
            #f7f3ec 100%
        );
    box-shadow:
        0 10px 28px rgba(35, 29, 22, 0.05);
}

body.pro-shop-body .pro-shop-search-label {
    display: block;
    margin: 0 0 9px;
    color: #25211c;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

body.pro-shop-body .pro-shop-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: stretch;
}

body.pro-shop-body .pro-shop-search-input {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid #d8cbb8;
    border-radius: 13px;
    outline: none;
    background: #ffffff;
    color: #171717;
    font: inherit;
    font-size: 15px;
    line-height: 1.4;
    text-align: start;
    box-shadow:
        inset 0 1px 2px rgba(35, 29, 22, 0.03);
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease;
}

body.pro-shop-body .pro-shop-search-input::placeholder {
    color: #8a8176;
    opacity: 1;
}

body.pro-shop-body .pro-shop-search-input:focus {
    border-color: #a98b61;
    box-shadow:
        0 0 0 3px rgba(169, 139, 97, 0.13);
}

body.pro-shop-body .pro-shop-search-button,
body.pro-shop-body .pro-shop-search-clear {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 19px;
    border-radius: 13px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition:
        transform 160ms ease,
        background 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

body.pro-shop-body .pro-shop-search-button {
    border: 1px solid #171717;
    background: #171717;
    color: #ffffff;
    box-shadow:
        0 8px 18px rgba(23, 23, 23, 0.13);
}

body.pro-shop-body .pro-shop-search-clear {
    border: 1px solid #d8cbb8;
    background: #ffffff;
    color: #3d352c;
    box-shadow: none;
}

body.pro-shop-body .pro-shop-search-input:focus-visible,
body.pro-shop-body .pro-shop-search-button:focus-visible,
body.pro-shop-body .pro-shop-search-clear:focus-visible {
    outline: 2px solid #9d7948;
    outline-offset: 2px;
}

body.pro-shop-body .pro-shop-search-summary {
    display: flex;
    gap: 6px;
    align-items: center;
    margin: 11px 2px 0;
    color: #746b60;
    font-size: 13px;
    line-height: 1.45;
}

body.pro-shop-body .pro-shop-search-summary strong {
    color: #28231d;
    font-size: 14px;
}

body.pro-shop-body .pro-shop-search-empty {
    margin-top: 0;
}

@media (hover: hover) and (pointer: fine) {
    body.pro-shop-body .pro-shop-search-button:hover {
        transform: translateY(-1px);
        background: #2b2925;
        border-color: #2b2925;
        box-shadow:
            0 11px 22px rgba(23, 23, 23, 0.18);
    }

    body.pro-shop-body .pro-shop-search-clear:hover {
        transform: translateY(-1px);
        background: #f7f4ef;
        border-color: #cdbda6;
    }
}

@media (max-width: 680px) {
    body.pro-shop-body .pro-shop-search {
        margin-bottom: 18px;
        padding: 13px;
        border-radius: 16px;
    }

    body.pro-shop-body .pro-shop-search-row {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.pro-shop-body .pro-shop-search-input,
    body.pro-shop-body .pro-shop-search-button,
    body.pro-shop-body .pro-shop-search-clear {
        width: 100%;
        min-height: 48px;
    }

    body.pro-shop-body .pro-shop-search-summary {
        margin-top: 10px;
    }
}

/* FLORI_PROFESSIONAL_SEARCH_UI_S1B_R1_END */
/* FLORI_PROFESSIONAL_CLIENT_SHELL_V1A_START */

.pro-client-shell {
    position: relative;
    z-index: 20;

    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 22px;

    margin: 0 0 34px;
    padding: 14px 16px;

    border: 1px solid #e4dccf;
    border-radius: 17px;

    background:
        rgba(255, 255, 255, 0.96);

    box-shadow:
        0 8px 26px rgba(38, 31, 23, 0.055);
}

.pro-client-shell__main {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 24px;
}

.pro-client-shell__brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: baseline;
    gap: 8px;

    color: #17130f;
    text-decoration: none;
}

.pro-client-shell__brand strong {
    font-size: 21px;
    font-weight: 900;
    letter-spacing: 0.13em;
    line-height: 1;
}

.pro-client-shell__brand span {
    color: #9b7846;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.pro-client-shell__nav {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 4px;
}

.pro-client-shell__nav-link {
    position: relative;

    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;

    padding: 8px 12px;

    border: 1px solid transparent;
    border-radius: 11px;

    color: #625a50;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;

    transition:
        background 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.pro-client-shell__nav-link.is-active {
    border-color: #dbc7a4;
    background: #f8f2e8;
    color: #4e3c22;
}

.pro-client-shell__cart-link {
    padding-inline-end: 10px;
}

.pro-client-shell__cart-badge {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;

    padding: 0 5px;

    border-radius: 999px;

    background: #9b2637;
    color: #ffffff;

    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}

.pro-client-shell__cart-badge[hidden] {
    display: none;
}

.pro-client-shell__tools {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
}

.pro-client-shell__languages {
    display: flex;
    align-items: center;
    gap: 6px;

    font-size: 11px;
    font-weight: 750;
    line-height: 1;
}

.pro-client-shell__languages a {
    color: #777065;
    text-decoration: none;
}

.pro-client-shell__languages a[aria-current="true"] {
    color: #9a7541;
    font-weight: 900;
}

.pro-client-shell__languages span {
    color: #c1b8aa;
}

.pro-client-shell__logout-form {
    margin: 0;
}

.pro-client-shell__logout {
    min-height: 40px;
    margin: 0;

    padding: 8px 13px;

    border: 1px solid #ded6ca;
    border-radius: 10px;

    background: #ffffff;
    color: #4f473e;

    cursor: pointer;

    font: inherit;
    font-size: 11px;
    font-weight: 800;

    transition:
        background 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.pro-client-shell__brand:focus-visible,
.pro-client-shell__nav-link:focus-visible,
.pro-client-shell__languages a:focus-visible,
.pro-client-shell__logout:focus-visible {
    outline: 2px solid #9d7948;
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .pro-client-shell__nav-link:hover {
        border-color: #e1d8ca;
        background: #faf8f4;
        color: #352f28;
        transform: translateY(-1px);
    }

    .pro-client-shell__languages a:hover {
        color: #171717;
    }

    .pro-client-shell__logout:hover {
        border-color: #cfc1ad;
        background: #f8f5ef;
        color: #171717;
        transform: translateY(-1px);
    }
}

@media (max-width: 1040px) {
    .pro-client-shell {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .pro-client-shell__main {
        justify-content: space-between;
    }

    .pro-client-shell__tools {
        justify-content: space-between;
        padding-top: 11px;
        border-top: 1px solid #eee8df;
    }
}

@media (max-width: 720px) {
    .pro-client-shell {
        margin-bottom: 22px;
        padding: 12px;
        border-radius: 15px;
    }

    .pro-client-shell__main {
        display: grid;
        gap: 12px;
    }

    .pro-client-shell__brand {
        justify-self: start;
    }

    .pro-client-shell__nav {
        display: grid;
        width: 100%;
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
        gap: 5px;
    }

    .pro-client-shell__nav-link {
        min-width: 0;
        min-height: 43px;
        padding: 7px 5px;

        font-size: 10px;
        text-align: center;
    }

    .pro-client-shell__cart-link {
        padding-inline: 5px;
    }

    .pro-client-shell__tools {
        gap: 8px;
    }

    .pro-client-shell__languages {
        font-size: 10px;
    }

    .pro-client-shell__logout {
        min-height: 38px;
        padding-inline: 11px;
        font-size: 10px;
    }
}

@media (max-width: 420px) {
    .pro-client-shell__brand strong {
        font-size: 19px;
    }

    .pro-client-shell__brand span {
        font-size: 10px;
    }

    .pro-client-shell__nav-link {
        min-height: 41px;
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pro-client-shell__nav-link,
    .pro-client-shell__logout {
        transition: none;
    }

    .pro-client-shell__nav-link:hover,
    .pro-client-shell__logout:hover {
        transform: none;
    }
}

/* FLORI_PROFESSIONAL_CLIENT_SHELL_V1A_END */
/* FLORI_PROFESSIONAL_CLIENT_SHELL_V1A_P1_MOBILE_POLISH_START */

/*
 * Keep the mixed Hebrew / English brand phrase as one LTR unit.
 * The Hebrew prefix may wrap before this span when space is tight.
 */
.pro-dashboard-title-brand {
    display: inline-block;
    direction: ltr;
    unicode-bidi: isolate;
    white-space: nowrap;
}

/*
 * At narrow phone widths, four controls in one row made the
 * Professional shell labels too small. Use a 2 x 2 grid instead.
 */
@media (max-width: 520px) {
    .pro-client-shell__nav {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .pro-client-shell__nav-link {
        min-height: 44px;
        padding: 8px 7px;
        font-size: 11px;
        line-height: 1.25;
    }

    /*
     * Give "FLORI Professional" enough room to remain together
     * without overflowing the dashboard content column.
     */
    .pro-dashboard-heading h1 {
        font-size:
            clamp(29px, 8vw, 32px);
        line-height: 1.12;
    }
}

/* FLORI_PROFESSIONAL_CLIENT_SHELL_V1A_P1_MOBILE_POLISH_END */
/* FLORI_PROFESSIONAL_CLIENT_SHELL_V1A_P2_MOBILE_MENU_START */

/*
 * Desktop keeps the existing V1A navigation unchanged.
 * The menu button becomes available only when JS marks
 * the shared shell as menu-ready on mobile.
 */
.pro-client-shell__menu-toggle {
    display: none;
}

/*
 * Three-line menu icon.
 */
.pro-client-shell__menu-icon {
    position: relative;
    display: grid;
    width: 18px;
    gap: 4px;
}

.pro-client-shell__menu-icon span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
    transition:
        transform 160ms ease,
        opacity 160ms ease;
}

.pro-client-shell__menu-label {
    line-height: 1;
}

@media (max-width: 720px) {

    /*
     * Normal compact mobile header:
     * brand + menu button.
     */
    .pro-client-shell {
        gap: 0;
    }

    .pro-client-shell__main {
        display: grid;
        width: 100%;
        grid-template-columns:
            minmax(0, 1fr)
            auto;
        align-items: center;
        gap: 12px;
    }

    .pro-client-shell__brand {
        justify-self: start;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__menu-toggle {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        gap: 8px;

        padding: 9px 12px;

        border: 1px solid #d9cfbf;
        border-radius: 11px;

        background: #ffffff;
        color: #2e2923;

        cursor: pointer;

        font: inherit;
        font-size: 11px;
        font-weight: 850;

        transition:
            background 160ms ease,
            border-color 160ms ease,
            color 160ms ease;
    }

    /*
     * Progressive enhancement:
     * if JavaScript does not initialize, the existing visible
     * navigation remains available instead of disappearing.
     */
    .pro-client-shell.is-menu-ready
        .pro-client-shell__nav {
        display: none;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__tools {
        display: none;
    }

    /*
     * Open menu becomes a clean vertical account navigation.
     */
    .pro-client-shell.is-menu-ready.is-menu-open
        .pro-client-shell__nav {
        display: grid;
        width: 100%;
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        gap: 6px;

        margin-top: 2px;
        padding-top: 12px;

        border-top: 1px solid #eee7dc;
    }

    .pro-client-shell.is-menu-ready.is-menu-open
        .pro-client-shell__tools {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        gap: 10px;

        margin-top: 12px;
        padding-top: 12px;

        border-top: 1px solid #eee7dc;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__nav-link {
        width: 100%;
        min-height: 46px;
        justify-content: space-between;

        padding: 10px 13px;

        border-color: #e7dfd3;
        background: #ffffff;

        font-size: 12px;
        line-height: 1.25;
        text-align: start;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__nav-link.is-active {
        border-color: #d6bd92;
        background: #f8f1e5;
    }

    /*
     * Turn hamburger into a close icon when expanded.
     */
    .pro-client-shell__menu-toggle[aria-expanded="true"]
        .pro-client-shell__menu-icon span:nth-child(1) {
        transform:
            translateY(6px)
            rotate(45deg);
    }

    .pro-client-shell__menu-toggle[aria-expanded="true"]
        .pro-client-shell__menu-icon span:nth-child(2) {
        opacity: 0;
    }

    .pro-client-shell__menu-toggle[aria-expanded="true"]
        .pro-client-shell__menu-icon span:nth-child(3) {
        transform:
            translateY(-6px)
            rotate(-45deg);
    }

    .pro-client-shell__menu-toggle:focus-visible {
        outline: 2px solid #9d7948;
        outline-offset: 3px;
    }
}

/*
 * P1 had a 2 x 2 narrow-width grid.
 * P2 intentionally overrides that layout whenever the
 * JavaScript-enhanced mobile menu is active.
 */
@media (max-width: 520px) {
    .pro-client-shell.is-menu-ready
        .pro-client-shell__nav {
        grid-template-columns: 1fr;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__nav-link {
        min-height: 46px;
        padding: 10px 13px;
        font-size: 12px;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__tools {
        gap: 8px;
    }

    .pro-client-shell.is-menu-ready
        .pro-client-shell__logout {
        min-height: 40px;
        padding-inline: 12px;
        font-size: 11px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .pro-client-shell__menu-toggle:hover {
        border-color: #cdbda6;
        background: #f8f5ef;
        color: #171717;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pro-client-shell__menu-toggle,
    .pro-client-shell__menu-icon span {
        transition: none;
    }
}

/* FLORI_PROFESSIONAL_CLIENT_SHELL_V1A_P2_MOBILE_MENU_END */
/* FLORI_PROFESSIONAL_V2A_PRODUCT_CART_UX_START */

/* --------------------------------------------------------------
   Mixed Hebrew / Arabic / Latin product names
   -------------------------------------------------------------- */

.pro-v2a-mixed-title {
    display: inline;
    max-width: 100%;
    unicode-bidi: plaintext;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

/* --------------------------------------------------------------
   Shared quantity stepper
   -------------------------------------------------------------- */

.pro-v2a-quantity-stepper {
    display: grid;
    grid-template-columns: 46px minmax(72px, 1fr) 46px;
    width: min(100%, 250px);
    align-items: stretch;
    gap: 7px;
}

.pro-v2a-quantity-stepper input[type="number"] {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    text-align: center;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}

.pro-v2a-stepper-button {
    min-width: 46px;
    min-height: 46px;
    padding: 0;

    border: 1px solid #ddd2c2;
    border-radius: 11px;

    background: #ffffff;
    color: #171717;

    cursor: pointer;

    font: inherit;
    font-size: 20px;
    font-weight: 850;
    line-height: 1;

    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 150ms ease;
}

.pro-v2a-stepper-button:focus-visible {
    outline: 2px solid #9d7948;
    outline-offset: 2px;
}

/* --------------------------------------------------------------
   Product page
   -------------------------------------------------------------- */

body.pro-product-body .pro-product-title {
    max-width: 760px;
}

body.pro-product-body .pro-product-purchase-panel label {
    display: grid;
    gap: 10px;
}

body.pro-product-body
    .pro-product-purchase-panel
    .pro-v2a-quantity-stepper {
    margin-inline-start: auto;
}

/* --------------------------------------------------------------
   Cart item thumbnail + hierarchy
   -------------------------------------------------------------- */

body.pro-cart-body .pro-cart-item-heading {
    grid-template-columns:
        92px
        minmax(0, 1fr)
        auto;
    align-items: center;
}

body.pro-cart-body .pro-v2a-cart-thumb {
    display: grid;
    width: 92px;
    height: 92px;
    place-items: center;
    overflow: hidden;

    border: 1px solid #ebe2d5;
    border-radius: 15px;

    background: #ffffff;
}

body.pro-cart-body .pro-v2a-cart-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 6px;
    object-fit: contain;
}

body.pro-cart-body .pro-v2a-cart-thumb-placeholder {
    color: #9d7948;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}

body.pro-cart-body .pro-cart-item-title {
    overflow-wrap: anywhere;
    text-wrap: balance;
}

body.pro-cart-body .pro-cart-row label {
    flex: 1 1 230px;
}

body.pro-cart-body .pro-cart-row input {
    width: 100%;
}

body.pro-cart-body
    .pro-cart-row
    .pro-v2a-quantity-stepper {
    width: min(100%, 250px);
}

@media (hover: hover) and (pointer: fine) {
    .pro-v2a-stepper-button:hover {
        border-color: #c7b18e;
        background: #f8f3ea;
        transform: translateY(-1px);
    }
}

@media (max-width: 680px) {

    body.pro-product-body .pro-product-title {
        max-width: 100%;
        font-size: clamp(24px, 7vw, 29px);
        line-height: 1.16;
    }

    body.pro-product-body
        .pro-product-purchase-panel
        .pro-v2a-quantity-stepper {
        width: 100%;
        margin-inline-start: 0;
        grid-template-columns: 48px minmax(0, 1fr) 48px;
    }

    body.pro-cart-body .pro-cart-item-heading {
        grid-template-columns:
            76px
            minmax(0, 1fr);
        gap: 11px;
        align-items: center;
    }

    body.pro-cart-body .pro-v2a-cart-thumb {
        width: 76px;
        height: 76px;
        border-radius: 13px;
    }

    body.pro-cart-body .pro-cart-item-heading > .pro-cart-line-total {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        margin-top: 2px;
    }

    body.pro-cart-body .pro-cart-item-title {
        font-size: clamp(16px, 4.8vw, 19px);
        line-height: 1.25;
    }

    body.pro-cart-body
        .pro-cart-row
        .pro-v2a-quantity-stepper {
        width: 100%;
        grid-template-columns: 48px minmax(0, 1fr) 48px;
    }

    body.pro-cart-body .pro-cart-row > .pro-button {
        width: 100%;
        min-height: 46px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pro-v2a-stepper-button {
        transition: none;
    }
}

/* FLORI_PROFESSIONAL_V2A_PRODUCT_CART_UX_END */
/* FLORI_PROFESSIONAL_V2A_R3A_ADAPTIVE_TITLE_START */

/*
 * Adaptive Professional title renderer.
 *
 * Genuine LTR -> RTL bilingual titles are split into two
 * directional isolates.
 *
 * RTL-first, LTR-only, no-separator and other title structures
 * remain intact as one isolated title.
 */

.pro-v2a-r3a-title {
    display: grid;
    gap: .08em;
}

.pro-v2a-r3a-title-line,
.pro-v2a-r3a-title-single {
    display: block;
    max-width: 100%;
    unicode-bidi: isolate;
    overflow-wrap: anywhere;
}

.pro-v2a-r3a-title-line--ltr {
    direction: ltr;
}

.pro-v2a-r3a-title-line--rtl {
    direction: rtl;
}

.pro-v2a-r3a-title-single[dir="ltr"] {
    direction: ltr;
}

.pro-v2a-r3a-title-single[dir="rtl"] {
    direction: rtl;
}

@media (max-width: 680px) {
    .pro-v2a-r3a-title {
        gap: .1em;
    }
}

/* FLORI_PROFESSIONAL_V2A_R3A_ADAPTIVE_TITLE_END */

/* FLORI_PROFESSIONAL_CATEGORY_DISCOVERY_V3C3_START */

body.pro-shop-body .pro-shop-categories {
    margin: 0 0 30px;
}

body.pro-shop-body .pro-shop-categories-label {
    margin: 0 2px 10px;
    color: #5f574d;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.4;
}

body.pro-shop-body .pro-shop-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

body.pro-shop-body .pro-shop-category-chip {
    display: inline-flex;
    min-height: 42px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid #ded5c8;
    border-radius: 999px;
    background: #ffffff;
    color: #40382f;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    box-shadow:
        0 4px 12px rgba(35, 29, 22, 0.035);
    transition:
        transform 150ms ease,
        background 150ms ease,
        border-color 150ms ease,
        color 150ms ease,
        box-shadow 150ms ease;
}

body.pro-shop-body .pro-shop-category-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.pro-shop-body .pro-shop-category-count {
    display: inline-flex;
    min-width: 24px;
    height: 24px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 999px;
    background: #f1ece4;
    color: #71675a;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

body.pro-shop-body .pro-shop-category-chip.is-active {
    border-color: #171717;
    background: #171717;
    color: #ffffff;
    box-shadow:
        0 8px 20px rgba(23, 23, 23, 0.14);
}

body.pro-shop-body .pro-shop-category-chip.is-active
    .pro-shop-category-count {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

body.pro-shop-body .pro-shop-category-chip:focus-visible {
    outline: 2px solid #9d7948;
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    body.pro-shop-body .pro-shop-category-chip:not(.is-active):hover {
        transform: translateY(-1px);
        border-color: #c9b89f;
        background: #f9f6f1;
        box-shadow:
            0 7px 16px rgba(35, 29, 22, 0.07);
    }
}

@media (max-width: 680px) {
    body.pro-shop-body .pro-shop-categories {
        margin-bottom: 22px;
    }

    body.pro-shop-body .pro-shop-category-list {
        flex-wrap: nowrap;
        gap: 8px;
        margin-inline: -16px;
        padding: 2px 16px 9px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
        scroll-snap-type: inline proximity;
        -webkit-overflow-scrolling: touch;
    }

    body.pro-shop-body .pro-shop-category-chip {
        min-height: 40px;
        flex: 0 0 auto;
        max-width: min(82vw, 330px);
        scroll-snap-align: start;
        padding: 8px 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.pro-shop-body .pro-shop-category-chip {
        transition: none;
    }
}

/* FLORI_PROFESSIONAL_CATEGORY_DISCOVERY_V3C3_END */

/* FLORI_PROFESSIONAL_V3D2_CATEGORY_RELATED_START */

/* --------------------------------------------------------------
   Product category context
   -------------------------------------------------------------- */

body.pro-product-body .pro-product-category-context {
    margin-bottom: 20px;
    padding: 15px 16px;
    border: 1px solid #e8dfd2;
    border-radius: 15px;
    background:
        linear-gradient(
            135deg,
            #fbf8f2,
            #ffffff
        );
}

body.pro-product-body .pro-product-category-label {
    display: block;
    margin-bottom: 9px;
    color: #8e7043;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.04em;
}

body.pro-product-body .pro-product-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.pro-product-body .pro-product-category-chip {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border: 1px solid #d8c5a5;
    border-radius: 999px;
    background: #ffffff;
    color: #503f26;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    transition:
        transform 150ms ease,
        border-color 150ms ease,
        background 150ms ease;
}

/* --------------------------------------------------------------
   Related Professional products
   -------------------------------------------------------------- */

body.pro-product-body .pro-product-related {
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid #e8dfd2;
}

body.pro-product-body .pro-product-related-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

body.pro-product-body .pro-product-related-kicker {
    margin: 0 0 5px;
    color: #9d7948;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.14em;
}

body.pro-product-body .pro-product-related-title {
    margin: 0;
    color: #1d1a16;
    font-size: clamp(24px, 3vw, 31px);
    font-weight: 850;
    line-height: 1.15;
}

body.pro-product-body .pro-product-related-shop-link {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid #ddd1c1;
    border-radius: 11px;
    background: #ffffff;
    color: #51483e;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

body.pro-product-body .pro-product-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

body.pro-product-body .pro-related-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e9e1d6;
    border-radius: 17px;
    background: #ffffff;
    box-shadow:
        0 8px 24px rgba(35, 29, 22, 0.055);
}

body.pro-product-body .pro-related-product-media {
    display: grid;
    height: 180px;
    place-items: center;
    overflow: hidden;
    border-bottom: 1px solid #eee7dd;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #faf7f2
        );
    text-decoration: none;
}

body.pro-product-body .pro-related-product-image {
    display: block;
    width: 100%;
    height: 100%;
    padding: 13px;
    object-fit: contain;
}

body.pro-product-body .pro-related-product-placeholder {
    color: #b79f7b;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.18em;
}

body.pro-product-body .pro-related-product-body {
    display: flex;
    min-height: 215px;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 14px;
}

body.pro-product-body .pro-related-product-title {
    margin: 0 0 10px;
    overflow-wrap: anywhere;
    color: #27231e;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.45;
}

body.pro-product-body .pro-related-product-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 8px;
}

body.pro-product-body .pro-related-product-price strong {
    color: #191714;
    font-size: 19px;
    font-weight: 850;
}

body.pro-product-body .pro-related-product-price del {
    color: #9a9287;
    font-size: 12px;
}

body.pro-product-body .pro-related-product-stock {
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 800;
}

body.pro-product-body .pro-related-product-stock.is-available {
    color: #39704a;
}

body.pro-product-body .pro-related-product-stock.is-unavailable {
    color: #985047;
}

body.pro-product-body .pro-related-product-button {
    width: 100%;
    min-height: 42px;
    margin-top: auto;
    border-radius: 11px;
}

@media (hover: hover) and (pointer: fine) {
    body.pro-product-body .pro-product-category-chip:hover,
    body.pro-product-body .pro-product-related-shop-link:hover {
        transform: translateY(-1px);
        border-color: #bfa478;
        background: #f8f3ea;
    }

    body.pro-product-body .pro-related-product-card:hover {
        border-color: #d8c6a7;
        box-shadow:
            0 12px 28px rgba(35, 29, 22, 0.085);
    }
}

@media (max-width: 1050px) {
    body.pro-product-body .pro-product-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body.pro-product-body .pro-product-category-context {
        margin-bottom: 14px;
        padding: 12px 13px;
    }

    body.pro-product-body .pro-product-related {
        margin-top: 28px;
        padding-top: 23px;
    }

    body.pro-product-body .pro-product-related-heading {
        display: grid;
        align-items: start;
        gap: 10px;
    }

    body.pro-product-body .pro-product-related-shop-link {
        width: 100%;
    }

    body.pro-product-body .pro-product-related-grid {
        grid-template-columns: 1fr;
    }

    body.pro-product-body .pro-related-product-media {
        height: 230px;
    }

    body.pro-product-body .pro-related-product-body {
        min-height: 0;
    }
}

/* FLORI_PROFESSIONAL_V3D2_CATEGORY_RELATED_END */

/* FLORI_PROFESSIONAL_MOBILE_CATEGORY_SCROLLER_FIX_20260912_START */
@media (max-width: 680px) {
    body.pro-shop-body .pro-shop-categories {
        min-width: 0;
        max-width: 100%;
        overflow: visible;
    }

    body.pro-shop-body .pro-shop-category-list {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 0.5rem;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: auto;
        overflow-y: hidden;
        padding-inline: 0.5rem;
        padding-block: 0.125rem 0.375rem;
        scroll-padding-inline: 0.5rem;
        scroll-snap-type: x proximity;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        direction: rtl;
    }

    body.pro-shop-body .pro-shop-category-list::-webkit-scrollbar {
        display: none;
    }

    body.pro-shop-body .pro-shop-category-chip {
        flex: 0 0 auto;
        max-width: none;
        white-space: nowrap;
        scroll-snap-align: start;
    }
}
/* FLORI_PROFESSIONAL_MOBILE_CATEGORY_SCROLLER_FIX_20260912_END */

/* FLORI_PROFESSIONAL_MOBILE_CATEGORY_RAIL_R3_20260912_START */
@media (max-width: 680px) {
    body.pro-shop-body .pro-shop-categories {
        position: relative;
    }

    body.pro-shop-body .pro-shop-category-list {
        scroll-snap-type: x proximity;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
    }

    body.pro-shop-body .pro-shop-category-chip {
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }

    body.pro-shop-body
    .pro-shop-categories[data-flori-pro-category-more-left="1"]
    .pro-shop-category-list {
        -webkit-mask-image:
            linear-gradient(
                to right,
                transparent 0,
                #000 1.65rem,
                #000 100%
            );
        mask-image:
            linear-gradient(
                to right,
                transparent 0,
                #000 1.65rem,
                #000 100%
            );
    }

    body.pro-shop-body
    .pro-shop-categories[data-flori-pro-category-more-right="1"]
    .pro-shop-category-list {
        -webkit-mask-image:
            linear-gradient(
                to right,
                #000 0,
                #000 calc(100% - 1.65rem),
                transparent 100%
            );
        mask-image:
            linear-gradient(
                to right,
                #000 0,
                #000 calc(100% - 1.65rem),
                transparent 100%
            );
    }

    body.pro-shop-body
    .pro-shop-categories[data-flori-pro-category-more-left="1"][data-flori-pro-category-more-right="1"]
    .pro-shop-category-list {
        -webkit-mask-image:
            linear-gradient(
                to right,
                transparent 0,
                #000 1.65rem,
                #000 calc(100% - 1.65rem),
                transparent 100%
            );
        mask-image:
            linear-gradient(
                to right,
                transparent 0,
                #000 1.65rem,
                #000 calc(100% - 1.65rem),
                transparent 100%
            );
    }

    body.pro-shop-body
    .pro-shop-categories::before,
    body.pro-shop-body
    .pro-shop-categories::after {
        position: absolute;
        bottom: 0.5rem;
        z-index: 4;
        display: grid;
        width: 1.25rem;
        height: 1.75rem;
        place-items: center;
        pointer-events: none;
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        opacity: 0;
        transition: opacity 120ms ease;
    }

    body.pro-shop-body
    .pro-shop-categories::after {
        content: "\2039";
        left: 0.1rem;
    }

    body.pro-shop-body
    .pro-shop-categories::before {
        content: "\203A";
        right: 0.1rem;
    }

    body.pro-shop-body
    .pro-shop-categories[data-flori-pro-category-more-left="1"]::after {
        opacity: 0.58;
    }

    body.pro-shop-body
    .pro-shop-categories[data-flori-pro-category-more-right="1"]::before {
        opacity: 0.58;
    }

    @media (prefers-reduced-motion: reduce) {
        body.pro-shop-body
        .pro-shop-categories::before,
        body.pro-shop-body
        .pro-shop-categories::after {
            transition: none;
        }
    }
}
/* FLORI_PROFESSIONAL_MOBILE_CATEGORY_RAIL_R3_20260912_END */
