:root {
    --cream: #fff8ef;
    --paper: #ffffff;
    --ink: #2b211c;
    --muted: #75685e;
    --line: #eaded1;
    --orange: #e98d45;
    --orange-dark: #c96f2d;
    --green: #7cad75;
    --coffee: #8a6048;
    --shadow: 0 18px 45px rgba(88, 55, 30, .12);
    --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: linear-gradient(135deg, #fffaf4 0%, #f7fbf4 48%, #fff1e3 100%);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px clamp(16px, 4vw, 48px);
    background: rgba(255, 252, 247, .88);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(234, 222, 209, .8);
}
.brand { font-size: 1.35rem; font-weight: 800; color: var(--coffee); }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.page-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 34px 0 60px; }

.btn, button {
    border: 0;
    cursor: pointer;
    font: inherit;
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 11px 18px;
    border-radius: 999px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--orange), #f5b36d); color: #fff; box-shadow: 0 10px 24px rgba(233, 141, 69, .3); }
.btn-ghost { background: #fff; color: var(--coffee); border: 1px solid var(--line); }
.btn-soft { background: #fff4e9; color: var(--coffee); }
.btn-danger { background: #ffe8e3; color: #a33824; }
.icon-btn {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--line);
}
.burger { display: grid; place-items: center; gap: 4px; padding: 10px; }
.burger span { display: block; width: 20px; height: 2px; background: var(--coffee); border-radius: 10px; }

.user-menu { position: relative; }
.dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 190px;
    padding: 10px;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
    display: none;
}
.dropdown.open { display: grid; }
.dropdown a { padding: 10px 12px; border-radius: 12px; color: var(--muted); }
.dropdown a:hover { background: var(--cream); color: var(--ink); }

.sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 80;
    width: min(320px, 86vw);
    padding: 24px;
    background: #fffaf4;
    box-shadow: var(--shadow);
    transform: translateX(-105%);
    transition: transform .25s ease;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sidebar.open { transform: translateX(0); }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.sidebar a {
    padding: 12px 14px;
    border-radius: 16px;
    color: var(--muted);
    font-weight: 700;
}
.sidebar a:hover { background: #fff; color: var(--coffee); }
.sidebar-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(43, 33, 28, .28);
    z-index: 70;
    display: none;
}
.sidebar-backdrop.open { display: block; }

.hero {
    min-height: 520px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 32px;
    align-items: center;
}
.hero h1 { font-size: clamp(2.3rem, 6vw, 4.8rem); line-height: 1.02; margin: 0 0 18px; }
.hero p, .lead { color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.hero-image, .image-placeholder {
    min-height: 380px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f6c693, #ecf2de 45%, #fff);
    box-shadow: var(--shadow);
    display: grid;
    place-items: center;
    color: var(--coffee);
    text-align: center;
    padding: 24px;
    overflow: hidden;
}
.hero-image { background-image: linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.3)), url('../images/hero-catering.jpg'); background-size: cover; background-position: center; }

.section { padding: 54px 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.section h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); margin: 0; }
.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card {
    background: rgba(255, 255, 255, .88);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 22px;
    box-shadow: 0 10px 28px rgba(88, 55, 30, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card h3 { margin: 0 0 10px; }
.card p { color: var(--muted); line-height: 1.6; }
.card-media {
    height: 170px;
    border-radius: 20px;
    margin: -8px -8px 16px;
    background: linear-gradient(135deg, #f7d8b7, #dcebd3);
    display: grid;
    place-items: center;
    color: var(--coffee);
    text-align: center;
    font-weight: 700;
    background-size: cover;
    background-position: center;
}
.pill {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    justify-self: start;
    align-self: start;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eef7ea;
    color: #557f4d;
    font-weight: 800;
    font-size: .86rem;
    line-height: 1.2;
}

.form-card { max-width: 980px; margin: 0 auto; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field { display: grid; gap: 8px; }
label { font-weight: 800; color: var(--coffee); }
input, textarea, select {
    width: 100%;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 16px;
    min-height: 46px;
    padding: 12px 14px;
    color: var(--ink);
    outline: none;
}
input[type="file"] {
    padding: 10px;
    cursor: pointer;
}
input[type="file"]::file-selector-button {
    border: 0;
    margin-right: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--orange), #f5b36d);
    color: #fff;
    font-weight: 850;
    cursor: pointer;
}
.admin-file-field small {
    color: var(--muted);
    font-weight: 800;
    line-height: 1.4;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(233, 141, 69, .12); }
.field.has-error input,
.field.has-error textarea,
.field.has-error select,
.field.has-error .date-picker-trigger {
    border-color: #d94a35;
    box-shadow: 0 0 0 4px rgba(217, 74, 53, .12);
}
.field-error {
    display: block;
    color: #b73524;
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.35;
}
.group-error {
    margin-top: 10px;
}
.alert { padding: 14px 16px; border-radius: 16px; background: #fff1e7; color: #8c4d1f; margin-bottom: 16px; }
.success { background: #eef8ec; color: #416f38; }

.steps { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.step-dot { flex: 1; min-width: 105px; padding: 10px; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--muted); text-align: center; font-weight: 800; }
.step-dot.active { background: var(--orange); color: #fff; }
.step-dot.is-available {
    color: var(--coffee);
    border-color: rgba(233, 141, 69, .38);
    background: #fff7ee;
}
.step-dot:disabled {
    cursor: not-allowed;
    opacity: .58;
}
.step-dot.active:disabled {
    cursor: default;
    opacity: 1;
}
.wizard-step { display: none; }
.wizard-step.active { display: block; animation: fadeIn .22s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.wizard-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.select-card {
    position: relative;
    display: grid;
    gap: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 18px;
}
.select-card input[type="checkbox"], .select-card input[type="radio"] { width: auto; min-height: auto; }
.select-card.selected { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(233, 141, 69, .12); }
.qty-row { display: grid; grid-template-columns: 1fr 90px; gap: 10px; align-items: center; }
.sticky-total {
    position: sticky;
    bottom: 16px;
    z-index: 20;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(43, 33, 28, .92);
    color: #fff;
    box-shadow: var(--shadow);
}

.table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { padding: 14px; border-bottom: 1px solid var(--line); text-align: left; }
th { color: var(--coffee); background: #fff8ef; }

.site-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 28px clamp(16px, 4vw, 48px);
    border-top: 1px solid var(--line);
    color: var(--muted);
}
.site-footer div { display: grid; gap: 6px; }

.admin-content { padding: 30px; }
.stat { display: grid; gap: 6px; }
.stat strong { font-size: 2rem; color: var(--orange-dark); }
.actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

@media (max-width: 900px) {
    .hero, .grid-2, .grid-3, .grid-4, .form-grid { grid-template-columns: 1fr; }
    .hero { min-height: auto; }
    .hero-image { min-height: 280px; }
}

@media (max-width: 620px) {
    .site-header { padding: 10px 12px; }
    .brand { font-size: 1.05rem; }
    .top-actions .btn { padding: 9px 12px; min-height: 38px; }
    .page-shell { width: min(100% - 22px, 1180px); padding-top: 22px; }
    .site-footer { flex-direction: column; }
    .wizard-actions, .sticky-total, .section-head { align-items: stretch; flex-direction: column; }
    .choice-card { padding: 12px 14px 18px; }
    .choice-meta { align-items: stretch; padding: 0 8px; }
    .choice-meta .pill,
    .choice-meta .price-line { font-size: .8rem; }
}

/* Step 1 visual refresh */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(rgba(255, 250, 244, .88), rgba(255, 250, 244, .9)),
        url('../images/hero-catering.jpg'),
        linear-gradient(135deg, #fffaf4 0%, #ecf7ea 48%, #fff0df 100%);
    background-size: cover;
    background-position: center;
}
body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image:
        radial-gradient(circle at 12% 18%, rgba(233, 141, 69, .16), transparent 26%),
        radial-gradient(circle at 82% 8%, rgba(124, 173, 117, .18), transparent 28%),
        linear-gradient(90deg, rgba(255,255,255,.38) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.32) 1px, transparent 1px);
    background-size: auto, auto, 52px 52px, 52px 52px;
    pointer-events: none;
}

.decorated-head h1,
.section-head h2,
.reservation-section h2 {
    position: relative;
    display: inline-block;
}
.decorated-head h1::after,
.section-head h2::after,
.reservation-section h2::after {
    content: "";
    position: absolute;
    left: 0;
    right: 18%;
    bottom: -8px;
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--orange), #f7c78f, var(--green));
}

.card,
.select-card {
    overflow: hidden;
}
.card::before,
.select-card::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(233,141,69,.14));
    transition: height .28s ease;
    pointer-events: none;
}
.card { position: relative; }
.card:hover::before,
.select-card:hover::before,
.select-card.selected::before { height: 100%; }

.reservation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px;
    align-items: start;
}
.wizard-panel {
    max-width: none;
    width: 100%;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(14px);
}
.venue-note {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    margin-bottom: 18px;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff2e6, #eef8ec);
    border: 1px solid rgba(234, 222, 209, .8);
}
.fixed-time-card {
    min-height: 46px;
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff2e6, #eef8ec);
}
.fixed-time-card strong {
    color: var(--orange-dark);
}
.fixed-time-card span {
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.4;
}
.date-picker-field {
    display: grid;
    gap: 8px;
}
.date-picker-trigger {
    width: max-content;
    min-width: 180px;
}
.calendar-popup-backdrop {
    position: fixed;
    inset: 0;
    z-index: 85;
    display: none;
    background: rgba(43, 33, 28, .42);
    backdrop-filter: blur(4px);
}
.calendar-popup {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 90;
    width: min(520px, calc(100vw - 28px));
    max-height: min(720px, calc(100vh - 28px));
    display: none;
    transform: translate(-50%, -50%);
    overflow: auto;
    padding: 18px;
    border: 1px solid rgba(234, 222, 209, .9);
    border-radius: 24px;
    background: rgba(255, 252, 247, .96);
    box-shadow: 0 28px 70px rgba(43, 33, 28, .28);
}
.date-picker-field.open .calendar-popup,
.date-picker-field.open .calendar-popup-backdrop {
    display: block;
}
.calendar-popup-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: start;
    margin-bottom: 14px;
}
.calendar-popup-head h3 {
    margin: 8px 0 0;
    color: var(--coffee);
    font-size: 1.35rem;
}
.calendar-close {
    font-size: 1.35rem;
    line-height: 1;
}
.booking-calendar {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
}
.booking-calendar-head,
.calendar-legend {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.booking-calendar-head strong {
    color: var(--coffee);
    font-size: 1.12rem;
}
.calendar-nav:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}
.calendar-weekdays,
.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}
.calendar-weekdays span {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 900;
    text-align: center;
}
.calendar-day {
    min-width: 0;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    gap: 2px;
    padding: 6px;
    border: 1px solid rgba(234, 222, 209, .9);
    border-radius: 14px;
    background: #fff;
    color: var(--ink);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.calendar-day:not(:disabled):hover {
    transform: translateY(-2px);
    border-color: rgba(233, 141, 69, .65);
    box-shadow: 0 10px 22px rgba(88,55,30,.1);
}
.calendar-day strong {
    font-size: .98rem;
}
.calendar-day small {
    color: var(--muted);
    font-size: .65rem;
    font-weight: 900;
    line-height: 1;
}
.calendar-day.selected {
    border-color: var(--orange);
    background: linear-gradient(135deg, #fff2e6, #eef8ec);
    box-shadow: 0 0 0 4px rgba(233, 141, 69, .14);
}
.calendar-day.booked {
    background: #ffe9e5;
    border-color: #f0b3a8;
    color: #9a3a27;
}
.calendar-day.booked small {
    color: #9a3a27;
}
.calendar-day.past {
    background: #f4eee8;
    color: #9b8e83;
}
.calendar-day.empty {
    visibility: hidden;
}
.calendar-legend {
    justify-content: flex-start;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: .84rem;
    font-weight: 800;
}
.calendar-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.calendar-legend i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--line);
}
.calendar-legend span:nth-child(2) i {
    background: #ffe9e5;
    border-color: #f0b3a8;
}
.calendar-legend span:nth-child(3) i {
    background: #f4eee8;
}
.calendar-feedback {
    margin: 0;
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.45;
}
body.calendar-popup-open {
    overflow: hidden;
}
.choice-card {
    min-height: 190px;
    padding: 14px 18px 20px;
    align-content: start;
    isolation: isolate;
    cursor: pointer;
    transform: translateY(0);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,239,.92)),
        linear-gradient(135deg, rgba(233,141,69,.12), rgba(124,173,117,.12));
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.choice-media {
    display: block;
    min-height: 132px;
    margin: 0 0 12px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f7d8b7, #dcebd3);
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.choice-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    margin-top: -48px;
    margin-bottom: 12px;
    padding: 0 10px;
}
.choice-meta .pill,
.choice-meta .price-line {
    flex: 1;
    min-width: 0;
}
.choice-meta .pill {
    width: auto;
    justify-self: auto;
    align-self: center;
    align-items: center;
    min-height: 34px;
    background: rgba(238, 247, 234, .9);
    backdrop-filter: blur(8px);
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
}
.choice-card:hover {
    transform: translateY(-7px);
    border-color: rgba(233, 141, 69, .58);
    box-shadow: 0 22px 48px rgba(88, 55, 30, .16);
}
.choice-card.selected {
    border-color: var(--orange);
    background: linear-gradient(180deg, #fff, #fff2e6 58%, #eef8ec);
    box-shadow: 0 0 0 4px rgba(233, 141, 69, .13), 0 24px 52px rgba(88, 55, 30, .16);
}
.choice-card.selected,
.select-card.selected {
    border-width: 2px;
}
.choice-card.selected::after,
.select-card.selected::after {
    content: "Secildi";
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--orange-dark);
    color: #fff;
    font-size: .76rem;
    font-weight: 950;
    box-shadow: 0 10px 22px rgba(88, 55, 30, .18);
}
.choice-input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}
.select-card input[type="checkbox"],
.select-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.card-icon {
    position: static;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(255, 250, 244, .84);
    backdrop-filter: blur(8px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.42), 0 10px 22px rgba(43, 33, 28, .2);
    font-size: 1.35rem;
}
.choice-card strong {
    font-size: 1.05rem;
    line-height: 1.28;
    overflow-wrap: anywhere;
}
.choice-card > span:not(.choice-media):not(.choice-meta):not(.card-icon):not(.pill):not(.price-line):not(.per-person-note) {
    color: var(--muted);
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.price-line {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(238, 247, 234, .9);
    backdrop-filter: blur(8px);
    color: var(--orange-dark);
    font-weight: 900;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
}
.per-person-note {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 8px 10px;
    border-radius: 999px;
    background: #eef8ec;
    color: #4f7b47;
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}
.qty-row {
    position: relative;
    z-index: 2;
    margin-top: auto;
}
.qty-row input {
    min-height: 38px;
    border-radius: 13px;
}

.selection-cart {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 14px;
    padding: 22px;
    border-radius: 28px;
    background: rgba(43, 33, 28, .94);
    color: #fff;
    box-shadow: 0 22px 55px rgba(43, 33, 28, .25);
    border: 1px solid rgba(255,255,255,.16);
}
.selection-cart .pill {
    width: max-content;
    background: rgba(255,255,255,.12);
    color: #fff;
}
.selection-cart h2 { margin: 0; }
.cart-empty {
    color: rgba(255,255,255,.68);
    line-height: 1.55;
    padding: 14px;
    border: 1px dashed rgba(255,255,255,.25);
    border-radius: 18px;
}
.cart-list { display: grid; gap: 10px; max-height: 430px; overflow: auto; padding-right: 2px; }
.cart-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
}
.cart-item div { display: grid; gap: 3px; }
.cart-item span,
.cart-item small { color: rgba(255,255,255,.7); }
.cart-item b { white-space: nowrap; color: #ffd29c; }
.cart-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.16);
}
.cart-total strong { color: #ffd29c; font-size: 1.4rem; }
.sticky-total { display: none; }

.summary-preview,
.payment-summary {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 18px;
    align-items: stretch;
    padding: 22px;
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,244,232,.94)),
        url('../images/davet-dugun.jpg');
    background-size: cover;
    background-position: center;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}
.summary-preview h3,
.payment-summary h1 { margin-top: 10px; }
.summary-total,
.payment-total {
    display: grid;
    place-items: center;
    text-align: center;
    padding: 18px;
    border-radius: 22px;
    background: rgba(43, 33, 28, .92);
    color: #fff;
}
.summary-total strong,
.payment-total strong { color: #ffd29c; font-size: 1.45rem; }
.payment-line-grid { display: grid; gap: 10px; margin-top: 16px; }
.payment-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.78);
    border: 1px solid var(--line);
}
.menu-icon-card h3,
.menu-icon-card strong { position: relative; z-index: 1; }
.menu-icon-card .card-icon { position: static; margin-bottom: 10px; }
.choice-card .card-icon { margin-bottom: 0; }

@media (max-width: 1040px) {
    .reservation-layout { grid-template-columns: 1fr; }
    .selection-cart { position: static; order: -1; }
    .about-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .venue-note,
    .summary-preview,
    .payment-summary,
    .payment-line { grid-template-columns: 1fr; flex-direction: column; }
    .choice-card { min-height: 170px; }
    .about-stats { grid-template-columns: 1fr; }
    .contact-actions .btn { width: 100%; }
}

/* Hard fix: keep technical form inputs invisible inside selectable cards */
.choice-card > input.choice-input,
.choice-card > input[type="checkbox"],
.choice-card > input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
}
.selection-cart {
    min-height: 260px;
    align-self: start;
}
@media (max-width: 1040px) {
    .selection-cart {
        order: 2;
        width: 100%;
        background: rgba(43, 33, 28, .94) !important;
        color: #fff !important;
    }
}

/* Step layout polish: keep decorative underline away from inner headings */
.reservation-section h2::after,
.wizard-step h2::after,
.wizard-step h3::after,
.selection-cart h2::after {
    display: none !important;
}
.decorated-head h1 {
    margin-bottom: 18px;
    padding-bottom: 12px;
}
.decorated-head h1::after {
    bottom: 0 !important;
    height: 5px !important;
    right: 0 !important;
}
.wizard-step h2 {
    margin: 22px 0 24px !important;
    line-height: 1.15;
}
.wizard-step h3 {
    margin: 26px 0 12px;
    line-height: 1.25;
    color: var(--coffee);
}
.cart-actions {
    display: flex;
    gap: 10px;
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.16);
}
.selection-cart .wizard-actions {
    width: 100%;
    margin-top: 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.selection-cart .wizard-actions span:empty {
    display: none;
}
.selection-cart .wizard-actions:has(span:empty) {
    grid-template-columns: 1fr;
}
.selection-cart .wizard-actions .btn {
    width: 100%;
    min-height: 46px;
}
.selection-cart .btn-ghost {
    background: rgba(255,255,255,.1);
    color: #fff;
    border-color: rgba(255,255,255,.22);
}
.selection-cart .btn-primary {
    box-shadow: 0 12px 28px rgba(233, 141, 69, .24);
}
@media (max-width: 620px) {
    .selection-cart .wizard-actions { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .admin-user-detail-layout {
        grid-template-columns: 1fr;
    }
    .admin-calendar-weekdays,
    .admin-calendar-grid {
        min-width: 860px;
    }
    .admin-calendar {
        overflow-x: auto;
        padding-bottom: 4px;
    }
    .admin-user-detail-head {
        align-items: flex-start;
    }
    .admin-user-detail-head .actions {
        margin-left: 0;
    }
}

@media (max-width: 620px) {
    .admin-user-reservation-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }
    .admin-user-reservation-row .btn {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* Step 2: shared header/footer refresh and dark mode */
.enhanced-header {
    min-height: 74px;
    padding: 12px clamp(14px, 4vw, 46px);
    background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,246,235,.86)),
        rgba(255, 252, 247, .9);
    box-shadow: 0 14px 40px rgba(88, 55, 30, .08);
}
.header-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.menu-trigger {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 13px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--line);
    color: var(--coffee);
    font-weight: 900;
    box-shadow: 0 8px 22px rgba(88, 55, 30, .07);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.menu-trigger:hover {
    transform: translateY(-2px);
    border-color: rgba(233, 141, 69, .55);
    box-shadow: 0 16px 32px rgba(88, 55, 30, .13);
}
.burger-lines {
    display: grid;
    gap: 4px;
}
.burger-lines i {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 10px;
    background: var(--coffee);
}
.brand-rich {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.brand-rich span:last-child {
    display: grid;
    line-height: 1.1;
}
.brand-rich small {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 700;
}
.brand-mark {
    width: 44px;
    height: 44px;
    display: grid !important;
    place-items: center;
    border-radius: 16px;
    overflow: hidden;
    color: #fff;
    font-weight: 950;
    letter-spacing: 0;
    background: linear-gradient(135deg, var(--orange), var(--green));
    box-shadow: 0 12px 26px rgba(233, 141, 69, .22);
}
.brand-mark img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.header-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-left: auto;
}
.header-nav a {
    padding: 10px 12px;
    border-radius: 999px;
    color: var(--muted);
    font-weight: 800;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.header-nav a:hover {
    background: #fff;
    color: var(--coffee);
    transform: translateY(-1px);
}
.header-reserve {
    min-width: 132px;
    box-shadow: 0 16px 34px rgba(233, 141, 69, .34);
}
.btn-icon {
    display: inline-grid;
    place-items: center;
    margin-right: 6px;
    line-height: 1;
}
.theme-toggle {
    position: relative;
    width: 58px;
    height: 42px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 8px 22px rgba(88, 55, 30, .08);
    color: var(--coffee);
    overflow: hidden;
}
.theme-toggle span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    transition: transform .22s ease, opacity .22s ease, background .22s ease;
}
.theme-toggle .sun { left: 7px; background: #fff1dc; }
.theme-toggle .moon { right: 7px; opacity: .45; }
.user-pill { gap: 2px; white-space: nowrap; }
.dropdown a {
    display: flex;
    align-items: center;
    gap: 9px;
}
.dropdown a span { width: 20px; text-align: center; }

.enhanced-footer {
    display: grid;
    grid-template-columns: 1.25fr .8fr 1fr;
    align-items: start;
    padding: 38px clamp(16px, 4vw, 54px);
    background:
        linear-gradient(135deg, rgba(255,248,239,.96), rgba(238,248,236,.9)),
        rgba(255,255,255,.8);
    color: var(--ink);
}
.enhanced-footer h3 {
    margin: 0 0 12px;
    color: var(--coffee);
}
.footer-brand p {
    max-width: 460px;
    color: var(--muted);
    line-height: 1.65;
}
.footer-links,
.footer-contact {
    display: grid;
    gap: 9px;
}
.footer-links a,
.footer-contact span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--muted);
    font-weight: 700;
}
.footer-links a:hover { color: var(--orange-dark); transform: translateX(3px); }
.footer-contact b {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    color: var(--coffee);
}
.sidebar a {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sidebar a span {
    width: 24px;
    text-align: center;
}

body.dark-mode {
    --cream: #201a16;
    --paper: #1c1714;
    --ink: #f7efe6;
    --muted: #cbbcaf;
    --line: rgba(255,255,255,.14);
    --orange: #f0a15b;
    --orange-dark: #ffc082;
    --green: #9bc993;
    --coffee: #f3d6bd;
    background: #16120f;
    color: var(--ink);
}
body.dark-mode::before {
    background:
        linear-gradient(rgba(22,18,15,.86), rgba(22,18,15,.9)),
        url('../images/hero-catering.jpg'),
        #16120f;
    background-size: cover;
    background-position: center;
}
body.dark-mode .site-header,
body.dark-mode .enhanced-header {
    background: linear-gradient(135deg, rgba(31,25,21,.92), rgba(45,34,27,.9));
    border-bottom-color: rgba(255,255,255,.12);
}
body.dark-mode .card,
body.dark-mode .wizard-panel,
body.dark-mode .dropdown,
body.dark-mode .menu-trigger,
body.dark-mode .theme-toggle,
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select,
body.dark-mode .table-wrap {
    background: rgba(32, 26, 22, .94);
    color: var(--ink);
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .btn-ghost,
body.dark-mode .btn-soft {
    background: rgba(255,255,255,.08);
    color: var(--ink);
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .header-nav a:hover,
body.dark-mode .dropdown a:hover,
body.dark-mode .sidebar a:hover {
    background: rgba(255,255,255,.09);
    color: var(--ink);
}
body.dark-mode .theme-toggle .sun { opacity: .45; background: transparent; }
body.dark-mode .theme-toggle .moon { opacity: 1; background: rgba(255,255,255,.1); transform: translateY(-50%) scale(1.06); }
body.dark-mode .enhanced-footer,
body.dark-mode .sidebar {
    background: linear-gradient(135deg, rgba(31,25,21,.98), rgba(43,33,27,.96));
    color: var(--ink);
}
body.dark-mode .choice-card {
    background: linear-gradient(180deg, rgba(36,29,24,.98), rgba(44,34,27,.96));
}
body.dark-mode .choice-card.selected {
    background: linear-gradient(180deg, rgba(51,39,30,.98), rgba(40,58,38,.94));
}
body.dark-mode .pill { background: rgba(155,201,147,.14); color: #ccebc7; }

@media (max-width: 1060px) {
    .header-nav { display: none; }
    .enhanced-header { gap: 10px; }
}
@media (max-width: 760px) {
    .enhanced-header { flex-wrap: wrap; }
    .header-left { width: 100%; justify-content: space-between; }
    .top-actions { width: 100%; justify-content: space-between; }
    .header-reserve { flex: 1; min-width: 0; }
    .user-pill { max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
    .enhanced-footer { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .brand-rich small { display: none; }
    .brand-mark { width: 38px; height: 38px; border-radius: 14px; }
    .menu-trigger span:last-child { display: none; }
    .top-actions .btn { padding-inline: 12px; }
    .top-actions .btn-icon { margin-right: 4px; }
}

/* Step 3: homepage headings, pricing labels, user reservation pages */
.section-title-block {
    position: relative;
    display: grid;
    gap: 10px;
    margin-bottom: 26px;
    padding: 24px 26px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,245,233,.78)),
        linear-gradient(90deg, rgba(233,141,69,.12), rgba(124,173,117,.12));
    border: 1px solid var(--line);
    box-shadow: 0 16px 42px rgba(88, 55, 30, .08);
    overflow: hidden;
}
.section-title-block::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    background: linear-gradient(180deg, var(--orange), var(--green));
}
.section-title-block h1,
.section-title-block h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.05;
}
.section-title-block p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}
.section-title-block.align-split {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}
.title-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff1df, #e9f6e5);
    color: var(--coffee);
    box-shadow: inset 0 0 0 1px var(--line), 0 12px 28px rgba(88, 55, 30, .1);
    font-size: 1.45rem;
}
.menu-headline {
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(238,248,236,.86)),
        url('../images/davet-kurumsal.jpg');
    background-size: cover;
    background-position: center;
}
.price-card {
    min-height: 235px;
    display: grid;
    align-content: start;
    gap: 10px;
}
.price-card strong {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    width: max-content;
    margin-top: auto;
    padding: 10px 13px;
    border-radius: 999px;
    background: #fff5e9;
    color: var(--orange-dark);
    box-shadow: inset 0 0 0 1px rgba(233,141,69,.16);
}
.price-card strong small {
    color: var(--muted);
    font-weight: 800;
}
.showcase-card .btn { margin-top: auto; }
.info-band,
.cta-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,242,229,.84)),
        linear-gradient(90deg, rgba(233,141,69,.12), rgba(124,173,117,.12));
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}
.info-band > div { flex: 1; }
.cta-band h2,
.info-band h2 { margin: 8px 0; }
.about-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 20px;
    align-items: stretch;
}
.about-band {
    align-items: flex-start;
}
.about-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}
.about-stats div,
.contact-card {
    border: 1px solid var(--line);
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 30px rgba(88,55,30,.08);
}
.about-stats div {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 18px;
}
.about-stats strong {
    color: var(--orange-dark);
    font-size: 1.45rem;
}
.about-stats span {
    color: var(--muted);
    font-weight: 800;
}
.contact-card {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 28px;
    border-radius: 30px;
}
.contact-card h2 {
    margin: 0;
}
.contact-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}
.contact-lines {
    display: grid;
    gap: 9px;
}
.contact-lines span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--muted);
    font-weight: 800;
}
.contact-lines b,
.brand-icon {
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    background: #fff;
    color: var(--coffee);
}
.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}
.whatsapp-btn {
    background: #25d366;
    color: #fff;
}
.gmail-btn {
    background: #fff;
    color: #b73524;
    border: 1px solid var(--line);
}
.brand-icon {
    margin-right: 6px;
    font-weight: 950;
}
.whatsapp-icon {
    background: rgba(255,255,255,.22);
    color: #fff;
}
.gmail-icon {
    background: #fff1ef;
    color: #b73524;
}

.reservations-page .section-title-block { margin-bottom: 18px; }
.reservation-stats,
.detail-info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}
.mini-stat {
    position: relative;
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.9);
    border: 1px solid var(--line);
    box-shadow: 0 12px 30px rgba(88, 55, 30, .08);
    overflow: hidden;
}
.mini-stat::after {
    content: "";
    position: absolute;
    right: -28px;
    top: -28px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(233,141,69,.1);
}
.mini-stat span {
    font-size: 1.45rem;
    position: relative;
    z-index: 1;
}
.mini-stat small {
    color: var(--muted);
    font-weight: 800;
    position: relative;
    z-index: 1;
}
.mini-stat strong {
    color: var(--coffee);
    font-size: clamp(1.05rem, 2vw, 1.45rem);
    position: relative;
    z-index: 1;
}
.reservation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.reservation-card {
    position: relative;
    display: grid;
    gap: 16px;
    min-height: 310px;
    padding: 22px;
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,239,.9)),
        linear-gradient(135deg, rgba(233,141,69,.12), rgba(124,173,117,.12));
    border: 1px solid var(--line);
    box-shadow: 0 14px 36px rgba(88, 55, 30, .1);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    overflow: hidden;
}
.reservation-card:hover {
    transform: translateY(-6px);
    border-color: rgba(233,141,69,.5);
    box-shadow: 0 24px 54px rgba(88, 55, 30, .16);
}
.reservation-card-top,
.reservation-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.reservation-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #fff4e8;
    box-shadow: inset 0 0 0 1px var(--line);
    font-size: 1.35rem;
}
.status-badge {
    display: inline-flex;
    width: max-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef8ec;
    color: #4e7d45;
    font-weight: 900;
    font-size: .85rem;
}
.active-member-badge {
    background: #eef8ec !important;
    color: #3f7a38 !important;
    border-color: rgba(124,173,117,.42) !important;
}
.new-user-badge {
    margin-right: 6px;
    background: #fff7df !important;
    color: #8a5a13 !important;
    border-color: rgba(245,179,109,.5) !important;
}
.account-active-badge {
    background: #eef8ec !important;
    color: #3f7a38 !important;
    border-color: rgba(124,173,117,.42) !important;
}
.account-passive-badge {
    background: #fff1e7 !important;
    color: #9a4b1f !important;
    border-color: rgba(233,141,69,.38) !important;
}
.admin-muted {
    color: var(--muted);
    font-weight: 800;
}
.admin-user-edit-card {
    margin-bottom: 22px;
}
.admin-user-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -8px 0 18px;
}
.admin-user-detail-head {
    align-items: center;
}
.admin-user-detail-head .actions {
    margin-left: auto;
}
.admin-user-detail-stats {
    margin-bottom: 22px;
}
.admin-user-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
    align-items: start;
}
.admin-user-reservation-row {
    grid-template-columns: 42px minmax(0, 1fr) auto;
}
.admin-profile-lines {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}
.admin-profile-lines p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.admin-calendar-filter {
    padding: 14px;
}
.admin-calendar {
    display: grid;
    gap: 8px;
    max-width: 1180px;
    margin: 0 auto;
}
.admin-calendar-weekdays,
.admin-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}
.admin-calendar-weekdays span {
    padding: 0 6px;
    color: var(--coffee);
    font-weight: 950;
    text-align: center;
}
.admin-calendar-day {
    min-height: 112px;
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 9px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 10px 24px rgba(88, 55, 30, .07);
}
.admin-calendar-day.empty {
    visibility: visible;
    opacity: .28;
    box-shadow: none;
    background: rgba(255,255,255,.48);
}
.admin-calendar-day.today {
    border-color: rgba(233,141,69,.62);
    box-shadow: 0 0 0 4px rgba(233,141,69,.12);
    scroll-margin-top: 130px;
}
.admin-calendar-day.has-event {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,238,.92));
}
.admin-calendar-day-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.admin-calendar-day-head strong {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff4e9;
    color: var(--orange-dark);
}
.admin-calendar-day-head span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
}
.admin-calendar-events {
    display: grid;
    gap: 5px;
}
.admin-calendar-event {
    display: grid;
    gap: 2px;
    padding: 7px 8px;
    border-radius: 10px;
    background: #eef8ec;
    color: #416f38;
    border: 1px solid rgba(124,173,117,.35);
    font-size: .78rem;
}
.admin-calendar-event b,
.admin-calendar-event small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-calendar-event small {
    color: inherit;
    opacity: .78;
    font-weight: 800;
}
.admin-calendar-event.status-beklemede {
    background: #fff7df;
    color: #8a5a13;
    border-color: rgba(245,179,109,.5);
}
.admin-calendar-event.status-iptal-edildi {
    background: #ffe8e3;
    color: #a33824;
    border-color: rgba(217,74,53,.28);
}
.admin-calendar-event.status-hazirlaniyor {
    background: #eef4ff;
    color: #3f5e9a;
    border-color: rgba(77,118,190,.3);
}
.admin-calendar-event.status-tamamlandi {
    background: #f3eeff;
    color: #6b4aa2;
    border-color: rgba(111,78,162,.25);
}
.inline-action-form {
    display: inline-flex;
    margin: 0;
}
.inline-action-form .btn {
    width: 100%;
}
.status-iptal-edildi { background: #ffe8e3; color: #a33824; }
.status-tamamlandi { background: #e9f7f0; color: #31714f; }
.status-hazirlaniyor { background: #fff2d7; color: #91621e; }
.reservation-meta {
    display: grid;
    gap: 9px;
    color: var(--muted);
    font-weight: 700;
}
.reservation-meta span {
    display: flex;
    gap: 8px;
    align-items: center;
}
.reservation-meta b { width: 24px; text-align: center; }
.reservation-card-bottom {
    padding: 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.72);
    border: 1px solid var(--line);
}
.reservation-card-bottom div { display: grid; gap: 4px; }
.reservation-card-bottom small { color: var(--muted); font-weight: 800; }
.reservation-card-bottom strong { color: var(--orange-dark); }
.empty-state {
    display: grid;
    place-items: center;
    gap: 12px;
    text-align: center;
    min-height: 340px;
    padding: 34px;
    border-radius: 30px;
    background: rgba(255,255,255,.88);
    border: 1px dashed rgba(233,141,69,.38);
    box-shadow: var(--shadow);
}
.empty-state p { max-width: 560px; color: var(--muted); line-height: 1.65; }

.detail-hero {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: stretch;
    padding: 28px;
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(43,33,28,.92), rgba(80,58,42,.86)),
        url('../images/davet-dugun.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
    box-shadow: 0 24px 60px rgba(43, 33, 28, .24);
    margin-bottom: 18px;
}
.detail-hero h1 { margin: 12px 0 8px; font-size: clamp(2rem, 4vw, 3.4rem); }
.detail-hero p { color: rgba(255,255,255,.78); margin: 0; }
.detail-total {
    min-width: 230px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
}
.detail-total strong { color: #ffd29c; font-size: 1.65rem; }
.detail-layout {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 20px;
    align-items: start;
}
.detail-side-card,
.selection-group-card {
    padding: 22px;
    border-radius: 26px;
    background: rgba(255,255,255,.9);
    border: 1px solid var(--line);
    box-shadow: 0 14px 36px rgba(88, 55, 30, .08);
}
.detail-side-card { position: sticky; top: 96px; }
.detail-side-card p { color: var(--muted); line-height: 1.55; }
.detail-selection-list { display: grid; gap: 16px; }
.selection-group-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.selection-group-head h2 { margin: 0; }
.detail-items { display: grid; gap: 10px; }
.detail-item-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border-radius: 18px;
    background: #fff8ef;
    border: 1px solid var(--line);
}
.detail-item-row div { display: grid; gap: 4px; }
.detail-item-row span,
.detail-item-row small,
.muted-line { color: var(--muted); font-weight: 700; }
.detail-item-row b { color: var(--orange-dark); text-align: right; }
.status-history-list {
    display: grid;
    gap: 10px;
}
.status-history-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(234,222,209,.8);
}
.status-history-item div {
    display: grid;
    gap: 4px;
}
.status-history-item small {
    color: var(--muted);
    font-weight: 800;
}
.invoice-page {
    display: grid;
    gap: 18px;
}
.invoice-sheet {
    display: grid;
    gap: 22px;
    padding: clamp(20px, 4vw, 34px);
    border-radius: 28px;
    background: rgba(255,255,255,.92);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}
.invoice-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
}
.invoice-head h1 {
    margin: 10px 0 6px;
    font-size: clamp(2rem, 4vw, 3.1rem);
}
.invoice-head p {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
}
.invoice-number {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 18px;
    background: #fff4e9;
    color: var(--coffee);
}
.invoice-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.invoice-info-grid div {
    display: grid;
    gap: 5px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,248,239,.9);
    border: 1px solid var(--line);
}
.invoice-info-grid small,
.invoice-info-grid span,
.invoice-number small {
    color: var(--muted);
    font-weight: 800;
}
.invoice-table table {
    min-width: 760px;
}
.invoice-total {
    display: grid;
    gap: 8px;
    justify-self: end;
    min-width: min(320px, 100%);
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--orange), #f5b36d);
    color: #fff;
}
.invoice-total strong {
    font-size: 1.8rem;
}
.invoice-actions {
    justify-content: flex-end;
}
body.dark-mode .section-title-block,
body.dark-mode .mini-stat,
body.dark-mode .reservation-card,
body.dark-mode .reservation-card-bottom,
body.dark-mode .empty-state,
body.dark-mode .detail-side-card,
body.dark-mode .selection-group-card {
    background: rgba(32, 26, 22, .94);
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .price-card strong,
body.dark-mode .detail-item-row {
    background: rgba(255,255,255,.08);
}
body.dark-mode .invoice-sheet,
body.dark-mode .status-history-item {
    background: linear-gradient(135deg, rgba(32,26,22,.94), rgba(43,33,27,.92));
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .invoice-info-grid div,
body.dark-mode .invoice-number {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .info-band,
body.dark-mode .cta-band {
    background: linear-gradient(135deg, rgba(32,26,22,.94), rgba(43,33,27,.92));
}
@media (max-width: 980px) {
    .reservation-stats,
    .detail-info-grid,
    .reservation-grid,
    .detail-layout { grid-template-columns: 1fr 1fr; }
    .detail-side-card { position: static; }
}
@media (max-width: 720px) {
    .section-title-block.align-split,
    .info-band,
    .cta-band,
    .detail-hero { flex-direction: column; align-items: stretch; }
    .reservation-stats,
    .detail-info-grid,
    .reservation-grid,
    .invoice-info-grid,
    .detail-layout { grid-template-columns: 1fr; }
    .detail-item-row { flex-direction: column; }
    .detail-item-row b { text-align: left; }
    .invoice-head { grid-template-columns: 1fr; }
    .invoice-total { justify-self: stretch; }
}

/* Site-wide generated photo background */
body::before,
body.dark-mode::before {
    background:
        linear-gradient(rgba(255, 250, 244, .84), rgba(255, 250, 244, .9)),
        url('../images/site-background.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-attachment: fixed !important;
}
body.dark-mode::before {
    background:
        linear-gradient(rgba(22, 18, 15, .82), rgba(22, 18, 15, .9)),
        url('../images/site-background.png') !important;
}

/* Header top alignment fix */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
}
.site-header.enhanced-header {
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0 !important;
    border-radius: 0 !important;
    transform: translateY(0);
}
.page-shell {
    padding-top: 30px;
}

/* Step 4: admin panel polish */
.admin-body {
    margin: 0 !important;
    padding: 0 !important;
    background:
        linear-gradient(rgba(255,250,244,.88), rgba(255,250,244,.92)),
        url('../images/site-background.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.admin-content {
    min-width: 0;
}
.admin-page-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
    padding: 24px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,244,231,.86));
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}
.admin-page-head h1 {
    margin: 8px 0 4px;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.05;
}
.admin-page-head p {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}
.admin-sales-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 20px;
}
.admin-sales-card {
    position: relative;
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 22px;
    border-radius: 28px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(233,141,69,.95), rgba(124,173,117,.86)),
        linear-gradient(180deg, rgba(43,33,28,.1), rgba(43,33,28,.2));
    box-shadow: 0 22px 52px rgba(88,55,30,.18);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease;
}
.admin-sales-card::after {
    content: "";
    position: absolute;
    right: -44px;
    top: -44px;
    width: 140px;
    height: 140px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
}
.admin-sales-card:hover,
.admin-stat-card:hover,
.admin-list-card:hover,
.admin-form-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 26px 58px rgba(88,55,30,.18);
}
.admin-sales-card span { font-size: 2rem; position: relative; z-index: 1; }
.admin-sales-card small { color: rgba(255,255,255,.78); font-weight: 900; position: relative; z-index: 1; }
.admin-sales-card strong { font-size: clamp(1.45rem, 3vw, 2rem); position: relative; z-index: 1; }
.admin-stat-grid { margin-bottom: 12px; }
.admin-stat-card {
    min-height: 135px;
    transition: transform .22s ease, box-shadow .22s ease;
}
.admin-stat-card span { font-size: 1.7rem; }
.admin-stat-card small { color: var(--muted); font-weight: 900; }
.admin-dashboard-section { padding-top: 20px; }
.admin-list-card {
    min-height: 280px;
    transition: transform .22s ease, box-shadow .22s ease;
}
.admin-list-card h2 { margin-top: 0; }
.admin-list-row {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,248,239,.78);
    border: 1px solid var(--line);
    margin-top: 10px;
}
.admin-list-row > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff;
}
.admin-list-row div { display: grid; gap: 3px; }
.admin-list-row small { color: var(--muted); font-weight: 700; }
.admin-form-card {
    max-width: 920px;
    margin-bottom: 18px;
    padding: 18px;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,248,239,.88)),
        linear-gradient(90deg, rgba(233,141,69,.08), rgba(124,173,117,.08));
    transition: transform .22s ease, box-shadow .22s ease;
}
.admin-form-layout {
    display: grid;
    grid-template-columns: minmax(0, 920px) minmax(280px, 1fr);
    gap: 18px;
    align-items: stretch;
    margin-bottom: 18px;
}
.admin-form-layout .admin-form-card {
    margin-bottom: 0;
}
.admin-form-side {
    display: grid;
    align-content: start;
    gap: 16px;
    min-height: 100%;
    padding: 20px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(43,33,28,.94), rgba(70,49,36,.9)),
        url('../images/site-background.png');
    background-size: cover;
    background-position: center;
    color: #fff;
    box-shadow: 0 18px 44px rgba(43,33,28,.18);
    border: 1px solid rgba(255,255,255,.14);
}
.admin-form-side h2 {
    margin: 10px 0 8px;
}
.admin-form-side p {
    margin: 0;
    color: rgba(255,255,255,.74);
    line-height: 1.55;
    font-weight: 750;
}
.admin-side-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.admin-side-stats div,
.admin-side-note {
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
}
.admin-side-stats div {
    display: grid;
    gap: 4px;
    padding: 14px;
}
.admin-side-stats strong {
    color: #ffd29c;
    font-size: 1.45rem;
}
.admin-side-stats span {
    color: rgba(255,255,255,.72);
    font-weight: 850;
    font-size: .84rem;
}
.admin-side-note {
    display: flex;
    gap: 10px;
    padding: 14px;
}
.admin-side-note span {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(255,255,255,.12);
}
.admin-form-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.admin-form-title .title-icon {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
}
.admin-form-title h2 {
    margin: 6px 0 0;
    font-size: 1.35rem;
}
.admin-form-card .form-grid { gap: 12px; }
.admin-form-card .field { gap: 6px; }
.admin-form-card label { font-size: .9rem; }
.admin-form-card input,
.admin-form-card select {
    min-height: 40px;
    border-radius: 13px;
    padding: 9px 12px;
}
.admin-form-card textarea {
    min-height: 82px;
    border-radius: 13px;
    padding: 10px 12px;
}
.admin-form-card .actions { margin-top: 2px; }
.admin-form-card .btn {
    min-height: 38px;
    padding: 9px 15px;
}
.admin-form-card input[type="file"] {
    min-height: 42px;
    padding: 7px 10px;
}
.admin-form-card input[type="file"]::file-selector-button {
    padding: 8px 12px;
    border-radius: 10px;
}
.admin-field-hint {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(155,201,147,.14);
    color: #dff1d9;
    border: 1px solid rgba(155,201,147,.18);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.25;
}
.toggle-field {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #fff8ef;
    border: 1px solid var(--line);
    color: var(--coffee);
    font-weight: 900;
}
.toggle-field input {
    width: 18px;
    min-height: 18px;
    accent-color: var(--orange);
}
.admin-table-wrap table tr:hover td {
    background: rgba(255,244,232,.68);
}
.admin-reservation-table table {
    min-width: 1080px;
}
.admin-reservation-row {
    --reservation-status-bg: rgba(255,244,232,.6);
    --reservation-status-soft: rgba(240,161,91,.16);
    --reservation-status-line: rgba(240,161,91,.55);
    --reservation-status-text: #f7efe6;
}
.admin-reservation-row td {
    background:
        linear-gradient(90deg, var(--reservation-status-bg), rgba(42,32,27,.92) 54%),
        rgba(42,32,27,.92);
    transition: background .2s ease, border-color .2s ease;
}
.admin-reservation-row td:first-child {
    border-left: 6px solid var(--reservation-status-line);
}
.status-row-beklemede {
    --reservation-status-bg: rgba(138,150,170,.18);
    --reservation-status-soft: rgba(138,150,170,.2);
    --reservation-status-line: #9aa7bb;
}
.status-row-onaylandi {
    --reservation-status-bg: rgba(92,172,112,.16);
    --reservation-status-soft: rgba(92,172,112,.2);
    --reservation-status-line: #75c989;
}
.status-row-hazirlaniyor {
    --reservation-status-bg: rgba(255,188,88,.2);
    --reservation-status-soft: rgba(255,188,88,.24);
    --reservation-status-line: #ffbd59;
}
.status-row-tamamlandi {
    --reservation-status-bg: rgba(88,190,143,.18);
    --reservation-status-soft: rgba(88,190,143,.24);
    --reservation-status-line: #72d5a4;
}
.status-row-iptal-edildi {
    --reservation-status-bg: rgba(244,92,76,.18);
    --reservation-status-soft: rgba(244,92,76,.22);
    --reservation-status-line: #ff7766;
}
.admin-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 156px;
    padding: 9px 12px;
    border-radius: 999px;
    background: var(--reservation-status-soft);
    border: 1px solid var(--reservation-status-line);
    color: var(--reservation-status-text);
    font-weight: 950;
    box-shadow: 0 14px 30px rgba(0,0,0,.16);
}
.admin-status-pill b {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--reservation-status-line);
    color: #1d1713;
    font-size: .95rem;
}
.admin-status-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    align-items: center;
    gap: 10px;
}
.admin-content .btn {
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.admin-content .btn:hover {
    transform: translateY(-2px);
    filter: saturate(1.06);
}
body.dark-mode.admin-body,
body.dark-mode .admin-body {
    background: #16120f;
}
body.dark-mode .admin-page-head,
body.dark-mode .admin-list-row,
body.dark-mode .toggle-field {
    background: rgba(32,26,22,.94);
    border-color: rgba(255,255,255,.14);
}
@media (max-width: 980px) {
    .admin-sales-grid { grid-template-columns: 1fr; }
    .admin-page-head { align-items: flex-start; }
    .admin-status-form { grid-template-columns: 1fr; }
}

.admin-filter-panel {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
}
.admin-filter-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-radius: 22px;
    background: rgba(255,255,255,.86);
    border: 1px solid var(--line);
    box-shadow: 0 12px 30px rgba(88,55,30,.08);
}
.admin-search {
    min-width: min(360px, 100%);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    color: var(--muted);
}
.admin-search span {
    flex: 0 0 auto;
}
.admin-search input {
    border: 0;
    box-shadow: none;
    padding-inline: 0;
}
.admin-search input:focus {
    box-shadow: none;
}
.admin-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.admin-filter-buttons button {
    min-height: 38px;
    padding: 9px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--line);
    color: var(--muted);
    font-weight: 850;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.admin-filter-buttons button:hover {
    transform: translateY(-1px);
    border-color: rgba(233,141,69,.45);
    color: var(--coffee);
}
.admin-filter-buttons button.active {
    background: linear-gradient(135deg, var(--orange), #f5b36d);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 10px 24px rgba(233,141,69,.24);
}
.admin-filter-empty {
    display: none;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.86);
    border: 1px dashed rgba(233,141,69,.4);
    color: var(--muted);
    font-weight: 850;
    text-align: center;
}
.admin-toast {
    position: fixed;
    right: 22px;
    top: 92px;
    z-index: 1300;
    width: min(360px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: 42px 1fr 28px;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.96);
    color: var(--ink);
    border: 1px solid rgba(124,173,117,.35);
    box-shadow: 0 18px 44px rgba(43,33,28,.18);
    overflow: hidden;
    opacity: 1;
    transform: translateY(0) scale(1);
    animation: adminToastIn .28s ease both;
    transition: opacity .28s ease, transform .28s ease;
}
.admin-toast-danger {
    border-color: rgba(217,74,53,.28);
}
.admin-toast-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: #eef8ec;
    color: #34783d;
    font-weight: 950;
}
.admin-toast-danger .admin-toast-icon {
    background: #ffe8e3;
    color: #a33824;
}
.admin-toast strong,
.admin-toast small {
    display: block;
}
.admin-toast strong {
    color: var(--coffee);
    font-size: .98rem;
}
.admin-toast small {
    margin-top: 2px;
    color: var(--muted);
    font-weight: 750;
    line-height: 1.35;
}
.admin-toast button {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(43,33,28,.07);
    color: var(--muted);
    font-size: 1.05rem;
}
.admin-toast button:hover {
    background: rgba(43,33,28,.12);
    color: var(--coffee);
}
.admin-toast i {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 100%;
    background: linear-gradient(90deg, var(--green), var(--orange));
    animation: adminToastTimer 2s linear forwards;
}
.admin-toast-danger i {
    background: linear-gradient(90deg, #d94a35, var(--orange));
}
.admin-toast.hide {
    opacity: 0;
    transform: translateY(-8px) scale(.98);
}
@keyframes adminToastIn {
    from { opacity: 0; transform: translateY(-10px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes adminToastTimer {
    from { width: 100%; }
    to { width: 0; }
}
.admin-confirm-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1250;
    display: none;
    background: rgba(43,33,28,.42);
    backdrop-filter: blur(4px);
}
.admin-confirm-backdrop.open {
    display: block;
}
.admin-confirm-modal {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 1260;
    width: min(420px, calc(100vw - 32px));
    display: none;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
    background: #fffaf4;
    border: 1px solid var(--line);
    box-shadow: 0 28px 70px rgba(43,33,28,.28);
    transform: translate(-50%, -50%);
}
.admin-confirm-modal.open {
    display: grid;
}
.admin-confirm-modal h2 {
    margin: 10px 0 6px;
}
.admin-confirm-modal p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}
.admin-section-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 24px 0 16px;
}
.admin-section-title h2 { margin: 6px 0 4px; font-size: clamp(1.6rem, 3vw, 2.35rem); }
.admin-section-title p { margin: 0; color: var(--muted); font-weight: 700; }
.admin-manage-section { margin: 26px 0 8px; }
.admin-manage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.admin-manage-card {
    display: grid;
    gap: 12px;
    min-height: 260px;
    padding: 22px;
    border-radius: 28px;
    background: rgba(255,255,255,.92);
    border: 1px solid var(--line);
    box-shadow: 0 14px 36px rgba(88,55,30,.1);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.admin-manage-card:hover {
    transform: translateY(-6px);
    border-color: rgba(233,141,69,.48);
    box-shadow: 0 26px 58px rgba(88,55,30,.16);
}
.admin-manage-card > span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff1df, #e8f6e4);
    font-size: 1.55rem;
}
.admin-manage-card h3 { margin: 0; font-size: 1.35rem; }
.admin-manage-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.admin-manage-card .btn { align-self: end; }
.admin-manage-card .actions { align-self: end; }
body.dark-mode .admin-manage-card {
    background: rgba(32,26,22,.94);
    border-color: rgba(255,255,255,.14);
}
@media (max-width: 1180px) {
    .admin-manage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-form-layout { grid-template-columns: 1fr; }
    .admin-side-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
    .admin-filter-row { align-items: stretch; flex-direction: column; }
    .admin-search { width: 100%; }
    .admin-filter-buttons { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .admin-manage-grid { grid-template-columns: 1fr; }
    .admin-side-stats { grid-template-columns: 1fr; }
}

/* Global softer hover: corner glow only, text stays readable */
.card:hover,
.select-card:hover,
.choice-card:hover,
.reservation-card:hover,
.admin-sales-card:hover,
.admin-stat-card:hover,
.admin-list-card:hover,
.admin-form-card:hover,
.admin-manage-card:hover {
    transform: translateY(-2px) !important;
}
.card::before,
.select-card::before {
    display: none !important;
}
.card::after,
.select-card::after,
.reservation-card::before,
.admin-manage-card::before,
.admin-sales-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    transition: opacity .22s ease;
    background:
        radial-gradient(circle at 0 0, rgba(233,141,69,.18), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(124,173,117,.16), transparent 34%);
    z-index: 0;
}
.card:hover::after,
.select-card:hover::after,
.select-card.selected::after,
.reservation-card:hover::before,
.admin-manage-card:hover::before,
.admin-sales-card:hover::before {
    opacity: 1;
}
.card > *,
.select-card > *,
.reservation-card > *,
.admin-manage-card > *,
.admin-sales-card > * {
    position: relative;
    z-index: 1;
}
.choice-card:hover,
.choice-card.selected {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,239,.94)) !important;
}
.reservation-card:hover,
.admin-manage-card:hover,
.admin-sales-card:hover,
.admin-stat-card:hover,
.admin-list-card:hover,
.admin-form-card:hover,
.card:hover,
.select-card:hover {
    box-shadow: 0 16px 38px rgba(88,55,30,.13) !important;
}
body.dark-mode .choice-card:hover,
body.dark-mode .choice-card.selected {
    background: linear-gradient(180deg, rgba(36,29,24,.98), rgba(44,34,27,.96)) !important;
}

/* Dark mode compatibility pass */
body.dark-mode .card-icon,
body.dark-mode .title-icon,
body.dark-mode .reservation-icon,
body.dark-mode .admin-manage-card > span,
body.dark-mode .admin-list-row > span,
body.dark-mode .footer-contact b {
    background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(155,201,147,.12)) !important;
    color: #f7efe6 !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.22) !important;
}
body.dark-mode .section-title-block,
body.dark-mode .menu-headline,
body.dark-mode .info-band,
body.dark-mode .cta-band,
body.dark-mode .contact-card,
body.dark-mode .about-stats div,
body.dark-mode .summary-preview,
body.dark-mode .payment-summary,
body.dark-mode .venue-note,
body.dark-mode .fixed-time-card,
body.dark-mode .booking-calendar,
body.dark-mode .admin-page-head,
body.dark-mode .admin-form-card,
body.dark-mode .admin-list-card,
body.dark-mode .admin-stat-card,
body.dark-mode .mini-stat,
body.dark-mode .reservation-card,
body.dark-mode .reservation-card-bottom,
body.dark-mode .detail-side-card,
body.dark-mode .selection-group-card,
body.dark-mode .empty-state,
body.dark-mode .admin-manage-card {
    background: linear-gradient(135deg, rgba(32,26,22,.96), rgba(43,33,27,.92)) !important;
    color: var(--ink) !important;
    border-color: rgba(255,255,255,.14) !important;
}
body.dark-mode .admin-form-title .title-icon {
    background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(155,201,147,.12));
    color: #f7efe6;
    border: 1px solid rgba(255,255,255,.14);
}
body.dark-mode .admin-form-side {
    background:
        linear-gradient(135deg, rgba(20,16,13,.96), rgba(45,34,27,.92)),
        url('../images/site-background.png');
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .select-card,
body.dark-mode .choice-card,
body.dark-mode .price-card,
body.dark-mode .showcase-card {
    background: linear-gradient(180deg, rgba(32,26,22,.98), rgba(43,33,27,.94)) !important;
    color: var(--ink) !important;
    border-color: rgba(255,255,255,.14) !important;
}
body.dark-mode .choice-card.selected,
body.dark-mode .select-card.selected {
    border-color: rgba(240,161,91,.72) !important;
    box-shadow: 0 0 0 4px rgba(240,161,91,.14), 0 18px 40px rgba(0,0,0,.25) !important;
}
body.dark-mode .per-person-note {
    background: rgba(155,201,147,.14) !important;
    color: #dff1d9 !important;
}
body.dark-mode .choice-meta .price-line,
body.dark-mode .choice-meta .pill {
    background: rgba(155,201,147,.14);
    color: #dff1d9;
}
body.dark-mode .about-stats strong {
    color: #ffc082;
}
body.dark-mode .about-stats span,
body.dark-mode .contact-card p,
body.dark-mode .contact-lines span {
    color: #d8c7b8;
}
body.dark-mode .contact-lines b,
body.dark-mode .brand-icon {
    background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(155,201,147,.12));
    color: #f7efe6;
    border: 1px solid rgba(255,255,255,.14);
}
body.dark-mode .whatsapp-btn {
    background: #1fae56;
    color: #fff;
    box-shadow: 0 14px 28px rgba(31,174,86,.22);
}
body.dark-mode .gmail-btn {
    background: rgba(255,255,255,.09);
    color: #ffd8d0;
    border-color: rgba(255,255,255,.16);
}
body.dark-mode .whatsapp-icon {
    background: rgba(255,255,255,.18);
    color: #fff;
}
body.dark-mode .gmail-icon {
    background: rgba(255,216,208,.12);
    color: #ffd8d0;
}
body.dark-mode .calendar-popup {
    background: rgba(32,26,22,.98);
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .calendar-popup-backdrop {
    background: rgba(0,0,0,.56);
}
body.dark-mode .calendar-day {
    background: rgba(255,255,255,.08);
    color: var(--ink);
    border-color: rgba(255,255,255,.14);
}
body.dark-mode .calendar-day.selected {
    background: linear-gradient(135deg, rgba(240,161,91,.22), rgba(155,201,147,.16));
}
body.dark-mode .calendar-day.booked {
    background: rgba(163, 56, 36, .22);
    color: #ffd8d0;
    border-color: rgba(255,160,140,.35);
}
body.dark-mode .calendar-day.booked small {
    color: #ffd8d0;
}
body.dark-mode .calendar-day.past {
    background: rgba(255,255,255,.05);
    color: rgba(255,255,255,.45);
}
body.dark-mode .choice-media {
    filter: brightness(.86) saturate(.95);
}
body.dark-mode .payment-line,
body.dark-mode .detail-item-row,
body.dark-mode .admin-list-row,
body.dark-mode .toggle-field,
body.dark-mode .price-card strong,
body.dark-mode .reservation-card-bottom,
body.dark-mode th,
body.dark-mode td {
    background: rgba(255,255,255,.07) !important;
    color: var(--ink) !important;
    border-color: rgba(255,255,255,.12) !important;
}
body.dark-mode .cart-item,
body.dark-mode .selection-cart,
body.dark-mode .summary-total,
body.dark-mode .payment-total,
body.dark-mode .detail-total {
    background: rgba(15,12,10,.78) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.16) !important;
}
body.dark-mode .table-wrap,
body.dark-mode table,
body.dark-mode tbody,
body.dark-mode tr {
    background: rgba(32,26,22,.92) !important;
    color: var(--ink) !important;
}
body.dark-mode .table-wrap tr:hover td,
body.dark-mode .admin-table-wrap table tr:hover td {
    background: rgba(255,255,255,.1) !important;
}
body.dark-mode .admin-reservation-row td {
    background:
        linear-gradient(90deg, var(--reservation-status-bg), rgba(32,26,22,.94) 56%),
        rgba(32,26,22,.94) !important;
}
body.dark-mode .admin-reservation-row:hover td {
    background:
        linear-gradient(90deg, var(--reservation-status-soft), rgba(44,35,29,.96) 58%),
        rgba(44,35,29,.96) !important;
}
body.dark-mode .admin-status-pill {
    color: #fff;
    background: var(--reservation-status-soft);
    border-color: var(--reservation-status-line);
}
body.dark-mode .alert {
    background: rgba(240,161,91,.14) !important;
    color: #ffd5aa !important;
    border: 1px solid rgba(240,161,91,.22);
}
body.dark-mode .success {
    background: rgba(155,201,147,.14) !important;
    color: #ccebc7 !important;
}
body.dark-mode .step-dot {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.14) !important;
    color: var(--muted) !important;
}
body.dark-mode .step-dot.active {
    background: linear-gradient(135deg, var(--orange), #c9854b) !important;
    color: #1b1511 !important;
}
body.dark-mode .brand-mark {
    color: #1b1511 !important;
}
body.dark-mode .card-media {
    background-color: rgba(32,26,22,.9) !important;
    color: var(--ink) !important;
}
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
    color: rgba(247,239,230,.48) !important;
}
body.dark-mode input[type="file"]::file-selector-button {
    background: linear-gradient(135deg, var(--orange), #c9854b);
    color: #1b1511;
}
body.dark-mode .admin-file-field small {
    color: var(--muted);
}
body.dark-mode .admin-field-hint {
    background: rgba(155,201,147,.14);
    color: #dff1d9;
    border-color: rgba(155,201,147,.18);
}
body.dark-mode a:not(.btn) {
    color: inherit;
}
body.dark-mode .status-badge {
    background: rgba(155,201,147,.14) !important;
    color: #ccebc7 !important;
    border: 1px solid rgba(155,201,147,.18);
}
body.dark-mode .status-iptal-edildi {
    background: rgba(255,110,84,.15) !important;
    color: #ffb9aa !important;
}
body.dark-mode .status-hazirlaniyor {
    background: rgba(255,194,112,.16) !important;
    color: #ffd7a0 !important;
}
body.dark-mode .admin-calendar-day {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.14);
    box-shadow: none;
}
body.dark-mode .admin-calendar-day.has-event {
    background: linear-gradient(180deg, rgba(32,26,22,.98), rgba(43,33,27,.94));
}
body.dark-mode .admin-calendar-day.empty {
    background: rgba(255,255,255,.04);
}
body.dark-mode .admin-calendar-weekdays span {
    color: #f7efe6;
}
body.dark-mode .admin-calendar-day-head strong {
    background: rgba(240,161,91,.16);
    color: #ffc082;
}
body.dark-mode .admin-calendar-day-head span,
body.dark-mode .admin-profile-lines p {
    color: #d8c7b8;
}
body.dark-mode .admin-profile-lines strong {
    color: #f7efe6;
}
body.dark-mode .admin-user-badges .status-badge {
    background: rgba(155,201,147,.14) !important;
    color: #dff1d9 !important;
    border-color: rgba(155,201,147,.24) !important;
}
body.dark-mode .admin-user-badges .account-passive-badge {
    background: rgba(240,161,91,.14) !important;
    color: #ffd5aa !important;
    border-color: rgba(240,161,91,.28) !important;
}
body.dark-mode .admin-user-badges .new-user-badge {
    background: rgba(245,179,109,.16) !important;
    color: #ffe0af !important;
    border-color: rgba(245,179,109,.28) !important;
}
body.dark-mode .admin-user-badges .active-member-badge,
body.dark-mode .admin-user-badges .account-active-badge {
    background: rgba(155,201,147,.16) !important;
    color: #dff1d9 !important;
    border-color: rgba(155,201,147,.28) !important;
}
body.dark-mode .admin-calendar-event {
    background: rgba(155,201,147,.14);
    color: #dff1d9;
    border-color: rgba(155,201,147,.22);
}
body.dark-mode .admin-calendar-event.status-beklemede {
    background: rgba(245,179,109,.16);
    color: #ffe0af;
}
body.dark-mode .admin-calendar-event.status-iptal-edildi {
    background: rgba(163,56,36,.22);
    color: #ffd8d0;
}
body.dark-mode .admin-calendar-event.status-hazirlaniyor {
    background: rgba(91,126,190,.18);
    color: #d9e5ff;
}
body.dark-mode .admin-calendar-event.status-tamamlandi {
    background: rgba(125,88,178,.2);
    color: #eadcff;
}

/* Dark mode menu/button clarity */
body.dark-mode .icon-btn {
    background: rgba(255,255,255,.08) !important;
    color: var(--ink) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.2) !important;
}
body.dark-mode .icon-btn:hover {
    background: rgba(255,255,255,.13) !important;
    border-color: rgba(240,161,91,.55) !important;
}
body.dark-mode .sidebar a,
body.dark-mode .dropdown a {
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: var(--ink) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
body.dark-mode .sidebar a:hover,
body.dark-mode .dropdown a:hover {
    background: rgba(255,255,255,.1) !important;
    border-color: rgba(240,161,91,.5) !important;
    color: #fff !important;
}
body.dark-mode .admin-filter-row,
body.dark-mode .admin-filter-empty {
    background: rgba(32,26,22,.94);
    border-color: rgba(255,255,255,.14);
    color: var(--muted);
}
body.dark-mode .admin-search,
body.dark-mode .admin-filter-buttons button {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.14);
    color: var(--muted);
}
body.dark-mode .admin-filter-buttons button:hover {
    border-color: rgba(240,161,91,.52);
    color: #fff;
}
body.dark-mode .admin-filter-buttons button.active {
    background: linear-gradient(135deg, var(--orange), #c9854b);
    color: #1b1511;
}
body.dark-mode .admin-toast {
    background: rgba(32,26,22,.98);
    color: var(--ink);
    border-color: rgba(155,201,147,.28);
    box-shadow: 0 18px 44px rgba(0,0,0,.32);
}
body.dark-mode .admin-toast-danger {
    border-color: rgba(217,74,53,.32);
}
body.dark-mode .admin-toast strong {
    color: #f7efe6;
}
body.dark-mode .admin-toast small,
body.dark-mode .admin-toast button {
    color: var(--muted);
}
body.dark-mode .admin-toast button {
    background: rgba(255,255,255,.08);
}
body.dark-mode .admin-toast button:hover {
    background: rgba(255,255,255,.14);
    color: #fff;
}
body.dark-mode .admin-confirm-modal {
    background: rgba(32,26,22,.98);
    color: var(--ink);
    border-color: rgba(255,255,255,.14);
    box-shadow: 0 28px 70px rgba(0,0,0,.38);
}
body.dark-mode .admin-confirm-modal p {
    color: var(--muted);
}
body.dark-mode .admin-confirm-backdrop {
    background: rgba(0,0,0,.58);
}

.choice-card.selected::after,
.select-card.choice-card.selected::after {
    content: "Secildi" !important;
    inset: 12px 12px auto auto !important;
    width: auto;
    height: auto;
    opacity: 1 !important;
    z-index: 4;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--orange-dark) !important;
    color: #fff;
    font-size: .76rem;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(88, 55, 30, .18);
}

body.dark-mode .choice-card.selected::after,
body.dark-mode .select-card.choice-card.selected::after {
    background: #f0a15b !important;
    color: #1f1712;
}
body.dark-mode .menu-trigger {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    color: #fff !important;
}
body.dark-mode .menu-trigger:hover {
    border-color: rgba(240,161,91,.58) !important;
    background: rgba(255,255,255,.13) !important;
}
body.dark-mode .burger-lines i,
body.dark-mode .burger span {
    background: #f7efe6 !important;
}

/* Light mode menu/button clarity */
.sidebar a,
.dropdown a {
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(138,96,72,.16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.42);
}
.sidebar a:hover,
.dropdown a:hover {
    background: #fff;
    border-color: rgba(233,141,69,.46);
    box-shadow: 0 10px 22px rgba(88,55,30,.08);
}
.menu-trigger,
.icon-btn,
.theme-toggle,
.user-pill {
    border-color: rgba(138,96,72,.2);
}
.menu-trigger:hover,
.icon-btn:hover,
.theme-toggle:hover,
.user-pill:hover {
    border-color: rgba(233,141,69,.52);
}
/* Full-screen homepage video hero */
.video-hero {
    position: relative;
    width: 100vw;
    min-height: calc(100vh - 74px);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -30px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.24);
}
.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}
.hero-video-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(31,22,17,.76), rgba(31,22,17,.44) 48%, rgba(31,22,17,.28)),
        linear-gradient(180deg, rgba(31,22,17,.32), rgba(31,22,17,.64));
}
.hero-content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 36px));
    display: grid;
    justify-items: start;
    gap: 18px;
    color: #fff;
    padding: clamp(54px, 10vw, 120px) 0;
}
.video-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    text-shadow: 0 16px 42px rgba(0,0,0,.42);
}
.video-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.75;
    text-shadow: 0 10px 28px rgba(0,0,0,.32);
}
.video-hero .pill {
    background: rgba(255,255,255,.16);
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(12px);
}
.hero-light-btn {
    background: rgba(255,255,255,.13) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.32) !important;
    backdrop-filter: blur(10px);
}
.hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 24px;
    z-index: 2;
    transform: translateX(-50%);
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.24);
    color: #fff;
    font-size: 1.35rem;
    backdrop-filter: blur(10px);
    animation: heroBounce 1.8s ease-in-out infinite;
}
@keyframes heroBounce {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, -8px); }
}
body.dark-mode .hero-video-overlay {
    background:
        linear-gradient(90deg, rgba(13,10,8,.78), rgba(13,10,8,.48) 50%, rgba(13,10,8,.34)),
        linear-gradient(180deg, rgba(13,10,8,.32), rgba(13,10,8,.72));
}
@media (max-width: 760px) {
    .video-hero {
        min-height: calc(100vh - 128px);
        margin-top: -22px;
    }
    .hero-content {
        width: min(100% - 28px, 1180px);
        padding: 52px 0 86px;
    }
    .hero-actions { width: 100%; }
    .hero-actions .btn { flex: 1; min-width: 180px; }
}

/* Flower aisle background after video hero */
.flower-page-bg {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 18px max(16px, calc((100vw - 1180px) / 2)) 70px;
    background:
        linear-gradient(90deg, rgba(255,250,244,.18), rgba(255,250,244,.86) 27%, rgba(255,250,244,.91) 50%, rgba(255,250,244,.86) 73%, rgba(255,250,244,.18)),
        url('../images/flower-aisle-bg.png');
    background-size: cover;
    background-position: top center;
    background-attachment: fixed;
    border-top: 1px solid rgba(255,255,255,.28);
}
.flower-page-bg > .section {
    width: min(1180px, 100%);
    margin-left: auto;
    margin-right: auto;
}
.flower-page-bg .section-title-block,
.flower-page-bg .card,
.flower-page-bg .info-band,
.flower-page-bg .cta-band {
    backdrop-filter: blur(10px);
}
body.dark-mode .flower-page-bg {
    background:
        linear-gradient(90deg, rgba(22,18,15,.28), rgba(22,18,15,.86) 27%, rgba(22,18,15,.9) 50%, rgba(22,18,15,.86) 73%, rgba(22,18,15,.28)),
        url('../images/flower-aisle-bg.png');
    background-size: cover;
    background-position: top center;
    background-attachment: fixed;
}
@media (max-width: 760px) {
    .flower-page-bg {
        padding-inline: 12px;
        background-attachment: scroll;
        background-position: center top;
    }
}

/* Definitive header/video gap fix and lighter flower overlay tuning */
:root {
    --site-header-height: 74px;
}
.site-header.enhanced-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 1000 !important;
}
.sidebar {
    z-index: 1200 !important;
}
.sidebar-backdrop {
    z-index: 1150 !important;
}
.page-shell {
    width: min(1180px, calc(100% - 32px));
    padding-top: var(--site-header-height) !important;
}
.video-hero {
    margin-top: 0 !important;
    min-height: calc(100vh - var(--site-header-height)) !important;
}
.flower-page-bg {
    background:
        linear-gradient(90deg, rgba(255,250,244,.08), rgba(250,239,224,.62) 27%, rgba(250,239,224,.68) 50%, rgba(250,239,224,.62) 73%, rgba(255,250,244,.08)),
        url('../images/flower-aisle-bg.png') !important;
    background-size: cover !important;
    background-position: top center !important;
    background-attachment: fixed !important;
}
@media (max-width: 760px) {
    :root { --site-header-height: 128px; }
    .page-shell {
        width: min(100% - 22px, 1180px);
        padding-top: var(--site-header-height) !important;
    }
    .video-hero {
        min-height: calc(100vh - var(--site-header-height)) !important;
        margin-top: 0 !important;
    }
    .flower-page-bg {
        background-attachment: scroll !important;
    }
}

/* Home video must touch fixed header with no visual gap */
.page-shell:has(.home-video-hero) {
    padding-top: var(--site-header-height) !important;
    padding-bottom: 0 !important;
}
.home-video-hero {
    margin-top: calc(-1 * var(--site-header-height)) !important;
    min-height: 100vh !important;
    border-top: 0 !important;
}
.page-shell:has(.home-video-hero) .flower-page-bg {
    padding-bottom: 18px !important;
}
.page-shell:has(.home-video-hero) .flower-page-bg > .section:last-child {
    padding-bottom: 28px;
}
.page-shell:has(.home-video-hero) + .enhanced-footer {
    margin-top: -18px;
    position: relative;
    z-index: 1;
}
@media (max-width: 760px) {
    .home-video-hero {
        margin-top: calc(-1 * var(--site-header-height)) !important;
        min-height: 100vh !important;
    }
}

/* Real generated card images */
.image-card-media,
.product-media {
    background-size: cover !important;
    background-position: center !important;
    color: transparent !important;
}
.product-media {
    height: 145px;
    min-height: 145px;
    margin: -8px -8px 12px;
}
.price-card .card-icon {
    position: absolute;
    top: 128px;
    right: 16px;
    z-index: 2;
}
.price-card .pill,
.price-card h3,
.price-card p,
.price-card strong {
    position: relative;
    z-index: 1;
}
body.dark-mode .product-media,
body.dark-mode .image-card-media {
    filter: brightness(.86) saturate(.95);
}
@media (max-width: 620px) {
    .product-media { height: 132px; min-height: 132px; }
    .price-card .card-icon { top: 116px; }
}
