@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
/* Theme variables */
:root {
    --ink:#241b17;
    --muted:#75665d;
    --accent:#a65e45;
    --accent2:#d89a74;
    --cream:#fbf7f2;
    --paper:#fff;
    --sand:#eee1d5;
    --line:#e8ddd4;
    --dark:#211916;
    --success:#2f7d4a;
    --danger:#a83e3e;
    --shadow:0 20px 60px rgba(48,31,23,.08);
    --radius:22px
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'DM Sans',system-ui,sans-serif;
    line-height:1.55
}
a {
    color:inherit
}
button,
input,
select,
textarea {
    font:inherit
}
.container {
    width:min(1160px,92%);
    margin:auto
}
/* Header / navigation */
.topbar {
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(251,247,242,.9);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(232,221,212,.8)
}
.nav {
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px
}
.logo {
    font-family:'Playfair Display',serif;
    font-size:26px;
    text-decoration:none;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:8px
}
.logo img {
    height:44px;
    width:auto;
    display:block
}
.logo span,
.footer-logo span {
    color:var(--accent)
}
.main-nav {
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap
}
.main-nav a {
    text-decoration:none;
    font-size:13px;
    font-weight:700
}
.main-nav a:hover {
    color:var(--accent)
}
.cart-pill {
    padding:9px 14px;
    background:var(--ink);
    color:#fff!important;
    border-radius:999px
}
.nav-icon {
    font-size:13px
}
.admin-link {
    color:var(--accent)
}
/* Homepage hero */
.hero {
    min-height:680px;
    display:flex;
    align-items:center;
    background:linear-gradient(90deg,rgba(33,25,22,.9) 0%,rgba(33,25,22,.65) 42%,rgba(33,25,22,.18) 100%),url('../images/floral_sphere.jpg') center/cover no-repeat;
    color:#fff
}
.hero-inner {
    width:min(1160px,92%);
    margin:auto
}
.hero-copy {
    max-width:650px;
    padding:90px 0
}
.eyebrow {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:800;
    color:var(--accent);
    margin:0 0 9px
}
.hero .eyebrow {
    color:#e6b69a
}
.hero h1 {
    font-family:'Playfair Display',serif;
    font-size:clamp(50px,7vw,82px);
    line-height:.98;
    margin:10px 0 25px
}
.hero h1 em {
    color:#f0b58f;
    font-style:normal
}
.hero p {
    font-size:18px;
    color:#eee0d8;
    max-width:590px
}
.hero-actions {
    display:flex;
    gap:12px;
    margin:30px 0;
    flex-wrap:wrap
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    border-radius:12px;
    background:var(--accent);
    color:#fff;
    padding:12px 18px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    transition:.2s transform,.2s box-shadow,.2s background
}
.btn:hover {
    transform:translateY(-1px);
    box-shadow:0 9px 24px rgba(166,94,69,.25);
    background:#914c37
}
.btn:disabled {
    opacity:.5;
    cursor:not-allowed;
    transform:none;
    box-shadow:none
}
.btn-ghost {
    background:transparent;
    border:1px solid rgba(255,255,255,.35)
}
.btn-ghost:hover {
    background:rgba(255,255,255,.08)
}
.btn-outline {
    background:transparent;
    color:var(--accent);
    border:1px solid #d4b8a8
}
.btn-outline:hover {
    background:#f5e9e1
}
.full {
    width:100%
}
.hero-trust {
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    color:#e5d6cd;
    font-size:12px;
    font-weight:700
}
/* General sections */
.section {
    padding:85px 0
}
.section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:30px
}
.section-head h2,
.page-hero h1 {
    font-family:'Playfair Display',serif;
    font-size:clamp(36px,5vw,55px);
    line-height:1.05;
    margin:5px 0 8px
}
.muted,
.section-head>div>p:not(.eyebrow) {
    color:var(--muted)
}
.search-bar {
    display:grid;
    grid-template-columns:minmax(240px,1fr) 180px auto auto;
    gap:9px;
    align-items:center
}
.search-bar input,
.search-bar select {
    height:48px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:12px;
    padding:0 14px;
    outline:none
}
.search-bar input:focus,
.search-bar select:focus,
.input:focus {
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(166,94,69,.1)
}
.clear {
    font-size:12px;
    font-weight:800;
    color:var(--accent)
}
/* Product grid */
.grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 8px 30px rgba(57,37,28,.04);
    transition:.25s transform,.25s box-shadow
}
.card:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow)
}
.product-media {
    height:330px;
    position:relative;
    background:linear-gradient(145deg,#f5e9df,#e6d2c4);
    overflow:hidden
}
.product-media>a {
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    z-index:1
}
.product-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
.badge {
    position:absolute;
    left:14px;
    top:14px;
    z-index:2;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(8px);
    padding:7px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:800
}
.heart-form {
    position:absolute;
    right:14px;
    top:14px;
    z-index:3
}
.heart {
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.9);
    font-size:22px;
    cursor:pointer;
    color:var(--ink);
    box-shadow:0 5px 15px rgba(0,0,0,.08)
}
.heart.active {
    background:var(--accent);
    color:#fff
}
.card-body {
    padding:20px
}
.product-category {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:var(--accent);
    font-weight:800;
    margin:0
}
.card h3 {
    font-family:'Playfair Display',serif;
    font-size:25px;
    margin:4px 0 8px
}
.card-body>p:not(.product-category) {
    color:var(--muted);
    font-size:13px;
    min-height:42px
}
.price-row {
    display:flex;
    align-items:center;
    gap:10px;
    margin:17px 0
}
.price-row strong {
    font-size:21px
}
.price-row del {
    color:#9d8c82;
    font-size:13px
}
.price-row span {
    margin-left:auto;
    font-size:11px;
    font-weight:800;
    color:var(--success)
}
/* Feature cards */
.features {
    padding-top:30px
}
.feature-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px
}
.feature {
    padding:26px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px
}
.icon {
    font-size:24px;
    color:var(--accent)
}
.feature h3 {
    margin:8px 0 5px
}
.feature p {
    margin:0;
    color:var(--muted);
    font-size:13px
}
/* Brand story */
.story {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center
}
.story img {
    width:100%;
    border-radius:28px;
    box-shadow:var(--shadow)
}
.story h2 {
    font-family:'Playfair Display',serif;
    font-size:clamp(37px,4vw,53px);
    line-height:1.06;
    margin:8px 0 17px
}
.story p {
    color:var(--muted)
}
.quote {
    background:var(--dark);
    color:#fff;
    border-radius:28px;
    padding:52px;
    text-align:center
}
.quote p {
    font-family:'Playfair Display',serif;
    font-size:30px;
    line-height:1.4;
    max-width:850px;
    margin:0 auto 12px
}
.quote small {
    color:#d8c9c0
}
/* Inner pages and forms */
.page {
    padding:55px 0
}
.page-hero {
    padding:25px 0 25px
}
.notice {
    padding:14px 16px;
    background:#edf8ef;
    border:1px solid #bde0c3;
    border-radius:12px;
    margin:15px 0
}
.notice.error {
    background:#fff0f0;
    border-color:#efbcbc;
    color:#7c3030
}
.notice ul {
    margin:5px 0 0 20px
}
.empty-state {
    text-align:center;
    background:#fff;
    border:1px dashed #d8c8bd;
    padding:55px 25px;
    border-radius:22px
}
.empty-state>div {
    font-size:42px;
    color:var(--accent)
}
.empty-state h3 {
    font-family:'Playfair Display',serif;
    font-size:28px;
    margin:5px
}
.form-card {
    max-width:620px;
    margin:30px auto;
    background:#fff;
    padding:34px;
    border-radius:23px;
    border:1px solid var(--line);
    box-shadow:var(--shadow)
}
.form-card h2 {
    font-family:'Playfair Display',serif;
    font-size:35px;
    line-height:1.1
}
.input,
select.input,
textarea.input {
    width:100%;
    padding:13px 14px;
    margin:6px 0 16px;
    border:1px solid #d8cbc1;
    border-radius:12px;
    background:#fff;
    font:inherit;
    color:var(--ink);
    outline:none
}
label {
    font-size:13px;
    font-weight:700
}
.cart-layout,
.checkout-layout {
    display:grid;
    grid-template-columns:1fr 340px;
    gap:28px;
    align-items:start
}
.cart-item {
    display:grid;
    grid-template-columns:90px 1fr auto auto;
    gap:18px;
    align-items:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:13px;
    margin-bottom:12px
}
.cart-item img {
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:12px;
    background:var(--sand)
}
.cart-info h3 {
    font-family:'Playfair Display',serif;
    margin:0
}
.cart-info p {
    margin:0;
    color:var(--muted);
    font-size:13px
}
.cart-controls {
    text-align:right
}
.cart-controls input {
    width:62px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:9px
}
.link-btn {
    border:0;
    background:none;
    padding:5px;
    color:var(--muted);
    cursor:pointer;
    text-decoration:underline
}
.danger {
    color:var(--danger)
}
.summary {
    background:var(--dark);
    color:#fff;
    border-radius:22px;
    padding:26px;
    position:sticky;
    top:100px
}
.summary h2 {
    font-family:'Playfair Display',serif;
    font-size:40px;
    margin:4px 0 22px
}
.summary .eyebrow {
    color:#dfad90
}
.summary-product,
.summary-total {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:13px
}
.summary-total {
    border:0;
    margin-top:12px;
    font-size:18px
}
.checkout-card {
    margin:0;
    max-width:none
}
.pay-amount {
    font-family:'Playfair Display',serif;
    font-size:30px
}
.payment-box {
    background:#f7efe8;
    padding:24px;
    border-radius:17px;
    border:1px solid var(--line);
    margin-bottom:22px
}
.qr {
    width:210px;
    height:210px;
    object-fit:contain;
    border:1px solid var(--line);
    padding:8px;
    background:#fff;
    border-radius:14px
}
.order-card,
.admin-order {
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:23px;
    margin-bottom:16px;
    box-shadow:0 7px 24px rgba(57,37,28,.045)
}
.order-head,
.admin-order-head {
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center
}
.order-number {
    font-weight:800;
    display:block
}
.order-head small,
.admin-order-head small {
    display:block;
    color:var(--muted);
    font-size:12px
}
.order-head strong,
.admin-order-head strong {
    font-size:20px;
    margin-right:10px
}
.status {
    display:inline-block;
    padding:5px 9px;
    border-radius:20px;
    background:#eee4dc;
    font-size:11px;
    font-weight:800
}
.status-delivered {
    background:#e6f4ea;
    color:var(--success)
}
.status-cancelled,
.status-rejected {
    background:#fbe9e9;
    color:var(--danger)
}
.timeline {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin:25px 0
}
.timeline-step {
    text-align:center;
    color:#a99b93
}
.timeline-step span {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    margin:auto;
    border-radius:50%;
    background:#eee4dc;
    font-size:12px;
    font-weight:800
}
.timeline-step.done {
    color:var(--accent)
}
.timeline-step.done span {
    background:var(--accent);
    color:#fff
}
.timeline-step small {
    display:block;
    margin-top:6px;
    font-weight:700
}
.tracking {
    background:#f6eee8;
    padding:12px 15px;
    border-radius:12px
}
.order-meta {
    display:flex;
    gap:25px;
    color:var(--muted);
    font-size:12px;
    margin-top:14px;
    flex-wrap:wrap
}
.cancelled-note {
    color:var(--danger);
    background:#fff0f0;
    padding:10px 13px;
    border-radius:10px
}
/* Admin panel */
.admin-top {
    background:var(--dark);
    color:#fff
}
.admin-nav {
    min-height:72px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}
.admin-nav nav {
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap
}
.admin-nav nav a {
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:700
}
.admin-label {
    margin-left:12px;
    color:#b9a69d;
    font-size:12px
}
.admin-logout {
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px
}
.admin-page {
    padding-bottom:70px
}
/* Admin dashboard */
.admin-stats {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:12px
}
.stat {
    background:#fff;
    padding:20px;
    border-radius:17px;
    border:1px solid var(--line);
    min-height:135px
}
.stat span {
    font-size:12px;
    color:var(--muted);
    font-weight:700
}
.stat b {
    display:block;
    font-size:28px;
    margin:4px 0;
    color:var(--accent)
}
.stat small {
    font-size:11px
}
.stat.attention {
    box-shadow:inset 0 3px 0 var(--accent)
}
.admin-section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin:42px 0 18px
}
.admin-section-head h2 {
    font-family:'Playfair Display',serif;
    font-size:34px;
    margin:4px 0
}
.table-wrap {
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:17px
}
.table {
    width:100%;
    border-collapse:collapse
}
.table th,
.table td {
    padding:13px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
    font-size:13px
}
.table th {
    background:#f4ece5;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px
}
.admin-order-grid {
    display:grid;
    grid-template-columns:1fr 1fr 330px;
    gap:24px;
    margin-top:22px
}
.admin-order h4 {
    margin:0 0 6px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--accent)
}
.admin-order p {
    font-size:13px;
    color:var(--muted)
}
.mini-item {
    display:flex;
    justify-content:space-between;
    padding:8px 0;
    border-bottom:1px solid var(--line);
    font-size:13px
}
.order-update {
    background:#f8f2ed;
    padding:18px;
    border-radius:16px
}
.order-update .input {
    margin-bottom:11px
}
.wide {
    max-width:none
}
/* Admin product management */
.product-form {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 12px
}
.product-form textarea,
.product-form button {
    grid-column:span 3
}
.product-admin-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:25px
}
/* Admin product cards */
.product-admin-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:14px
}
.product-admin-card>img {
    /* Let every uploaded image keep its own natural aspect ratio. */
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    border-radius:12px;
    background:var(--sand);
    margin:0 0 12px;
    padding:0;
}
.two-col {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}
.delete-form {
    margin-top:8px
}
/* Authentication */
.auth-screen {
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:20px;
    background:radial-gradient(circle at top right,#efe1d5,transparent 40%),var(--cream)
}
.dark-logo {
    color:var(--ink);
    display:block;
    margin-bottom:35px
}
/* Footer */
footer {
    padding:55px 0 25px;
    background:var(--dark);
    color:#d8cbc1;
    margin-top:70px
}
.footer-grid {
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:35px
}
.footer-logo {
    font-family:'Playfair Display',serif;
    font-size:24px;
    color:#fff
}
.footer-grid h4 {
    color:#fff;
    margin-top:0
}
.footer-grid p,
.footer-grid a {
    color:#c9b9af;
    text-decoration:none
}
.copyright {
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:28px;
    padding-top:22px;
    font-size:12px
}
/* Product details */
.product-detail {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center
}
.detail-image {
    width:100%;
    aspect-ratio:1;
    border-radius:30px;
    object-fit:cover;
    background:var(--sand);
    box-shadow:var(--shadow)
}
.detail-title {
    font-family:'Playfair Display',serif;
    font-size:clamp(42px,5vw,66px);
    line-height:1.02;
    margin:8px 0 15px
}
.detail-price {
    font-size:29px;
    font-weight:800
}
.detail-copy {
    color:var(--muted);
    max-width:560px
}
.detail-points {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:25px 0
}
.detail-point {
    background:#fff;
    border:1px solid var(--line);
    padding:14px;
    border-radius:14px;
    font-size:13px
}
.filters-mobile {
    display:none
}
.dashboard-chart {
    height:220px;
    display:flex;
    align-items:end;
    gap:10px;
    padding:20px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px
}
.bar {
    flex:1;
    background:linear-gradient(#dca181,#a65e45);
    border-radius:7px 7px 0 0;
    min-height:10px
}
.bar-label {
    font-size:9px;
    color:var(--muted);
    text-align:center
}
.toolbar {
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-bottom:15px
}
.toolbar .search-mini {
    display:flex;
    gap:8px
}
.search-mini input,
.search-mini select {
    height:42px;
    border:1px solid var(--line);
    border-radius:10px;
    padding:0 12px;
    background:#fff
}
/* Tablet responsive layout */
@media(max-width:1050px) {
    .section-head {
        display:block
    }
    .search-bar {
        margin-top:18px
    }
    .grid,
    .product-admin-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .feature-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .admin-stats {
        grid-template-columns:repeat(3,1fr)
    }
    .admin-order-grid {
        grid-template-columns:1fr 1fr
    }
    .order-update {
        grid-column:span 2
    }
    .story,
    .product-detail {
        grid-template-columns:1fr
    }
    .cart-layout,
    .checkout-layout {
        grid-template-columns:1fr
    }
    .summary {
        position:static
    }
}
/* Mobile responsive layout */
@media(max-width:680px) {
    .nav,
    .admin-nav {
        display:block;
        padding:12px 0
    }
    .main-nav,
    .admin-nav nav {
        justify-content:center;
        margin-top:10px;
        gap:10px
    }
    .main-nav a {
        font-size:11px
    }
    .hero {
        min-height:590px;
        padding:70px 0
    }
    .hero h1 {
        font-size:49px
    }
    .hero p {
        font-size:16px
    }
    .section {
        padding:58px 0
    }
    .grid,
    .feature-grid,
    .product-admin-grid,
    .footer-grid,
    .product-form,
    .admin-stats {
        grid-template-columns:1fr
    }
    .product-form textarea,
    .product-form button {
        grid-column:auto
    }
    .search-bar {
        grid-template-columns:1fr
    }
    .cart-item {
        grid-template-columns:70px 1fr
    }
    .cart-item>strong {
        grid-column:2
    }
    .cart-controls {
        grid-column:2;
        text-align:left
    }
    .cart-item img {
        width:70px;
        height:70px
    }
    .admin-order-grid {
        grid-template-columns:1fr
    }
    .order-update {
        grid-column:auto
    }
    .order-head,
    .admin-order-head {
        align-items:flex-start
    }
    .timeline-step small {
        font-size:10px
    }
    .quote {
        padding:35px 20px
    }
    .quote p {
        font-size:24px
    }
    .detail-points {
        grid-template-columns:1fr
    }
    .product-media {
        height:300px
    }
    .admin-label {
        display:block;
        margin:4px 0 0
    }
}
/* Payment selection */
.payment-methods {
    display:grid;
    gap:10px;
    margin:12px 0 20px
}
.payment-option {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
    cursor:pointer;
    transition:.2s
}
.payment-option:hover {
    border-color:#c7a18d;
    transform:translateY(-1px)
}
.payment-option input {
    margin-top:4px;
    accent-color:var(--accent)
}
.payment-option span {
    display:grid;
    gap:3px
}
.payment-option small {
    color:var(--muted);
    font-weight:400
}
.auth-card {
    max-width:480px
}
.auth-links {
    display:flex;
    justify-content:center;
    margin-top:18px;
    font-weight:700;
    font-size:13px;
    color:var(--accent)
}

/* =========================================================
   K4 FINAL FIXES — ADMIN IMAGES + CHECKOUT
   These rules intentionally come last so they override old
   image sizing rules without changing the main dashboard.
   ========================================================= */

/* Admin product image area: fully dynamic, no fixed height/gap/crop */
.product-admin-card {
    overflow:hidden;
}
.product-admin-card > img,
.product-admin-card > a > img,
.product-admin-card .product-admin-image,
.product-admin-card .product-image {
    display:block;
    width:100%;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center;
    background:var(--sand);
    border-radius:12px;
    padding:0 !important;
    margin:0 0 12px !important;
}
.product-admin-card > a {
    display:block;
    width:100%;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    line-height:0;
}
.product-admin-card .product-image-wrap,
.product-admin-card .image-wrap,
.product-admin-card .admin-image-wrap {
    width:100%;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    overflow:visible !important;
    padding:0 !important;
    margin:0 !important;
}

/* Checkout address fields */
.checkout-address-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 12px;
}
.checkout-address-grid .full-field {
    grid-column:1 / -1;
}
.checkout-help {
    display:block;
    color:var(--muted);
    font-size:11px;
    margin:-9px 0 14px;
}
.other-city-field {
    display:none;
}
.other-city-field.is-visible {
    display:block;
}

/* Better payment selection state */
.payment-option:has(input:checked) {
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(166,94,69,.08);
}
.payment-option input:focus-visible {
    outline:3px solid rgba(166,94,69,.18);
    outline-offset:2px;
}

/* Prevent hidden payment boxes from taking space */
.payment-box[hidden] {
    display:none !important;
}

@media (max-width:680px) {
    .checkout-address-grid {
        grid-template-columns:1fr;
    }
    .checkout-address-grid .full-field {
        grid-column:auto;
    }
    .product-admin-card > img,
    .product-admin-card > a > img {
        width:100%;
        height:auto !important;
    }
}
