:root {
    --ink: #241b14;
    --charcoal: #151412;
    --cream: #f4ead9;
    --paper: #ead8bd;
    --gold: #bd9250;
    --olive: #343d2a;
    --muted: #725f47;
    --line: rgba(189, 146, 80, .42);
}

.shop-page {
    min-height: 100vh;
    color: #2d2219;
    background:
        radial-gradient(circle at 10% 0, rgba(189, 146, 80, .18), transparent 22rem),
        linear-gradient(90deg, rgba(95, 70, 42, .06) 1px, transparent 1px),
        linear-gradient(rgba(245, 235, 216, .92), rgba(245, 235, 216, .96)),
        #f5ebd8;
    background-size: auto, 32px 32px, auto, auto;
    font-family: Inter, Arial, sans-serif;
}

.shop-header {
    min-height: 76px;
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 18px;
    padding: 0 24px;
    background: #151412;
    border-bottom: 1px solid var(--gold);
}

.shop-header .brand {
    height: 96px;
}

.shop-header nav {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.shop-header nav a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    color: #f2dfbe;
    border: 1px solid rgba(189, 146, 80, .38);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.shop-hero {
    width: min(1180px, calc(100% - 32px));
    min-height: 360px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 24px;
    align-items: center;
    margin: 34px auto 18px;
    padding: 26px;
    background: rgba(255, 250, 240, .72);
    border: 1px solid rgba(189, 146, 80, .32);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(46, 34, 22, .12);
}

.shop-hero p {
    margin: 0 0 10px;
    color: #b98640;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.shop-hero h1 {
    max-width: 680px;
    margin: 0 0 12px;
    color: #2d2219;
    font: 900 clamp(48px, 7vw, 82px)/.88 Cormorant Garamond, serif;
}

.shop-hero span {
    display: block;
    max-width: 620px;
    color: #5d4c3b;
    font: 800 18px/1.5 Inter, Arial, sans-serif;
}

.shop-hero img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 7px;
    border: 1px solid rgba(189, 146, 80, .42);
    box-shadow: 0 18px 36px rgba(46, 34, 22, .22);
}

.shop-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.shop-products {
    width: min(1180px, calc(100% - 32px));
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 auto 42px;
}

.shop-product-card {
    display: grid;
    grid-template-rows: 210px 1fr auto;
    overflow: hidden;
    background: rgba(255, 250, 240, .86);
    border: 1px solid rgba(189, 146, 80, .32);
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(46, 34, 22, .1);
}

.shop-product-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-product-card div {
    padding: 16px 16px 8px;
}

.shop-product-card em {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 9px;
    color: #2d2219;
    background: rgba(189, 146, 80, .22);
    border: 1px solid rgba(189, 146, 80, .4);
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.shop-product-card h2 {
    margin: 10px 0 6px;
    color: #2d2219;
    font: 900 31px/.95 Cormorant Garamond, serif;
}

.shop-product-card p {
    margin: 0;
    color: #5d4c3b;
    font-weight: 750;
    line-height: 1.45;
}

.shop-product-card footer {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding: 14px 16px 16px;
}

.shop-product-card strong {
    min-width: 78px;
    padding: 9px 10px;
    color: #fff8e7;
    background: #2f3928;
    border-radius: 4px;
    text-align: center;
    font: 900 16px/1 Inter, Arial, sans-serif;
}

.cart-button {
    min-height: 38px;
    padding: 0 14px;
    color: #7a644d;
    background: rgba(255, 255, 255, .5);
    border: 1px dashed rgba(122, 100, 77, .45);
    border-radius: 4px;
    font-weight: 900;
}

.cart-button:not(.is-disabled) {
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .55);
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.cart-button.quote {
    display: inline-flex;
    align-items: center;
    color: #2d2219;
    background: rgba(189, 146, 80, .24);
    text-decoration: none;
}

.add-cart-form {
    margin: 0;
}

.order-shell {
    width: min(980px, calc(100% - 28px));
    margin: 34px auto 46px;
}

.order-card {
    padding: 24px;
    background: rgba(255, 250, 240, .88);
    border: 1px solid rgba(189, 146, 80, .35);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(46, 34, 22, .12);
}

.order-card h1 {
    margin: 0 0 18px;
    color: #2d2219;
    font: 900 clamp(42px, 5vw, 64px)/.92 Cormorant Garamond, serif;
}

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

.cart-lines article {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 86px auto;
    gap: 12px;
    align-items: center;
    padding: 10px;
    background: rgba(255, 255, 255, .5);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 7px;
}

.cart-lines img {
    width: 76px;
    height: 76px;
    object-fit: cover;
    border-radius: 6px;
}

.cart-lines strong,
.cart-lines span,
.cart-lines small {
    display: block;
}

.cart-lines strong {
    color: #2d2219;
    font: 900 25px/.95 Cormorant Garamond, serif;
}

.cart-lines span,
.cart-lines small {
    color: #685541;
    font-weight: 800;
}

.cart-lines input {
    width: 76px;
    min-height: 40px;
    padding: 0 10px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(95, 70, 38, .28);
    border-radius: 4px;
    font-weight: 900;
}

.cart-lines b {
    color: #2d2219;
    font-weight: 900;
}

.cart-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    padding: 14px;
    background: #151412;
    border-radius: 6px;
    color: #f8ead0;
    font-weight: 900;
}

.cart-total strong {
    color: #e3bd77;
    font-size: 22px;
}

.order-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.checkout-form {
    display: grid;
    gap: 12px;
}

.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.checkout-form label {
    display: grid;
    gap: 7px;
    color: #2d2219;
    font-weight: 900;
}

.checkout-form input,
.checkout-form textarea,
.checkout-form select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(95, 70, 38, .28);
    border-radius: 4px;
    font: 750 14px/1.4 Inter, Arial, sans-serif;
}

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

.payment-options label {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(189, 146, 80, .14);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 5px;
}

.bank-box {
    padding: 14px;
    background: rgba(47, 57, 40, .08);
    border: 1px solid rgba(47, 57, 40, .18);
    border-radius: 6px;
}

.checkout-form .bank-box {
    display: none;
}

.checkout-form .bank-box.is-visible {
    display: block;
}

.payment-options label.is-disabled {
    opacity: .62;
    cursor: not-allowed;
}

.payment-warning,
.auto-save-note,
.member-summary {
    padding: 10px 12px;
    color: #5a422c;
    background: rgba(189, 146, 80, .15);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 5px;
    font-weight: 850;
}

.member-summary {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.text-link {
    color: #8b642e;
    font-weight: 900;
    text-decoration: underline;
}

.bank-box h2 {
    margin: 0 0 8px;
    color: #2d2219;
    font: 900 28px/1 Cormorant Garamond, serif;
}

.bank-box p,
.bank-box small {
    display: block;
    margin: 5px 0;
    color: #4e4032;
    font-weight: 850;
}

.account-shell {
    width: min(1120px, calc(100% - 28px));
    margin: 34px auto 48px;
    display: grid;
    gap: 18px;
}

.account-hero,
.account-card,
.account-stats article {
    background: rgba(255, 250, 240, .9);
    border: 1px solid rgba(189, 146, 80, .35);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(46, 34, 22, .12);
}

.account-hero {
    min-height: 190px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 26px;
}

.account-hero p,
.account-section-head p {
    margin: 0 0 8px;
    color: #9a6a31;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.account-hero h1 {
    margin: 0 0 10px;
    color: #2d2219;
    font: 900 clamp(44px, 6vw, 76px)/.9 Cormorant Garamond, serif;
}

.account-hero span {
    max-width: 720px;
    display: block;
    color: #5b4a39;
    font-weight: 850;
    line-height: 1.45;
}

.account-quick-actions {
    display: grid;
    gap: 10px;
    min-width: 190px;
}

.account-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.account-stats article {
    padding: 16px;
}

.account-stats span {
    display: block;
    margin-bottom: 8px;
    color: #7a5a32;
    font-weight: 900;
}

.account-stats strong {
    color: #2d2219;
    font: 900 34px/1 Cormorant Garamond, serif;
}

.account-stats .is-ok strong {
    color: #24421d;
}

.account-stats .is-waiting strong {
    color: #8a3a2d;
}

.account-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 18px;
    align-items: start;
}

.account-card {
    padding: 22px;
}

.account-card h2,
.account-section-head h2 {
    margin: 0 0 14px;
    color: #2d2219;
    font: 900 36px/1 Cormorant Garamond, serif;
}

.account-good,
.account-warn {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 6px;
    font-weight: 900;
    line-height: 1.45;
}

.account-good {
    color: #163414;
    background: #dcefd5;
    border: 1px solid rgba(22, 52, 20, .16);
}

.account-warn {
    color: #6b2a20;
    background: #ffe0d6;
    border: 1px solid rgba(107, 42, 32, .18);
}

.account-section-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px;
}

.account-orders {
    display: grid;
    gap: 12px;
}

.account-orders article,
.loyalty-list article {
    padding: 14px;
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 8px;
}

.account-orders header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.account-orders strong {
    display: block;
    color: #2d2219;
    font: 900 27px/1 Cormorant Garamond, serif;
}

.account-orders header span,
.account-orders li,
.loyalty-list span,
.loyalty-list small {
    color: #66533f;
    font-weight: 850;
}

.account-orders header b,
.loyalty-list b {
    width: fit-content;
    padding: 8px 10px;
    color: #fff8e7;
    background: #2f3928;
    border-radius: 4px;
}

.account-order-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
}

.account-order-tags span {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    color: #2d2219;
    background: rgba(189, 146, 80, .18);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.account-orders ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

.loyalty-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}

.loyalty-list article {
    display: grid;
    gap: 7px;
}

.loyalty-list strong {
    color: #2d2219;
    font: 900 26px/1 Cormorant Garamond, serif;
}

.admin-orders {
    display: grid;
    gap: 12px;
}

.admin-orders.is-scrollable {
    max-height: 820px;
    padding-right: 8px;
    overflow-y: auto;
}

.admin-orders.is-scrollable::-webkit-scrollbar {
    width: 8px;
}

.admin-orders.is-scrollable::-webkit-scrollbar-thumb {
    background: rgba(189, 146, 80, .72);
    border-radius: 999px;
}

.admin-order-card {
    position: relative;
    padding: 14px;
    background: rgba(255, 255, 255, .54);
    border: 1px solid rgba(45, 34, 25, .08);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(45, 34, 25, .06);
}

.admin-order-card.is-status-new {
    background: linear-gradient(135deg, rgba(196, 70, 45, .055), rgba(255, 255, 255, .64));
    border-color: rgba(196, 70, 45, .28);
}

.admin-order-card.is-status-confirmed {
    background: linear-gradient(135deg, rgba(214, 138, 45, .13), rgba(255, 250, 240, .7));
    border-color: rgba(214, 138, 45, .34);
}

.admin-order-card.is-status-preparing {
    background: linear-gradient(135deg, rgba(189, 146, 80, .10), rgba(255, 250, 240, .72));
    border-color: rgba(189, 146, 80, .28);
}

.admin-order-card.is-status-ready {
    background: linear-gradient(135deg, rgba(72, 126, 94, .13), rgba(255, 250, 240, .72));
    border-color: rgba(72, 126, 94, .32);
}

.admin-order-card.is-status-on_the_way {
    background: linear-gradient(135deg, rgba(234, 194, 73, .16), rgba(255, 250, 240, .72));
    border-color: rgba(204, 161, 46, .38);
}

.admin-order-card.is-status-failed_delivery {
    background: linear-gradient(135deg, rgba(169, 50, 36, .10), rgba(255, 250, 240, .74));
    border-color: rgba(169, 50, 36, .34);
}

.admin-order-card.is-status-delivered {
    background: linear-gradient(135deg, rgba(67, 137, 71, .13), rgba(255, 250, 240, .72));
    border-color: rgba(67, 137, 71, .34);
}

.admin-order-card.is-status-cancelled {
    background: linear-gradient(135deg, rgba(169, 50, 36, .13), rgba(255, 250, 240, .72));
    border-color: rgba(169, 50, 36, .36);
}

.admin-order-card.has-new-order {
    border-color: rgba(196, 70, 45, .62);
    box-shadow: 0 0 0 3px rgba(196, 70, 45, .12), 0 14px 28px rgba(45, 34, 25, .14);
}

.new-order-alert,
.order-approved-badge,
.order-status-badge {
    width: fit-content;
    margin: 10px 0;
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.new-order-alert {
    color: #fff8e7 !important;
    background: #a93224;
    animation: newOrderPulse 1.1s ease-in-out infinite;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .22);
}

.order-approved-badge,
.order-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    margin: 6px 0 0;
    padding: 0 9px;
    color: #163414;
    background: #cfe8c8;
    border: 1px solid rgba(22, 52, 20, .18);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.order-status-badge.is-status-confirmed {
    color: #5a3412 !important;
    background: rgba(214, 138, 45, .28);
    border-color: rgba(214, 138, 45, .44);
}

.order-status-badge.is-status-preparing {
    color: #5f4626 !important;
    background: rgba(189, 146, 80, .22);
    border-color: rgba(189, 146, 80, .38);
}

.order-status-badge.is-status-ready {
    color: #17381f !important;
    background: rgba(72, 126, 94, .22);
    border-color: rgba(72, 126, 94, .36);
}

.order-status-badge.is-status-on_the_way {
    color: #5b4611 !important;
    background: rgba(234, 194, 73, .30);
    border-color: rgba(204, 161, 46, .42);
}

.order-status-badge.is-status-failed_delivery {
    color: #6b2118 !important;
    background: rgba(169, 50, 36, .18);
    border-color: rgba(169, 50, 36, .34);
}

.order-status-badge.is-status-delivered {
    color: #163414 !important;
    background: rgba(67, 137, 71, .23);
    border-color: rgba(67, 137, 71, .38);
}

.order-status-badge.is-status-cancelled {
    color: #6b2118 !important;
    background: rgba(169, 50, 36, .20);
    border-color: rgba(169, 50, 36, .36);
}

.admin-confirm-order {
    margin: 8px 0 12px;
}

.admin-confirm-order button {
    min-height: 42px;
    padding: 0 16px;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .62);
    border-radius: 6px;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-confirm-order button:hover {
    background: #d7ad69;
    color: #211811;
}

.admin-order-price-block .new-order-alert {
    margin: 6px 0 0;
    padding: 7px 10px;
    font-size: 11px;
    color: #fff8e7 !important;
    background: #b0362a;
    border: 1px solid rgba(255, 232, 184, .28);
}

.admin-order-price-block .order-status-badge {
    margin: 6px 0 0;
    padding: 5px 9px;
    font-size: 11px;
}

.admin-order-price-block .admin-confirm-order {
    margin: 6px 0 0;
}

.admin-order-price-block .admin-confirm-order button {
    min-height: 34px;
    padding: 0 10px;
    font-size: 12px;
    border-radius: 999px;
}

@keyframes newOrderPulse {
    0%, 100% {
        transform: translateY(0);
        box-shadow: 0 0 0 0 rgba(169, 50, 36, .35);
    }
    50% {
        transform: translateY(-1px);
        box-shadow: 0 0 0 7px rgba(169, 50, 36, 0);
    }
}

.admin-order-card header,
.admin-order-status {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.admin-order-card header strong {
    display: block;
    color: #2d2219;
    font: 900 27px/1 Cormorant Garamond, serif;
}

.admin-order-card header strong.admin-order-code {
    color: #211811;
    font: 950 23px/1.05 Inter, sans-serif;
    letter-spacing: 0;
}

.admin-order-original-code {
    display: block;
    margin: 3px 0 2px;
    color: rgba(102, 83, 63, .72) !important;
    font: 850 11px/1 Inter, sans-serif;
    letter-spacing: .04em;
}

.admin-order-card header span,
.admin-order-card small,
.admin-order-card p,
.admin-order-card li {
    color: #66533f;
    font-weight: 800;
}

.admin-order-card header b {
    padding: 9px 10px;
    color: #fff8e7;
    background: #2f3928;
    border-radius: 4px;
}

.admin-order-price-block {
    display: grid;
    justify-items: end;
}

.admin-order-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
}

.admin-order-meta span {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    background: rgba(189, 146, 80, .18);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 999px;
    color: #2d2219;
    font-size: 12px;
    font-weight: 900;
}

.admin-order-card ul {
    margin: 10px 0;
    padding-left: 18px;
}

.admin-order-events {
    margin: 12px 0;
    padding: 10px 12px;
    background: rgba(47, 57, 40, .045);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 8px;
}

.admin-order-events summary {
    color: #5f4626;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-order-events div {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.admin-order-events p {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) auto;
    gap: 5px 10px;
    margin: 0;
    padding: 8px 0;
    border-top: 1px solid rgba(189, 146, 80, .18);
}

.admin-order-events p:first-child {
    border-top: 0;
}

.admin-order-events strong {
    color: #2d2219;
    font-size: 13px;
    font-weight: 950;
}

.admin-order-events span,
.admin-order-events em,
.admin-order-events small {
    color: rgba(102, 83, 63, .78);
    font-size: 12px;
    font-weight: 850;
}

.admin-order-events em {
    font-style: normal;
}

.admin-order-events small {
    grid-column: 1 / -1;
}

.admin-order-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.admin-order-pagination a,
.admin-order-pagination span {
    min-width: 38px;
    min-height: 38px;
    display: grid;
    place-items: center;
    padding: 0 10px;
    color: #2d2219;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 999px;
    font-weight: 950;
    text-decoration: none;
}

.admin-order-pagination span,
.admin-order-pagination a:hover {
    color: #fff8e7;
    background: #2f3928;
}

.admin-order-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin: 14px 0 12px;
    padding: 12px;
    background: rgba(47, 57, 40, .06);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 8px;
}

.admin-order-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.admin-history-toggle,
.admin-order-search button,
.admin-order-filter button,
.admin-history-filter-head button,
.admin-sound-menu button {
    min-height: 44px;
    padding: 0 14px;
    color: #2d2219;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 999px;
    font-weight: 900;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-history-toggle {
    color: #fff8e7;
    background: #2f3928;
}

.admin-list-actions button.is-ready {
    color: #fff8e7;
    background: #2f3928;
    border-color: rgba(189, 146, 80, .52);
}

.admin-history-toggle:hover,
.admin-order-search button:hover {
    background: #d7ad69;
    color: #211811;
}

.admin-order-search {
    min-width: min(100%, 330px);
    display: grid;
    grid-template-columns: minmax(170px, 1fr) auto;
    gap: 8px;
}

.admin-order-search input {
    min-height: 44px;
    width: 100%;
    padding: 0 13px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 999px;
    font-weight: 900;
}

.admin-order-search input::placeholder {
    color: rgba(102, 83, 63, .58);
}

.admin-order-filter {
    display: grid;
    gap: 12px;
    margin: 0 0 16px;
    padding: 12px;
    background: rgba(255, 250, 240, .72);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(45, 34, 25, .08);
}

.admin-order-filter[hidden],
.admin-sound-menu[hidden] {
    display: none;
}

.admin-history-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.admin-history-filter-head strong {
    color: #2d2219;
    font: 900 26px/1 Cormorant Garamond, serif;
}

.admin-history-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, max-content) repeat(2, minmax(145px, 180px)) repeat(2, max-content);
    align-items: center;
    gap: 10px;
}

.admin-order-filter button.is-active,
.admin-order-filter button:hover,
.admin-history-filter-head button:hover,
.admin-sound-menu button:hover,
.admin-sound-menu button.is-active {
    color: #fff8e7;
    background: #2f3928;
}

.admin-order-filter label {
    display: block;
    min-width: 0;
}

.admin-order-filter label span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.admin-order-filter input[type="date"] {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 8px;
    font-weight: 900;
}

.admin-show-completed-toggle {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 14px;
    color: #2d2219;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 999px;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-show-completed-toggle input,
.admin-sound-menu input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #2f3928;
}

.admin-show-completed-toggle:has(input:checked) {
    color: #fff8e7;
    background: #2f3928;
}

.admin-sound-menu {
    width: fit-content;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -2px 0 14px auto;
    padding: 10px;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 8px;
}

.courier-shell {
    max-width: 1180px;
}

.courier-login {
    max-width: 480px;
    margin: 0 auto;
    display: grid;
    gap: 14px;
}

.courier-login h2 {
    margin: 0;
    color: #2d2219;
    font: 900 34px/1 Cormorant Garamond, serif;
}

.courier-login label,
.courier-login select,
.courier-login input {
    width: 100%;
}

.courier-login select,
.courier-login input {
    min-height: 46px;
    padding: 0 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 6px;
    font-weight: 900;
}

.courier-overview {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 16px;
    padding: 16px 18px;
    color: #fff8e7;
    background: linear-gradient(135deg, rgba(47, 57, 40, .95), rgba(33, 24, 17, .94));
    border: 1px solid rgba(189, 146, 80, .35);
    border-radius: 8px;
}

.courier-overview p,
.courier-overview h2 {
    margin: 0;
}

.courier-overview p {
    color: #d7ad69;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.courier-overview h2 {
    margin-top: 4px;
    font: 900 34px/1 Cormorant Garamond, serif;
}

.courier-overview span {
    color: rgba(255, 248, 231, .82);
    font-size: 13px;
    font-weight: 900;
}

.courier-live-region {
    display: grid;
    gap: 16px;
}

.courier-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.courier-section {
    min-width: 0;
    border-color: rgba(189, 146, 80, .34);
}

.courier-section-available {
    background: linear-gradient(135deg, rgba(255, 250, 240, .92), rgba(241, 227, 202, .72));
}

.courier-section-assigned {
    background: linear-gradient(135deg, rgba(255, 250, 240, .92), rgba(224, 234, 211, .58));
}

.courier-section-head {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(189, 146, 80, .22);
}

.courier-section-head p {
    margin: 0 0 4px;
    color: #a46d2d;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.courier-section-head h2 {
    margin: 0;
    color: #2d2219;
    font: 900 32px/1 Cormorant Garamond, serif;
}

.courier-count {
    min-width: 42px;
    min-height: 42px;
    display: inline-grid;
    place-items: center;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .48);
    border-radius: 999px;
    font-weight: 950;
}

.courier-orders {
    display: grid;
    gap: 12px;
}

.courier-order-card {
    padding: 16px;
}

.courier-order-card.is-courier-available {
    border-color: rgba(189, 146, 80, .34);
}

.courier-order-card.is-courier-assigned {
    border-color: rgba(67, 137, 71, .30);
    box-shadow: 0 0 0 3px rgba(67, 137, 71, .07), 0 12px 24px rgba(45, 34, 25, .08);
}

.courier-note {
    padding: 10px 12px;
    background: rgba(189, 146, 80, .12);
    border: 1px dashed rgba(189, 146, 80, .35);
    border-radius: 6px;
}

.courier-pickup-button {
    color: #211811 !important;
    background: #d7ad69 !important;
    border-color: rgba(47, 57, 40, .34) !important;
}

.kitchen-shell {
    max-width: 1280px;
}

.kitchen-live-region {
    display: grid;
    gap: 16px;
}

.kitchen-board {
    padding: 18px;
    background: rgba(255, 250, 240, .9);
    border: 1px solid rgba(189, 146, 80, .34);
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(45, 34, 25, .12);
}

.kitchen-board-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(189, 146, 80, .24);
}

.kitchen-board-head p,
.kitchen-board-head h2 {
    margin: 0;
}

.kitchen-board-head p {
    color: #a46d2d;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.kitchen-board-head h2 {
    margin-top: 4px;
    color: #2d2219;
    font: 900 38px/1 Cormorant Garamond, serif;
}

.kitchen-board-head span {
    min-width: 48px;
    min-height: 48px;
    display: inline-grid;
    place-items: center;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .5);
    border-radius: 999px;
    font-weight: 950;
}

.kitchen-orders {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.kitchen-order-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(241, 227, 202, .66));
    border: 1px solid rgba(189, 146, 80, .32);
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(45, 34, 25, .08);
}

.kitchen-order-card header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: start;
}

.kitchen-order-card header strong {
    display: block;
    color: #211811;
    font: 950 24px/1.05 Inter, sans-serif;
}

.kitchen-order-card header small {
    display: block;
    margin-top: 4px;
    color: rgba(102, 83, 63, .7);
    font-size: 11px;
    font-weight: 850;
}

.kitchen-order-card header div:last-child {
    display: grid;
    justify-items: end;
    gap: 6px;
    white-space: nowrap;
}

.kitchen-order-card header span {
    color: #5f4626;
    font-size: 16px;
    font-weight: 950;
}

.kitchen-order-card header b {
    padding: 7px 10px;
    color: #fff8e7;
    background: #2f3928;
    border-radius: 999px;
    font-size: 12px;
}

.kitchen-order-card ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kitchen-order-card li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
    background: rgba(255, 250, 240, .72);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 6px;
}

.kitchen-order-card li span {
    min-height: 34px;
    display: grid;
    place-items: center;
    color: #fff8e7;
    background: #bd9250;
    border-radius: 999px;
    font-weight: 950;
}

.kitchen-order-card li strong {
    color: #2d2219;
    font-size: 16px;
    line-height: 1.2;
}

.kitchen-order-card p {
    margin: 0;
    padding: 12px;
    color: #5f4626;
    background: rgba(189, 146, 80, .13);
    border: 1px dashed rgba(189, 146, 80, .38);
    border-radius: 6px;
    font-weight: 850;
}

.kitchen-order-card button {
    width: 100%;
    min-height: 48px;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .5);
    border-radius: 999px;
    font-weight: 950;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.kitchen-order-card button:hover {
    color: #211811;
    background: #d7ad69;
    transform: translateY(-1px);
}

@media (max-width: 1100px) {
    .kitchen-orders {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.admin-courier-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 12px;
    background: rgba(47, 57, 40, .06);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 8px;
}

.admin-courier-form input,
.admin-courier-list input {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 6px;
    font-weight: 900;
}

.admin-courier-form button,
.admin-courier-list button {
    min-height: 42px;
    padding: 0 13px;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .52);
    border-radius: 999px;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-courier-list {
    display: grid;
    gap: 10px;
}

.admin-courier-list article {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(260px, 1.3fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    background: rgba(255, 250, 240, .68);
    border: 1px solid rgba(45, 34, 25, .08);
    border-radius: 8px;
}

.admin-courier-list strong {
    display: block;
    color: #2d2219;
    font: 900 25px/1 Cormorant Garamond, serif;
}

.admin-courier-list span {
    color: rgba(102, 83, 63, .78);
    font-size: 12px;
    font-weight: 900;
}

.admin-courier-list form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.courier-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 12px;
}

.courier-actions a,
.courier-actions button,
.courier-login button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .52);
    border-radius: 999px;
    font-weight: 950;
    text-decoration: none;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.courier-actions a:hover,
.courier-actions button:hover,
.courier-login button:hover {
    color: #211811;
    background: #d7ad69;
}

.courier-fail-form {
    width: 100%;
    padding: 10px;
    background: rgba(169, 50, 36, .06);
    border: 1px solid rgba(169, 50, 36, .22);
    border-radius: 8px;
}

.courier-fail-form summary {
    color: #6b2118;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.courier-fail-form form {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(150px, 1fr) auto;
    gap: 8px;
    margin-top: 10px;
}

.courier-fail-form select,
.courier-fail-form input {
    min-height: 42px;
    width: 100%;
    padding: 0 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 6px;
    font-weight: 900;
}

.admin-new-order-banner {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 90;
    width: min(360px, calc(100vw - 36px));
    display: grid;
    gap: 8px;
    padding: 16px;
    color: #fff8e7;
    background:
        linear-gradient(135deg, rgba(169, 50, 36, .94), rgba(47, 57, 40, .94)),
        #2f3928;
    border: 1px solid rgba(255, 232, 184, .42);
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .34);
    animation: newOrderBanner 1.1s ease-in-out infinite;
}

.admin-new-order-banner[hidden] {
    display: none;
}

.admin-new-order-banner strong {
    font: 950 22px/1 Cormorant Garamond, serif;
}

.admin-new-order-banner span {
    font-weight: 850;
}

.admin-new-order-banner button {
    width: fit-content;
    min-height: 36px;
    padding: 0 13px;
    color: #211811;
    background: #d7ad69;
    border: 0;
    border-radius: 999px;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-new-order-banner button[hidden] {
    display: none;
}

@keyframes newOrderBanner {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

@media (max-width: 760px) {
    .courier-board,
    .courier-overview {
        grid-template-columns: 1fr;
    }

    .courier-board {
        display: grid;
    }

    .courier-overview {
        display: grid;
        align-items: start;
    }

    .kitchen-board {
        padding: 14px;
    }

    .kitchen-board-head {
        align-items: start;
    }

    .kitchen-orders {
        grid-template-columns: 1fr;
    }

    .admin-order-toolbar,
    .admin-history-filter-head {
        display: grid;
        grid-template-columns: 1fr;
    }

    .admin-order-toolbar-actions,
    .admin-order-search,
    .admin-courier-form,
    .admin-courier-list article {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .admin-courier-list form {
        display: grid;
        grid-template-columns: 1fr;
    }

    .courier-fail-form form {
        grid-template-columns: 1fr;
    }

    .admin-history-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-order-filter button,
    .admin-order-filter label,
    .admin-history-toggle,
    .admin-show-completed-toggle,
    .admin-sound-menu {
        width: 100%;
    }

    .account-hero,
    .account-grid {
        grid-template-columns: 1fr;
    }

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

    .account-quick-actions {
        min-width: 0;
    }

    .account-section-head,
    .account-orders header {
        display: grid;
    }

    .admin-choice-row,
    .admin-customer-directory article {
        grid-template-columns: 1fr;
    }

    .admin-customer-directory button {
        width: 100%;
    }
}

.admin-order-status select {
    min-height: 38px;
    padding: 0 10px;
    background: #fffaf0;
    border: 1px solid rgba(95, 70, 38, .28);
    border-radius: 4px;
    font-weight: 900;
}

.admin-create-order form {
    display: grid;
    gap: 12px;
}

.admin-empty-state {
    margin: 6px 0 12px;
    padding: 12px;
    color: #66533f;
    background: rgba(255, 250, 240, .62);
    border: 1px dashed rgba(189, 146, 80, .36);
    border-radius: 8px;
    font-weight: 850;
}

.admin-manual-customer-box,
.admin-customer-directory-tools {
    display: grid;
    gap: 12px;
    padding: 12px;
    background: rgba(47, 57, 40, .06);
    border: 1px solid rgba(189, 146, 80, .24);
    border-radius: 8px;
}

.admin-choice-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.admin-choice-row button,
.admin-customer-directory button,
.admin-customer-results button {
    min-height: 42px;
    color: #2d2219;
    background: rgba(255, 250, 240, .8);
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 8px;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-choice-row button.is-active,
.admin-choice-row button:hover,
.admin-customer-directory button:hover,
.admin-customer-results button:hover {
    color: #fff8e7;
    background: #2f3928;
}

.admin-customer-results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
    max-height: 235px;
    overflow-y: auto;
    padding-right: 4px;
}

.admin-customer-results button {
    display: grid;
    gap: 3px;
    justify-items: start;
    min-height: 58px;
    padding: 10px;
    text-align: left;
}

.admin-customer-results strong,
.admin-customer-directory strong,
.admin-selected-customer strong {
    color: #2d2219;
    font: 900 24px/1 Cormorant Garamond, serif;
}

.admin-customer-results span,
.admin-customer-directory span,
.admin-customer-directory small,
.admin-selected-customer span,
.admin-selected-customer p {
    color: #66533f;
    font-size: 13px;
    font-weight: 850;
}

.admin-selected-customer {
    display: grid;
    gap: 5px;
    padding: 12px;
    background: rgba(255, 250, 240, .86);
    border: 1px solid rgba(47, 57, 40, .12);
    border-radius: 8px;
}

.admin-selected-customer[hidden],
.manual-order-note[hidden] {
    display: none;
}

.admin-check-row {
    display: flex !important;
    align-items: center;
    gap: 8px;
    color: #2d2219;
    font-weight: 900;
}

.admin-check-row input {
    width: 18px;
    height: 18px;
    accent-color: #2f3928;
}

.admin-customer-directory {
    display: grid;
    gap: 10px;
}

.admin-customer-directory article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    background: rgba(255, 250, 240, .68);
    border: 1px solid rgba(45, 34, 25, .08);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(45, 34, 25, .05);
}

.admin-customer-directory article[hidden],
.admin-customer-results button[hidden] {
    display: none;
}

.admin-customer-directory div {
    display: grid;
    gap: 4px;
}

.admin-customer-directory p {
    margin: 0;
    color: #66533f;
    font-weight: 800;
}

.admin-customer-directory button {
    padding: 0 13px;
}

.admin-order-lines {
    display: grid;
    gap: 8px;
}

.admin-order-lines div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 8px;
    align-items: center;
}

.admin-product-tools {
    display: grid;
    gap: 14px;
}

.admin-product-tools form {
    display: grid;
    gap: 12px;
}

.admin-category-tools {
    padding: 12px;
    background: rgba(47, 57, 40, .06);
    border: 1px solid rgba(189, 146, 80, .28);
    border-radius: 8px;
}

.admin-category-tools summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #2d2219;
    font-weight: 950;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-category-tools summary::after {
    content: "+";
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: #211811;
    background: #d7ad69;
    border-radius: 50%;
}

.admin-category-tools[open] summary::after {
    content: "-";
}

.admin-category-tools form {
    margin-top: 12px;
}

.admin-category-delete-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.admin-category-delete-list form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 8px;
    background: rgba(255, 250, 240, .7);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 8px;
}

.admin-category-delete-list span {
    color: #2d2219;
    font-weight: 900;
}

.manual-order-row.is-hidden {
    display: none;
}

.admin-add-line {
    width: fit-content;
    color: #2d2219 !important;
    background: rgba(189, 146, 80, .24) !important;
    border-color: rgba(189, 146, 80, .45) !important;
}

.admin-order-lines select,
.admin-order-lines input {
    min-height: 42px;
}

@media (max-width: 960px) {
    .shop-hero,
    .shop-products {
        grid-template-columns: 1fr;
    }

    .shop-hero img {
        height: 240px;
    }
}

@media (max-width: 760px) {
    .shop-header {
        grid-template-columns: 116px 1fr;
        padding: 0 12px;
    }

    .shop-header .brand {
        height: 82px;
    }

    .shop-header nav a {
        min-height: 32px;
        padding: 0 9px;
        font-size: 12px;
    }

    .shop-hero {
        width: calc(100% - 20px);
        margin-top: 22px;
        padding: 18px;
    }

    .shop-hero h1 {
        font-size: 45px;
    }

    .shop-hero span {
        font-size: 15px;
    }

    .shop-products {
        width: calc(100% - 20px);
    }
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background:
        radial-gradient(circle at 15% 10%, rgba(126, 89, 42, .18), transparent 24rem),
        linear-gradient(90deg, rgba(95, 70, 42, .08) 1px, transparent 1px),
        var(--cream);
    background-size: auto, 34px 34px, auto;
    font-family: Inter, Arial, sans-serif;
    cursor: url("cursor-cali.png") 7 4, auto;
}

a {
    color: inherit;
    text-decoration: none;
}

a,
button,
.btn,
.brand,
.product-card,
.gallery-row img {
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.main-nav a,
.hero h1,
.script,
.lead,
.feature h2,
.feature p,
.story-text p,
.story-text strong,
.products h2,
.product-card h3,
.today h2,
.time-card span,
.time-card h3,
.time-card p,
.atelier-copy p,
.atelier-copy h2,
.atelier-copy span,
.atelier-icons b,
.gallery h2,
.footer a,
.footer-brand strong,
address {
    transition:
        color .24s ease,
        text-shadow .24s ease,
        transform .24s ease,
        letter-spacing .24s ease,
        opacity .24s ease;
}

.main-nav a:hover,
.footer a:hover {
    color: #ffd890;
    text-shadow: 0 0 14px rgba(227, 189, 119, .42);
}

.hero-copy:hover h1,
.story-text:hover .script,
.products h2:hover,
.atelier-copy:hover h2,
.gallery h2:hover {
    color: #3a2a1d;
    text-shadow: 0 8px 24px rgba(189, 146, 80, .28);
    transform: translateY(-2px);
}

.cake-atelier .atelier-copy:hover h2 {
    color: #ffd890;
    text-shadow: 0 0 20px rgba(227, 189, 119, .46);
}

@keyframes titleGlow {
    0%, 100% {
        text-shadow: 0 0 0 rgba(189, 146, 80, 0), 0 2px 0 rgba(255, 255, 255, .16);
        filter: brightness(1);
    }
    45% {
        text-shadow: 0 0 16px rgba(227, 189, 119, .36), 0 0 32px rgba(189, 146, 80, .14);
        filter: brightness(1.08);
    }
}

@keyframes titleSweep {
    0% {
        background-position: 220% 0;
    }
    100% {
        background-position: -220% 0;
    }
}

@keyframes ctaPulse {
    0%, 100% {
        box-shadow: 0 0 0 rgba(189, 146, 80, 0), 0 0 0 0 rgba(189, 146, 80, .25);
        transform: translateY(0);
    }
    45% {
        box-shadow: 0 12px 24px rgba(112, 75, 28, .24), 0 0 0 7px rgba(189, 146, 80, .08);
        transform: translateY(-2px);
    }
}

@keyframes lineGlow {
    0%, 100% {
        opacity: .45;
        filter: brightness(1);
    }
    50% {
        opacity: 1;
        filter: brightness(1.35);
    }
}

.products h2,
.today h2,
.gallery h2,
.atelier-copy h2,
.atelier-copy p {
    --title-color: currentColor;
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    background:
        linear-gradient(105deg, var(--title-color) 0 34%, #ffeab5 43%, #ffffff 50%, #ffe0a3 57%, var(--title-color) 66% 100%);
    background-size: 280% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: titleGlow 2.8s ease-in-out infinite, titleSweep 3.8s linear infinite;
    text-align: center;
}

.products h2,
.gallery h2 {
    --title-color: #2d2219;
}

.today h2,
.atelier-copy h2,
.atelier-copy p {
    --title-color: #e3bd77;
}

.products h2::after,
.today h2::after,
.gallery h2::after,
.atelier-copy h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    width: 72%;
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(189, 146, 80, .9), transparent);
    box-shadow: 0 0 12px rgba(189, 146, 80, .42);
    opacity: .75;
}

.today:hover h2,
.today h2:hover {
    --title-color: #ffd890;
    text-shadow: 0 0 20px rgba(227, 189, 119, .52);
    transform: translateY(-2px);
}

.feature:hover h2,
.feature:hover p,
.time-card:hover span,
.time-card:hover h3,
.time-card:hover p,
.atelier-icons b:hover {
    color: #ffe0a3;
    text-shadow: 0 0 16px rgba(227, 189, 119, .46);
}

.feature:hover .line-icon {
    transform: translateY(-2px) scale(1.04);
    filter: drop-shadow(0 0 10px rgba(189, 146, 80, .38));
}

.line-icon {
    transition: transform .24s ease, filter .24s ease, border-color .24s ease;
}

img {
    display: block;
    max-width: 100%;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 58px;
    display: grid;
    grid-template-columns: 156px 1fr auto;
    align-items: center;
    gap: 22px;
    padding: 0 32px;
    background: rgba(19, 18, 16, .97);
    color: #f5ead7;
    border-bottom: 2px solid var(--gold);
}

.brand {
    position: relative;
    width: 156px;
    height: 94px;
    margin-bottom: -36px;
    padding: 10px 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
    color: #f2ddba;
    background: transparent;
    border: 0;
    clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .4);
}

.brand::before,
.brand::after {
    content: "";
    position: absolute;
    inset: 0;
    clip-path: inherit;
}

.brand::before {
    z-index: -2;
    background: var(--gold);
}

.brand::after {
    z-index: -1;
    inset: 2px;
    background: #221f1a;
}

.brand > * {
    position: relative;
    z-index: 1;
}

.brand-mark {
    font-size: 17px;
    line-height: 1;
}

.brand strong {
    font: 700 22px/.84 Cormorant Garamond, serif;
    letter-spacing: .04em;
}

.brand small {
    margin-top: 2px;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .12em;
}

.main-nav {
    display: flex;
    justify-content: center;
    gap: clamp(14px, 3vw, 42px);
    font: 800 17px/1 Cormorant Garamond, serif;
    letter-spacing: .02em;
}

.menu-toggle {
    display: none;
}

.main-nav a {
    padding: 22px 0;
    border-bottom: 1px solid transparent;
    color: #f4e6cc;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .35);
}

.main-nav .active,
.main-nav a:hover {
    color: #e7c990;
    border-color: var(--gold);
}

.order-top,
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 22px;
    border-radius: 4px;
    border: 1px solid var(--gold);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
}

.order-top,
.btn.primary {
    color: #fff7e9;
    background: var(--gold);
}

.auth-top {
    position: absolute;
    top: 10px;
    right: 178px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    color: #f4e6cc;
    border: 1px solid rgba(189, 146, 80, .55);
    border-radius: 999px;
    font: 900 13px/1 Inter, Arial, sans-serif;
    text-decoration: none;
    white-space: nowrap;
}

.auth-top:hover {
    color: #211811;
    background: #d7ad69;
}

.btn.outline {
    color: var(--ink);
    background: rgba(255, 252, 244, .56);
}

.order-top:hover,
.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(112, 75, 28, .25), 0 0 0 1px rgba(255, 232, 184, .25) inset;
}

.hero-actions .btn {
    animation: ctaPulse 3.2s ease-in-out infinite;
}

.hero-actions .btn.outline {
    animation-delay: .6s;
}

.hero {
    min-height: 470px;
    display: grid;
    grid-template-columns: minmax(290px, 35%) 1fr;
    border-bottom: 1px solid var(--line);
    overflow: hidden;
}

.hero-copy {
    position: relative;
    z-index: 2;
    padding: 92px 28px 58px;
    background:
        linear-gradient(90deg, rgba(245, 232, 208, .98), rgba(245, 232, 208, .86) 78%, rgba(245, 232, 208, 0)),
        radial-gradient(circle at 100% 95%, rgba(78, 48, 22, .22), transparent 14rem);
}

.script {
    margin: 0 0 8px;
    color: #3c512f;
    font: 700 clamp(28px, 4vw, 42px)/.9 "Cormorant Garamond", serif;
    font-style: italic;
    transform: rotate(-5deg);
    transform-origin: left center;
}

.hero h1 {
    max-width: 560px;
    margin: 0;
    color: #2e2218;
    font: 800 clamp(54px, 7vw, 90px)/.83 "Playfair Display", serif;
}

.lead {
    max-width: 440px;
    margin: 24px 0 24px;
    font: 600 17px/1.35 Cormorant Garamond, serif;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hero-image {
    position: relative;
    min-height: 470px;
    background: #191512;
}

.hero-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(25, 18, 12, .18), rgba(25, 18, 12, .04) 42%, rgba(25, 18, 12, .34)),
        linear-gradient(0deg, rgba(16, 13, 10, .34), rgba(16, 13, 10, 0) 42%, rgba(16, 13, 10, .22));
    pointer-events: none;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 48%;
    filter: saturate(1.08) contrast(1.05) sepia(.08) brightness(.88);
}

.note {
    position: absolute;
    z-index: 2;
    left: 7%;
    bottom: 6%;
    width: min(290px, 45%);
    padding: 22px 28px;
    color: #1f1913;
    background: #efe0c5;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .22);
    font: 700 23px/.95 Cormorant Garamond, serif;
    font-style: italic;
    transform: rotate(-7deg);
}

.seal {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 24px;
    width: 112px;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    color: #e3bd77;
    border: 2px solid var(--gold);
    border-radius: 50%;
    text-align: center;
    text-transform: uppercase;
    font: 800 12px/1.25 Cormorant Garamond, serif;
    letter-spacing: .08em;
    background: rgba(21, 20, 18, .72);
}

.feature-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: 20px 28px;
    color: #f1dfc0;
    background: var(--charcoal);
    border-top: 1px solid var(--gold);
    border-bottom: 1px solid var(--gold);
}

.feature {
    min-height: 96px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: center;
    column-gap: 18px;
    padding: 0 clamp(18px, 2vw, 28px);
    border-right: 1px solid var(--line);
}

.feature:last-child {
    border-right: 0;
}

.line-icon {
    grid-row: 1 / span 2;
    position: relative;
    width: 46px;
    aspect-ratio: 1;
    border: 2px solid var(--gold);
    border-radius: 8px;
    opacity: .9;
}

.line-icon.oven::before {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 10px;
    height: 18px;
    border: 2px solid var(--gold);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border-bottom: 0;
}

.line-icon.wheat {
    border: 0;
    border-radius: 0;
    background: linear-gradient(135deg, transparent 44%, var(--gold) 45% 55%, transparent 56%);
}

.line-icon.wheat::before,
.line-icon.wheat::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 9px;
    border-radius: 100% 0;
    background: var(--gold);
}

.line-icon.wheat::before {
    left: 8px;
    top: 12px;
    transform: rotate(-35deg);
    box-shadow: 10px 12px 0 var(--gold);
}

.line-icon.wheat::after {
    right: 7px;
    top: 23px;
    transform: rotate(145deg);
    box-shadow: -10px 12px 0 var(--gold);
}

.line-icon.cake {
    border-radius: 50% 50% 8px 8px;
}

.line-icon.cake::before {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 12px;
    height: 15px;
    border-top: 2px solid var(--gold);
    border-bottom: 2px solid var(--gold);
}

.line-icon.open {
    position: relative;
}

.line-icon.open::after {
    content: "OPEN";
    position: absolute;
    inset: 20px 4px auto;
    text-align: center;
    font-size: 11px;
    font-weight: 800;
    color: var(--gold);
}

.feature h2 {
    margin: 0;
    color: #d9ad68;
    font: 800 clamp(21px, 1.85vw, 25px)/.9 Cormorant Garamond, serif;
}

.feature p {
    grid-column: 2;
    margin: 5px 0 0;
    font: 600 14px/1.2 Cormorant Garamond, serif;
}

.story {
    display: grid;
    grid-template-columns: 31% 1fr;
    gap: 24px;
    padding: 28px 26px 22px;
    align-items: center;
    background: rgba(250, 244, 233, .58);
}

.story-text p:not(.script) {
    margin: 12px 0 16px;
    font: 600 17px/1.35 Cormorant Garamond, serif;
}

.story-text strong {
    display: block;
    font: 700 21px/1.1 Cormorant Garamond, serif;
    font-style: italic;
}

.polaroids {
    display: grid;
    grid-template-columns: 1fr .85fr 1.08fr;
    gap: 16px;
    align-items: center;
}

.polaroids figure {
    margin: 0;
    padding: 8px 8px 28px;
    background: #f7efe2;
    box-shadow: 0 8px 22px rgba(58, 43, 27, .25);
    transform: rotate(-4deg);
}

.polaroids figure:nth-child(2) {
    padding-bottom: 8px;
    transform: rotate(5deg);
}

.polaroids figure:nth-child(3) {
    padding-bottom: 8px;
    transform: rotate(2deg);
}

.polaroids img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

figcaption {
    padding-top: 12px;
    text-align: center;
    font: 800 16px/1 Cormorant Garamond, serif;
    letter-spacing: .08em;
}

.products {
    padding: 20px 24px 28px;
}

.products h2,
.today h2,
.gallery h2 {
    margin: 0 0 18px;
    text-align: center;
    color: #2d2219;
    font: 800 clamp(32px, 4vw, 44px)/1 Cormorant Garamond, serif;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.product-card {
    position: relative;
    overflow: hidden;
    border-radius: 7px;
    background: var(--olive);
    border: 1px solid rgba(65, 55, 38, .34);
    box-shadow: 0 4px 12px rgba(46, 34, 22, .16);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    color: inherit;
    text-decoration: none;
}

.product-card:hover {
    transform: translateY(-5px);
    border-color: rgba(189, 146, 80, .75);
    box-shadow: 0 14px 26px rgba(46, 34, 22, .22);
}

.product-card:hover h3 {
    color: #ffe6b2;
    text-shadow: 0 0 14px rgba(227, 189, 119, .42);
}

.product-card img {
    width: 100%;
    aspect-ratio: 1.05;
    object-fit: cover;
}

.product-card h3 {
    min-height: 68px;
    margin: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 12px 8px 14px;
    color: #fff7e5;
    text-align: center;
    font: 800 clamp(17px, 2.1vw, 23px)/.88 Cormorant Garamond, serif;
}

.product-card::after {
    content: none;
}

.today {
    margin: 0 16px 0;
    padding: 24px 20px 18px;
    color: #ecd7b2;
    background:
        linear-gradient(rgba(15, 14, 12, .94), rgba(15, 14, 12, .94)),
        repeating-linear-gradient(0deg, transparent 0 20px, rgba(255,255,255,.02) 20px 21px);
    border: 2px solid var(--gold);
    border-radius: 8px;
}

.today h2 {
    color: #e3bd77;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.timeline {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.time-card {
    position: relative;
    min-height: 228px;
    padding: 2px 16px 8px;
    text-align: center;
    border-right: 1px solid var(--line);
    transition: background .24s ease, transform .24s ease;
}

.time-card:hover {
    background: rgba(189, 146, 80, .08);
    transform: translateY(-3px);
}

.time-card:last-child {
    border-right: 0;
}

.time-card span {
    display: block;
    color: #f7e8cb;
    font: 900 20px/1 Inter, Arial, sans-serif;
}

.time-card h3 {
    margin: 8px 0 10px;
    color: #ead0a1;
    font: 900 21px/1 Cormorant Garamond, serif;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.time-card img {
    width: 112px;
    height: 86px;
    margin: 0 auto 12px;
    object-fit: cover;
    border-radius: 50%;
}

.time-card p {
    max-width: 150px;
    margin: 0 auto;
    color: #f3e4c7;
    font: 800 17px/1.22 Cormorant Garamond, serif;
    text-wrap: balance;
}

.today aside {
    margin-top: 14px;
    padding: 12px;
    text-align: center;
    border: 1px solid var(--line);
    font: 700 22px/1.1 Cormorant Garamond, serif;
    font-style: italic;
}

.cake-atelier {
    margin-top: 20px;
    min-height: 250px;
    display: grid;
    grid-template-columns: 270px 1fr 250px;
    align-items: center;
    gap: 26px;
    padding: 22px 28px;
    color: #f1dfc0;
    background:
        radial-gradient(circle at 50% 35%, rgba(189, 146, 80, .16), transparent 28rem),
        #11100f;
    overflow: hidden;
}

.cake-atelier img {
    width: 100%;
    height: 185px;
    object-fit: cover;
    border-radius: 3px;
}

.atelier-copy {
    text-align: center;
}

.atelier-copy p {
    margin: 0 0 4px;
    color: #d4aa68;
    letter-spacing: .32em;
    font-weight: 800;
}

.atelier-copy h2 {
    margin: 0 0 6px;
    color: #e6bd78;
    font: 800 clamp(32px, 4vw, 45px)/1 Cormorant Garamond, serif;
}

.atelier-copy span {
    display: block;
    max-width: 650px;
    margin: 0 auto;
    color: #f4e1bd;
    font: 700 19px/1.32 Cormorant Garamond, serif;
}

.atelier-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 20px 0 22px;
    color: #d4aa68;
    font: 800 15px/1.15 Cormorant Garamond, serif;
}

.atelier-icons b {
    min-height: 46px;
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    color: #f7dfae;
    background: rgba(189, 146, 80, .12);
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px rgba(255, 238, 194, .05);
    white-space: nowrap;
    text-wrap: balance;
}

.gallery {
    padding: 30px 18px 22px;
    background: rgba(250, 244, 233, .65);
}

.gallery h2 {
    margin-bottom: 18px;
    font-style: italic;
}

.gallery-row {
    display: grid;
    grid-template-columns: 1.05fr .98fr 1.22fr 1.1fr .98fr;
    gap: 8px;
}

.gallery-row img {
    width: 100%;
    height: 156px;
    object-fit: cover;
    border: 4px solid #eadcc4;
    transition: transform .24s ease, filter .24s ease, border-color .24s ease;
}

.gallery-row img:hover {
    transform: translateY(-4px);
    filter: saturate(1.12) contrast(1.06);
    border-color: #d7ad69;
}

.footer {
    padding: 0;
    color: #f1dfc0;
    background:
        radial-gradient(circle at 18% 20%, rgba(189, 146, 80, .13), transparent 20rem),
        linear-gradient(180deg, #171512, #10100e);
    border-top: 1px solid var(--gold);
    border-bottom: 2px solid var(--gold);
}

.footer-main {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.25fr;
    gap: 28px;
    align-items: start;
    padding: 34px 32px 28px;
}

.footer-brand strong {
    display: block;
    color: #e3bd77;
    font: 800 34px/1 Cormorant Garamond, serif;
    letter-spacing: .04em;
}

.footer-brand span,
.footer-column span,
.footer-column p,
address {
    font-style: normal;
    color: #e8d5b5;
    font: 600 14px/1.55 Inter, Arial, sans-serif;
}

.footer-column span {
    display: block;
}

.footer-brand span {
    display: block;
    margin-bottom: 12px;
    color: #d6a864;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.footer-brand p {
    max-width: 390px;
    margin: 0 0 16px;
    color: #e8d5b5;
    font: 600 14px/1.55 Inter, Arial, sans-serif;
}

.footer-social {
    display: flex;
    gap: 9px;
}

.footer-social a {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #f8e6c4;
    border: 1px solid rgba(189, 146, 80, .58);
    border-radius: 50%;
    background: rgba(255, 255, 255, .03);
    font-size: 11px;
    font-weight: 900;
}

.footer-column h2 {
    margin: 4px 0 13px;
    color: #e3bd77;
    font: 800 22px/1 Cormorant Garamond, serif;
}

.footer-column a:not(.footer-phone) {
    display: block;
    width: fit-content;
    margin-bottom: 9px;
    color: #f1dfc0;
    font: 700 14px/1.2 Inter, Arial, sans-serif;
}

.footer-phone {
    display: inline-block;
    margin: 13px 0 6px;
    color: #e3bd77;
    font: 800 28px/1 Cormorant Garamond, serif;
}

.footer-cta p {
    margin: 0 0 14px;
}

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

.footer-actions a {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff8e7;
    background: #906c34;
    border: 1px solid var(--gold);
    border-radius: 4px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    width: 100%;
    margin: 0;
}

.footer-actions a:first-child {
    grid-column: 1 / -1;
    background: #365735;
    border-color: #6fa46e;
}

.footer-actions a:nth-child(2),
.footer-actions a:nth-child(3) {
    background: rgba(144, 108, 52, .78);
}

.footer-cta .footer-actions a {
    display: flex;
    width: 100%;
    margin: 0;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 32px;
    color: #c6ad82;
    border-top: 1px solid rgba(189, 146, 80, .28);
    background: rgba(0, 0, 0, .18);
    font: 700 12px/1.35 Inter, Arial, sans-serif;
}

.menu-page {
    background:
        radial-gradient(circle at 10% 0, rgba(189, 146, 80, .16), transparent 22rem),
        linear-gradient(90deg, rgba(95, 70, 42, .06) 1px, transparent 1px),
        var(--cream);
    background-size: auto, 34px 34px, auto;
}

.qr-topbar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 16px 22px;
    color: #f4e6cc;
    background: #151412;
    border-bottom: 2px solid var(--gold);
}

.qr-topbrand {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    color: #f3d9aa;
    font: 800 28px/1 Cormorant Garamond, serif;
}

.qr-topbrand span {
    color: #d9ad68;
    font: 900 12px/1 Inter, Arial, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.qr-actions {
    min-width: 300px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.menu-category-title p {
    margin: 0 0 8px;
    color: #d9ad68;
    font-weight: 900;
    letter-spacing: .26em;
}

.qr-actions a,
.qr-footer a {
    min-height: 42px;
    display: grid;
    place-items: center;
    padding: 0 18px;
    color: #fff8e7;
    background: var(--gold);
    border: 1px solid #d8b06f;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.qr-actions a:first-child {
    background: #365735;
    border-color: #6fa46e;
}

.category-carousel {
    position: sticky;
    top: 0;
    z-index: 12;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(21, 20, 18, .96);
    border-bottom: 1px solid var(--gold);
}

.category-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 36px;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) #151412;
    mask-image: linear-gradient(90deg, transparent 0, #000 42px, #000 calc(100% - 42px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 42px, #000 calc(100% - 42px), transparent 100%);
}

.menu-page .category-tabs {
    top: auto;
}

.category-tabs::-webkit-scrollbar {
    height: 7px;
}

.category-tabs::-webkit-scrollbar-track {
    background: #151412;
}

.category-tabs::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, #8f692f, #d7ad69, #8f692f);
    border-radius: 999px;
    border: 1px solid rgba(21, 20, 18, .9);
}

.category-tabs button {
    flex: 0 0 auto;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    color: #f2dfbe;
    border: 1px solid rgba(189, 146, 80, .45);
    border-radius: 999px;
    background: rgba(255, 255, 255, .03);
    font-size: 13px;
    font-weight: 800;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.category-tabs button.is-active {
    color: #211811;
    background: #d7ad69;
    border-color: #f1d39b;
    box-shadow: 0 0 18px rgba(189, 146, 80, .28);
}

@media (min-width: 1180px) {
    .category-tabs {
        width: fit-content;
        max-width: 100%;
        justify-self: center;
        justify-content: flex-start;
    }
}

.category-arrow {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #f8e8c7;
    background: rgba(189, 146, 80, .16);
    border: 1px solid rgba(189, 146, 80, .75);
    border-radius: 50%;
    box-shadow: 0 0 14px rgba(189, 146, 80, .18);
    font: 900 28px/1 Cormorant Garamond, serif;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.category-arrow:hover {
    color: #241b14;
    background: #d7ad69;
}

.qr-menu {
    width: min(1180px, calc(100% - 32px));
    margin: 22px auto 36px;
}

.menu-category {
    display: none;
    scroll-margin-top: 78px;
    margin-bottom: 24px;
}

.menu-category.is-visible {
    display: block;
}

.menu-all-title {
    display: none;
}

.menu-page.is-all-menu .menu-all-title {
    display: block;
    max-width: 760px;
    margin: 26px auto 20px;
    padding: 18px 18px 16px;
    text-align: center;
    border-top: 1px solid rgba(189, 146, 80, .55);
    border-bottom: 1px solid rgba(189, 146, 80, .55);
    background:
        linear-gradient(90deg, transparent, rgba(189, 146, 80, .13), transparent),
        rgba(255, 250, 240, .42);
}

.menu-all-title p {
    margin: 0 0 8px;
    color: #b98640;
    font-weight: 900;
    letter-spacing: .32em;
    text-transform: uppercase;
}

.menu-all-title h1 {
    margin: 0;
    color: #2d2219;
    font: 900 clamp(38px, 5vw, 60px)/.95 Cormorant Garamond, serif;
}

.menu-category-title {
    display: block;
    margin: 24px 0 13px;
    text-align: center;
}

.menu-category-title h2 {
    margin: 0;
    color: #2d2219;
    font: 800 clamp(30px, 4vw, 44px)/1 Cormorant Garamond, serif;
}

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

.menu-item {
    min-height: 168px;
    display: grid;
    grid-template-columns: 96px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .32);
    border-radius: 7px;
    box-shadow: 0 8px 18px rgba(46, 34, 22, .08);
}

.menu-item::before {
    content: "";
    width: 96px;
    height: 96px;
    display: block;
    border-radius: 6px;
    background:
        linear-gradient(180deg, rgba(21, 20, 18, .08), rgba(21, 20, 18, .18)),
        url("bread.jpg") center / cover;
    border: 1px solid rgba(189, 146, 80, .42);
    box-shadow: inset 0 0 0 1px rgba(255, 238, 194, .08);
}

.menu-item.has-image::before {
    display: none;
}

.menu-thumb {
    width: 96px;
    height: 96px;
    display: block;
    border-radius: 6px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border: 1px solid rgba(189, 146, 80, .42);
    box-shadow: inset 0 0 0 1px rgba(255, 238, 194, .08);
}

.menu-item span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 9px;
    color: #2e241a;
    background: rgba(189, 146, 80, .22);
    border: 1px solid rgba(189, 146, 80, .45);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.menu-item h3 {
    margin: 8px 0 6px;
    color: #2e241a;
    font: 800 25px/.95 Cormorant Garamond, serif;
}

.menu-item p {
    margin: 0;
    color: #554536;
    font: 650 14px/1.42 Inter, Arial, sans-serif;
}

.menu-item strong {
    min-width: 72px;
    padding: 9px 10px;
    color: #fff8e7;
    background: #2f3928;
    border: 1px solid rgba(189, 146, 80, .55);
    border-radius: 4px;
    text-align: center;
    font: 900 16px/1 Inter, Arial, sans-serif;
}

.menu-empty {
    max-width: 620px;
    margin: 48px auto;
    padding: 28px;
    text-align: center;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .35);
    border-radius: 8px;
}

.menu-empty h2 {
    margin: 0 0 8px;
    color: #2d2219;
    font: 800 34px/1 Cormorant Garamond, serif;
}

.menu-empty p {
    margin: 0 0 16px;
    color: #5d4c3b;
}

.menu-empty a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 18px;
    color: #211811;
    background: #d7ad69;
    border-radius: 4px;
    font-weight: 900;
    text-decoration: none;
}

.admin-page {
    min-height: 100vh;
    color: #f8ead0;
    background:
        radial-gradient(circle at top left, rgba(215, 173, 105, .18), transparent 34%),
        linear-gradient(rgba(17, 16, 14, .9), rgba(17, 16, 14, .94)),
        url("storefront-real.jpg") center / cover fixed;
    font-family: Inter, sans-serif;
}

.admin-page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(215, 173, 105, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(215, 173, 105, .05) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(180deg, #000, transparent 82%);
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 82%);
}

.admin-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 26px 0 46px;
}

.admin-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 24px;
    background: rgba(255, 250, 240, .08);
    border: 1px solid rgba(189, 146, 80, .38);
    border-radius: 8px;
    box-shadow: 0 24px 54px rgba(0, 0, 0, .24);
}

.admin-hero p {
    margin: 0 0 6px;
    color: #d7ad69;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.admin-hero h1 {
    margin: 0;
    font: 900 clamp(38px, 5vw, 62px)/.95 Cormorant Garamond, serif;
}

.admin-hero nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.admin-hero a,
.admin-card button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    color: #211811;
    background: #d7ad69;
    border: 1px solid #f1d39b;
    border-radius: 4px;
    font-weight: 900;
    text-decoration: none;
    cursor: url("cursor-cali.png") 7 4, pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.admin-hero a:hover,
.admin-card button:hover,
.admin-row-actions a:hover,
.admin-actions a:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(89, 60, 25, .18);
}

.admin-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0;
}

.admin-stats article {
    padding: 16px;
    background: rgba(255, 250, 240, .9);
    border: 1px solid rgba(189, 146, 80, .36);
    border-radius: 8px;
    color: #2d2219;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
}

.admin-stats span {
    display: block;
    margin-bottom: 6px;
    color: #8b642e;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-stats strong {
    display: block;
    font: 900 34px/1 Cormorant Garamond, serif;
}

.admin-panel-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin: 16px 0 20px;
}

.admin-panel-nav button {
    position: relative;
    min-height: 70px;
    padding: 14px 42px 14px 16px;
    color: #f8ead0;
    background:
        linear-gradient(135deg, rgba(255, 250, 240, .10), rgba(189, 146, 80, .08)),
        rgba(255, 250, 240, .05);
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 8px;
    text-align: left;
    font-weight: 900;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .16);
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-panel-nav button::after {
    content: "+";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #211811;
    background: #d7ad69;
    transform: translateY(-50%);
}

.admin-panel-nav button.is-active,
.admin-panel-nav button:hover {
    color: #211811;
    background: #d7ad69;
}

.admin-panel-nav button.is-active::after,
.admin-panel-nav button:hover::after {
    content: "-";
    color: #f8ead0;
    background: #211811;
}

.admin-panel-block {
    display: none;
}

.admin-grid.admin-panel-block,
.admin-card.admin-panel-block {
    display: none;
}

.admin-panel-block.is-open {
    display: grid;
}

.admin-grid.admin-panel-block.is-open {
    display: grid;
}

.admin-card.admin-panel-block.is-open {
    display: block;
}

.admin-grid {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-top: 14px;
}

.admin-edit-card {
    grid-column: 1 / -1;
}

.admin-card {
    padding: 20px;
    background: rgba(255, 250, 240, .94);
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 8px;
    color: #2d2219;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
}

.admin-card h2 {
    margin: 0 0 14px;
    font: 900 32px/1 Cormorant Garamond, serif;
}

.admin-card label {
    display: grid;
    gap: 7px;
    margin-bottom: 12px;
    font-weight: 900;
}

.admin-card input,
.admin-card select,
.admin-card textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(95, 70, 38, .28);
    border-radius: 4px;
    font: 700 14px/1.35 Inter, sans-serif;
    outline: none;
}

.admin-card input:focus,
.admin-card select:focus,
.admin-card textarea:focus {
    border-color: rgba(189, 146, 80, .85);
    box-shadow: 0 0 0 3px rgba(189, 146, 80, .16);
}

.admin-card textarea {
    resize: vertical;
}

.admin-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.admin-notice,
.admin-error {
    margin: 16px 0 0;
    padding: 12px 14px;
    border-radius: 5px;
    font-weight: 900;
}

.admin-notice {
    color: #163414;
    background: #cfe8c8;
}

.admin-error {
    color: #501a14;
    background: #ffd6cc;
}

.admin-login {
    max-width: 430px;
    margin: 0;
}

.admin-login-wrap {
    min-height: 430px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 18px;
    align-items: stretch;
    margin: 18px 0 0;
}

.admin-login-copy {
    display: grid;
    align-content: center;
    padding: 28px;
    color: #f8ead0;
    background:
        linear-gradient(135deg, rgba(215, 173, 105, .22), rgba(255, 250, 240, .05)),
        rgba(18, 17, 15, .66);
    border: 1px solid rgba(189, 146, 80, .42);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .24);
}

.admin-login-copy p {
    margin: 0 0 10px;
    color: #d7ad69;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.admin-login-copy h2 {
    max-width: 560px;
    margin: 0 0 12px;
    font: 900 clamp(40px, 6vw, 76px)/.9 Cormorant Garamond, serif;
}

.admin-login-copy span {
    max-width: 500px;
    color: #ead8b8;
    font-weight: 800;
    line-height: 1.55;
}

.admin-login.admin-card {
    display: grid;
    align-content: center;
    padding: 28px;
}

.admin-list {
    margin-top: 14px;
}

.admin-list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.admin-list-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-list-head p {
    margin: 0 0 4px;
    color: #8b642e;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-list-head h2 {
    margin: 0;
}

.admin-list-head a,
.admin-list-actions button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    color: #211811;
    background: rgba(189, 146, 80, .24);
    border: 1px solid rgba(189, 146, 80, .45);
    border-radius: 4px;
    font-weight: 900;
    text-decoration: none;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-category-list {
    padding: 16px 0 4px;
    border-top: 1px solid rgba(189, 146, 80, .24);
}

.admin-product-finder {
    display: grid;
    gap: 12px;
    margin: 12px 0 18px;
    padding: 14px;
    background: rgba(47, 57, 40, .06);
    border: 1px solid rgba(189, 146, 80, .22);
    border-radius: 8px;
}

.admin-product-finder label {
    display: grid;
    gap: 7px;
    color: #2d2219;
    font-weight: 900;
}

.admin-product-finder input {
    min-height: 44px;
    padding: 0 12px;
    color: #2d2219;
    background: #fffaf0;
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 8px;
    font-weight: 800;
}

.admin-product-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-product-category-tabs button {
    min-height: 36px;
    padding: 0 13px;
    color: #2d2219;
    background: rgba(255, 250, 240, .78);
    border: 1px solid rgba(189, 146, 80, .46);
    border-radius: 999px;
    font-weight: 900;
    cursor: url("cursor-cali.png") 7 4, pointer;
}

.admin-product-category-tabs button.is-active,
.admin-product-category-tabs button:hover {
    color: #fff8e7;
    background: #2f3928;
}

.admin-category-list.is-collapsed {
    display: none;
}

.admin-category-list h3 {
    width: fit-content;
    margin: 0 0 12px;
    padding: 6px 12px;
    color: #6d4a1f;
    background: rgba(189, 146, 80, .18);
    border: 1px solid rgba(189, 146, 80, .32);
    border-radius: 999px;
    font: 900 22px/1 Cormorant Garamond, serif;
}

.admin-category-list article {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) auto auto;
    gap: 14px;
    align-items: center;
    min-height: 96px;
    margin-bottom: 10px;
    padding: 10px;
    background: rgba(255, 255, 255, .54);
    border: 1px solid rgba(45, 34, 25, .08);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(45, 34, 25, .06);
}

.admin-category-list article[hidden] {
    display: none !important;
}

.admin-product-image {
    width: 74px;
    height: 74px;
    display: block;
    border-radius: 7px;
    background: url("bread.jpg") center / cover;
    border: 1px solid rgba(189, 146, 80, .36);
}

.admin-product-info {
    min-width: 0;
}

.admin-product-info em {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    margin-bottom: 6px;
    padding: 0 8px;
    color: #2d2219;
    background: rgba(189, 146, 80, .22);
    border: 1px solid rgba(189, 146, 80, .36);
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-product-info strong {
    display: block;
    color: #2d2219;
    font: 900 24px/1 Cormorant Garamond, serif;
}

.admin-category-list small {
    display: block;
    max-width: 520px;
    margin-top: 4px;
    color: #705d49;
    font-weight: 800;
    line-height: 1.35;
}

.admin-category-list article > b {
    min-width: 78px;
    padding: 9px 10px;
    color: #fff8e7;
    background: #2f3928;
    border-radius: 4px;
    text-align: center;
    font: 900 15px/1 Inter, sans-serif;
}

.admin-category-list form {
    margin: 0;
}

.admin-row-actions,
.admin-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.admin-row-actions a,
.admin-actions a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    color: #2d2219;
    background: rgba(189, 146, 80, .24);
    border: 1px solid rgba(189, 146, 80, .45);
    border-radius: 4px;
    font-weight: 900;
    text-decoration: none;
}

.admin-category-list button {
    min-height: 34px;
    padding: 0 12px;
    color: #fff8ec;
    background: #593025;
    border-color: #734237;
}

.admin-help {
    margin: -4px 0 12px;
    color: #705d49;
    font-weight: 800;
}

.qr-footer {
    display: grid;
    gap: 8px;
    justify-items: center;
    padding: 26px 18px 32px;
    color: #ead8b8;
    background: #151412;
    border-top: 1px solid var(--gold);
    text-align: center;
}

.qr-footer strong {
    color: #e3bd77;
    font: 800 28px/1 Cormorant Garamond, serif;
}

.qr-footer span {
    font: 650 13px/1.4 Inter, Arial, sans-serif;
}

.qr-footer a {
    margin-top: 8px;
    background: transparent;
}

@media (max-width: 960px) {
    .site-header {
        position: sticky;
        display: grid;
        grid-template-columns: 56px 1fr 104px;
        align-items: center;
        height: 72px;
        min-height: 72px;
        padding: 0 14px;
        gap: 8px;
        border-bottom: 1px solid rgba(189, 146, 80, .86);
        overflow: visible;
    }

    .site-header::after {
        content: none;
    }

    .brand {
        position: absolute;
        left: 50%;
        top: 0;
        z-index: 19;
        width: 106px;
        height: 72px;
        margin: 0;
        padding: 7px 10px 16px;
        transform: translateX(-50%);
        justify-content: flex-start;
        gap: 1px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .46), 0 0 0 1px rgba(255, 232, 184, .16) inset;
    }

    .brand-mark {
        font-size: 14px;
    }

    .brand strong {
        font-size: 17px;
        line-height: .84;
    }

    .brand small {
        font-size: 7px;
        letter-spacing: .1em;
    }

    .menu-toggle,
    .auth-top,
    .order-top {
        width: 42px;
        height: 42px;
        min-height: 42px;
        display: inline-grid;
        place-items: center;
        padding: 0;
        color: #ffe8bd;
        background:
            linear-gradient(180deg, rgba(255, 232, 184, .13), rgba(189, 146, 80, .08)),
            rgba(15, 14, 12, .92);
        border: 1px solid rgba(215, 173, 105, .86);
        border-radius: 8px;
        box-shadow: 0 10px 22px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 245, 220, .08) inset;
        font-size: 0;
        text-decoration: none;
        text-transform: none;
        letter-spacing: 0;
    }

    .menu-toggle {
        position: relative;
        z-index: 21;
        grid-column: 1;
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .menu-toggle span {
        width: 21px;
        height: 2px;
        display: block;
        background: #ffe8bd;
        border-radius: 999px;
        transition: transform .24s ease, opacity .24s ease;
    }

    .menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

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

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

    .auth-top,
    .order-top {
        position: absolute;
        top: 15px;
        z-index: 21;
        right: 64px;
    }

    .main-nav {
        position: absolute;
        left: 14px;
        right: 14px;
        top: 72px;
        z-index: 18;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        justify-content: stretch;
        max-height: 0;
        padding: 0 18px;
        overflow: hidden;
        background: rgba(19, 18, 16, .98);
        border: 0;
        border-radius: 0 0 8px 8px;
        opacity: 0;
        box-shadow: 0 18px 34px rgba(0, 0, 0, .34);
        transition: max-height .28s ease, padding .28s ease, border-color .22s ease, opacity .22s ease;
    }

    .main-nav.is-open {
        max-height: 360px;
        padding: 10px 18px 14px;
        border: 1px solid rgba(189, 146, 80, .34);
        border-top: 0;
        opacity: 1 !important;
    }

    .main-nav a {
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border-bottom: 1px solid rgba(189, 146, 80, .22);
        font-size: 18px;
        white-space: normal;
    }

    .main-nav a:last-child {
        border-bottom: 0;
    }

    .order-top {
        right: 14px;
    }

    .site-header:not(:has(.order-top)) .auth-top {
        right: 14px;
    }

    .auth-top::before {
        content: "";
        width: 15px;
        height: 15px;
        border: 2px solid currentColor;
        border-radius: 50%;
        box-shadow: 0 13px 0 -4px currentColor;
    }

    .order-top::before {
        content: "";
        width: 18px;
        height: 14px;
        border: 2px solid currentColor;
        border-top: 0;
        border-radius: 3px 3px 5px 5px;
        box-shadow: 5px -8px 0 -6px currentColor, -5px -8px 0 -6px currentColor;
    }

    .order-top {
        font-size: 0;
    }

    .order-top::after {
        content: none;
    }

    .order-top[data-count]:not([data-count="0"])::after {
        content: attr(data-count);
        position: absolute;
        top: -8px;
        right: -7px;
        min-width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 5px;
        color: #211811;
        background: #d7ad69;
        border: 1px solid #fff2cf;
        border-radius: 999px;
        box-shadow: 0 6px 12px rgba(0, 0, 0, .28);
        font: 950 11px/1 Inter, Arial, sans-serif;
    }

    .hero,
    .story,
    .cake-atelier,
    .footer-main {
        grid-template-columns: 1fr;
    }

    .hero-copy {
        padding-top: 74px;
    }

    .feature-strip,
    .product-grid,
    .timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .feature:nth-child(2) {
        border-right: 0;
    }

    .time-card:nth-child(2n) {
        border-right: 0;
    }

    .atelier-icons {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .atelier-icons b {
        white-space: normal;
    }

    .qr-topbar {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .qr-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
        min-width: 0;
    }

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

@media (max-width: 760px) {
    .menu-items {
        grid-template-columns: 1fr;
    }

    .menu-item {
        min-height: 118px;
        grid-template-columns: 82px 1fr auto;
        padding: 12px;
        gap: 12px;
    }

    .menu-item::before {
        width: 82px;
        height: 82px;
    }

    .menu-thumb {
        width: 82px;
        height: 82px;
    }

    .menu-item h3 {
        font-size: 23px;
    }

    .menu-item p {
        font-size: 13px;
    }

    .menu-item strong {
        min-width: 64px;
        padding: 8px 9px;
        font-size: 14px;
    }
}

@media (max-width: 620px) {
    .site-header {
        grid-template-columns: 48px 1fr 96px;
        height: 68px;
        min-height: 68px;
        padding: 0 10px;
    }

    .brand {
        width: 104px;
        height: 70px;
        padding-bottom: 16px;
    }

    .brand-mark {
        font-size: 15px;
    }

    .brand strong {
        font-size: 17px;
        line-height: .84;
    }

    .brand small {
        margin-top: 2px;
        font-size: 7px;
        line-height: 1;
        letter-spacing: .1em;
    }

    .menu-toggle {
        width: 40px;
        height: 40px;
        min-height: 40px;
    }

    .auth-top {
        top: 14px;
        right: 58px;
        width: 40px;
        height: 40px;
        min-height: 40px;
    }

    .order-top {
        top: 14px;
        right: 10px;
        width: 40px;
        height: 40px;
        min-height: 40px;
    }

    .site-header:not(:has(.order-top)) .auth-top {
        right: 10px;
    }

    .main-nav {
        left: 10px;
        right: 10px;
        top: 68px;
    }

    .main-nav.is-open {
        max-height: 360px;
    }

    .main-nav a {
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        white-space: normal;
        border-bottom: 1px solid rgba(189, 146, 80, .22);
        font-size: 18px;
    }

    .main-nav a:last-child {
        border-bottom: 0;
    }

    .hero {
        display: flex;
        flex-direction: column-reverse;
    }

    .hero-image {
        height: 320px;
        min-height: 320px;
    }

    .hero-image img {
        height: 100%;
        object-position: 58% 50%;
    }

    .hero-copy {
        padding: 28px 22px 34px;
    }

    .hero h1 {
        font-size: 48px;
    }

    .note,
    .seal {
        display: none;
    }

    .feature-strip,
    .timeline,
    .polaroids,
    .gallery-row,
    .footer-actions {
        grid-template-columns: 1fr;
    }

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

    .product-card img {
        aspect-ratio: 1.08;
    }

    .product-card h3 {
        min-height: 64px;
        padding: 10px 6px 12px;
        font-size: 20px;
    }

    .footer-main {
        padding: 28px 22px 24px;
    }

    .footer-bottom {
        flex-direction: column;
        padding: 14px 22px;
    }

    .feature,
    .time-card {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .feature-strip {
        padding: 14px 16px;
    }

    .feature {
        position: relative;
        min-height: 130px;
        grid-template-columns: 68px minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: 16px;
        padding: 18px 4px 18px 8px;
        border-bottom: 0;
    }

    .feature:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(227, 189, 119, .85), transparent);
        box-shadow: 0 0 12px rgba(227, 189, 119, .32);
        animation: lineGlow 2.8s ease-in-out infinite;
    }

    .feature .line-icon {
        width: 52px;
        align-self: center;
        justify-self: center;
    }

    .feature h2 {
        align-self: end;
        font-size: 25px;
        line-height: .9;
    }

    .feature p {
        grid-column: 2;
        align-self: start;
        margin-top: 9px;
        max-width: 235px;
        font-size: 16px;
        line-height: 1.25;
    }

    .feature:last-child,
    .time-card:last-child {
        border-bottom: 0;
    }

    .timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        border: 0;
    }

    .time-card {
        min-height: 238px;
        display: grid;
        grid-template-rows: 26px 28px 88px 46px;
        align-content: center;
        justify-items: center;
        padding: 16px 10px 18px;
        border-right: 0;
        border-bottom: 0;
    }

    .time-card span {
        font-size: 21px;
    }

    .time-card h3 {
        margin: 0 0 12px;
        font-size: 20px;
    }

    .time-card img {
        width: 106px;
        height: 82px;
        margin: 0 0 0;
    }

    .time-card p {
        max-width: 150px;
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        text-align: center;
    }

    .time-card:nth-child(2n) {
        border-right: 0;
    }

    .time-card:last-child {
        border-bottom: 0;
    }

    .time-card:hover {
        transform: none;
    }

    .time-card:nth-child(odd)::before {
        content: "";
        position: absolute;
        top: 14px;
        right: 0;
        bottom: 14px;
        width: 1px;
        background: linear-gradient(180deg, transparent, rgba(227, 189, 119, .78), transparent);
        box-shadow: 0 0 10px rgba(227, 189, 119, .32);
    }

    .time-card:nth-child(-n + 4)::after {
        content: "";
        position: absolute;
        left: 14px;
        right: 14px;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(227, 189, 119, .78), transparent);
        box-shadow: 0 0 10px rgba(227, 189, 119, .32);
    }

    .products,
    .today {
        margin-inline: 0;
        border-radius: 0;
    }

    .cake-atelier {
        gap: 14px;
    }

    .menu-page {
        background:
            radial-gradient(circle at 10% 0, rgba(189, 146, 80, .16), transparent 18rem),
            linear-gradient(90deg, rgba(95, 70, 42, .06) 1px, transparent 1px),
            var(--cream);
        background-size: auto, 34px 34px, auto;
    }

    .qr-topbar {
        padding: 13px 14px 12px;
    }

    .qr-topbrand {
        justify-content: center;
        font-size: 25px;
    }

    .qr-actions {
        gap: 8px;
    }

    .qr-actions a {
        min-height: 38px;
        padding: 0 10px;
        font-size: 11px;
    }

    .category-tabs {
        padding: 4px 24px;
        mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
    }

    .category-tabs button {
        min-height: 34px;
        padding: 0 12px;
        font-size: 12px;
    }

    .qr-menu {
        width: calc(100% - 20px);
        margin: 14px auto 28px;
    }

    .menu-category {
        scroll-margin-top: 64px;
        margin-bottom: 26px;
    }

    .menu-category-title h2 {
        font-size: 32px;
    }

    .menu-items {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .menu-item {
        height: 150px;
        min-height: 150px;
        grid-template-columns: 82px minmax(0, 1fr) 64px;
        padding: 12px;
        gap: 12px;
    }

    .menu-item::before {
        width: 82px;
        height: 82px;
    }

    .menu-item h3 {
        font-size: 23px;
    }

    .menu-item p {
        font-size: 13px;
    }

    .menu-item strong {
        grid-column: auto;
        justify-self: end;
        min-width: 68px;
        font-size: 14px;
        padding: 8px 10px;
    }

    .admin-shell {
        width: calc(100% - 20px);
        padding-top: 16px;
    }

    .admin-hero {
        display: grid;
        align-items: start;
        padding: 18px;
    }

    .admin-hero nav {
        justify-content: stretch;
    }

    .admin-hero a {
        flex: 1;
    }

    .admin-login-wrap {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .admin-login-copy {
        padding: 20px;
    }

    .admin-stats {
        grid-template-columns: 1fr;
    }

    .admin-grid,
    .admin-form-row {
        grid-template-columns: 1fr;
    }

    .admin-list-head {
        display: grid;
    }

    .admin-category-list article {
        grid-template-columns: 64px 1fr;
        align-items: start;
        min-height: 0;
    }

    .admin-product-image {
        width: 64px;
        height: 64px;
    }

    .admin-category-list article > b,
    .admin-row-actions {
        grid-column: 2;
        justify-content: flex-start;
    }

    .admin-category-list article > b {
        width: fit-content;
        min-width: 72px;
    }

    .admin-order-lines div {
        grid-template-columns: 1fr 74px;
    }
}

.admin-grid.admin-panel-block:not(.is-open),
.admin-card.admin-panel-block:not(.is-open),
.admin-panel-block:not(.is-open) {
    display: none !important;
}

.admin-grid.admin-panel-block.is-open {
    display: grid !important;
}

.admin-card.admin-panel-block.is-open {
    display: block !important;
}

/* Header final cleanup: desktop keeps four links, mobile keeps the full drawer. */
.site-header {
    position: sticky;
    top: 0;
    z-index: 80;
    min-height: 78px;
    display: grid;
    grid-template-columns: minmax(160px, .7fr) minmax(360px, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 2.6vw, 48px);
    padding: 0 clamp(22px, 5vw, 96px);
    color: #f7ead2;
    background: rgba(11, 10, 8, .985);
    border-bottom: 2px solid var(--gold);
    overflow: visible;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .26);
}

.site-header .brand {
    grid-column: 1;
    justify-self: start;
    align-self: start;
    width: 176px;
    height: 112px;
    margin: 0 0 -34px;
    padding: 13px 14px 22px;
}

.site-header .brand-mark {
    font-size: 17px;
}

.site-header .brand strong {
    font-size: 28px;
    line-height: .78;
}

.site-header .brand small {
    font-size: 9px;
    letter-spacing: .13em;
}

.site-header .main-nav {
    grid-column: 2;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(28px, 4vw, 70px);
    padding: 0;
    font: 900 clamp(16px, 1.25vw, 20px)/1 Inter, Arial, sans-serif;
    letter-spacing: 0;
}

.site-header .main-nav a {
    min-height: 78px;
    display: inline-flex;
    align-items: center;
    padding: 0;
    color: #f5ead8;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}

.site-header .main-nav a:nth-child(3),
.site-header .main-nav a:nth-child(5),
.site-header .main-nav a:nth-child(7) {
    display: none;
}

.site-header .main-nav .active,
.site-header .main-nav a:hover {
    color: #f5d18f;
    border-color: #d7ad69;
}

.site-header .menu-toggle {
    display: none;
}

.site-header .header-actions {
    grid-column: 3;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-header .auth-top,
.site-header .cart-top {
    position: relative;
    inset: auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0 15px;
    color: #f8ead2;
    background:
        linear-gradient(180deg, rgba(255, 232, 184, .12), rgba(189, 146, 80, .07)),
        rgba(13, 12, 9, .62);
    border: 1px solid rgba(215, 173, 105, .7);
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .22), inset 0 0 0 1px rgba(255, 245, 220, .06);
    font: 900 13px/1 Inter, Arial, sans-serif;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    transition: background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.site-header .auth-top:hover,
.site-header .cart-top:hover {
    color: #211811;
    background: #d7ad69;
    box-shadow: 0 0 28px rgba(215, 173, 105, .28);
    transform: translateY(-1px);
}

.site-header .header-action-icon {
    position: relative;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border: 1px solid rgba(215, 173, 105, .88);
    border-radius: 50%;
}

.site-header .account-icon::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 7px;
    width: 8px;
    height: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.site-header .account-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 19px;
    width: 14px;
    height: 7px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

.site-header .cart-icon::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 10px;
    width: 14px;
    height: 11px;
    border: 2px solid currentColor;
    border-top: 0;
    transform: skewX(-8deg);
}

.site-header .cart-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 24px;
    width: 19px;
    height: 4px;
    border-radius: 999px;
    background:
        radial-gradient(circle at 4px 2px, currentColor 0 2px, transparent 2.3px),
        radial-gradient(circle at 15px 2px, currentColor 0 2px, transparent 2.3px);
}

.site-header .cart-top b {
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    color: #fff9ec;
    background: linear-gradient(180deg, #dcb86f, #af7a31);
    border-radius: 999px;
    font-size: 12px;
}

.site-header .order-top {
    display: none;
}

@media (max-width: 1100px) {
    .site-header {
        min-height: 74px;
        grid-template-columns: auto 44px minmax(86px, 1fr);
        gap: 10px;
        padding: 0 12px;
    }

    .site-header .brand {
        grid-column: 1;
        justify-self: start;
        width: 112px;
        height: 76px;
        margin: 0 0 -8px;
        padding: 7px 10px 15px;
    }

    .site-header .brand-mark {
        font-size: 14px;
    }

    .site-header .brand strong {
        font-size: 18px;
    }

    .site-header .brand small {
        font-size: 6px;
    }

    .site-header .menu-toggle {
        grid-column: 2;
        position: relative;
        inset: auto;
        width: 42px;
        min-width: 42px;
        height: 40px;
        min-height: 40px;
        display: inline-grid;
        grid-template-columns: 1fr;
        place-items: center;
        margin: 0;
        padding: 0;
        overflow: hidden;
        color: transparent;
        background:
            linear-gradient(180deg, rgba(255, 232, 184, .12), rgba(189, 146, 80, .08)),
            rgba(16, 15, 12, .78);
        border: 1px solid rgba(215, 173, 105, .72);
        border-radius: 8px;
        box-shadow: 0 10px 22px rgba(0, 0, 0, .24), inset 0 0 0 1px rgba(255, 245, 220, .06);
        z-index: 5;
    }

    .site-header .menu-toggle span {
        grid-column: 1;
        width: 19px;
        height: 2px;
        display: block;
        margin: 0;
        background: #f3d9a9;
        border-radius: 999px;
        transition: transform .22s ease, opacity .22s ease;
    }

    .site-header .menu-toggle span:nth-child(1) {
        transform: translateY(5px);
    }

    .site-header .menu-toggle span:nth-child(3) {
        transform: translateY(-5px);
    }

    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(2px) rotate(45deg);
    }

    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-2px) rotate(-45deg);
    }

    .site-header .header-actions {
        grid-column: 3;
        justify-self: end;
        gap: 6px;
    }

    .site-header .auth-top,
    .site-header .cart-top {
        width: 40px;
        height: 40px;
        min-height: 40px;
        gap: 0;
        padding: 0;
    }

    .site-header .auth-top span:not(.header-action-icon),
    .site-header .cart-top span:not(.header-action-icon) {
        display: none;
    }

    .site-header .header-action-icon {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
        border-color: transparent;
    }

    .site-header .cart-top b {
        position: absolute;
        right: -5px;
        top: -6px;
        min-width: 19px;
        height: 19px;
        padding: 0 5px;
        border: 1px solid #fff2cf;
        font-size: 10px;
    }

    .site-header .main-nav {
        position: absolute;
        top: calc(100% + 2px);
        left: 12px;
        right: 12px;
        z-index: 40;
        max-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0 16px;
        overflow: hidden;
        background: rgba(15, 14, 11, .98);
        border: 0 solid rgba(189, 146, 80, .35);
        border-radius: 0 0 8px 8px;
        box-shadow: 0 18px 34px rgba(0, 0, 0, .38);
        transition: max-height .25s ease, padding .25s ease, border-width .25s ease;
    }

    .site-header .main-nav.is-open {
        max-height: 360px;
        padding: 8px 16px 12px;
        border-width: 1px;
    }

    .site-header .main-nav a,
    .site-header .main-nav a:nth-child(3),
    .site-header .main-nav a:nth-child(5),
    .site-header .main-nav a:nth-child(7) {
        min-height: 42px;
        display: flex;
        justify-content: center;
        padding: 0;
        border-bottom: 1px solid rgba(215, 173, 105, .16);
        font-size: 14px;
    }
}

@media (max-width: 430px) {
    .site-header {
        grid-template-columns: auto 40px minmax(82px, 1fr);
        gap: 6px;
        padding: 0 8px;
    }

    .site-header .brand {
        width: 104px;
        height: 74px;
    }

    .site-header .auth-top,
    .site-header .cart-top {
        width: 37px;
        height: 38px;
        min-height: 38px;
    }

    .site-header .menu-toggle {
        width: 40px;
        min-width: 40px;
        height: 38px;
        min-height: 38px;
    }
}

/* Absolute last mobile header lock. */
@media (max-width: 1100px) {
    .site-header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto 44px !important;
        min-height: 76px !important;
        padding: 0 10px !important;
    }

    .site-header .brand {
        grid-column: 1 !important;
        width: 122px !important;
        height: 84px !important;
        margin: 0 0 -10px !important;
        align-self: start !important;
        justify-self: start !important;
    }

    .site-header .header-actions {
        grid-column: 3 !important;
        justify-self: end !important;
        position: static !important;
        align-self: center !important;
        transform: none !important;
        margin: 0 !important;
    }

    .site-header .menu-toggle {
        grid-column: 4 !important;
        justify-self: end !important;
        align-self: center !important;
        position: relative !important;
        inset: auto !important;
        transform: none !important;
    }

    .site-header .auth-top,
    .site-header .cart-top {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
}

@media (max-width: 430px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto 40px !important;
    }

    .site-header .brand {
        width: 116px !important;
        height: 82px !important;
        margin-bottom: -9px !important;
    }
}

/* Header final alignment correction after visual preview. */
.site-header .brand {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    transform: none;
    width: 162px;
    height: 102px;
    margin-bottom: -24px;
    padding: 12px 14px 20px;
}

.site-header .brand strong {
    font-size: 25px;
}

@media (max-width: 1100px) {
    .site-header .brand {
        position: relative;
        left: auto;
        top: auto;
        right: auto;
        transform: none;
        width: 108px;
        height: 74px;
        margin: 0;
        padding: 7px 9px 14px;
    }

    .site-header .menu-toggle {
        justify-self: start;
        transform: none;
    }

    .site-header .header-actions {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
    }
}

@media (max-width: 1100px) {
    .site-header {
        display: grid;
        align-items: center;
    }
}

/* Mobile header order and icon polish. */
@media (max-width: 1100px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto 44px;
        min-height: 76px;
        padding: 0 10px;
    }

    .site-header .brand {
        grid-column: 1;
        width: 122px;
        height: 84px;
        margin: 0 0 -10px;
        padding: 8px 10px 17px;
        align-self: start;
        justify-self: start;
    }

    .site-header .brand strong {
        font-size: 19px;
        line-height: .8;
    }

    .site-header .brand small {
        font-size: 6px;
        letter-spacing: .1em;
    }

    .site-header .header-actions {
        grid-column: 3;
        justify-self: end;
        gap: 7px;
    }

    .site-header .menu-toggle {
        grid-column: 4;
        justify-self: end;
    }

    .site-header .auth-top,
    .site-header .cart-top,
    .site-header .menu-toggle {
        width: 42px;
        height: 42px;
        min-height: 42px;
        border-radius: 10px;
        color: #f8e7c6;
        background:
            linear-gradient(180deg, rgba(255, 236, 198, .14), rgba(189, 146, 80, .08)),
            rgba(9, 8, 6, .78);
        border: 1px solid rgba(215, 173, 105, .7);
        box-shadow: 0 10px 22px rgba(0, 0, 0, .26), inset 0 0 0 1px rgba(255, 244, 218, .07);
    }

    .site-header .header-action-icon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
        border: 0;
    }

    .site-header .account-icon::before {
        left: 8px;
        top: 3px;
        width: 7px;
        height: 7px;
        border-width: 2px;
    }

    .site-header .account-icon::after {
        left: 4px;
        top: 14px;
        width: 15px;
        height: 8px;
        border-width: 2px;
        border-radius: 12px 12px 0 0;
    }

    .site-header .cart-icon::before {
        left: 4px;
        top: 7px;
        width: 16px;
        height: 11px;
        border-width: 2px;
        border-radius: 2px 2px 5px 5px;
        transform: none;
    }

    .site-header .cart-icon::after {
        left: 5px;
        top: 20px;
        width: 17px;
        height: 4px;
    }

    .site-header .cart-top b {
        right: -6px;
        top: -7px;
        min-width: 20px;
        height: 20px;
        color: #211811;
        background: linear-gradient(180deg, #f0cc82, #bd8a3c);
        border: 1px solid #fff2cf;
        box-shadow: 0 6px 12px rgba(0, 0, 0, .26);
        font-size: 10px;
    }
}

@media (max-width: 430px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto 40px;
        gap: 6px;
        padding: 0 8px;
    }

    .site-header .brand {
        width: 116px;
        height: 82px;
        margin-bottom: -9px;
    }

    .site-header .auth-top,
    .site-header .cart-top,
    .site-header .menu-toggle {
        width: 39px;
        height: 39px;
        min-height: 39px;
    }
}
/* HOME PAGE MODULAR SECTIONS START */
.homepage-main {
    background: #fffaf3;
    color: #2e1d14;
}

.hero-section,
.feature-strip,
.popular-cakes,
.custom-cake-section,
.order-steps,
.category-section,
.daily-timeline,
.reviews-section,
.gallery-section,
.bottom-cta {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.hero-section {
    width: 100%;
    min-height: clamp(560px, 72vh, 760px);
    margin-top: 0;
    overflow: hidden;
    background: #f8efe4;
}

.hero-slider,
.hero-slide {
    position: relative;
    min-height: inherit;
}

.hero-slide {
    display: none;
    align-items: center;
    padding: 96px max(40px, calc((100vw - 1160px) / 2)) 72px;
}

.hero-slide.is-active {
    display: flex;
}

.hero-visual {
    position: absolute;
    inset: 0;
}

.hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 250, 243, .98) 0%, rgba(255, 250, 243, .82) 38%, rgba(255, 250, 243, .12) 72%);
}

.hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

.hero-copy {
    position: relative;
    z-index: 2;
    max-width: 560px;
    display: grid;
    gap: 18px;
}

.section-eyebrow {
    margin: 0;
    color: #b77b35;
    font: 800 12px/1.2 Inter, Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hero-copy h1,
.section-heading h2,
.custom-cake-copy h2,
.bottom-cta h2 {
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    color: #332016;
}

.hero-copy h1 {
    font-size: clamp(42px, 5.4vw, 76px);
    line-height: .92;
}

.hero-copy p:not(.section-eyebrow) {
    max-width: 510px;
    margin: 0;
    color: #5b4638;
    font-size: 17px;
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.btn.soft,
.btn.light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 10px;
    font-weight: 800;
    text-decoration: none;
}

.btn.soft {
    color: #7a461f;
    background: #fff3e5;
    border: 1px solid rgba(183, 123, 53, .28);
}

.btn.light {
    color: #7a461f;
    background: #fff;
}

.hero-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 4;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}

.hero-slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(121, 72, 32, .22);
}

.hero-slider-dots button.is-active {
    background: #b77b35;
}

.feature-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: -36px;
    position: relative;
    z-index: 5;
}

.feature-strip article,
.home-image-card,
.custom-cake-section,
.order-steps,
.daily-timeline,
.reviews-section,
.gallery-section {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(111, 70, 38, .1);
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(63, 38, 18, .08);
}

.feature-strip article {
    display: flex;
    gap: 12px;
    align-items: center;
    min-height: 78px;
    padding: 14px;
}

.feature-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: #8a4b21;
    background: #fff0de;
    font-weight: 900;
}

.feature-strip h2,
.feature-strip p {
    margin: 0;
}

.feature-strip h2 {
    font-size: 13px;
}

.feature-strip p {
    color: #7a6659;
    font-size: 12px;
}

.popular-cakes,
.category-section,
.daily-timeline,
.reviews-section,
.gallery-section {
    padding: 44px 0;
}

.section-heading {
    margin-bottom: 24px;
    text-align: center;
}

.section-heading h2 {
    font-size: clamp(28px, 3vw, 38px);
}

.home-card-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}

.home-image-card {
    display: grid;
    gap: 10px;
    padding: 10px;
    color: inherit;
    text-align: center;
    text-decoration: none;
}

.home-image-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    object-fit: cover;
}

.home-image-card h3,
.home-image-card p {
    margin: 0;
}

.home-image-card h3 {
    font-size: 14px;
}

.home-image-card p {
    color: #6f5a4a;
    font-size: 12px;
    line-height: 1.45;
}

.section-action {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

.custom-cake-section {
    display: grid;
    grid-template-columns: .9fr 1.25fr .85fr;
    gap: 18px;
    align-items: stretch;
    padding: 28px;
    background: linear-gradient(135deg, #fff7ed, #fff);
}

.custom-cake-copy {
    align-self: center;
    display: grid;
    gap: 14px;
}

.custom-cake-copy h2 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: .98;
}

.custom-cake-copy p,
.custom-cake-copy li {
    color: #5d4738;
    line-height: 1.65;
}

.custom-cake-copy ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.custom-cake-copy li::before {
    content: "✓";
    margin-right: 8px;
    color: #b77b35;
    font-weight: 900;
}

.custom-cake-main,
.custom-cake-side img {
    width: 100%;
    border-radius: 14px;
    object-fit: cover;
}

.custom-cake-main {
    height: 100%;
    min-height: 420px;
}

.custom-cake-side {
    display: grid;
    gap: 14px;
}

.order-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 14px;
    padding: 10px;
}

.order-steps article {
    padding: 16px;
    border-right: 1px solid rgba(111, 70, 38, .1);
}

.order-steps article:last-child {
    border-right: 0;
}

.order-steps b {
    color: #b77b35;
}

.order-steps h2,
.order-steps p {
    margin: 4px 0 0;
}

.timeline-track,
.review-grid,
.gallery-grid {
    display: grid;
    gap: 14px;
}

.timeline-track {
    grid-template-columns: repeat(6, 1fr);
}

.timeline-track article {
    text-align: center;
}

.timeline-track span {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    color: #fff;
    background: #b77b35;
    font-weight: 800;
    font-size: 12px;
}

.timeline-track img {
    width: 100%;
    aspect-ratio: 1.4 / 1;
    border-radius: 12px;
    object-fit: cover;
}

.timeline-track h3,
.timeline-track p {
    margin: 8px 0 0;
}

.timeline-track p {
    color: #6f5a4a;
    font-size: 12px;
}

.review-grid {
    grid-template-columns: repeat(3, 1fr);
}

.review-grid article {
    padding: 22px;
    border-radius: 14px;
    background: #fff;
}

.review-grid span {
    color: #d69730;
}

.gallery-grid {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-grid img {
    width: 100%;
    aspect-ratio: 1.45 / 1;
    border-radius: 12px;
    object-fit: cover;
}

.bottom-cta {
    display: grid;
    grid-template-columns: 220px 1fr auto;
    gap: 24px;
    align-items: center;
    width: 100%;
    max-width: none;
    margin-top: 26px;
    padding: 24px max(30px, calc((100vw - 1160px) / 2));
    color: #fff8ed;
    background: linear-gradient(90deg, #7f421d, #a45b28);
}

.bottom-cta img {
    width: 220px;
    height: 130px;
    object-fit: cover;
    object-position: center;
}

.bottom-cta h2,
.bottom-cta p {
    color: inherit;
    margin: 0;
}

.bottom-cta p {
    margin-top: 8px;
}

.admin-panel-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: #7f421d;
    font: 800 13px/1 Inter, Arial, sans-serif;
    text-decoration: none;
}

.admin-homepage-form {
    display: grid;
    gap: 12px;
}

.admin-homepage-form label:not(.admin-mini-check) {
    display: grid;
    gap: 6px;
    color: #f7ead6;
    font-weight: 800;
}

.admin-homepage-form input[type="text"],
.admin-homepage-form input[type="number"],
.admin-homepage-form textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(226, 177, 96, .22);
    border-radius: 10px;
    color: #fff8ea;
    background: rgba(8, 10, 12, .42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    font: 600 14px/1.45 Inter, Arial, sans-serif;
}

.admin-homepage-form input[type="text"],
.admin-homepage-form input[type="number"] {
    padding: 0 12px;
}

.admin-homepage-form textarea {
    padding: 10px 12px;
}

.admin-homepage-form input:focus,
.admin-homepage-form textarea:focus {
    border-color: rgba(226, 177, 96, .7);
    outline: 2px solid rgba(226, 177, 96, .14);
}

.admin-homepage-shell {
    gap: 16px;
}

.admin-homepage-tabs {
    position: sticky;
    top: 10px;
    z-index: 10;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: rgba(15, 18, 22, .86);
    backdrop-filter: blur(12px);
}

.admin-homepage-tabs a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    color: #f5e9d8;
    background: rgba(255, 255, 255, .06);
    font-weight: 800;
    font-size: 13px;
    text-decoration: none;
}

.admin-homepage-tabs a:hover {
    background: rgba(183, 123, 53, .3);
}

.admin-homepage-tabs a[aria-disabled="true"] {
    opacity: .48;
}

.admin-homepage-panel {
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 16px;
    background: rgba(255, 255, 255, .045);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
    overflow: hidden;
}

.admin-homepage-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.admin-homepage-panel > summary::-webkit-details-marker,
.admin-homepage-slide > summary::-webkit-details-marker {
    display: none;
}

.admin-homepage-panel > summary span,
.admin-homepage-slide > summary span {
    display: grid;
    gap: 4px;
}

.admin-homepage-panel > summary b,
.admin-homepage-slide > summary b {
    color: #fff;
    font-size: 16px;
}

.admin-homepage-panel > summary small,
.admin-homepage-slide > summary small {
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
}

.admin-homepage-panel > summary em {
    flex: 0 0 auto;
    min-width: 78px;
    padding: 8px 12px;
    border-radius: 10px;
    color: #211811;
    background: #d9a654;
    font-style: normal;
    font-weight: 900;
    text-align: center;
}

.admin-homepage-panel > form {
    padding: 0 18px 18px;
}

.admin-homepage-note {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid rgba(217, 166, 84, .2);
    border-radius: 12px;
    color: rgba(255, 255, 255, .72);
    background: rgba(217, 166, 84, .08);
    font-size: 13px;
    line-height: 1.5;
}

.admin-homepage-note strong {
    color: #ffd995;
}

.admin-homepage-section-list {
    display: grid;
    gap: 10px;
}

.admin-homepage-section {
    display: grid;
    grid-template-columns: 1fr auto 120px;
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
}

.admin-homepage-section strong,
.admin-homepage-section small {
    display: block;
}

.admin-homepage-section small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .58);
}

.admin-compact-grid {
    display: grid;
    gap: 12px;
}

.admin-compact-grid.two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.admin-compact-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-hero-editor textarea {
    min-height: 86px;
    resize: vertical;
}

.admin-homepage-slides {
    display: grid;
    gap: 12px;
}

.admin-homepage-slide {
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .035);
    overflow: hidden;
}

.admin-homepage-slide summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    cursor: pointer;
    font-weight: 900;
}

.admin-homepage-slide[open] {
    border-color: rgba(217, 166, 84, .28);
    background: rgba(255, 255, 255, .055);
}

.admin-homepage-slide > label,
.admin-homepage-slide > .admin-form-row,
.admin-homepage-slide > .admin-compact-grid {
    padding: 0 14px 14px;
}

.admin-homepage-upload {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 14px;
    border: 1px solid rgba(226, 177, 96, .18);
    border-radius: 12px;
    background: rgba(8, 10, 12, .28);
}

.admin-upload-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.admin-upload-head span {
    color: #fff;
    font-weight: 900;
}

.admin-upload-head small {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    color: #25180c;
    background: #d9a654;
    font-weight: 900;
    font-size: 11px;
}

.admin-homepage-upload p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    line-height: 1.45;
}

.admin-homepage-upload figure {
    display: grid;
    gap: 6px;
    margin: 0;
}

.admin-homepage-upload img {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    object-fit: cover;
    background: rgba(255, 255, 255, .06);
}

.admin-homepage-upload figcaption {
    overflow: hidden;
    color: rgba(255, 255, 255, .56);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-homepage-upload input[type="file"] {
    width: 100%;
    min-width: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
}

.admin-file-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.admin-file-row button,
.admin-hero-editor > button {
    min-height: 40px;
    border: 0;
    border-radius: 10px;
    color: #211811;
    background: linear-gradient(180deg, #f0c777, #c99345);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
    font: 900 13px/1 Inter, Arial, sans-serif;
    cursor: pointer;
}

.admin-file-row button {
    padding: 0 14px;
    white-space: nowrap;
}

.admin-hero-editor > button {
    justify-self: end;
    padding: 0 18px;
}

@media (max-width: 1199px) {
    .home-card-grid,
    .timeline-track {
        grid-template-columns: repeat(3, 1fr);
    }

    .feature-strip,
    .order-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .custom-cake-section {
        grid-template-columns: 1fr 1fr;
    }

    .custom-cake-copy {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .hero-section,
    .hero-slider,
    .hero-slide {
        min-height: 520px;
    }

    .hero-slide {
        align-items: end;
        padding: 110px 18px 74px;
        text-align: center;
    }

    .hero-visual::after {
        background: linear-gradient(180deg, rgba(255, 250, 243, .35), rgba(255, 250, 243, .96) 68%);
    }

    .hero-copy {
        max-width: none;
        justify-items: center;
        gap: 12px;
    }

    .hero-copy h1 {
        font-size: 36px;
    }

    .hero-copy p:not(.section-eyebrow) {
        font-size: 14px;
        line-height: 1.55;
    }

    .hero-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    .feature-strip,
    .popular-cakes,
    .custom-cake-section,
    .order-steps,
    .category-section,
    .daily-timeline,
    .reviews-section,
    .gallery-section {
        width: min(100% - 24px, 520px);
    }

    .feature-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: -22px;
    }

    .feature-strip article {
        min-height: 70px;
        padding: 10px;
    }

    .home-card-grid,
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .popular-cakes .home-card-grid {
        display: flex;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
    }

    .popular-cakes .home-image-card {
        min-width: 42vw;
        scroll-snap-align: start;
    }

    .custom-cake-section {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .custom-cake-main {
        min-height: 260px;
    }

    .custom-cake-side {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .order-steps article {
        border-right: 0;
    }

    .timeline-track {
        display: flex;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
    }

    .timeline-track article {
        min-width: 140px;
        scroll-snap-align: start;
    }

    .review-grid {
        display: flex;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .review-grid article {
        min-width: 78%;
    }

    .bottom-cta {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 22px 18px;
        text-align: center;
    }

    .bottom-cta img {
        width: min(240px, 100%);
        margin: 0 auto;
        border-radius: 14px;
    }

    .admin-homepage-section {
        grid-template-columns: 1fr;
    }

    .admin-compact-grid.two,
    .admin-compact-grid.four {
        grid-template-columns: 1fr;
    }

    .admin-homepage-panel > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-homepage-slide summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-file-row {
        grid-template-columns: 1fr;
    }

    .admin-file-row button,
    .admin-hero-editor > button {
        width: 100%;
    }
}
/* HOME PAGE MODULAR SECTIONS END */

/* LIVE PREMIUM POLISH START */
.site-header {
    min-height: 76px !important;
    background:
        linear-gradient(180deg, rgba(27, 22, 17, .96), rgba(13, 11, 9, .94)) !important;
    border-bottom: 1px solid rgba(222, 174, 96, .42) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .2) !important;
}

.site-header .brand {
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .2));
}

.site-header .main-nav a {
    border-radius: 999px !important;
    transition: color .2s ease, background .2s ease, transform .2s ease !important;
}

.site-header .main-nav a:hover {
    transform: translateY(-1px);
}

.site-header .header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.site-header .auth-top,
.site-header .cart-top,
.site-header .menu-toggle {
    flex: 0 0 auto !important;
    background:
        linear-gradient(180deg, rgba(255, 242, 209, .16), rgba(185, 126, 50, .1)),
        rgba(18, 14, 11, .86) !important;
    border: 1px solid rgba(224, 177, 102, .62) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .24), inset 0 0 0 1px rgba(255, 255, 255, .06) !important;
}

.site-header .cart-top b {
    background: linear-gradient(180deg, #f2cf82, #bf873c) !important;
    color: #24170d !important;
}

.hero-section.hero-safe {
    width: 100%;
    min-height: clamp(560px, 72vh, 760px);
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #110d09;
}

.hero-safe-media {
    position: absolute;
    inset: 0;
}

.hero-safe-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 76% 42%, rgba(232, 181, 103, .16), transparent 28%),
        linear-gradient(90deg, rgba(18, 12, 8, .94) 0%, rgba(42, 27, 17, .75) 38%, rgba(42, 27, 17, .18) 72%, rgba(18, 12, 8, .12) 100%),
        linear-gradient(180deg, rgba(255, 250, 243, .04), rgba(255, 250, 243, .16));
}

.hero-safe-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
    transform: scale(1.01);
}

.hero-safe-inner {
    position: relative;
    z-index: 2;
    width: min(1160px, calc(100% - 44px));
    margin: 0 auto;
    padding: 96px 0 82px;
}

.hero-safe-copy {
    max-width: 620px;
    display: grid;
    gap: 18px;
    color: #fff5df;
}

.hero-safe-copy .section-eyebrow {
    color: #e0b166;
}

.hero-safe-copy h1 {
    margin: 0;
    color: #fff7e6;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(46px, 5.8vw, 78px);
    line-height: .9;
}

.hero-safe-copy > p:not(.section-eyebrow) {
    max-width: 540px;
    margin: 0;
    color: rgba(255, 246, 226, .86);
    font-size: 17px;
    line-height: 1.75;
}

.hero-safe .btn.primary {
    background: linear-gradient(180deg, #b86d2e, #844118);
    box-shadow: 0 16px 34px rgba(91, 42, 16, .32);
}

.hero-safe .btn.outline {
    color: #fff3d5;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(231, 185, 111, .55);
}

.hero-safe-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.hero-safe-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid rgba(225, 178, 103, .34);
    border-radius: 999px;
    color: #ffe8b8;
    background: rgba(255, 255, 255, .075);
    font-size: 12px;
    font-weight: 900;
}

.feature-strip {
    margin-top: 22px !important;
    margin-bottom: 8px;
    padding: 10px;
    border: 1px solid rgba(142, 85, 42, .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 18px 46px rgba(75, 42, 18, .09);
}

.feature-strip article {
    border: 0;
    background: linear-gradient(180deg, #fffdf8, #fff2e2);
}

.feature-icon {
    color: #fff;
    background: linear-gradient(180deg, #c4863d, #8b481f);
}

.custom-cake-section {
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 247, 237, .96), rgba(255, 255, 255, .96)),
        radial-gradient(circle at 80% 18%, rgba(216, 166, 84, .18), transparent 34%);
}

.custom-cake-copy li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.custom-cake-copy li::before {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    border-radius: 999px;
    color: #fff;
    background: #b77b35;
    font-size: 12px;
}

.order-steps {
    position: relative;
    border-radius: 18px;
    background: #fffaf2;
}

.order-steps article {
    position: relative;
    display: grid;
    gap: 6px;
    min-height: 122px;
    border-right: 1px solid rgba(133, 80, 37, .1);
    border-radius: 12px;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.order-steps b {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(180deg, #c89143, #8d481f);
    box-shadow: 0 10px 20px rgba(141, 72, 31, .2);
}

.order-steps h2 {
    color: #332016;
    font-size: 15px;
}

.order-steps p {
    color: #6b5446;
    line-height: 1.45;
}

.reviews-section {
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 252, 247, .94), rgba(255, 244, 231, .94));
}

.review-grid article {
    border: 1px solid rgba(142, 85, 42, .1);
    box-shadow: 0 14px 34px rgba(77, 43, 20, .08);
    transition: transform .22s ease, box-shadow .22s ease;
}

.review-grid article strong {
    display: block;
    margin-top: 12px;
    color: #332016;
}

.review-grid article small {
    color: #9c6a31;
    font-weight: 800;
}

.site-footer.footer {
    margin-top: 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(226, 177, 96, .12), transparent 30%),
        linear-gradient(180deg, #17110d, #0f0c0a) !important;
    border-top: 1px solid rgba(224, 177, 102, .32);
}

.site-footer .footer-main {
    gap: 26px;
}

.site-footer .footer-brand,
.site-footer .footer-column {
    padding: 18px;
    border: 1px solid rgba(224, 177, 102, .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}

.site-footer .footer-social a,
.site-footer .footer-actions a {
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

@media (hover: hover) {
    .home-image-card:hover,
    .review-grid article:hover,
    .order-steps article:hover {
        transform: translateY(-4px);
        box-shadow: 0 22px 48px rgba(77, 43, 20, .14);
    }

    .site-footer .footer-social a:hover,
    .site-footer .footer-actions a:hover {
        transform: translateY(-2px);
    }
}

@media (max-width: 1100px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto 46px !important;
        min-height: 70px !important;
        height: 70px !important;
        padding: 0 10px !important;
        overflow: visible !important;
    }

    .site-header .brand {
        width: 112px !important;
        height: 78px !important;
        margin: 0 0 -8px !important;
        padding: 8px 9px 15px !important;
    }

    .site-header .header-actions {
        grid-column: 3 !important;
        gap: 6px !important;
        align-self: center !important;
        position: static !important;
        transform: none !important;
    }

    .site-header .menu-toggle {
        grid-column: 4 !important;
        align-self: center !important;
        width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        position: static !important;
        transform: none !important;
    }

    .site-header .auth-top,
    .site-header .cart-top {
        width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
    }

    .site-header .header-action-icon {
        width: 22px !important;
        height: 22px !important;
        flex-basis: 22px !important;
    }

    .site-header .cart-top b {
        top: -7px !important;
        right: -7px !important;
    }

    .site-header .main-nav {
        top: calc(100% + 10px) !important;
    }
}

@media (max-width: 767px) {
    .site-header {
        min-height: 66px !important;
        height: 66px !important;
    }

    .site-header .brand {
        width: 104px !important;
        height: 74px !important;
    }

    .site-header .auth-top,
    .site-header .cart-top,
    .site-header .menu-toggle {
        width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
    }

    .hero-section.hero-safe {
        min-height: 560px;
    }

    .hero-safe-media::after {
        background:
            linear-gradient(180deg, rgba(18, 12, 8, .18), rgba(18, 12, 8, .92) 68%, rgba(18, 12, 8, .98)),
            radial-gradient(circle at 50% 20%, rgba(232, 181, 103, .16), transparent 34%);
    }

    .hero-safe-media img {
        object-position: center top;
    }

    .hero-safe-inner {
        width: min(100% - 28px, 520px);
        align-self: end;
        padding: 132px 0 44px;
    }

    .hero-safe-copy {
        justify-items: center;
        text-align: center;
    }

    .hero-safe-copy h1 {
        font-size: 38px;
    }

    .hero-safe-copy > p:not(.section-eyebrow) {
        font-size: 14px;
        line-height: 1.55;
    }

    .hero-safe-badges {
        justify-content: center;
    }

    .feature-strip {
        margin-top: 16px !important;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .hero-safe-media img {
        animation: caliHeroBreath 12s ease-in-out infinite alternate;
    }

    .feature-strip article,
    .order-steps article,
    .review-grid article {
        animation: caliSoftFloat 7s ease-in-out infinite;
    }

    .feature-strip article:nth-child(2),
    .order-steps article:nth-child(2),
    .review-grid article:nth-child(2) {
        animation-delay: .7s;
    }

    .feature-strip article:nth-child(3),
    .order-steps article:nth-child(3),
    .review-grid article:nth-child(3) {
        animation-delay: 1.4s;
    }
}

@keyframes caliHeroBreath {
    from { transform: scale(1.01); }
    to { transform: scale(1.045); }
}

@keyframes caliSoftFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}
/* LIVE PREMIUM POLISH END */

/* LIVE BEIGE REFINEMENT START */
.site-header {
    color: #2d1d13 !important;
    background:
        linear-gradient(180deg, rgba(255, 249, 239, .98), rgba(245, 229, 205, .96)) !important;
    border-bottom: 1px solid rgba(174, 111, 47, .28) !important;
    box-shadow: 0 12px 30px rgba(87, 52, 21, .12) !important;
}

.site-header::after {
    background: linear-gradient(90deg, transparent, rgba(174, 111, 47, .46), transparent) !important;
}

.site-header .brand {
    color: #2f1e13 !important;
    background:
        linear-gradient(180deg, #2f1e13, #15100c) !important;
    border-color: rgba(191, 134, 61, .78) !important;
}

.site-header .main-nav a {
    color: #3a281d !important;
}

.site-header .main-nav .active,
.site-header .main-nav a:hover {
    color: #fff6e6 !important;
    background: linear-gradient(180deg, #b67632, #804018) !important;
}

.site-header .auth-top,
.site-header .cart-top,
.site-header .menu-toggle {
    color: #3a2416 !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(242, 219, 186, .96)) !important;
    border: 1px solid rgba(174, 111, 47, .42) !important;
    box-shadow: 0 10px 22px rgba(112, 65, 24, .14), inset 0 0 0 1px rgba(255, 255, 255, .56) !important;
}

.site-header .auth-top:hover,
.site-header .cart-top:hover,
.site-header .menu-toggle:hover {
    background: linear-gradient(180deg, #fffaf0, #e7c894) !important;
}

.site-header .menu-toggle span {
    background: #6e3b16 !important;
}

.site-footer.footer {
    color: #3b281c;
    background:
        radial-gradient(circle at 14% 20%, rgba(189, 124, 53, .12), transparent 32%),
        linear-gradient(180deg, #fff7eb, #ead4b8) !important;
    border-top: 1px solid rgba(174, 111, 47, .22);
}

.site-footer .footer-brand,
.site-footer .footer-column {
    color: #3b281c;
    border-color: rgba(174, 111, 47, .16);
    background: rgba(255, 255, 255, .58);
    box-shadow: 0 16px 36px rgba(102, 60, 23, .09);
}

.site-footer .footer-brand strong,
.site-footer .footer-column h2 {
    color: #3a2114;
}

.site-footer .footer-brand p,
.site-footer .footer-column p,
.site-footer .footer-column span,
.site-footer address,
.site-footer .footer-bottom {
    color: #6d5544;
}

.site-footer a {
    color: #744018 !important;
}

.site-footer .footer-social a,
.site-footer .footer-actions a {
    color: #fff7e8 !important;
    background: linear-gradient(180deg, #a86429, #7c3d17) !important;
}

.feature-strip {
    gap: 14px;
    padding: 12px;
    background:
        linear-gradient(180deg, rgba(255, 252, 246, .88), rgba(255, 239, 218, .88));
}

.feature-strip article {
    position: relative;
    min-height: 92px;
    padding: 16px;
    border: 1px solid rgba(171, 103, 41, .12);
    border-radius: 14px;
    overflow: hidden;
}

.feature-strip article::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -30px;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: rgba(188, 122, 52, .09);
}

.feature-icon {
    position: relative;
    z-index: 1;
    width: 42px;
    height: 42px;
    font-size: 0;
}

.feature-icon::before {
    content: "";
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 6px;
    color: #fff6e6;
}

.feature-strip article:nth-child(2) .feature-icon::before {
    border-radius: 50%;
}

.feature-strip article:nth-child(3) .feature-icon::before {
    width: 20px;
    height: 14px;
    border-radius: 3px 3px 8px 8px;
}

.feature-strip article:nth-child(4) .feature-icon::before {
    transform: rotate(45deg);
}

.feature-strip h2 {
    color: #392417;
    font-size: 14px;
}

.feature-strip p {
    color: #7a5b43;
}

.custom-cake-section {
    grid-template-columns: .9fr 1.05fr 1.05fr;
}

.custom-cake-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: center;
}

.custom-cake-side img {
    aspect-ratio: 1 / 1;
    height: auto;
}

.order-steps {
    padding: 14px;
    gap: 12px;
    background:
        linear-gradient(180deg, rgba(255, 252, 246, .96), rgba(255, 240, 219, .96));
}

.order-steps article {
    border: 1px solid rgba(151, 91, 35, .1);
    background: rgba(255, 255, 255, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}

.order-steps article::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 18px;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(178, 112, 45, .35), transparent);
}

.daily-timeline {
    overflow: hidden;
}

.timeline-track {
    scrollbar-width: none;
}

.timeline-track::-webkit-scrollbar {
    display: none;
}

@media (max-width: 1100px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto auto !important;
        align-items: center !important;
    }

    .site-header .header-actions {
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: end !important;
        height: 42px !important;
        display: flex !important;
        align-items: center !important;
    }

    .site-header .menu-toggle {
        grid-column: 4 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: end !important;
        margin-left: 4px !important;
    }

    .site-header .auth-top,
    .site-header .cart-top,
    .site-header .menu-toggle {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        top: auto !important;
        bottom: auto !important;
        inset: auto !important;
    }
}

@media (max-width: 767px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto auto !important;
        padding: 0 8px !important;
    }

    .site-header .header-actions {
        gap: 5px !important;
    }

    .site-header .auth-top,
    .site-header .cart-top,
    .site-header .menu-toggle {
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        border-radius: 9px !important;
    }

    .site-header .header-action-icon {
        width: 20px !important;
        height: 20px !important;
        flex-basis: 20px !important;
    }

    .custom-cake-section {
        grid-template-columns: 1fr;
    }

    .custom-cake-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .timeline-track {
        overflow-x: auto;
        -ms-overflow-style: none;
    }

    .daily-timeline:hover .timeline-track,
    .daily-timeline:focus-within .timeline-track {
        transform: translateX(-28px);
        transition: transform 1.4s ease;
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
    .timeline-track {
        animation: caliTimelinePeek 8s ease-in-out infinite;
    }
}

@keyframes caliTimelinePeek {
    0%, 62%, 100% { transform: translateX(0); }
    78% { transform: translateX(-24px); }
}
/* LIVE BEIGE REFINEMENT END */

/* HEADER CACHE FIX AND LIGHT PREMIUM NAV START */
.site-header {
    grid-template-columns: auto minmax(420px, 1fr) auto !important;
    column-gap: clamp(18px, 3vw, 42px) !important;
    background:
        linear-gradient(180deg, rgba(255, 250, 241, .98), rgba(243, 226, 200, .97)) !important;
}

.site-header .brand {
    color: #3a2416 !important;
    background:
        linear-gradient(180deg, #fff8ea, #ead1a8) !important;
    border: 2px solid rgba(126, 68, 24, .82) !important;
    box-shadow: 0 14px 26px rgba(93, 52, 18, .18), inset 0 0 0 1px rgba(255, 255, 255, .62) !important;
}

.site-header .brand-mark,
.site-header .brand strong,
.site-header .brand small {
    color: #3a2416 !important;
    text-shadow: none !important;
}

.site-header .main-nav {
    justify-self: center !important;
    justify-content: center !important;
    width: min(100%, 680px) !important;
    background: rgba(255, 255, 255, .42) !important;
    border: 1px solid rgba(156, 92, 34, .12) !important;
    border-radius: 999px !important;
    padding: 5px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

.site-header .main-nav a {
    color: #4b3020 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-header .main-nav .active,
.site-header .main-nav a:hover {
    color: #5e3213 !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(239, 216, 184, .92)) !important;
    box-shadow: 0 8px 18px rgba(115, 66, 25, .1), inset 0 0 0 1px rgba(155, 91, 36, .12) !important;
    transform: translateY(-1px) !important;
}

.site-header .auth-top,
.site-header .cart-top {
    color: #4a2b18 !important;
}

.site-header .header-actions {
    justify-self: end !important;
}

@media (max-width: 1100px) {
    .site-header {
        grid-template-columns: auto minmax(0, 1fr) auto auto !important;
        column-gap: 6px !important;
    }

    .site-header .main-nav {
        grid-column: 1 / -1 !important;
        width: min(100% - 20px, 420px) !important;
        padding: 10px !important;
        border-radius: 16px !important;
        background: rgba(255, 249, 239, .98) !important;
        border: 1px solid rgba(156, 92, 34, .18) !important;
        box-shadow: 0 18px 36px rgba(96, 55, 21, .18) !important;
    }

    .site-header .main-nav a,
    .site-header .main-nav a:nth-child(3),
    .site-header .main-nav a:nth-child(5),
    .site-header .main-nav a:nth-child(7) {
        display: flex !important;
        min-height: 42px !important;
        justify-content: space-between !important;
        color: #4a2b18 !important;
        background: rgba(255, 255, 255, .56) !important;
        border: 1px solid rgba(156, 92, 34, .1) !important;
        border-radius: 12px !important;
        transition: background .2s ease, color .2s ease, transform .2s ease !important;
    }

    .site-header .main-nav a:hover,
    .site-header .main-nav .active {
        color: #3a2114 !important;
        background: linear-gradient(180deg, #fff, #efd9b8) !important;
        transform: translateX(3px) !important;
    }
}
/* HEADER CACHE FIX AND LIGHT PREMIUM NAV END */

/* SHARED HEADER FINAL LOCK START */
.site-header .brand,
body .site-header a.brand {
    color: #402613 !important;
    background:
        linear-gradient(180deg, #fffaf0 0%, #f1d9af 58%, #d7aa69 100%) !important;
    border: 2px solid #7b4218 !important;
    box-shadow:
        0 14px 28px rgba(92, 52, 17, .18),
        inset 0 0 0 1px rgba(255, 255, 255, .7) !important;
    text-shadow: none !important;
}

.site-header .brand::before,
.site-header .brand::after {
    border-color: #7b4218 !important;
}

.site-header .brand-mark,
.site-header .brand strong,
.site-header .brand small {
    color: #402613 !important;
    -webkit-text-fill-color: #402613 !important;
    text-shadow: none !important;
}

.site-header .brand small {
    color: #6f431c !important;
    -webkit-text-fill-color: #6f431c !important;
}

.shop-page .site-header,
body:not(.homepage-main) .site-header {
    background:
        linear-gradient(180deg, rgba(255, 250, 241, .98), rgba(243, 226, 200, .97)) !important;
}
/* SHARED HEADER FINAL LOCK END */

/* BRAND LABEL VISIBILITY FIX START */
.site-header .brand,
body .site-header a.brand {
    color: #3b2414 !important;
    background: transparent !important;
}

.site-header .brand::before,
body .site-header a.brand::before {
    background: linear-gradient(180deg, #9b5b22 0%, #d9a556 52%, #7b4218 100%) !important;
}

.site-header .brand::after,
body .site-header a.brand::after {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .55), transparent 42%),
        linear-gradient(180deg, #fff5df 0%, #efd0a0 58%, #d99f55 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .7),
        inset 0 -10px 20px rgba(126, 68, 24, .1) !important;
}

.site-header .brand-mark,
.site-header .brand strong,
.site-header .brand small,
body .site-header a.brand .brand-mark,
body .site-header a.brand strong,
body .site-header a.brand small {
    color: #3b2414 !important;
    -webkit-text-fill-color: #3b2414 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .45) !important;
}

.site-header .brand small,
body .site-header a.brand small {
    color: #73451e !important;
    -webkit-text-fill-color: #73451e !important;
}
/* BRAND LABEL VISIBILITY FIX END */

/* HOMEPAGE ADMIN V2 START */
.hp-admin-page {
    min-height: 100vh;
    margin: 0;
    background: #f7f1e8;
    color: #2f2118;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hp-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 248px;
    padding: 22px 18px;
    background: linear-gradient(180deg, #fff8ed, #efe0cb);
    border-right: 1px solid rgba(126, 68, 24, .16);
    box-shadow: 18px 0 40px rgba(87, 52, 22, .08);
    overflow: auto;
    z-index: 5;
}

.hp-logo {
    display: inline-flex;
    flex-direction: column;
    width: 130px;
    margin-bottom: 28px;
    color: #3b2414;
    font: 800 30px/.82 Cormorant Garamond, serif;
    text-decoration: none;
}

.hp-logo span {
    color: #8a4a18;
}

.hp-sidebar nav {
    display: grid;
    gap: 7px;
}

.hp-sidebar strong {
    margin: 18px 0 6px;
    color: #6d4a30;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.hp-sidebar a {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 8px;
    color: #432d20;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

.hp-sidebar a:hover,
.hp-sidebar a.active {
    background: linear-gradient(180deg, #9a551d, #703611);
    color: #fff8eb;
    box-shadow: 0 12px 24px rgba(112, 54, 17, .22);
}

.hp-main {
    min-height: 100vh;
    margin-left: 248px;
    padding: 0 28px 96px;
}

.hp-topbar {
    position: sticky;
    top: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 -28px 22px;
    padding: 18px 28px;
    background: rgba(255, 250, 243, .92);
    border-bottom: 1px solid rgba(126, 68, 24, .12);
    backdrop-filter: blur(16px);
}

.hp-topbar h1 {
    margin: 0 0 4px;
    font-size: 25px;
}

.hp-topbar p {
    margin: 0;
    color: #7b6758;
    font-size: 13px;
}

.hp-top-actions {
    display: flex;
    gap: 10px;
}

.hp-top-actions a,
.hp-sections-card button,
.hp-savebar button,
.hp-add-row {
    border: 0;
    border-radius: 8px;
    padding: 11px 16px;
    background: linear-gradient(180deg, #95511b, #713612);
    color: #fff8ed;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 12px 22px rgba(112, 54, 17, .22);
}

.hp-top-actions a:first-child {
    background: #fff;
    color: #54331f;
    border: 1px solid rgba(126, 68, 24, .18);
    box-shadow: none;
}

.hp-notice,
.hp-error {
    margin: 16px 0;
    padding: 14px 16px;
    border-radius: 8px;
    font-weight: 800;
}

.hp-notice {
    background: #e8f8ec;
    color: #17622b;
}

.hp-error {
    background: #fff0ed;
    color: #9b2719;
}

.hp-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.hp-stats a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 70px;
    padding: 16px;
    border-radius: 8px;
    background: #fffaf3;
    border: 1px solid rgba(126, 68, 24, .1);
    color: #3d2819;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(94, 55, 20, .06);
}

.hp-stats b {
    font-size: 24px;
    color: #8b4614;
}

.hp-stats span {
    color: #6f5949;
    font-size: 13px;
    font-weight: 700;
}

.hp-layout {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.hp-sections-card,
.hp-card {
    border: 1px solid rgba(126, 68, 24, .12);
    border-radius: 8px;
    background: rgba(255, 252, 247, .94);
    box-shadow: 0 18px 42px rgba(93, 52, 17, .08);
}

.hp-sections-card {
    position: sticky;
    top: 94px;
    padding: 18px;
}

.hp-sections-card h2 {
    margin: 0 0 6px;
    font-size: 17px;
}

.hp-sections-card p {
    margin: 0 0 14px;
    color: #7a6758;
    font-size: 13px;
}

.hp-sections-card a {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin-bottom: 7px;
    padding: 0 10px;
    border: 1px solid rgba(126, 68, 24, .1);
    border-radius: 8px;
    background: #fff;
    color: #332218;
    text-decoration: none;
    font-weight: 800;
    font-size: 13px;
}

.hp-sections-card em {
    padding: 5px 8px;
    border-radius: 7px;
    background: #e5f6e8;
    color: #168132;
    font-style: normal;
    font-size: 12px;
}

.hp-sections-card button {
    width: 100%;
    margin-top: 10px;
}

.hp-cards {
    display: grid;
    gap: 14px;
}

.hp-card {
    overflow: hidden;
}

.hp-card > summary {
    list-style: none;
    cursor: pointer;
}

.hp-card > summary::-webkit-details-marker {
    display: none;
}

.hp-card-head {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(126, 68, 24, .12);
}

.hp-card-head small {
    display: block;
    margin-bottom: 4px;
    color: #9a5b23;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.hp-card-head h2 {
    margin: 0;
    color: #3b2414;
    font-size: 18px;
}

.hp-switch,
.hp-order,
.hp-mini-check,
.hp-delete {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5b4636;
    font-size: 13px;
    font-weight: 800;
}

.hp-order input {
    width: 64px;
    text-align: center;
}

.hp-card label {
    display: grid;
    gap: 7px;
    color: #493427;
    font-weight: 800;
    font-size: 13px;
}

.hp-card input,
.hp-card textarea,
.hp-card select {
    width: 100%;
    border: 1px solid rgba(126, 68, 24, .14);
    border-radius: 8px;
    padding: 11px 12px;
    background: #fff;
    color: #2f2118;
    font: inherit;
}

.hp-card textarea {
    resize: vertical;
}

.hp-grid {
    display: grid;
    gap: 18px;
    padding: 20px;
}

.hp-grid.two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hp-grid h3,
.hp-card > h3 {
    margin: 0 20px 12px;
    color: #4a2c19;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.hp-repeat {
    display: grid;
    gap: 10px;
    padding: 0 20px 18px;
}

.hp-item-row {
    display: grid;
    grid-template-columns: 24px 76px 124px minmax(0, 1fr) 60px;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(126, 68, 24, .12);
    border-radius: 8px;
    background: #fffaf4;
}

.hp-drag {
    color: #a66a33;
    font-weight: 900;
    cursor: grab;
}

.hp-row-image {
    display: grid;
    gap: 6px;
}

.hp-row-image img,
.hp-image-control img {
    width: 112px;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid rgba(126, 68, 24, .14);
    background: #f3e5d1;
}

.hp-row-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.hp-row-fields textarea {
    grid-column: 1 / -1;
}

.hp-delete {
    color: #a42d20;
}

.hp-add-row {
    margin: 0 20px 20px auto;
    display: block;
}

.hp-image-control {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px dashed rgba(126, 68, 24, .22);
    border-radius: 8px;
    background: #fffaf4;
}

.hp-image-control small,
.hp-image-control em {
    color: #7b6758;
    font-size: 12px;
    font-style: normal;
}

.hp-bullet-list {
    display: grid;
    gap: 8px;
}

.hp-savebar {
    position: fixed;
    right: 28px;
    bottom: 20px;
    left: 276px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid rgba(126, 68, 24, .18);
    border-radius: 8px;
    background: rgba(255, 250, 242, .96);
    box-shadow: 0 18px 44px rgba(76, 42, 15, .16);
    backdrop-filter: blur(14px);
    z-index: 6;
}

.hp-savebar span {
    color: #6f5949;
    font-weight: 700;
    font-size: 13px;
}

@media (max-width: 1100px) {
    .hp-sidebar {
        position: static;
        width: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(126, 68, 24, .14);
    }

    .hp-sidebar nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hp-sidebar strong {
        grid-column: 1 / -1;
    }

    .hp-main {
        margin-left: 0;
    }

    .hp-layout,
    .hp-grid.two,
    .hp-stats {
        grid-template-columns: 1fr;
    }

    .hp-sections-card {
        position: static;
    }

    .hp-savebar {
        left: 20px;
        right: 20px;
    }
}

@media (max-width: 720px) {
    .hp-main {
        padding: 0 14px 110px;
    }

    .hp-topbar {
        align-items: flex-start;
        flex-direction: column;
        margin-inline: -14px;
        padding: 14px;
    }

    .hp-top-actions {
        width: 100%;
    }

    .hp-top-actions a {
        flex: 1;
        text-align: center;
    }

    .hp-card-head,
    .hp-item-row,
    .hp-row-fields {
        grid-template-columns: 1fr;
    }

    .hp-repeat,
    .hp-grid {
        padding-inline: 12px;
    }
}
/* HOMEPAGE ADMIN V2 END */
