/* Configurator visual rules reused from Blanche Eclat. */

            .product-size-selector {
                position: relative;
                margin: -10px 0 28px;
                font-family: 'Noto Sans Bengali', sans-serif;
            }

            .product-option-card {
                width: 100%;
                background: #FFFFFF;
                border-top: 1px solid rgba(0, 0, 0, 0.14);
                border-bottom: 1px solid rgba(0, 0, 0, 0.14);
            }

            .product-option-row {
                width: 100%;
                min-height: 74px;
                border: 0;
                border-bottom: 1px solid rgba(0, 0, 0, 0.14);
                background: #FFFFFF;
                color: #000000;
                display: grid;
                grid-template-columns: minmax(0, 1fr) auto;
                gap: 24px;
                align-items: center;
                padding: 0;
                text-align: left;
            }

            .product-option-row--mirror {
                grid-template-columns: auto minmax(0, 1fr) auto;
            }

            .product-option-row:last-child {
                border-bottom: 0;
            }

            .product-option-row.is-button {
                appearance: none;
                -webkit-appearance: none;
                cursor: pointer;
                font: inherit;
            }

            .product-option-size-action {
                appearance: none;
                -webkit-appearance: none;
                border: 0;
                background: transparent;
                color: inherit;
                cursor: pointer;
                display: flex;
                gap: 24px;
                align-items: center;
                justify-content: flex-end;
                font: inherit;
                padding: 0;
            }

            .product-option-main-action {
                appearance: none;
                -webkit-appearance: none;
                border: 0;
                background: transparent;
                color: inherit;
                cursor: pointer;
                display: flex;
                gap: 24px;
                align-items: center;
                justify-content: flex-start;
                font: inherit;
                min-width: 0;
                padding: 0;
            }

            .product-option-main-action:focus-visible {
                outline: none;
            }

            .product-option-row--mirror .product-option-label {
                justify-self: end;
                text-align: right;
            }

            .product-option-row--mirror .product-option-link {
                justify-self: end;
            }

            .product-option-row.is-button:hover,
            .product-option-row.is-button:focus-visible {
                outline: none;
            }

            .product-option-left,
            .product-option-right {
                display: flex;
                align-items: center;
            }

            .product-option-left {
                gap: 28px;
                min-width: 0;
            }

            .product-option-right {
                gap: 24px;
                justify-content: flex-end;
            }

            .product-option-label {
                color: #000000;
                font-size: 17px;
                font-weight: 300;
                line-height: 1.2;
            }

            .product-option-muted {
                color: #000000;
                opacity: 0.55;
            }

            .product-option-link {
                appearance: none;
                -webkit-appearance: none;
                border: 0;
                background: transparent;
                color: #000000;
                cursor: pointer;
                font: inherit;
                font-weight: 300;
                padding: 0;
                text-decoration: underline;
                text-underline-offset: 5px;
                transition: color 0.24s ease, opacity 0.24s ease;
            }

            .product-option-link:hover,
            .product-option-link:focus-visible {
                color: #721027;
                outline: none;
            }

            .product-option-value {
                color: #000000;
                font-size: 17px;
                font-weight: 300;
                min-width: 0;
                overflow-wrap: anywhere;
                white-space: nowrap;
            }

            .product-option-value--diamond {
                white-space: normal;
                line-height: 1.3;
            }

            .product-option-chevron {
                width: 14px;
                height: 14px;
                color: #000000;
                border-left: 2px solid currentColor;
                border-bottom: 2px solid currentColor;
                transform: rotate(45deg);
                opacity: 0.9;
                transition: transform 0.24s ease, color 0.24s ease;
            }

            .product-option-row:hover .product-option-chevron,
            .product-option-row:focus-within .product-option-chevron,
            .product-option-row.is-button:hover .product-option-chevron,
            .product-option-row.is-button:focus-visible .product-option-chevron,
            .product-option-main-action:hover .product-option-chevron,
            .product-option-main-action:focus-visible .product-option-chevron,
            .product-option-size-action:hover .product-option-chevron,
            .product-option-size-action:focus-visible .product-option-chevron {
                color: #721027;
                transform: translateX(-3px) rotate(45deg);
            }

            .product-option-size-action:focus-visible {
                outline: none;
            }

            .style-drawer-backdrop {
                position: fixed;
                inset: 0;
                z-index: 9999;
                background: rgba(0, 0, 0, 0.18);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s ease, visibility 0.3s ease;
            }

            .style-drawer-backdrop.is-open {
                opacity: 1;
                visibility: visible;
            }

            .style-drawer-heading {
                margin: 0 0 26px;
                color: #000000;
                font-family: 'Playfair Display', serif;
                font-size: 26px;
                font-weight: 500;
                line-height: 1.2;
            }

            .style-option-grid {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 22px 18px;
            }

            .style-option-card {
                appearance: none;
                -webkit-appearance: none;
                border: 0;
                background: transparent;
                color: #000000;
                cursor: pointer;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 10px;
                min-width: 0;
                padding: 0 0 10px;
                position: relative;
                font-family: 'Noto Sans Bengali', sans-serif;
            }

            .style-option-card::after {
                content: '';
                position: absolute;
                left: 18%;
                right: 18%;
                bottom: 0;
                height: 2px;
                background: #721027;
                transform: scaleX(0);
                transform-origin: left center;
                transition: transform 0.28s ease;
            }

            .style-option-card:hover,
            .style-option-card:focus-visible {
                outline: none;
            }

            .style-option-card:hover::after,
            .style-option-card:focus-visible::after {
                transform: scaleX(1);
            }

            .style-option-card img {
                display: block;
                width: 100%;
                max-width: 160px;
                aspect-ratio: 1 / 1;
                object-fit: cover;
                border-radius: 4px;
                transition: transform 0.28s ease, box-shadow 0.28s ease;
            }

            .style-option-card:hover img,
            .style-option-card:focus-visible img {
                transform: translateY(-2px) scale(1.025);
                box-shadow: 0 14px 30px rgba(114, 16, 39, 0.14);
            }

            .style-option-card span {
                color: #000000;
                font-size: 13px;
                font-weight: 700;
                line-height: 1.25;
                text-align: center;
            }

            .diamond-drawer-backdrop {
                position: fixed;
                inset: 0;
                z-index: 9999;
                background: rgba(0, 0, 0, 0.18);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s ease, visibility 0.3s ease;
            }

            .diamond-drawer-backdrop.is-open {
                opacity: 1;
                visibility: visible;
            }

            .size-drawer.diamond-drawer {
                width: min(760px, 100vw);
                max-height: 100svh;
                max-height: 100dvh;
                overflow: hidden;
            }

            .diamond-drawer .size-drawer-close {
                width: 48px;
                height: 48px;
                margin: 18px 0 12px 28px;
            }

            .diamond-drawer .size-drawer-close::before,
            .diamond-drawer .size-drawer-close::after {
                width: 20px;
            }

            .size-drawer-content.diamond-drawer-content {
                min-height: 0;
                padding-top: 14px;
                padding-bottom: 92px;
                padding-bottom: max(92px, calc(28px + env(safe-area-inset-bottom)));
                overflow-x: hidden;
                overflow-y: auto;
                overscroll-behavior: contain;
                -webkit-overflow-scrolling: touch;
            }

            .diamond-drawer-heading {
                margin: 0 0 6px;
                color: #000000;
                font-family: 'Playfair Display', serif;
                font-size: 24px;
                font-weight: 500;
                line-height: 1.2;
            }

            .diamond-drawer-heading--with-media {
                display: inline-flex;
                align-items: center;
                max-width: 100%;
                gap: clamp(10px, 2vw, 18px);
                margin-bottom: 20px;
                overflow: visible;
            }

            .diamond-drawer-heading-icon {
                display: block;
                width: clamp(64px, 8vw, 74px);
                height: auto;
                max-width: min(20vw, 74px);
                aspect-ratio: 1 / 1;
                object-fit: contain;
                flex: 0 0 auto;
                transition: transform 0.28s ease, filter 0.28s ease;
                will-change: transform;
            }

            .diamond-shape-option:hover .diamond-drawer-heading-icon,
            .diamond-shape-option:focus-visible .diamond-drawer-heading-icon {
                filter: drop-shadow(0 14px 24px rgba(114, 16, 39, 0.16));
                transform: translateY(-2px) scale(1.08);
            }

            .diamond-shape-option {
                appearance: none;
                -webkit-appearance: none;
                background: transparent;
                border: 0;
                color: #721027;
                cursor: pointer;
                display: block;
                flex: 0 0 auto;
                line-height: 1;
                margin: 0;
                padding: 0;
                position: relative;
                text-align: center;
            }

            .diamond-shape-option:focus-visible {
                outline: 1px solid rgba(188, 38, 73, 0.52);
                outline-offset: 5px;
            }

            .diamond-shape-caption {
                color: #721027;
                display: block;
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 11px;
                font-weight: 500;
                left: 50%;
                line-height: 1.2;
                min-width: max-content;
                overflow-wrap: normal;
                position: absolute;
                top: calc(100% + 4px);
                transform: translateX(-50%);
                white-space: nowrap;
            }

            .diamond-shape-caption::after {
                background: linear-gradient(90deg, #721027, #BC2649);
                bottom: -4px;
                content: '';
                height: 1px;
                left: 0;
                position: absolute;
                transform: scaleX(0);
                transform-origin: left center;
                transition: transform 0.22s ease;
                width: 100%;
            }

            .diamond-shape-option.is-selected .diamond-shape-caption::after,
            .diamond-shape-option:hover .diamond-shape-caption::after,
            .diamond-shape-option:focus-visible .diamond-shape-caption::after {
                transform: scaleX(1);
            }

            .diamond-drawer-heading--with-media span {
                min-width: 0;
                overflow-wrap: anywhere;
            }

            .diamond-drawer-heading--with-media .diamond-shape-caption {
                min-width: max-content;
                overflow-wrap: normal;
            }

            .diamond-selection-summary {
                margin: 0 0 14px;
                color: rgba(0, 0, 0, 0.58);
                font-size: 12px;
                font-weight: 300;
                line-height: 1.55;
            }

            .diamond-picker-wrap {
                overflow-x: hidden;
                padding-bottom: 8px;
            }

            .diamond-picker-grid {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
                gap: 12px;
                min-width: 0;
                width: 100%;
            }

            .diamond-picker-column {
                min-width: 0;
            }

            .diamond-picker-title {
                padding: 0 8px 12px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.12);
                color: rgba(0, 0, 0, 0.56);
                font-size: 12px;
                font-weight: 700;
                letter-spacing: 0;
                line-height: 1.45;
                text-transform: uppercase;
            }

            .diamond-option-list {
                --option-height: 38px;
                --option-gap: 4px;
                --selected-index: 0;
                position: relative;
                display: grid;
                gap: var(--option-gap);
                padding: 4px 0;
            }

            .diamond-slider-indicator {
                position: absolute;
                top: calc(var(--indicator-offset, 4px) + (var(--selected-index) * (var(--option-height) + var(--option-gap))));
                left: 0;
                right: 0;
                height: var(--option-height);
                background: linear-gradient(135deg, #721027 0%, #BC2649 100%);
                border: 1px solid #721027;
                transform: translateZ(0);
                transition: top 0.34s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.24s ease;
                z-index: 0;
            }

            .diamond-option-list:hover .diamond-slider-indicator {
                box-shadow: 0 12px 26px rgba(188, 38, 73, 0.24);
            }

            .diamond-option-list.is-funky-selected .diamond-slider-indicator {
                background: linear-gradient(135deg, #DF3F61 0%, #F27593 18%, #F7C948 36%, #46B36A 54%, #3F7BDF 72%, #8B4FD8 100%);
                border-color: #DF3F61;
                box-shadow: 0 14px 30px rgba(242, 117, 147, 0.28);
            }

            .diamond-option {
                appearance: none;
                -webkit-appearance: none;
                position: relative;
                z-index: 1;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: var(--option-height);
                padding: 0 8px;
                border: 0;
                border-bottom: 1px solid rgba(0, 0, 0, 0.12);
                background: transparent;
                color: #000000;
                cursor: pointer;
                font: inherit;
                font-size: 13px;
                font-weight: 300;
                line-height: 1.2;
                text-align: center;
                word-break: normal;
                overflow-wrap: anywhere;
                transition: color 0.22s ease, border-color 0.22s ease;
            }

            .diamond-option:hover,
            .diamond-option:focus-visible {
                color: #721027;
                outline: none;
            }

            .diamond-option.is-selected {
                color: #FFFFFF;
                border-bottom-color: transparent;
                font-weight: 700;
            }

            .diamond-option-shell {
                position: relative;
                z-index: 2;
                min-height: var(--option-height);
            }

            .diamond-option-shell .diamond-option {
                padding-right: 8px;
            }

            .funky-info {
                position: absolute;
                top: 50%;
                left: calc(50% + 28px);
                z-index: 4;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                transform: translateY(-60%);
            }

            .funky-info-icon {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 17px;
                height: 17px;
                border: 1px solid currentColor;
                border-radius: 50%;
                background: rgba(255, 255, 255, 0.9);
                color: #721027;
                cursor: help;
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 10px;
                font-weight: 700;
                line-height: 1;
                transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
            }

            .diamond-option.is-selected + .funky-info .funky-info-icon {
                background: #FFFFFF;
                color: #721027;
            }

            .funky-info:hover .funky-info-icon,
            .funky-info:focus-within .funky-info-icon {
                background: #721027;
                color: #FFFFFF;
                transform: scale(1.06);
            }

            .funky-info-tooltip {
                position: absolute;
                left: 50%;
                top: calc(100% + 8px);
                box-sizing: border-box;
                width: min(300px, 72vw);
                padding: 16px 16px 14px;
                border: 1px solid rgba(114, 16, 39, 0.16);
                background: #FFFFFF;
                box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
                color: #000000;
                opacity: 0;
                pointer-events: none;
                text-align: left;
                transform: translate(-50%, 6px);
                transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
                visibility: hidden;
            }

            .funky-info:hover .funky-info-tooltip,
            .funky-info:focus-within .funky-info-tooltip {
                opacity: 1;
                pointer-events: auto;
                transform: translate(-50%, 0);
                visibility: visible;
            }

            .funky-info-tooltip::after {
                content: '';
                position: absolute;
                left: 50%;
                top: -6px;
                width: 10px;
                height: 10px;
                border-left: 1px solid rgba(114, 16, 39, 0.16);
                border-top: 1px solid rgba(114, 16, 39, 0.16);
                background: #FFFFFF;
                transform: translateX(-50%) rotate(45deg);
            }

            .funky-info-tooltip-text {
                display: block;
                color: rgba(0, 0, 0, 0.72);
                font-size: 12px;
                font-weight: 300;
                line-height: 1.55;
            }

            .funky-info-tooltip-link {
                display: inline-flex;
                margin-top: 30px;
                color: #721027;
                font-size: 12px;
                font-weight: 700;
                line-height: 1.2;
                text-decoration: none;
                transition: color 0.22s ease, transform 0.22s ease;
            }

            .funky-info-tooltip-link:hover,
            .funky-info-tooltip-link:focus-visible {
                color: #BC2649;
                outline: none;
                transform: translateY(-1px);
            }

            .diamond-drawer-actions {
                position: sticky;
                bottom: 0;
                z-index: 4;
                display: flex;
                justify-content: flex-end;
                margin-top: 14px;
                padding-top: 16px;
                padding-bottom: 16px;
                padding-bottom: max(16px, env(safe-area-inset-bottom));
                border-top: 1px solid rgba(0, 0, 0, 0.12);
                background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 28%, #FFFFFF 100%);
            }

            .diamond-drawer-content.is-quote-mode .diamond-drawer-heading,
            .diamond-drawer-content.is-quote-mode .diamond-selection-summary,
            .diamond-drawer-content.is-quote-mode .diamond-picker-wrap,
            .diamond-drawer-content.is-quote-mode .diamond-drawer-actions {
                display: none;
            }

            .size-drawer-content.style-drawer-content {
                min-height: 0;
                overflow-x: hidden;
                overflow-y: auto;
                overscroll-behavior: contain;
                -webkit-overflow-scrolling: touch;
            }

            .diamond-apply-button {
                appearance: none;
                -webkit-appearance: none;
                min-width: 190px;
                min-height: 42px;
                border: 1px solid #000000;
                background: #000000;
                color: #FFFFFF;
                cursor: pointer;
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 12px;
                font-weight: 700;
                letter-spacing: 0;
                text-transform: uppercase;
                transition: background 0.24s ease, color 0.24s ease, transform 0.24s ease;
            }

            .diamond-apply-button:hover,
            .diamond-apply-button:focus-visible {
                background: #721027;
                border-color: #721027;
                outline: none;
                transform: translateY(-1px);
            }

            .diamond-apply-button:disabled,
            .diamond-apply-button:disabled:hover,
            .diamond-apply-button:disabled:focus-visible {
                border-color: rgba(0, 0, 0, 0.16);
                background: rgba(0, 0, 0, 0.08);
                color: rgba(0, 0, 0, 0.34);
                cursor: not-allowed;
                outline: none;
                transform: none;
            }

            .diamond-quote-form[hidden] {
                display: none;
            }

            .diamond-quote-form {
                padding-top: 4px;
            }

            .order-honeypot {
                position: absolute;
                left: -9999px;
                width: 1px;
                height: 1px;
                overflow: hidden;
                opacity: 0;
                pointer-events: none;
            }

            .diamond-quote-heading {
                margin: 0 0 16px;
                color: #000000;
                font-family: 'Playfair Display', serif;
                font-size: 25px;
                font-weight: 500;
                line-height: 1.2;
            }

            .diamond-quote-intro {
                margin: 0 0 22px;
                max-width: 520px;
                color: rgba(0, 0, 0, 0.68);
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 13px;
                font-weight: 300;
                line-height: 1.65;
            }

            .diamond-quote-intro strong {
                display: block;
                margin-bottom: 6px;
                color: #000000;
                font-weight: 700;
            }

            .diamond-quote-fields {
                display: grid;
                gap: 14px;
                max-width: 520px;
            }

            .diamond-quote-field {
                display: grid;
                gap: 7px;
                color: rgba(0, 0, 0, 0.72);
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 12px;
                font-weight: 700;
                line-height: 1.2;
            }

            .diamond-quote-field input {
                appearance: none;
                -webkit-appearance: none;
                width: 100%;
                min-height: 44px;
                border: 1px solid rgba(0, 0, 0, 0.16);
                border-radius: 0;
                background: #FFFFFF;
                color: #000000;
                font: inherit;
                font-weight: 300;
                padding: 0 13px;
                transition: border-color 0.22s ease, box-shadow 0.22s ease;
            }

            .diamond-quote-field input:focus {
                border-color: #721027;
                box-shadow: 0 0 0 3px rgba(114, 16, 39, 0.08);
                outline: none;
            }

            .diamond-quote-actions {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 18px;
                max-width: 520px;
                margin-top: 18px;
            }

            .diamond-quote-note {
                flex: 1 1 auto;
                margin: 0;
                color: rgba(0, 0, 0, 0.58);
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 11px;
                font-weight: 300;
                line-height: 1.55;
            }

            .diamond-quote-note a {
                color: #721027;
                font-weight: 700;
                text-decoration: none;
                transition: color 0.22s ease;
            }

            .diamond-quote-note a:hover,
            .diamond-quote-note a:focus-visible {
                color: #BC2649;
                outline: none;
            }

            .diamond-quote-note span {
                display: block;
            }

            .diamond-quote-message {
                display: none;
                max-width: 520px;
                margin: 0 0 16px;
                padding: 12px 14px;
                border: 1px solid rgba(114, 16, 39, 0.16);
                color: rgba(0, 0, 0, 0.74);
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 12px;
                font-weight: 300;
                line-height: 1.5;
            }

            .diamond-quote-message.is-visible {
                display: block;
            }

            .diamond-quote-message--sent {
                background: rgba(114, 16, 39, 0.05);
            }

            .diamond-quote-message--error {
                border-color: rgba(188, 38, 73, 0.32);
                background: rgba(188, 38, 73, 0.06);
            }

            .diamond-quality-alert {
                position: fixed;
                inset: 0;
                z-index: 10020;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 24px;
                background: rgba(0, 0, 0, 0.24);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.24s ease, visibility 0.24s ease;
            }

            .diamond-quality-alert.is-open {
                opacity: 1;
                visibility: visible;
            }

            .diamond-quality-alert-panel {
                box-sizing: border-box;
                width: min(640px, 100%);
                border: 1px solid rgba(114, 16, 39, 0.18);
                background: #FFFFFF;
                box-shadow: 0 26px 70px rgba(0, 0, 0, 0.18);
                padding: 30px 28px 26px;
                color: #000000;
                transform: translateY(12px);
                transition: transform 0.24s ease;
            }

            .diamond-quality-alert.is-open .diamond-quality-alert-panel {
                transform: translateY(0);
            }

            .diamond-quality-alert-title {
                margin: 0 0 12px;
                color: #000000;
                font-family: 'Playfair Display', serif;
                font-size: 22px;
                font-weight: 700;
                line-height: 1.2;
                white-space: nowrap;
            }

            .diamond-quality-alert-text {
                margin: 0;
                color: rgba(0, 0, 0, 0.72);
                font-size: 14px;
                font-weight: 300;
                line-height: 1.65;
            }

            .diamond-quality-alert-button {
                appearance: none;
                -webkit-appearance: none;
                display: flex;
                align-items: center;
                justify-content: center;
                width: max-content;
                min-width: 136px;
                min-height: 42px;
                margin: 22px 0 0 auto;
                border: 1px solid #000000;
                background: #000000;
                color: #FFFFFF;
                cursor: pointer;
                font-family: 'Noto Sans Bengali', sans-serif;
                font-size: 12px;
                font-weight: 700;
                letter-spacing: 0;
                text-transform: uppercase;
                transition: background 0.24s ease, border-color 0.24s ease, transform 0.24s ease;
            }

            .diamond-quality-alert-button:hover,
            .diamond-quality-alert-button:focus-visible {
                background: #721027;
                border-color: #721027;
                outline: none;
                transform: translateY(-1px);
            }

            .size-selection-note {
                margin: 12px 0 0;
                color: rgba(0, 0, 0, 0.66);
                font-size: 12px;
                font-weight: 300;
                line-height: 1.45;
            }

            .product-quote-cta-container {
                display: flex;
                justify-content: center;
                margin-top: 22px;
            }

            .product-quote-start {
                appearance: none;
                -webkit-appearance: none;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                font-family: inherit;
                width: 222px;
            }

            .size-drawer-backdrop {
                position: fixed;
                inset: 0;
                z-index: 9999;
                background: rgba(0, 0, 0, 0.18);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s ease, visibility 0.3s ease;
            }

            .size-drawer-backdrop.is-open {
                opacity: 1;
                visibility: visible;
            }

            .size-drawer {
                position: fixed;
                top: 0;
                left: 0;
                z-index: 10000;
                width: min(680px, 100vw);
                height: 100svh;
                height: 100dvh;
                max-height: 100svh;
                max-height: 100dvh;
                overflow: hidden;
                background: #FFFFFF;
                color: #000000;
                box-shadow: 18px 0 50px rgba(0, 0, 0, 0.12);
                transform: translateX(-100%);
                transition: transform 0.38s ease;
                display: flex;
                flex-direction: column;
            }

            .size-drawer.is-open {
                transform: translateX(0);
            }

            .size-drawer-close {
                appearance: none;
                -webkit-appearance: none;
                width: 56px;
                height: 56px;
                margin: 28px 0 34px 32px;
                border: 0;
                border-radius: 50%;
                background: rgba(114, 16, 39, 0.04);
                color: #000000;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                position: relative;
                transition: background 0.24s ease, transform 0.24s ease;
            }

            .size-drawer-close:hover,
            .size-drawer-close:focus-visible {
                background: rgba(114, 16, 39, 0.09);
                outline: none;
                transform: scale(1.04);
            }

            .size-drawer-close::before,
            .size-drawer-close::after {
                content: '';
                position: absolute;
                width: 24px;
                height: 2px;
                background: #000000;
            }

            .size-drawer-close::before {
                transform: rotate(45deg);
            }

            .size-drawer-close::after {
                transform: rotate(-45deg);
            }

            .size-drawer-content {
                flex: 1 1 auto;
                overflow-y: auto;
                padding: 44px 40px 48px;
            }

            .size-drawer-tabs {
                display: flex;
                gap: 48px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.12);
                margin-bottom: 36px;
            }

            .size-drawer-tab {
                appearance: none;
                -webkit-appearance: none;
                border: 0;
                background: transparent;
                color: #000000;
                cursor: pointer;
                font-family: 'Playfair Display', serif;
                font-size: 23px;
                font-weight: 500;
                line-height: 1.2;
                padding: 0 0 22px;
                position: relative;
            }

            .size-drawer-tab::after {
                content: '';
                position: absolute;
                left: 0;
                bottom: -1px;
                width: 100%;
                height: 2px;
                background: #000000;
                transform: scaleX(0);
                transform-origin: left center;
                transition: transform 0.24s ease;
            }

            .size-drawer-tab.is-active::after {
                transform: scaleX(1);
            }

            .size-drawer-panel {
                display: none;
            }

            .size-drawer-panel.is-active {
                display: block;
            }
            @media screen and (max-width:900px) {

                .product-size-selector {
                    margin: -6px 0 24px;
                }

                .product-option-row {
                    min-height: 68px;
                }

                .product-option-left {
                    gap: 18px;
                }

                .product-option-main-action {
                    gap: 18px;
                }

                .product-option-label,
                .product-option-link,
                .product-option-value {
                    font-size: 15px;
                }

                .style-option-grid {
                    gap: 18px 12px;
                }

                .style-option-card span {
                    font-size: 12px;
                }

                .diamond-drawer-heading {
                    font-size: 23px;
                }

                .diamond-picker-grid {
                    min-width: 0;
                    gap: 9px;
                }

                .diamond-option {
                    font-size: 11px;
                }

                .size-drawer {
                    width: 100vw;
                }

                .size-drawer-close {
                    margin: 22px 0 24px 24px;
                }

                .size-drawer-content {
                    padding: 32px 24px 42px;
                }

                .size-drawer-tabs {
                    gap: 28px;
                    margin-bottom: 28px;
                }

                .size-drawer-tab {
                    font-size: 20px;
                    padding-bottom: 18px;
                }
            }

            @media screen and (max-width:600px) {

                .product-option-row {
                    grid-template-columns: auto minmax(76px, 1fr) auto;
                    gap: 10px;
                    padding: 14px 0;
                }

                .product-option-main-action {
                    gap: 12px;
                }

                .product-option-label,
                .product-option-link,
                .product-option-value {
                    font-size: 13px;
                }

                .product-option-row--mirror .product-option-link {
                    justify-self: end;
                }

                .style-drawer-heading {
                    font-size: 22px;
                    margin-bottom: 24px;
                }

                .style-option-grid {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    gap: 16px 12px;
                }

                .style-option-card[data-style="Rose Gold 14k"] {
                    order: 1;
                }

                .style-option-card[data-style="Rose Gold 18k"] {
                    order: 2;
                }

                .style-option-card[data-style="Yellow Gold 14k"] {
                    order: 3;
                }

                .style-option-card[data-style="Yellow Gold 18k"] {
                    order: 4;
                }

                .style-option-card[data-style="White Gold 14k"] {
                    order: 5;
                }

                .style-option-card[data-style="Platinum"] {
                    order: 6;
                }

                .style-option-card {
                    gap: 8px;
                }

                .style-option-card span {
                    font-size: 10px;
                }

                .diamond-drawer-heading {
                    font-size: 21px;
                }

                .diamond-drawer-heading--with-media {
                    gap: 10px;
                }

                .diamond-drawer-heading-icon {
                    width: clamp(48px, 18vw, 68px);
                    max-width: 22vw;
                }

                .diamond-selection-summary {
                    margin-bottom: 14px;
                }

                .diamond-picker-grid {
                    min-width: 0;
                    gap: 6px;
                }

                .diamond-option-list {
                    --option-height: 30px;
                    --option-gap: 2px;
                }

                .diamond-option {
                    font-size: 9px;
                    padding: 0 4px;
                }

                .diamond-option-shell .diamond-option {
                    padding-right: 4px;
                }

                .funky-info {
                    left: calc(50% + 22px);
                }

                .funky-info-icon {
                    width: 14px;
                    height: 14px;
                    font-size: 9px;
                }

                .funky-info-tooltip {
                    right: -4px;
                    width: min(260px, 78vw);
                    padding: 14px 14px 12px;
                }

                .funky-info-tooltip-text,
                .funky-info-tooltip-link {
                    font-size: 11px;
                }

                .diamond-drawer-actions {
                    margin-top: 12px;
                    padding-top: 12px;
                }

                .diamond-drawer-actions {
                    justify-content: stretch;
                }

                .diamond-apply-button {
                    width: 100%;
                }

                .diamond-quote-heading {
                    font-size: 22px;
                }

                .diamond-quote-intro {
                    font-size: 12px;
                }

                .diamond-quote-actions {
                    align-items: stretch;
                    flex-direction: column;
                    gap: 12px;
                    justify-content: stretch;
                    max-width: none;
                }

                .diamond-quote-note {
                    font-size: 10px;
                }

                .diamond-quality-alert-panel {
                    padding: 26px 22px 24px;
                }

                .diamond-quality-alert-title {
                    font-size: 20px;
                    white-space: normal;
                }

                .size-drawer-content {
                    padding-left: 18px;
                    padding-right: 18px;
                }

                .size-drawer-tabs {
                    gap: 22px;
                }

                .size-drawer-tab {
                    font-size: 18px;
                }
            }
            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .size-drawer.style-drawer,
                .size-drawer.diamond-drawer {
                    width: 100vw;
                    max-width: 100vw;
                    height: 100dvh;
                    max-height: 100dvh;
                }

                .style-drawer .size-drawer-close,
                .diamond-drawer .size-drawer-close {
                    width: 42px;
                    height: 42px;
                    margin: max(12px, env(safe-area-inset-top)) 0 8px 14px;
                    flex: 0 0 auto;
                }

                .size-drawer-content.style-drawer-content {
                    flex: 1 1 auto;
                    min-height: 0;
                    overflow: hidden;
                    padding: 10px 14px max(14px, env(safe-area-inset-bottom));
                }

                .style-drawer-heading {
                    font-size: 21px;
                    line-height: 1.16;
                    margin-bottom: 12px;
                }

                .style-option-grid {
                    grid-template-columns: repeat(3, minmax(0, 1fr));
                    gap: clamp(8px, 1.3vh, 12px) 8px;
                    align-items: start;
                }

                .style-option-card {
                    gap: 6px;
                    padding-bottom: 7px;
                }

                .style-option-card img {
                    max-width: min(24vw, 86px);
                }

                .style-option-card span {
                    font-size: 10px;
                    line-height: 1.12;
                }

                .size-drawer-content.diamond-drawer-content:not(.is-quote-mode) {
                    display: flex;
                    flex-direction: column;
                    flex: 1 1 auto;
                    min-height: 0;
                    overflow: hidden;
                    padding: 8px 12px max(10px, env(safe-area-inset-bottom));
                }

                .diamond-drawer-heading {
                    font-size: 20px;
                    line-height: 1.14;
                    margin-bottom: 4px;
                }

                .diamond-drawer-heading--with-media {
                    align-items: center;
                    gap: 8px;
                    margin-bottom: 18px;
                }

                .diamond-drawer-heading-icon {
                    width: clamp(38px, 12vw, 52px);
                    max-width: 15vw;
                }

                .diamond-shape-caption {
                    font-size: 9px;
                    top: calc(100% + 2px);
                }

                .diamond-selection-summary {
                    flex: 0 0 auto;
                    font-size: 10px;
                    line-height: 1.3;
                    margin-bottom: 6px;
                }

                .diamond-picker-wrap {
                    flex: 1 1 auto;
                    min-height: 0;
                    overflow: hidden;
                    padding-bottom: 0;
                }

                .diamond-picker-grid {
                    height: 100%;
                    min-height: 0;
                    grid-template-columns: repeat(4, minmax(0, 1fr));
                    gap: 4px;
                    align-items: stretch;
                }

                .diamond-picker-column {
                    min-height: 0;
                    display: flex;
                    flex-direction: column;
                }

                .diamond-picker-title {
                    flex: 0 0 auto;
                    padding: 0 2px 4px;
                    font-size: 8px;
                    letter-spacing: 0;
                    line-height: 1.2;
                }

                .diamond-option-list {
                    --option-height: clamp(20px, 2.85vh, 25px);
                    --option-gap: 1px;
                    --indicator-offset: 2px;
                    flex: 1 1 auto;
                    min-height: 0;
                    padding: 2px 0;
                }

                .diamond-option {
                    min-height: var(--option-height);
                    padding: 0 2px;
                    font-size: 9px;
                    line-height: 1.05;
                }

                .diamond-option-shell,
                .diamond-option-shell .diamond-option {
                    min-height: var(--option-height);
                }

                .diamond-option-shell .diamond-option {
                    padding-right: 2px;
                }

                .funky-info {
                    left: calc(50% + 18px);
                    transform: translateY(-56%);
                }

                .funky-info-icon {
                    width: 12px;
                    height: 12px;
                    font-size: 8px;
                }

                .funky-info-tooltip {
                    width: min(240px, 82vw);
                    padding: 12px 12px 10px;
                }

                .funky-info-tooltip-text,
                .funky-info-tooltip-link {
                    font-size: 10px;
                }

                .diamond-drawer-actions {
                    position: static;
                    z-index: 1;
                    flex: 0 0 auto;
                    justify-content: stretch;
                    margin-top: 6px;
                    padding: 8px 0 0;
                    border-top: 1px solid rgba(0, 0, 0, 0.1);
                    background: #FFFFFF;
                }

                .diamond-apply-button {
                    width: 100%;
                    min-width: 0;
                    min-height: 34px;
                    font-size: 10px;
                    letter-spacing: 0;
                }
            }

            @media screen and (max-width: 390px), screen and (max-height: 820px) and (max-width: 900px) {
                .style-drawer .size-drawer-close,
                .diamond-drawer .size-drawer-close {
                    width: 38px;
                    height: 38px;
                    margin-top: 8px;
                    margin-bottom: 4px;
                }

                .style-drawer-heading {
                    font-size: 18px;
                    margin-bottom: 9px;
                }

                .style-option-grid {
                    gap: 7px 6px;
                }

                .style-option-card img {
                    max-width: min(23vw, 76px);
                }

                .diamond-drawer-heading {
                    font-size: 17px;
                }

                .diamond-drawer-heading--with-media {
                    margin-bottom: 14px;
                }

                .diamond-drawer-heading-icon {
                    width: clamp(34px, 11vw, 46px);
                }

                .diamond-selection-summary {
                    font-size: 9px;
                    margin-bottom: 4px;
                }

                .diamond-picker-title {
                    font-size: 7px;
                    padding-bottom: 3px;
                }

                .diamond-option-list {
                    --option-height: clamp(18px, 2.65vh, 23px);
                    --indicator-offset: 2px;
                }

                .diamond-apply-button {
                    min-height: 32px;
                    font-size: 9px;
                }
            }
            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .size-drawer.diamond-drawer {
                    width: 100vw;
                    max-width: 100vw;
                    height: 100dvh;
                    max-height: 100dvh;
                    overflow: hidden;
                }

                .diamond-drawer .size-drawer-close {
                    width: 44px;
                    height: 44px;
                    margin: max(12px, env(safe-area-inset-top)) 0 8px 16px;
                }

                .size-drawer-content.diamond-drawer-content:not(.is-quote-mode) {
                    display: block;
                    min-height: 0;
                    overflow-x: hidden;
                    overflow-y: auto;
                    padding: 10px 18px max(78px, calc(24px + env(safe-area-inset-bottom)));
                    overscroll-behavior: contain;
                    -webkit-overflow-scrolling: touch;
                }

                .diamond-drawer-heading {
                    font-size: 24px;
                    line-height: 1.18;
                    margin-bottom: 8px;
                }

                .diamond-drawer-heading--with-media {
                    align-items: center;
                    gap: 12px;
                    margin-bottom: 24px;
                }

                .diamond-drawer-heading-icon {
                    width: clamp(54px, 17vw, 72px);
                    max-width: 22vw;
                }

                .diamond-shape-caption {
                    font-size: 11px;
                    top: calc(100% + 4px);
                }

                .diamond-selection-summary {
                    display: block;
                    font-size: 12px;
                    line-height: 1.45;
                    margin-bottom: 12px;
                }

                .diamond-picker-wrap {
                    overflow-x: hidden;
                    overflow-y: visible;
                    padding-bottom: 8px;
                }

                .diamond-picker-grid {
                    display: grid;
                    grid-template-columns: repeat(4, minmax(0, 1fr));
                    gap: 8px;
                    height: auto;
                    min-height: 0;
                    align-items: start;
                }

                .diamond-picker-column {
                    display: block;
                    min-height: 0;
                }

                .diamond-picker-title {
                    padding: 0 4px 8px;
                    font-size: 10px;
                    letter-spacing: 0;
                    line-height: 1.25;
                }

                .diamond-option-list {
                    --option-height: 30px;
                    --option-gap: 2px;
                    --indicator-offset: 4px;
                    display: grid;
                    flex: initial;
                    min-height: 0;
                    padding: 4px 0;
                }

                .diamond-option,
                .diamond-option-shell,
                .diamond-option-shell .diamond-option {
                    min-height: var(--option-height);
                }

                .diamond-option {
                    padding: 0 3px;
                    font-size: 10.5px;
                    line-height: 1.12;
                }

                .diamond-option-shell .diamond-option {
                    padding-right: 3px;
                }

                .funky-info {
                    left: calc(50% + 24px);
                    transform: translateY(-56%);
                }

                .funky-info-icon {
                    width: 14px;
                    height: 14px;
                    font-size: 9px;
                }

                .funky-info-tooltip {
                    width: min(260px, 82vw);
                    padding: 14px 14px 12px;
                }

                .funky-info-tooltip-text,
                .funky-info-tooltip-link {
                    font-size: 11px;
                }

                .diamond-drawer-actions {
                    position: sticky;
                    bottom: 0;
                    z-index: 5;
                    justify-content: stretch;
                    margin-top: 14px;
                    padding: 12px 0 max(12px, env(safe-area-inset-bottom));
                    border-top: 1px solid rgba(0, 0, 0, 0.12);
                    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 24%, #FFFFFF 100%);
                }

                .diamond-apply-button {
                    width: 100%;
                    min-width: 0;
                    min-height: 42px;
                    font-size: 11px;
                    letter-spacing: 0;
                }
            }

            @media screen and (max-width: 390px), screen and (max-height: 820px) and (max-width: 900px) {
                .size-drawer-content.diamond-drawer-content:not(.is-quote-mode) {
                    padding-left: 14px;
                    padding-right: 14px;
                    padding-bottom: max(74px, calc(22px + env(safe-area-inset-bottom)));
                }

                .diamond-picker-grid {
                    gap: 6px;
                }

                .diamond-picker-title {
                    font-size: 9px;
                    padding-bottom: 6px;
                }

                .diamond-option-list {
                    --option-height: 29px;
                    --option-gap: 2px;
                }

                .diamond-option {
                    font-size: 10px;
                    padding-left: 2px;
                    padding-right: 2px;
                }

                .diamond-drawer-heading-icon {
                    width: clamp(48px, 16vw, 62px);
                }

                .diamond-drawer-actions {
                    padding-top: 10px;
                }
            }
            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .size-drawer-content.style-drawer-content {
                    overflow: hidden;
                    padding: 10px 18px max(16px, env(safe-area-inset-bottom));
                }

                .style-drawer-heading {
                    font-size: 22px;
                    margin-bottom: 14px;
                }

                .style-option-grid {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    gap: clamp(10px, 1.8vh, 14px) 14px;
                    align-items: start;
                }

                .style-option-card[data-style="Rose Gold 14k"] {
                    order: 1;
                }

                .style-option-card[data-style="Rose Gold 18k"] {
                    order: 2;
                }

                .style-option-card[data-style="Yellow Gold 14k"] {
                    order: 3;
                }

                .style-option-card[data-style="Yellow Gold 18k"] {
                    order: 4;
                }

                .style-option-card[data-style="White Gold 14k"] {
                    order: 5;
                }

                .style-option-card[data-style="Platinum"] {
                    order: 6;
                }

                .style-option-card {
                    gap: 7px;
                    padding-bottom: 8px;
                }

                .style-option-card img {
                    max-width: min(34vw, 112px);
                }

                .style-option-card span {
                    font-size: 12px;
                    line-height: 1.15;
                }

                .size-drawer-content.diamond-drawer-content:not(.is-quote-mode) {
                    display: flex;
                    flex-direction: column;
                    min-height: 0;
                    overflow-x: hidden;
                    overflow-y: auto;
                    padding: 10px 16px max(76px, calc(24px + env(safe-area-inset-bottom)));
                }

                .diamond-drawer-heading {
                    font-size: 24px;
                    margin-bottom: 8px;
                }

                .diamond-drawer-heading--with-media {
                    gap: 12px;
                    margin-bottom: 24px;
                }

                .diamond-drawer-heading-icon {
                    width: clamp(58px, 18vw, 76px);
                    max-width: 23vw;
                }

                .diamond-selection-summary {
                    flex: 0 0 auto;
                    font-size: 12px;
                    line-height: 1.45;
                    margin-bottom: 12px;
                }

                .diamond-picker-wrap {
                    flex: 1 1 auto;
                    min-height: min(56dvh, 520px);
                    overflow-x: hidden;
                    overflow-y: visible;
                    padding-bottom: 10px;
                }

                .diamond-picker-grid {
                    height: 100%;
                    min-height: inherit;
                    grid-template-columns: repeat(4, minmax(0, 1fr));
                    gap: 8px;
                    align-items: stretch;
                }

                .diamond-picker-column {
                    display: flex;
                    flex-direction: column;
                    min-height: 0;
                }

                .diamond-picker-title {
                    flex: 0 0 auto;
                    padding: 0 4px 8px;
                    font-size: 10px;
                    line-height: 1.25;
                    letter-spacing: 0;
                }

                .diamond-option-list {
                    --option-height: clamp(31px, 3.7dvh, 36px);
                    --option-gap: 2px;
                    --indicator-offset: 4px;
                    flex: 1 1 auto;
                    min-height: 0;
                    padding: 4px 0;
                }

                .diamond-option,
                .diamond-option-shell,
                .diamond-option-shell .diamond-option {
                    min-height: var(--option-height);
                }

                .diamond-option {
                    font-size: 12px;
                    line-height: 1.12;
                    padding: 0 3px;
                }

                .diamond-option-shell .diamond-option {
                    padding-right: 3px;
                }

                .diamond-drawer-actions {
                    position: sticky;
                    bottom: 0;
                    justify-content: stretch;
                    margin-top: 12px;
                    padding: 12px 0 max(12px, env(safe-area-inset-bottom));
                }

                .diamond-apply-button {
                    width: 100%;
                    min-height: 42px;
                    font-size: 11px;
                }
            }

            @media screen and (max-height: 760px) and (max-width: 900px) {
                .style-option-grid {
                    gap: 8px 12px;
                }

                .style-option-card img {
                    max-width: min(31vw, 96px);
                }

                .style-option-card span {
                    font-size: 10px;
                }

                .diamond-picker-wrap {
                    min-height: min(54dvh, 440px);
                }

                .diamond-option-list {
                    --option-height: clamp(28px, 3.45dvh, 32px);
                }
            }
            .diamond-option-list {
                align-content: start;
                grid-auto-rows: var(--option-height);
                padding-top: var(--indicator-offset, 4px);
                padding-bottom: var(--indicator-offset, 4px);
            }

            .diamond-slider-indicator {
                box-sizing: border-box;
                height: var(--option-height);
                top: calc(var(--indicator-offset, 4px) + (var(--selected-index) * (var(--option-height) + var(--option-gap))));
            }

            .diamond-option-shell {
                box-sizing: border-box;
                display: block;
                height: var(--option-height);
                min-height: 0;
                position: relative;
            }

            .diamond-option,
            .diamond-option-shell .diamond-option {
                box-sizing: border-box;
                height: var(--option-height);
                min-height: 0;
                overflow: hidden;
            }

            .diamond-option {
                border-bottom-width: 1px;
            }

            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .diamond-option-list {
                    grid-auto-rows: var(--option-height);
                }

                .diamond-option,
                .diamond-option-shell,
                .diamond-option-shell .diamond-option {
                    height: var(--option-height);
                    min-height: 0;
                }
            }
            .diamond-option-list {
                --option-gap: 0px;
                --indicator-offset: 0px;
                gap: 0;
                padding-top: 0;
                padding-bottom: 0;
            }

            .diamond-slider-indicator {
                top: calc(var(--selected-index) * var(--option-height));
                height: var(--option-height);
                border-width: 0;
                box-shadow: inset 0 0 0 1px #721027;
            }

            .diamond-option-list:hover .diamond-slider-indicator {
                box-shadow: inset 0 0 0 1px #721027, 0 12px 26px rgba(188, 38, 73, 0.18);
            }

            .diamond-option-list.is-funky-selected .diamond-slider-indicator {
                box-shadow: inset 0 0 0 1px #DF3F61, 0 14px 30px rgba(242, 117, 147, 0.22);
            }

            .diamond-option,
            .diamond-option-shell,
            .diamond-option-shell .diamond-option {
                margin-top: 0;
                margin-bottom: 0;
            }

            .diamond-option {
                border-bottom: 1px solid rgba(0, 0, 0, 0.12);
            }

            .diamond-option.is-selected {
                border-bottom-color: rgba(255, 255, 255, 0.22);
            }

            .diamond-option--budget-input {
                padding: 0;
                overflow: visible;
            }

            .diamond-budget-input {
                appearance: none;
                -webkit-appearance: none;
                box-sizing: border-box;
                width: 100%;
                height: 100%;
                border: 0;
                background: transparent;
                color: inherit;
                font: inherit;
                font-size: 12px;
                font-weight: 700;
                text-align: center;
                outline: none;
            }

            .diamond-budget-input::placeholder {
                color: rgba(0, 0, 0, 0.48);
                opacity: 1;
            }

            .diamond-option--budget-input.is-selected .diamond-budget-input,
            .diamond-option--budget-input.is-selected .diamond-budget-input::placeholder {
                color: #FFFFFF;
            }

            .diamond-budget-input::-webkit-outer-spin-button,
            .diamond-budget-input::-webkit-inner-spin-button {
                margin: 0;
                -webkit-appearance: none;
            }

            .diamond-budget-input[type=number] {
                -moz-appearance: textfield;
            }

            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .diamond-option-list {
                    --option-gap: 0px;
                    --indicator-offset: 0px;
                    gap: 0;
                    padding-top: 0;
                    padding-bottom: 0;
                }
            }
            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .size-drawer-content.style-drawer-content {
                    padding-left: clamp(14px, 4vw, 28px);
                    padding-right: clamp(14px, 4vw, 28px);
                }

                .style-option-grid {
                    width: 100%;
                    max-width: none;
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    gap: clamp(12px, 1.75dvh, 18px) clamp(14px, 4vw, 22px);
                }

                .style-option-card {
                    width: 100%;
                    gap: clamp(7px, 1dvh, 10px);
                    padding-bottom: 9px;
                }

                .style-option-card img {
                    width: min(100%, clamp(132px, 42vw, 168px));
                    max-width: none;
                }

                .style-option-card span {
                    font-size: 13px;
                    line-height: 1.15;
                }
            }

            @media screen and (max-height: 760px) and (max-width: 900px) {
                .style-option-grid {
                    gap: 10px 14px;
                }

                .style-option-card img {
                    width: min(100%, clamp(112px, 38vw, 144px));
                    max-width: none;
                }
            }
            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                .style-drawer-heading {
                    margin-top: clamp(8px, 1.6dvh, 16px);
                    margin-bottom: clamp(22px, 3dvh, 34px);
                }

                .diamond-picker-wrap {
                    margin-top: clamp(8px, 1.45dvh, 16px);
                }
            }

            @media screen and (max-height: 760px) and (max-width: 900px) {
                .style-drawer-heading {
                    margin-top: 8px;
                    margin-bottom: 20px;
                }

                .diamond-picker-wrap {
                    margin-top: 8px;
                }
            }
            @media screen and (max-width: 900px), screen and (max-width: 1200px) and (orientation: portrait) {
                #productDiamondDrawer.size-drawer,
                .size-drawer.diamond-drawer {
                    width: min(100vw, 760px);
                    max-width: 100vw;
                    overflow-x: hidden;
                }

                #productDiamondDrawer .size-drawer-content.diamond-drawer-content.is-quote-mode {
                    box-sizing: border-box;
                    width: 100%;
                    max-width: 100%;
                    min-width: 0;
                    min-height: 0;
                    max-height: calc(100dvh - 74px);
                    padding: 8px max(14px, env(safe-area-inset-left)) max(24px, calc(18px + env(safe-area-inset-bottom))) max(14px, env(safe-area-inset-right));
                    overflow-x: hidden;
                    overflow-y: auto;
                    overscroll-behavior: contain;
                    -webkit-overflow-scrolling: touch;
                }

                #productDiamondDrawer .diamond-quote-form {
                    box-sizing: border-box;
                    width: 100%;
                    max-width: 100%;
                    min-width: 0;
                    padding: 0;
                }

                #productDiamondDrawer .diamond-quote-heading {
                    margin-bottom: 10px;
                    font-size: 22px;
                    line-height: 1.14;
                }

                #productDiamondDrawer .diamond-quote-intro {
                    width: 100%;
                    max-width: none;
                    margin-bottom: 12px;
                    font-size: 12px;
                    line-height: 1.42;
                }

                #productDiamondDrawer .diamond-quote-intro strong {
                    margin-bottom: 4px;
                }

                #productDiamondDrawer .diamond-quote-fields {
                    width: 100%;
                    max-width: none;
                    gap: 9px;
                }

                #productDiamondDrawer .diamond-quote-field {
                    min-width: 0;
                    gap: 5px;
                    font-size: 11px;
                }

                #productDiamondDrawer .diamond-quote-field input {
                    box-sizing: border-box;
                    width: 100%;
                    max-width: 100%;
                    min-height: 40px;
                    height: 40px;
                    padding: 0 11px;
                    font-size: 16px;
                    line-height: 1.2;
                }

                #productDiamondDrawer .diamond-quote-message {
                    max-width: none;
                    margin-bottom: 10px;
                    padding: 10px 12px;
                    font-size: 11px;
                    line-height: 1.42;
                }

                #productDiamondDrawer .diamond-quote-actions {
                    width: 100%;
                    max-width: none;
                    align-items: stretch;
                    flex-direction: column;
                    gap: 9px;
                    margin-top: 10px;
                }

                #productDiamondDrawer .diamond-quote-note {
                    width: 100%;
                    font-size: 9.5px;
                    line-height: 1.38;
                }

                #productDiamondDrawer .diamond-quote-submit {
                    width: 100%;
                    min-width: 0;
                    min-height: 44px;
                    padding-right: 14px;
                    padding-left: 14px;
                    font-size: 13px;
                }
            }

            @media screen and (max-width: 390px), screen and (max-height: 740px) and (max-width: 900px) {
                #productDiamondDrawer .size-drawer-content.diamond-drawer-content.is-quote-mode {
                    max-height: calc(100dvh - 62px);
                    padding-top: 4px;
                    padding-right: 12px;
                    padding-left: 12px;
                }

                #productDiamondDrawer .diamond-quote-heading {
                    margin-bottom: 8px;
                    font-size: 18px;
                }

                #productDiamondDrawer .diamond-quote-intro {
                    margin-bottom: 10px;
                    font-size: 10.5px;
                    line-height: 1.34;
                }

                #productDiamondDrawer .diamond-quote-fields {
                    gap: 7px;
                }

                #productDiamondDrawer .diamond-quote-field input {
                    min-height: 38px;
                    height: 38px;
                }

                #productDiamondDrawer .diamond-quote-actions {
                    gap: 8px;
                    margin-top: 8px;
                }
            }
            #productDiamondDrawer .diamond-picker-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .budget-drawer-backdrop {
                position: fixed;
                inset: 0;
                z-index: 9999;
                background: rgba(0, 0, 0, 0.18);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s ease, visibility 0.3s ease;
            }

            .budget-drawer-backdrop.is-open {
                opacity: 1;
                visibility: visible;
            }

            #productBudgetDrawer {
                box-sizing: border-box;
                width: min(720px, 100%);
                font-family: 'Noto Sans Bengali', sans-serif;
            }

            #productBudgetDrawer .size-drawer-close {
                flex: 0 0 44px;
                width: 44px;
                height: 44px;
                margin: 20px 0 12px 28px;
            }

            #productBudgetDrawer .budget-drawer-content {
                min-height: 0;
                padding: 16px 32px max(32px, env(safe-area-inset-bottom));
                overflow-x: hidden;
                overscroll-behavior: contain;
                -webkit-overflow-scrolling: touch;
            }

            .budget-drawer-heading {
                margin: 0 0 24px;
                color: #000000;
                font-family: 'Playfair Display', serif;
                font-size: 26px;
                font-weight: 500;
                line-height: 1.3;
                letter-spacing: 0;
            }

            .budget-step-layout {
                display: grid;
                grid-template-columns: 210px minmax(0, 1fr);
                align-items: start;
                gap: 24px;
            }

            .budget-style-preview {
                min-width: 0;
                margin: 0;
                text-align: center;
            }

            .budget-style-preview img {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 1;
                object-fit: contain;
                border-radius: 4px;
            }

            .budget-style-preview figcaption {
                margin-top: 12px;
                color: #000000;
                font-size: 13px;
                font-weight: 700;
                line-height: 1.4;
                letter-spacing: 0;
            }

            .budget-style-note {
                margin: 16px 0 0;
                color: #594e51;
                font-size: 13px;
                line-height: 1.6;
                letter-spacing: 0;
            }

            .budget-style-note strong {
                font-weight: 600;
            }

            #productBudgetDrawer .diamond-option-list {
                --option-height: 48px;
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 8px;
                padding: 0;
            }

            #productBudgetDrawer .diamond-option {
                box-sizing: border-box;
                height: 48px;
                min-width: 0;
                border: 1px solid rgba(114, 16, 39, 0.15);
                background: #FFFFFF;
                font-size: 13px;
                letter-spacing: 0;
                white-space: nowrap;
            }

            #productBudgetDrawer .diamond-option.is-selected {
                border-color: #721027;
                background: linear-gradient(135deg, #721027 0%, #BC2649 100%);
                color: #FFFFFF;
            }

            #productBudgetDrawer .diamond-option:focus-visible,
            #productBudgetDrawer .diamond-option:focus-within {
                outline: 2px solid #721027;
                outline-offset: 2px;
            }

            #productBudgetDrawer .diamond-budget-input {
                min-width: 0;
                padding: 0 4px;
                font-size: 13px;
            }

            .budget-drawer-actions {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 16px;
                margin-top: 28px;
            }

            #productBudgetDrawer .diamond-apply-button {
                width: auto;
                min-height: 46px;
                padding: 12px 20px;
                font-size: 13px;
                letter-spacing: 0;
            }

            #productBudgetDrawer .product-option-link {
                min-height: 44px;
                font-size: 13px;
            }

            #productSizeSelector .product-option-value--budget,
            #productSizeSelector .product-option-label--budget {
                white-space: normal;
                overflow-wrap: normal;
            }

            @media screen and (max-width: 600px) {
                #productBudgetDrawer .size-drawer-close {
                    margin: 16px 0 8px 20px;
                }

                #productBudgetDrawer .budget-drawer-content {
                    padding: 12px 20px max(28px, env(safe-area-inset-bottom));
                }

                .budget-drawer-heading {
                    margin-bottom: 18px;
                    font-size: 22px;
                }

                #productBudgetDrawer .diamond-budget-input {
                    padding: 0 2px;
                    font-size: 16px;
                }

                .budget-step-layout {
                    grid-template-columns: minmax(0, 1fr);
                    gap: 20px;
                }

                .budget-style-preview {
                    width: 100%;
                    justify-self: center;
                }

                .budget-style-preview img {
                    width: 144px;
                    margin: 0 auto;
                }

                .budget-style-preview figcaption {
                    margin-top: 8px;
                }

                .budget-drawer-actions {
                    margin-top: 20px;
                    gap: 12px;
                }

                #productBudgetDrawer .diamond-apply-button {
                    padding: 12px 14px;
                }
            }
