:root {
            --dy-bg: #fff;
            --dy-surface: #fbf7fc;
            --dy-card: #ffffff;
            --dy-card-soft: #fae6f2;
            --dy-border: #e8d5f5;
            --dy-primary: var(--dy-brand);
            --dy-primary-dark: var(--dy-text);
            --dy-primary-light: rgba(255, 143, 200, 0.18);
            --dy-text: #32104f;
            --dy-muted: var(--dy-text-2);
            --dy-danger: #b1265f;
            --dy-shadow: 0 12px 28px rgba(80, 3, 96, 0.07);
        }

        .dy-checkout-page {
            min-height: 100vh;
            background: #fff;
            padding: 30px 18px 60px;
        }

        .dy-checkout-shell {
            max-width: 1320px;
            margin: 0 auto;
        }

        .dy-checkout-topbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 20px;
            gap: 14px;
        }

        .dy-checkout-topbar h1 {
            margin: 0;
            font-size: clamp(2rem, 3vw, 2.6rem);
            color: var(--dy-text);
            font-weight: 800;
            text-align: center;
            flex: 1;
        }

        .dy-back-btn, .dy-mini-btn, .dy-close-drawer {
            width: 46px;
            height: 46px;
            border-radius: 50%;
            border: 1px solid var(--dy-border);
            background: rgba(255,255,255,0.7);
            color: var(--dy-primary-dark);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 8px 18px rgba(94, 48, 104, 0.08);
            cursor: pointer;
        }

        .dy-top-icons {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .dy-check-grid-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.9fr);
            gap: 24px;
            align-items: start;
        }

        .dy-check-main-panel {
            display: grid;
            gap: 18px;
        }

        .dy-check-card {
            background: var(--dy-card);
            border: 1px solid var(--dy-border);
            border-radius: 20px;
            padding: 20px 20px 18px;
            box-shadow: var(--dy-shadow);
        }

        .dy-check-card.is-highlight {
            background: var(--dy-card);
            border-color: var(--dy-border);
            color: var(--dy-text);
        }

        .dy-card-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 18px;
        }

        .dy-check-step {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            font-weight: 700;
            background: var(--dy-primary-light);
            color: var(--dy-primary);
        }

        .dy-check-card.is-highlight .dy-check-step {
            background: var(--dy-primary-light);
            color: var(--dy-primary);
        }

        .dy-card-header h2 {
            margin: 0;
            font-size: 22px;
            color: inherit;
            font-weight: 700;
        }

        .dy-form-fields {
            display: grid;
            gap: 16px;
        }

        .dy-two-col {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
        }

        .dy-check-card label,
        .dy-drawer-field {
            display: grid;
            gap: 7px;
            color: var(--dy-muted);
            font-size: 13px;
            font-weight: 700;
        }

        .dy-check-card label span,
        .dy-drawer-field span {
            color: inherit;
        }

        .dy-check-card input,
        .dy-check-card select,
        .dy-check-card textarea,
        .dy-drawer-field input,
        .dy-drawer-field select,
        .dy-drawer-field textarea {
            width: 100%;
            border: 1px solid rgba(130, 94, 157, 0.35);
            border-radius: 14px;
            background: rgba(255,255,255,0.9);
            color: var(--dy-text);
            font-size: 15px;
            padding: 12px 14px;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .dy-district {
            position: relative;
        }

        .dy-district select.dy-native {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            border: 0;
            white-space: nowrap;
            pointer-events: none;
        }

        .dy-checkout-page .dy-district-btn {
            display: flex;
            align-items: center;
            width: 100%;
            height: 48px;
            border: 1px solid rgba(130, 94, 157, 0.35);
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.9);
            color: #9a84aa;
            font-size: 15px;
            font-weight: 600;
            text-align: left;
            padding: 0 40px 0 14px;
            cursor: pointer;
            position: relative;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .dy-checkout-page .dy-district-btn.is-set {
            color: #32104f;
        }

        .dy-checkout-page .dy-district-btn::after {
            content: '';
            position: absolute;
            right: 16px;
            top: 50%;
            width: 8px;
            height: 8px;
            border-right: 2px solid #500360;
            border-bottom: 2px solid #500360;
            transform: translateY(-70%) rotate(45deg);
        }

        .dy-checkout-page .dy-district.is-open .dy-district-btn,
        .dy-checkout-page .dy-district-btn:focus {
            border-color: #500360;
            box-shadow: 0 0 0 4px rgba(80, 3, 96, 0.09);
            outline: none;
        }

        .dy-district-menu {
            position: fixed;
            z-index: 400;
            background: #fff;
            border: 1px solid #e8d5f5;
            border-radius: 14px;
            box-shadow: 0 16px 36px rgba(80, 3, 96, 0.14);
            padding: 8px;
        }

        .dy-district-menu[hidden] {
            display: none !important;
        }

        .dy-district-search {
            display: block;
            width: 100%;
            height: 40px;
            margin-bottom: 6px;
            border: 1px solid #e8d5f5;
            border-radius: 10px;
            background: #fbf7fc;
            color: #32104f;
            font-size: 14px;
            padding: 0 12px;
        }

        .dy-district-search:focus {
            outline: none;
            border-color: #500360;
            box-shadow: 0 0 0 3px rgba(80, 3, 96, 0.12);
        }

        .dy-district-list {
            list-style: none;
            margin: 0;
            padding: 0;
            max-height: 240px;
            overflow: auto;
        }

        .dy-checkout-page .dy-district-list button,
        .dy-district-list button {
            display: block;
            width: 100%;
            border: 0;
            background: transparent;
            text-align: left;
            padding: 9px 12px;
            border-radius: 10px;
            color: #32104f;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.15s ease, color 0.15s ease;
        }

        .dy-district-list button:hover,
        .dy-district-list button.is-on {
            background: #691084;
            color: #fff;
        }

        .dy-district-list .is-empty {
            padding: 10px 12px;
            color: #6b4c7a;
            font-size: 13px;
        }

        .dy-check-card.is-highlight input,
        .dy-check-card.is-highlight select,
        .dy-check-card.is-highlight textarea,
        .dy-check-card.is-highlight label {
            color: var(--dy-muted);
        }

        .dy-check-card.is-highlight input,
        .dy-check-card.is-highlight select,
        .dy-check-card.is-highlight textarea {
            background: #fff;
            border-color: var(--dy-border);
            color: var(--dy-text);
        }

        .dy-check-card.is-highlight input::placeholder,
        .dy-check-card.is-highlight textarea::placeholder {
            color: #9b87a4;
            opacity: 1;
        }

        .dy-check-card input:focus,
        .dy-check-card select:focus,
        .dy-check-card textarea:focus,
        .dy-drawer-field input:focus,
        .dy-drawer-field select:focus,
        .dy-drawer-field textarea:focus {
            outline: none;
            border-color: var(--dy-primary);
            box-shadow: 0 0 0 4px rgba(95, 28, 122, 0.09);
        }

        .dy-check-card textarea,
        .dy-drawer-field textarea {
            min-height: 90px;
            resize: vertical;
        }

        .dy-address-actions {
            display: flex;
            justify-content: flex-end;
            margin-bottom: 14px;
        }

        .dy-address-trigger {
            border: 0;
            background: transparent;
            color: var(--dy-primary);
            font-weight: 700;
            font-size: 15px;
            cursor: pointer;
        }

        .dy-check-saved {
            display: grid;
            gap: 12px;
            margin-bottom: 16px;
        }

        .dy-inline-address-form {
            margin: 0 0 18px;
            padding: 16px;
            border: 1px solid var(--dy-border);
            border-radius: 18px;
            background: var(--dy-surface);
        }

        .dy-inline-address-form[hidden] {
            display: none;
        }

        .dy-inline-address-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 14px;
        }

        .dy-inline-address-header strong,
        .dy-inline-address-header small {
            display: block;
        }

        .dy-inline-address-header strong {
            color: var(--dy-text);
            font-size: 16px;
        }

        .dy-inline-address-header small {
            margin-top: 3px;
            color: var(--dy-muted);
            font-size: 12px;
        }

        .dy-inline-cancel {
            border: 0;
            background: transparent;
            color: var(--dy-primary);
            font-weight: 700;
            cursor: pointer;
        }

        .dy-inline-save {
            width: 100%;
            margin-top: 16px;
            border: 0;
            border-radius: 14px;
            background: var(--dy-primary);
            color: #fff;
            padding: 13px 16px;
            font-weight: 700;
            cursor: pointer;
        }

        .dy-form-fields.dy-checkout-address-fields[hidden] {
            display: none !important;
        }

        .dy-address-drawer {
            display: none !important;
        }

        .dy-check-addr {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 14px 16px;
            border-radius: 18px;
            border: 1px solid rgba(130, 94, 157, 0.35);
            background: rgba(255,255,255,0.8);
            cursor: pointer;
            transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
        }

        .dy-check-addr.is-on {
            border-color: var(--dy-primary);
            background: rgba(231, 213, 241, 0.6);
            box-shadow: 0 10px 25px rgba(95, 28, 122, 0.08);
        }

        .dy-addr-main {
            display: flex;
            align-items: center;
            gap: 12px;
            flex: 1;
            min-width: 0;
        }

        .dy-addr-details {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px 14px;
            flex: 0 0 100%;
            width: 100%;
            order: 3;
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid rgba(130, 94, 157, 0.18);
        }

        .dy-addr-details > div {
            display: grid;
            gap: 2px;
            min-width: 0;
        }

        .dy-addr-details .is-wide {
            grid-column: 1 / -1;
        }

        .dy-addr-details b {
            color: var(--dy-muted);
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }

        .dy-addr-details span {
            color: var(--dy-text);
            font-size: 12px;
            line-height: 1.35;
            overflow-wrap: anywhere;
        }

        .dy-addr-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 7px 10px;
            border-radius: 999px;
            background: var(--dy-primary-light);
            color: var(--dy-primary);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            flex-shrink: 0;
        }

        .dy-addr-copy {
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .dy-addr-copy strong {
            color: var(--dy-text);
            font-size: 15px;
        }

        .dy-addr-copy span {
            color: var(--dy-muted);
            font-size: 13px;
            line-height: 1.5;
            white-space: normal;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .dy-addr-selected {
            width: 24px;
            height: 24px;
            flex: 0 0 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--dy-border);
            border-radius: 50%;
            background: #fff;
            color: transparent;
            font-size: 11px;
            transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        }

        .dy-check-addr.is-on .dy-addr-selected {
            border-color: var(--dy-primary);
            background: var(--dy-primary);
            color: #fff;
        }

        .dy-mini-edit {
            width: 38px;
            height: 38px;
            border: 1px solid rgba(130, 94, 157, 0.35);
            border-radius: 50%;
            background: rgba(255,255,255,0.8);
            color: var(--dy-primary);
            cursor: pointer;
        }

        .dy-check-city {
            position: relative;
        }

        .dy-check-suggest {
            position: absolute;
            left: 0;
            right: 0;
            top: calc(100% + 5px);
            z-index: 20;
            list-style: none;
            margin: 0;
            padding: 8px;
            border: 1px solid rgba(130, 94, 157, 0.35);
            background: rgba(255,255,255,0.98);
            border-radius: 14px;
            box-shadow: 0 12px 25px rgba(82, 44, 95, 0.1);
            max-height: 220px;
            overflow: auto;
        }

        .dy-check-suggest li {
            padding: 9px 10px;
            border-radius: 10px;
            color: var(--dy-text);
            cursor: pointer;
        }

        .dy-check-suggest li:hover {
            background: var(--dy-primary-light);
        }

        .dy-pay-list {
            display: grid;
            gap: 10px;
        }

        .dy-pay {
            display: grid;
            grid-template-columns: auto 42px minmax(0, 1fr);
            align-items: center;
            gap: 12px;
            border-radius: 18px;
            border: 1px solid rgba(130, 94, 157, 0.35);
            background: rgba(255,255,255,0.8);
            padding: 12px 14px;
            cursor: pointer;
        }

        .dy-pay:has(input:checked) {
            border-color: var(--dy-primary);
            background: rgba(231, 213, 241, 0.7);
        }

        .dy-pay input {
            width: 18px;
            height: 18px;
            accent-color: var(--dy-primary);
            margin: 0;
        }

        .dy-pay-icon {
            width: 42px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(130, 94, 157, 0.18);
            border-radius: 10px;
            background: #fff;
            overflow: hidden;
        }

        .dy-pay-icon img {
            display: block;
            width: 30px;
            height: 22px;
            object-fit: contain;
        }

        .dy-pay strong,
        .dy-pay em {
            display: block;
        }

        .dy-pay strong {
            color: var(--dy-text);
            font-size: 16px;
        }

        .dy-pay em {
            color: var(--dy-muted);
            font-style: normal;
            font-size: 13px;
            margin-top: 3px;
        }

        .dy-pay.is-locked {
            opacity: 0.62;
            cursor: not-allowed;
            pointer-events: none;
        }

        .dy-pay.is-locked em {
            display: inline-block;
            width: fit-content;
            margin-top: 4px;
            padding: 2px 8px;
            border-radius: 999px;
            background: var(--dy-card-soft);
            color: #500360;
            font-size: 11px;
            font-weight: 800;
        }

        .dy-koko {
            margin: 12px 0 0;
            color: var(--dy-primary);
            font-weight: 700;
        }

        .dy-delivery-methods {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin: -4px 0 18px;
        }

        .dy-delivery-option {
            display: grid;
            grid-template-columns: auto 1fr;
            align-items: center;
            gap: 10px;
            min-height: 64px;
            padding: 10px 12px;
            border: 1px solid var(--dy-border);
            border-radius: 16px;
            background: var(--dy-card);
            cursor: pointer;
        }

        .dy-delivery-option.is-selected,
        .dy-delivery-option:has(input:checked) {
            border-color: var(--dy-primary);
            background: var(--dy-primary);
            color: #fff;
        }

        .dy-delivery-option input {
            width: 16px;
            height: 16px;
            margin: 0;
            accent-color: var(--dy-primary);
        }

        .dy-delivery-option strong,
        .dy-delivery-option small {
            display: block;
        }

        .dy-delivery-option strong {
            font-size: 14px;
        }

        .dy-delivery-option small {
            margin-top: 3px;
            color: var(--dy-muted);
            font-size: 11px;
            font-weight: 500;
        }

        .dy-delivery-option:has(input:checked) small {
            color: rgba(255, 255, 255, 0.76);
        }

        .dy-cart-summary {
            position: sticky;
            top: 24px;
            background: var(--dy-surface);
            border: 1px solid var(--dy-border);
            border-radius: 20px;
            box-shadow: var(--dy-shadow);
            padding: 18px 18px 16px;
        }

        .dy-summary-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 16px;
        }

        .dy-summary-header h2 {
            margin: 0;
            font-size: 22px;
            color: var(--dy-text);
        }

        .dy-summary-pill {
            border-radius: 999px;
            background: rgba(143, 121, 160, 0.12);
            color: var(--dy-primary-dark);
            padding: 7px 12px;
            font-size: 12px;
            font-weight: 700;
        }

        .dy-check-lines {
            display: grid;
            gap: 10px;
        }

        .dy-summary-row > span:last-child {
            flex: 0 0 auto;
            white-space: nowrap;
            text-align: right;
        }

        .dy-summary-item {
            display: grid;
            grid-template-columns: 58px minmax(0, 1fr) auto;
            gap: 10px;
            align-items: start;
            padding-bottom: 8px;
            border-bottom: 1px solid rgba(151, 121, 170, 0.14);
        }

        .dy-summary-item img {
            width: 58px;
            height: 58px;
            object-fit: cover;
            border-radius: 16px;
            background: #f8eef8;
        }

        .dy-summary-copy {
            min-width: 0;
        }

        .dy-summary-copy strong {
            display: block;
            color: var(--dy-text);
            font-size: 15px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .dy-summary-copy span {
            color: var(--dy-muted);
            font-size: 12px;
            display: block;
            margin-top: 4px;
        }

        .dy-summary-fit {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 6px;
        }

        .dy-summary-fit em {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin: 0;
            padding: 3px 8px;
            border-radius: 999px;
            background: var(--dy-card-soft);
            color: var(--dy-text);
            font-size: 12px;
            font-style: normal;
            font-weight: 700;
        }

        .dy-summary-fit i {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            border: 1px solid var(--dy-border);
        }

        .dy-summary-item b {
            color: var(--dy-text);
            font-size: 14px;
            white-space: nowrap;
        }

        .dy-summary-breakdown {
            display: grid;
            gap: 10px;
            margin-top: 18px;
            padding-top: 10px;
            border-top: 1px solid rgba(151, 121, 170, 0.14);
        }

        .dy-promo-box {
            margin-top: 18px;
            padding: 14px;
            border: 1px solid var(--dy-border);
            border-radius: 18px;
            background: rgba(255, 255, 255, 0.62);
        }

        .dy-promo-box > label {
            display: block;
            margin-bottom: 9px;
            color: var(--dy-text);
            font-size: 14px;
            font-weight: 700;
        }

        .dy-promo-control {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 8px;
        }

        .dy-promo-control input {
            min-width: 0;
            border: 1px solid var(--dy-border);
            border-radius: 999px;
            background: #fff;
            color: var(--dy-text);
            padding: 10px 12px;
            text-transform: uppercase;
        }

        .dy-promo-control button {
            border: 0;
            border-radius: 12px;
            background: var(--dy-primary);
            color: #fff;
            padding: 0 16px;
            font-weight: 700;
            cursor: pointer;
        }

        .dy-promo-box small {
            display: block;
            margin-top: 8px;
            color: var(--dy-muted);
            font-size: 11px;
        }

        .dy-promo-box.is-applied {
            border-color: var(--dy-success);
        }

        .dy-promo-box.is-invalid {
            border-color: var(--dy-error);
        }

        .dy-summary-row i {
            display: inline-flex;
            flex: 0 0 16px;
            width: 16px;
            color: var(--dy-primary);
        }

        .dy-mobile-paybar {
            display: none;
        }

        .dy-summary-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            color: var(--dy-text);
            font-weight: 600;
        }

        .dy-summary-row > span:first-child {
            flex: 1 1 auto;
            min-width: 0;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .dy-summary-row > span:last-child {
            flex: 0 0 auto;
            white-space: nowrap;
            text-align: right;
        }

        .dy-summary-row.is-muted {
            color: var(--dy-muted);
        }

        .dy-summary-total {
            margin-top: 18px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            background: var(--dy-primary);
            color: #fff;
            border-radius: 14px;
            padding: 15px 18px;
            font-size: 14px;
            font-weight: 700;
        }

        .dy-summary-total strong {
            font-size: 1.05rem;
            color: #fff;
        }

        .dy-cart-checkout {
            width: 100%;
            margin-top: 18px;
            border: none;
            border-radius: 14px;
            background: var(--dy-primary);
            color: white;
            font-weight: 700;
            font-size: 1rem;
            padding: 15px 18px;
            cursor: pointer;
            box-shadow: 0 10px 20px rgba(80, 3, 96, 0.14);
        }

        .dy-cart-shop {
            display: inline-block;
            margin-top: 12px;
            width: 100%;
            text-align: center;
            color: var(--dy-primary);
            font-weight: 700;
        }

        .dy-check-note {
            margin: 0 0 16px;
            padding: 12px 14px;
            border-radius: 14px;
            background: rgba(255, 242, 250, 0.9);
            color: var(--dy-primary-dark);
            border: 1px solid rgba(191, 122, 168, 0.2);
        }

        .dy-check-note.is-err {
            background: rgba(255, 235, 239, 0.85);
            border-color: rgba(179, 62, 96, 0.2);
            color: var(--dy-danger);
        }

        .dy-check-perks {
            list-style: none;
            padding: 0;
            margin: 20px 0 0;
            display: grid;
            gap: 8px;
            color: var(--dy-muted);
            font-size: 13px;
        }

        .dy-check-perks li {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .dy-address-drawer {
            position: fixed;
            inset: 0;
            z-index: 10000;
            pointer-events: none;
            overflow-y: auto;
        }

        .dy-address-drawer.is-open {
            pointer-events: auto;
        }

        .dy-address-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(38, 24, 42, 0.32);
            opacity: 0;
            transition: opacity 0.2s ease;
        }

        .dy-address-drawer.is-open .dy-address-backdrop {
            opacity: 1;
        }

        .dy-address-panel {
            position: relative;
            top: auto;
            right: auto;
            margin: 16px 0 16px auto;
            width: min(440px, 92vw);
            bottom: auto;
            height: auto;
            min-height: 0;
            max-height: none;
            box-sizing: border-box;
            background: var(--dy-surface);
            box-shadow: -18px 0 38px rgba(44, 27, 63, 0.18);
            border-left: 1px solid rgba(130, 94, 157, 0.2);
            border-radius: 24px 0 0 24px;
            transform: translateX(100%);
            transition: transform 0.25s ease;
            padding: 20px 18px 24px;
            display: block;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }

        .dy-address-drawer.is-open .dy-address-panel {
            transform: translateX(0);
        }

        .dy-address-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 18px;
        }

        .dy-address-header h3 {
            margin: 0;
            color: var(--dy-text);
            font-size: 1.6rem;
        }

        #addressForm {
            display: grid;
            height: auto;
            min-height: 0;
            max-height: none;
            overflow: visible;
            align-content: start;
            gap: 16px;
        }

        .dy-drawer-field {
            display: grid;
            gap: 7px;
        }

        .dy-address-submit {
            margin-top: 8px;
            border: 0;
            border-radius: 14px;
            background: var(--dy-primary);
            color: white;
            font-weight: 700;
            padding: 15px 16px;
            cursor: pointer;
        }

        @media (max-width: 980px) {
            .dy-check-grid-layout {
                grid-template-columns: 1fr;
            }

            .dy-cart-summary {
                order: 0;
                position: static;
            }
        }

        @media (max-width: 700px) {
            .dy-two-col {
                grid-template-columns: 1fr;
            }

            .dy-checkout-topbar {
                padding-top: 8px;
            }

            .dy-checkout-page {
                padding-left: 12px;
                padding-right: 12px;
                padding-bottom: 112px;
            }

            .dy-address-panel {
                margin-top: 8px;
                margin-bottom: 8px;
                border-radius: 22px 0 0 22px;
            }

            .dy-checkout-topbar h1 {
                font-size: 1.55rem;
            }

            .dy-check-card,
            .dy-cart-summary {
                border-radius: 22px;
                padding: 16px;
            }

            .dy-delivery-methods {
                gap: 8px;
            }

            .dy-delivery-option {
                padding: 9px;
            }

            .dy-addr-details {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .dy-cart-summary .dy-cart-checkout,
            .dy-cart-summary .dy-cart-shop,
            .dy-check-perks {
                display: none;
            }

            .dy-mobile-paybar {
                position: fixed;
                right: 12px;
                bottom: 10px;
                left: 12px;
                z-index: 60;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                padding: 8px;
                border: 1px solid var(--dy-border);
                border-radius: 18px;
                background: rgba(255, 255, 255, 0.94);
                box-shadow: 0 12px 30px rgba(80, 3, 96, 0.18);
                backdrop-filter: blur(16px);
            }

            .dy-mobile-paybar div {
                display: grid;
                gap: 2px;
                padding-left: 8px;
            }

            .dy-mobile-paybar small {
                color: var(--dy-muted);
                font-size: 11px;
            }

            .dy-mobile-paybar strong {
                color: var(--dy-text);
                font-size: 16px;
            }

            .dy-mobile-paybar button {
                border: 0;
                border-radius: 14px;
                background: var(--dy-primary);
                color: #fff;
                padding: 13px 16px;
                font-size: 13px;
                font-weight: 700;
                white-space: nowrap;
            }

            .dy-summary-item {
                grid-template-columns: 50px minmax(0, 1fr) auto;
            }

            .dy-summary-item img {
                width: 50px;
                height: 50px;
            }
        }
