:root {
    --color-espresso: #0A0A0A;
    --color-charcoal: #202020;
    --color-orange-dark: #B88A1E;
    --color-orange: #C9A227;
    --color-terracotta: #B88A1E;
    --color-peach: #E5D3A1;
    --color-cream: #F6F1E7;
    --color-ivory: #FFFCF8;
    --color-beige: #E5D3A1;
    --color-border: #D8D2C6;
    --color-white: #FFFFFF;
    --color-muted: #6F6F6F;
    --color-success: #477A61;
    --color-warning: #B88136;
    --color-danger: #A94A45;
    --radius-lg: 24px;
    --radius-md: 18px;
    --shadow-soft: 0 18px 40px rgba(45, 33, 27, 0.08);
    --shadow-card: 0 12px 28px rgba(45, 33, 27, 0.07);
}

.review-section-actions{gap:.75rem}.public-reviews-page>.review-section-heading{margin-bottom:1.5rem}
.review-section--compact{padding:64px 0}.review-home-summary{max-width:900px;margin:0 auto;text-align:center}.review-home-summary h2{font-size:clamp(2.35rem,4vw,3.25rem)}.review-home-summary>p:not(.section-label){margin:.8rem 0 0;color:var(--color-muted)}.review-home-summary .review-section-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.review-home-summary .review-section-actions .btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:170px;width:170px;height:48px;min-height:48px;margin:0;padding:0 24px;border-radius:999px;font-size:15px;font-weight:700;line-height:1}.review-page-heading{text-align:center}.review-page-heading h1{font-size:clamp(2.4rem,4.4vw,3.5rem)}.review-page-summary{display:grid;justify-items:center;gap:.25rem;margin:1.3rem auto 2.2rem}.review-page-summary .review-summary-stars{font-size:1.45rem}.review-page-summary strong{font-family:'Cormorant Garamond',serif;font-size:1.9rem}.review-page-summary span{color:var(--color-muted)}.review-card-images{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:#c9a227}.review-card-images a{display:block;min-width:0}.review-card-images--1{grid-template-columns:1fr}.review-card-images--3 a:first-child{grid-row:span 2}.review-card-images .review-card-image{height:100%;min-height:120px;aspect-ratio:4/3}.review-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;margin:2rem auto}.review-pagination a,.review-pagination span{display:grid;place-items:center;min-width:42px;min-height:42px;padding:.5rem .75rem;border:1px solid rgba(201,162,39,.48);border-radius:10px;color:#202020;text-decoration:none}.review-pagination a:hover,.review-pagination a.active{background:#c9a227;color:#0a0a0a}.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:640px){.review-section--compact{padding:48px 0}.review-home-summary .review-section-actions{gap:.75rem}.review-home-summary .review-section-actions .btn{width:100%}.review-pagination a:first-child,.review-pagination a:last-child{flex-basis:100%}}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Manrope', Inter, Arial, sans-serif;
    color: var(--color-charcoal);
    background: linear-gradient(180deg, var(--color-ivory) 0%, var(--color-cream) 100%);
    line-height: 1.75;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
}

.container {
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
}

h1, h2, h3, h4 {
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    color: var(--color-espresso);
    margin: 0;
    line-height: 1.05;
}

p {
    margin: 0;
}

.site-body {
    min-height: 100vh;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 252, 248, 0.9);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(45, 33, 27, 0.08);
}

.site-header.scrolled {
    box-shadow: 0 10px 30px rgba(45, 33, 27, 0.08);
}

.site-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    gap: 1rem;
}

.brand {
    color: var(--color-orange-dark);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 700;
    font-size: 1.3rem;
    text-decoration: none;
    letter-spacing: 0.04em;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.nav-links a {
    text-decoration: none;
    color: var(--color-charcoal);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    position: relative;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.nav-links a::after {
    content: '';
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.25rem;
    height: 2px;
    background: var(--color-orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}

.nav-links a:hover::after,
.nav-links a.active::after {
    transform: scaleX(1);
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--color-orange-dark);
    background: rgba(220, 123, 62, 0.08);
}

.nav-cta {
    background: var(--color-orange-dark);
    color: var(--color-white) !important;
    box-shadow: var(--shadow-card);
}

.mobile-toggle {
    display: none;
    border: 0;
    background: transparent;
    padding: 0.25rem;
}

.mobile-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-charcoal);
    margin: 4px 0;
}

.hero-section {
    min-height: calc(100vh - 84px);
    display: flex;
    align-items: center;
    padding: 4rem 0 3rem;
    background:
        linear-gradient(90deg, rgba(21, 15, 12, 0.78), rgba(21, 15, 12, 0.36)),
        url('../images/rpsb-wedding-hero.jpeg') center/cover no-repeat;
    color: var(--color-white);
}

.hero-content {
    max-width: 760px;
    padding: 2.3rem;
    background: rgba(255, 252, 248, 0.12);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 28px;
    box-shadow: var(--shadow-soft);
}

.eyebrow, .section-label {
    display: inline-block;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--color-peach);
    margin-bottom: 0.7rem;
}

.hero-content h1 {
    font-size: clamp(3rem, 6vw, 6rem);
    line-height: 0.95;
    color: var(--color-white);
    margin-bottom: 1rem;
    letter-spacing: -0.01em;
}

.hero-content p {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.92);
    max-width: 660px;
}

.hero-actions {
    display: flex;
    gap: 0.9rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 999px;
    padding: 0.9rem 1.25rem;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    border: 1px solid transparent;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn-primary {
    background: linear-gradient(135deg, var(--color-orange-dark), var(--color-orange));
    color: var(--color-white);
    box-shadow: var(--shadow-card);
}

.btn-secondary {
    background: rgba(255, 252, 248, 0.16);
    color: var(--color-white);
    border-color: rgba(255, 255, 255, 0.3);
}

.hero-panel {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.4rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,0.2);
}

.hero-panel > div {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.75rem 0.9rem;
    background: rgba(255,255,255,0.1);
    border-radius: 14px;
    min-width: 160px;
}

.hero-panel strong {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--color-peach);
}

.trust-strip {
    padding: 1.25rem 0 0;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    background: rgba(255, 252, 248, 0.8);
    border: 1px solid var(--color-border);
    border-radius: 20px;
    box-shadow: var(--shadow-card);
}

.trust-grid > div {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    color: var(--color-charcoal);
    font-size: 0.95rem;
}

.trust-grid span {
    color: var(--color-orange-dark);
    font-size: 1rem;
}

.feature-section {
    padding: 5rem 0 0;
}

.section-heading {
    max-width: 760px;
    margin-bottom: 1.6rem;
}

.section-heading h2 {
    font-size: clamp(2rem, 4vw, 3.2rem);
    margin-bottom: 0.7rem;
}

.section-heading p {
    color: var(--color-muted);
    font-size: 1rem;
}

.package-showcase {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 1.3rem;
    padding: 1.6rem;
    background: var(--color-ivory);
    border: 1px solid var(--color-border);
    border-radius: 28px;
    box-shadow: var(--shadow-soft);
}

.package-copy h3 {
    font-size: 2rem;
    margin-bottom: 0.6rem;
}

.price-highlight {
    font-size: 1.2rem;
    color: var(--color-orange-dark);
    font-weight: 700;
    margin-bottom: 1rem;
}

.package-copy ul {
    padding-left: 1rem;
    color: var(--color-charcoal);
    margin: 0 0 1.25rem;
}

.package-visual {
    min-height: 300px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(10,10,10,0.25), rgba(10,10,10,0.03)),
        url('../images/rpsb-wedding-hero.jpeg') center/cover no-repeat;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.info-card, .step-card, .page-card {
    background: var(--color-ivory);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 1.3rem;
    box-shadow: var(--shadow-card);
}

.info-card h3, .step-card h3 {
    font-size: 1.35rem;
    margin-bottom: 0.5rem;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.step-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: rgba(220, 123, 62, 0.15);
    color: var(--color-orange-dark);
    font-weight: 700;
    margin-bottom: 0.9rem;
}

.cta-panel {
    padding: 5rem 0 4rem;
}

.cta-panel__content {
    padding: 2rem;
    background: linear-gradient(135deg, var(--color-espresso), var(--color-charcoal));
    border-radius: 28px;
    color: var(--color-white);
    box-shadow: var(--shadow-soft);
}

.cta-panel__content h2 {
    color: var(--color-white);
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 1rem;
}

.page-shell {
    padding: 4rem 0 5rem;
}

.page-card {
    padding: 2rem;
}

.page-card h1 {
    font-size: clamp(2.2rem, 4vw, 3rem);
    margin-bottom: 0.75rem;
}

.page-card p {
    color: var(--color-muted);
}

.site-footer {
    background: var(--color-espresso);
    color: var(--color-ivory);
    padding: 2.4rem 0;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.8fr 0.8fr;
    gap: 1.4rem;
}

.site-footer h3,
.site-footer h4 {
    color: var(--color-peach);
    margin-bottom: 0.6rem;
}

.site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer li + li {
    margin-top: 0.4rem;
}

.site-footer a {
    color: var(--color-ivory);
    text-decoration: none;
}

.auth-card {
    max-width: 640px;
    margin: 0 auto;
    padding: 2rem;
    background: var(--color-ivory);
    border: 1px solid var(--color-border);
    border-radius: 28px;
    box-shadow: var(--shadow-soft);
}

.auth-card__intro h1 {
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    margin-bottom: 0.6rem;
}

.auth-form {
    display: grid;
    gap: 0.95rem;
    margin-top: 1.4rem;
}

.form-group {
    display: grid;
    gap: 0.35rem;
}

.form-group label {
    font-weight: 700;
    color: var(--color-espresso);
}

.form-group input {
    border: 1px solid var(--color-border);
    border-radius: 14px;
    padding: 0.85rem 1rem;
    font: inherit;
    background: var(--color-white);
}

.alert {
    margin-top: 1.2rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: rgba(169, 74, 69, 0.12);
    color: var(--color-danger);
}

.alert ul {
    margin: 0;
    padding-left: 1rem;
}

.auth-footer {
    margin-top: 1rem;
    color: var(--color-muted);
}

.auth-footer a {
    color: var(--color-orange-dark);
    font-weight: 700;
}

.forgot-password-link {
    display: inline-block;
    align-self: flex-start;
    margin-top: 0.45rem;
    color: var(--color-orange-dark);
    font-size: 0.88rem;
    font-weight: 700;
}

.otp-input {
    text-align: center;
    font-size: 1.5rem !important;
    font-weight: 700;
    letter-spacing: 0.55em;
}

.otp-input:focus {
    border-color: var(--color-gold) !important;
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.2);
}

.otp-resend-form {
    margin-top: 1rem;
}

.dashboard-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 0 2rem;
}

.customer-welcome-panel {
    width: calc(100% - 64px);
    margin: 32px auto 40px;
    padding: 40px 48px;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
}

.customer-welcome-panel .section-label {
    margin: 0 0 18px;
}

.customer-welcome-panel h1 {
    margin: 0 0 12px;
}

.customer-welcome-panel > div > p:last-child {
    margin: 0;
}

@media (max-width: 720px) {
    .customer-welcome-panel {
        width: calc(100% - 32px);
        margin: 24px auto 32px;
        padding: 28px 24px;
    }
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.dashboard-card {
    display: block;
    padding: 1.4rem;
    text-decoration: none;
    background: var(--color-ivory);
    border: 1px solid var(--color-border);
    border-radius: 24px;
    box-shadow: var(--shadow-card);
    color: var(--color-charcoal);
}

.dashboard-card h3 {
    margin-bottom: 0.4rem;
    font-size: 1.35rem;
}

.admin-layout {
    display: grid;
    grid-template-columns: 270px 1fr;
    gap: 1.25rem;
}

.admin-sidebar {
    background: var(--color-espresso);
    color: var(--color-ivory);
    border-radius: 24px;
    padding: 1.4rem;
    min-height: 520px;
}

.sidebar-brand {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.45rem;
    margin-bottom: 1.4rem;
}

.admin-sidebar nav {
    display: grid;
    gap: 0.4rem;
}

.admin-sidebar a {
    text-decoration: none;
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    color: var(--color-ivory);
}

.admin-sidebar a.active,
.admin-sidebar a:hover {
    background: rgba(255,255,255,0.12);
}

.admin-content {
    display: grid;
    gap: 1rem;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.stat-card {
    background: var(--color-ivory);
    border: 1px solid var(--color-border);
    border-radius: 22px;
    padding: 1.2rem;
    box-shadow: var(--shadow-card);
}

.stat-card h3 {
    font-size: 1.7rem;
    margin-bottom: 0.35rem;
}

.stat-card p {
    color: var(--color-muted);
}

@media (max-width: 1024px) {
    .trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .card-grid,
    .steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .package-showcase {
        grid-template-columns: 1fr;
    }
    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .mobile-toggle {
        display: block;
    }

    .nav-links {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 0.75rem;
    }

    .site-nav.open .nav-links {
        display: flex;
    }

    .hero-section {
        min-height: auto;
        padding: 3rem 0 2rem;
    }

    .hero-content {
        padding: 1.4rem;
    }

    .trust-grid,
    .card-grid,
    .steps-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .hero-panel {
        flex-direction: column;
    }

    .hero-actions {
        flex-direction: column;
    }

    .btn {
        width: 100%;
    }

    .dashboard-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-grid,
    .stats-grid,
    .admin-layout {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        min-height: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Authentication, profile and dashboard completion */
.alert-success { background: rgba(53, 121, 79, 0.12); color: #28633e; }
.profile-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.4fr); gap: 1.25rem; align-items: start; }
.recent-panel { background: var(--color-ivory); border: 1px solid var(--color-border); border-radius: 24px; padding: 1.4rem; box-shadow: var(--shadow-card); margin-top: .5rem; }
.table-wrap { width: 100%; overflow-x: auto; margin-top: 1rem; }
.data-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.data-table th, .data-table td { padding: .85rem .75rem; text-align: left; border-bottom: 1px solid var(--color-border); vertical-align: middle; }
.data-table th { color: var(--color-espresso); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.data-table td { color: var(--color-charcoal); font-size: .9rem; }
.data-table td small { display: block; color: var(--color-muted); margin-top: .2rem; }
.status-badge { display: inline-flex; padding: .35rem .65rem; border-radius: 999px; background: #f1e8df; color: var(--color-espresso); font-size: .78rem; font-weight: 700; }
.status-approved { background: #e0f0e5; color: #28633e; }
.status-completed { background: #dcecf1; color: #24586a; }
.status-cancelled, .status-rejected { background: #f5dddd; color: var(--color-danger); }
.status-pending { background: #fff0d3; color: #8a5a14; }
.stat-card--sales { background: linear-gradient(135deg, var(--color-orange), var(--color-orange-dark)); color: white; }
.stat-card--sales p { color: rgba(255,255,255,.85); }
.empty-state { padding: 1.25rem 0; color: var(--color-muted); }
@media (max-width: 900px) { .profile-layout { grid-template-columns: 1fr; } }

/* Modern Heritage Banquet refinement */
:root{--color-gold:#C9A227;--color-olive:#2B2B2B;--radius-lg:20px;--radius-md:14px;--shadow-soft:0 18px 45px rgba(10,10,10,.1);--shadow-card:0 8px 24px rgba(10,10,10,.07)}
html{scroll-padding-top:76px}body{font-size:16px;line-height:1.65;overflow-x:hidden}.container{width:min(1220px,calc(100% - 2.5rem))}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--color-espresso);color:#fff;padding:.7rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}.site-header{background:rgba(255,252,248,.92)}.site-nav{height:70px;padding:.55rem 0;gap:.65rem;flex-wrap:nowrap}.brand{font-size:1.22rem;flex:0 0 auto;white-space:nowrap}.brand span{color:var(--color-espresso)}.nav-links{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:.05rem;flex-wrap:nowrap;white-space:nowrap}.nav-links a{font-size:.78rem;padding:.42rem .38rem}.nav-links a::after{left:.38rem;right:.38rem}.nav-links .nav-cta{padding:.58rem .78rem;margin-left:.2rem}.hero-section{min-height:680px;padding:72px 0;background:linear-gradient(90deg,rgba(21,15,12,.8),rgba(21,15,12,.32)),url('../images/rpsb-wedding-hero.jpeg') center/cover no-repeat}.hero-content{max-width:720px;padding:2rem;background:rgba(30,25,22,.5);backdrop-filter:blur(16px);border-radius:24px}.hero-content h1{font-size:clamp(2.8rem,5vw,4.3rem);line-height:1}.hero-content>p{font-size:1rem}.hero-panel>div{min-width:145px;padding:.65rem .75rem}.feature-section{padding-top:78px}.section-heading h2,.split-story h2{font-size:clamp(2.25rem,3.8vw,2.9rem);line-height:1.08}.section-heading{max-width:720px;margin-bottom:1.4rem}.btn{min-height:47px;padding:.72rem 1.05rem;font-size:.94rem;border-radius:12px}.btn-outline{border-color:var(--color-orange-dark);color:var(--color-orange-dark);margin-top:1.2rem}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.metric-grid article{padding:1.15rem;background:var(--color-ivory);border:1px solid var(--color-border);border-radius:16px}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{font-family:'Cormorant Garamond',serif;color:var(--color-espresso);font-size:1.3rem;line-height:1.1}.metric-grid span{font-size:.8rem;color:var(--color-muted);margin-top:.35rem}.data-note{font-size:.76rem;color:var(--color-muted);margin-top:.75rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{overflow:hidden;background:var(--color-ivory);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-card)}.service-card img{width:100%;height:170px;object-fit:cover}.service-card div{padding:1.1rem}.service-card h3,.package-card h2,.package-card h3{font-size:1.45rem;margin-bottom:.35rem}.service-card p,.package-card p{color:var(--color-muted);font-size:.9rem}.service-card a,.card-actions>a:not(.btn){color:var(--color-orange-dark);font-weight:700;text-decoration:none}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.package-card{padding:1.35rem;background:var(--color-ivory);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-card)}.package-area{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem!important;color:var(--color-olive)!important;font-weight:700}.price-highlight small{font-size:.78rem}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.split-story{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.story-image img{width:100%;height:390px;object-fit:cover;border-radius:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.gallery-grid figure{margin:0;overflow:hidden;border-radius:16px;aspect-ratio:4/3}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-grid figure:hover img{transform:scale(1.04)}.institutional,.heritage-band{padding-bottom:78px;background:#f1ecdf;margin-top:78px}.institution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.institution-grid article{background:var(--color-ivory);border:1px solid var(--color-border);padding:1.3rem;border-radius:16px}.institution-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-olive);font-weight:700}.institution-grid h3{font-size:1.35rem;margin:.35rem 0}.card-grid.six{grid-template-columns:repeat(3,1fr)}.cta-panel{padding:78px 0}.cta-panel__content{padding:2rem;background:linear-gradient(135deg,rgba(10,10,10,.96),rgba(32,32,32,.94)),url('../images/gallery/vip-table-setup.jpeg') center/cover;border-radius:20px}.inner-hero{padding:88px 0;background:linear-gradient(90deg,rgba(30,25,22,.87),rgba(30,25,22,.52)),url('../images/gallery/wedding-table-purple.jpeg') center/cover;color:#fff}.inner-hero h1{color:#fff;font-size:clamp(2.8rem,5vw,4rem);max-width:760px}.inner-hero p{max-width:670px}.timeline{list-style:none;padding:0;border-left:2px solid var(--color-gold);margin-left:.8rem}.timeline li{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:0 0 1.4rem 1.4rem;position:relative}.timeline li::before{content:'';position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--color-gold)}blockquote{border-left:3px solid var(--color-gold);padding:1rem 1.4rem;background:var(--color-ivory);font-family:'Cormorant Garamond',serif;font-size:1.45rem}.page-shell{padding:58px 0 72px}.page-heading{margin-bottom:1.4rem}.page-heading h1{font-size:clamp(2.4rem,4vw,3.3rem)}.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;align-items:end;padding:1rem;background:var(--color-ivory);border:1px solid var(--color-border);border-radius:16px;margin-bottom:1.2rem}.filter-bar label,.booking-form label{display:grid;gap:.35rem;font-size:.8rem;font-weight:700;color:var(--color-espresso)}input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:.72rem .8rem;font:inherit;color:var(--color-charcoal)}textarea{resize:vertical}.package-list{grid-template-columns:repeat(2,1fr)}.package-card dl{margin:1rem 0}.package-card dl>div{border-top:1px solid var(--color-border);padding:.6rem 0}.package-card dt{font-size:.72rem;text-transform:uppercase;color:var(--color-muted)}.package-card dd{margin:0}.addon-note{padding:.75rem;background:#f6eee5;border-radius:10px;font-size:.8rem}.form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.75fr);gap:1rem;align-items:start}.booking-form{display:grid;gap:.9rem;margin-top:1.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.booking-guide{background:var(--color-espresso);color:#fff;padding:1.3rem;border-radius:18px;position:sticky;top:86px}.booking-guide ol{padding-left:1.2rem;margin-bottom:0}.booking-guide li+li{margin-top:.8rem}.estimate-box{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:#f5eadf;border-radius:12px}.detail-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.4rem 0}.detail-grid div{padding:1rem;background:#f8f3ed;border-radius:12px}.detail-grid dt{font-size:.75rem;text-transform:uppercase;color:var(--color-muted)}.detail-grid dd{margin:.2rem 0 0;font-weight:600}.site-footer{padding:3rem 0;border-top:1px solid rgba(201,162,39,.35)}.page-card{padding:1.5rem;border-radius:18px}:focus-visible{outline:3px solid rgba(201,162,39,.45);outline-offset:3px}
@media(max-width:1120px){.mobile-toggle{display:block;margin-left:auto}.site-nav{flex-wrap:wrap;height:auto;min-height:68px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:1rem max(1.25rem,calc((100vw - 1220px)/2));background:rgba(255,252,248,.98);box-shadow:var(--shadow-soft);flex-direction:column;align-items:stretch;white-space:normal}.site-nav.open .nav-links{display:flex}.nav-links a{font-size:.9rem;padding:.65rem}.metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.container{width:min(100% - 1.5rem,1220px)}.hero-section{min-height:auto;padding:48px 0}.hero-content{padding:1.4rem}.hero-content h1{font-size:clamp(2.45rem,12vw,3.5rem)}.feature-section{padding-top:52px}.metric-grid,.service-grid,.package-grid,.institution-grid,.card-grid.six{grid-template-columns:1fr 1fr}.split-story,.form-layout{grid-template-columns:1fr}.story-image img{height:300px}.gallery-grid{grid-template-columns:1fr 1fr}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar label:first-child{grid-column:1/-1}.booking-guide{position:static}.institutional,.heritage-band{margin-top:52px;padding-bottom:52px}.cta-panel{padding:52px 0}.btn{width:auto}.hero-actions{flex-direction:row}}
@media(max-width:520px){.metric-grid,.service-grid,.package-grid,.institution-grid,.card-grid.six,.filter-bar,.form-row,.detail-grid{grid-template-columns:1fr}.gallery-grid{gap:.5rem}.hero-panel{display:grid}.hero-actions,.card-actions,.estimate-box{align-items:stretch;flex-direction:column}.hero-actions .btn,.card-actions .btn,.booking-form>.btn{width:100%}.timeline li{grid-template-columns:1fr;gap:.25rem}.page-card{padding:1.1rem}}

.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.help-grid h2{font-size:1.45rem}.help-grid .btn{margin-top:1rem}@media(max-width:768px){.help-grid{grid-template-columns:1fr}}

@media(min-width:1121px){.nav-links a{font-size:.88rem;padding-left:.34rem;padding-right:.34rem}}
/* RPSB Forest Green and Champagne design system */
:root{--color-espresso:#202020;--color-charcoal:#202020;--color-orange-dark:#0A0A0A;--color-orange:#C9A227;--color-terracotta:#B88A1E;--color-peach:#C9A227;--color-cream:#F6F1E7;--color-ivory:#F6F1E7;--color-beige:#eee7da;--color-border:rgba(10,10,10,.16);--color-white:#fff;--color-muted:#6F6F6F;--color-success:#356b54;--color-warning:#a87d36;--color-danger:#a94a45;--color-gold:#C9A227;--color-olive:#0A0A0A;--radius-lg:20px;--radius-md:14px;--shadow-soft:0 20px 55px rgba(19,19,19,.12);--shadow-card:0 9px 26px rgba(19,19,19,.08)}
body{background:#F6F1E7;color:#202020}.site-header{background:rgba(247,243,234,.94);border-bottom-color:rgba(10,10,10,.12)}.brand,.nav-links a:hover,.nav-links a.active{color:#0A0A0A}.nav-links a::after{background:#C9A227}.nav-links a:hover,.nav-links a.active{background:rgba(201,162,39,.13)}.btn-primary{background:#C9A227!important;color:#0A0A0A!important;box-shadow:0 8px 20px rgba(0,0,0,.18)}.btn-primary:hover{background:#B88A1E!important}.btn-outline{border-color:#0A0A0A;color:#0A0A0A}.section-label,.eyebrow,.package-area,.institution-grid span{color:#B88A1E!important}.hero-section{min-height:590px;padding:50px 0;background:linear-gradient(90deg,rgba(10,10,10,.66),rgba(10,10,10,.28)),url('../images/rpsb-wedding-hero.jpeg') center/cover no-repeat}.hero-section>.container{width:calc(100% - 96px);max-width:none}.hero-content{width:100%;max-width:none;padding:clamp(1.75rem,3.2vw,2.7rem);background:rgba(19,19,19,.82);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.16);border-radius:28px;box-shadow:0 24px 70px rgba(10,10,10,.32)}.hero-content>.eyebrow,.hero-content>h1,.hero-content>p,.hero-content>.hero-actions{max-width:860px}.hero-content h1,.hero-content>p,.hero-panel span{color:#F6F1E7}.hero-panel{border-top-color:rgba(201,162,39,.4)}.hero-panel>div{background:rgba(255,255,255,.08);border:1px solid rgba(201,162,39,.2)}.btn-secondary{border-color:rgba(201,162,39,.65);background:rgba(255,255,255,.09)}.info-card,.step-card,.page-card,.package-card,.service-card,.metric-grid article,.institution-grid article,.recent-panel{background:#fffdf8}.institutional,.heritage-band,.testimonials-section{background:#F6F1E7}.cta-panel__content{background:linear-gradient(135deg,rgba(19,19,19,.96),rgba(10,10,10,.9)),url('../images/gallery/vip-table-setup.jpeg') center/cover}.site-footer,.admin-sidebar,.booking-guide{background:#0A0A0A}.site-footer h3,.site-footer h4,.sidebar-brand{color:#C9A227}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.testimonial-grid article{background:#fffdf8;border:1px solid var(--color-border);padding:1.3rem;border-radius:18px;box-shadow:var(--shadow-card)}.testimonial-grid span{color:#B88A1E;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.testimonial-grid p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;margin:.65rem 0}.testimonial-grid small{color:var(--color-muted)}.testimonials-section{margin-top:78px;padding-bottom:78px}.faq-list{display:grid;gap:.65rem}.faq-list details{background:#fffdf8;border:1px solid var(--color-border);border-radius:14px;padding:1rem 1.15rem}.faq-list summary{cursor:pointer;font-weight:700;color:#0A0A0A}.faq-list details p{margin-top:.7rem;color:var(--color-muted)}.alert-success{background:rgba(53,107,84,.12);color:#28533f}.status-approved,.status-completed{background:#deebe3;color:#28533f}.stat-card--sales{background:#0A0A0A;color:#fff}.stat-card--sales p{color:rgba(255,255,255,.8)}
@media(max-width:1100px){.hero-section{min-height:540px;padding:42px 0}.hero-section>.container{width:calc(100% - 64px)}}
@media(max-width:800px){.hero-section{min-height:auto;padding:36px 0}.hero-section>.container{width:calc(100% - 40px)}.hero-content{padding:1.5rem;border-radius:24px}.testimonial-grid{grid-template-columns:1fr}}
@media(max-width:520px){.hero-section{padding:24px 0}.hero-section>.container{width:calc(100% - 24px)}.hero-content{padding:1.25rem;border-radius:20px}.hero-content h1{font-size:clamp(2.25rem,11.5vw,3rem)}}

/* Compact administrator management */
.admin-page-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-page-heading h1{font-size:clamp(2rem,3vw,2.7rem)}.admin-filter{display:flex;gap:.55rem;align-items:end}.admin-filter input{min-width:220px}.inline-admin-form{display:grid;grid-template-columns:130px minmax(150px,1fr) auto;gap:.4rem;min-width:440px}.btn-small{min-height:38px;padding:.45rem .7rem;background:#0A0A0A;color:#fff}.btn-danger{background:#8c403b;color:#fff;min-height:40px}.admin-editor{background:#fffdf8;border:1px solid var(--color-border);border-radius:16px;padding:1rem;margin-bottom:.75rem}.admin-editor summary{cursor:pointer;font-weight:700;color:#0A0A0A}.admin-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem;margin-top:1rem}.admin-form-grid label{display:grid;gap:.3rem;font-size:.8rem;font-weight:700}.admin-form-grid .wide{grid-column:1/-1}.admin-form-grid textarea{min-height:90px}.admin-form-grid .check{display:flex;flex-direction:row;align-items:center}.admin-form-grid .check input{width:auto}.blocked-form{display:grid;grid-template-columns:1fr 2fr auto;gap:.75rem;align-items:end;background:#fffdf8;border:1px solid var(--color-border);padding:1rem;border-radius:16px}.blocked-form label{display:grid;gap:.3rem;font-size:.8rem;font-weight:700}.admin-date-grid{display:grid;gap:.6rem;margin-top:1rem}.admin-date-grid article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:#fffdf8;border:1px solid var(--color-border);border-radius:14px}.admin-date-grid p{color:var(--color-muted)}
@media(max-width:900px){.admin-page-heading,.admin-filter{align-items:stretch;flex-direction:column}.admin-filter input{min-width:0}.admin-form-grid,.blocked-form{grid-template-columns:1fr}.admin-form-grid .wide{grid-column:auto}}

/* Service-area booking module */
.location-fieldset{border:1px solid var(--color-border);border-radius:16px;padding:1rem;display:grid;gap:.85rem}.location-fieldset legend{float:none;width:auto;padding:0 .4rem;color:#0A0A0A;font-family:'Cormorant Garamond',serif;font-size:1.35rem}.location-notice{font-size:.82rem;color:#594500;background:rgba(201,162,39,.14);padding:.7rem;border-radius:10px}.curry-option{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem!important;padding:.75rem;background:#F6F1E7;border-radius:10px}.curry-option input{width:auto}.location-summary{display:grid;gap:.3rem;padding:1rem;border-left:3px solid #C9A227;background:#F6F1E7;border-radius:0 12px 12px 0}.location-summary span{font-size:.88rem}.outside-area-notice{margin-top:1rem;padding:1rem;border:1px solid rgba(201,162,39,.4);border-radius:14px;background:#fffaf1}.outside-area-notice p{margin:.3rem 0}.outside-area-notice a{color:#0A0A0A;font-weight:700}

/* Service-location administration */
.location-admin-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem;align-items:end;margin-top:1rem}.location-admin-form label{display:grid;gap:.3rem;font-size:.78rem;font-weight:700}.location-admin-form .check{display:flex;flex-direction:row;align-items:center}.location-admin-form .check input{width:auto}.location-admin-list{display:grid;gap:.65rem}@media(max-width:1100px){.location-admin-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.location-admin-form{grid-template-columns:1fr}}

/* Booking workflow */
.booking-workflow{max-width:1180px}.workflow-heading{max-width:760px;margin-bottom:1.5rem}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;list-style:none;padding:0;margin:0 0 1.5rem}.booking-progress li{padding:.9rem;border:1px solid rgba(201,162,39,.35);border-radius:14px;color:#6F6F6F;background:#fff}.booking-progress li.active{background:#131313;color:#F6F1E7;border-color:#C9A227}.booking-progress span{display:block;font-size:.78rem}.booking-wizard{background:#fff;border:1px solid rgba(201,162,39,.28);border-radius:24px;padding:clamp(1rem,3vw,2rem);box-shadow:0 20px 55px rgba(10,10,10,.1)}.booking-step{display:none;border:0;padding:0;margin:0}.booking-step.active{display:block}.booking-step legend{font:700 clamp(1.4rem,3vw,2rem) serif;color:#202020;margin-bottom:1.25rem}.wizard-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.availability-panel{padding:1rem;background:#F6F1E7;border-radius:18px;margin-bottom:1rem}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.calendar-heading small{display:block}.availability-calendar{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-top:1rem}.calendar-day{min-height:70px;border:1px solid #D8D2C6;border-radius:12px;background:#fff;color:#202020}.calendar-day small{display:block;font-size:.7rem}.calendar-day.limited{border-color:#C9A227;background:#fff8e8}.calendar-day.full{opacity:.55;background:#eee}.calendar-day.selected{outline:3px solid #B88A1E}.calendar-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem;font-size:.8rem}.booking-review dl,.booking-history-grid{display:grid;gap:1rem}.booking-review dl{grid-template-columns:repeat(2,1fr)}.booking-review dl div,.history-card{padding:1rem;border:1px solid rgba(201,162,39,.3);border-radius:16px}.history-card{display:flex;justify-content:space-between;gap:1rem;align-items:center}.history-card>div:last-child{display:grid;justify-items:end;gap:.6rem}.status-timeline{list-style:none;border-left:2px solid #C9A227;padding-left:1.5rem}.status-timeline li{position:relative;margin-bottom:1.2rem}.status-timeline li:before{content:'';position:absolute;left:-1.9rem;top:.3rem;width:.7rem;height:.7rem;border-radius:50%;background:#B88A1E}.status-timeline span{display:block;color:#6F6F6F;font-size:.85rem}.is-inactive{opacity:.55}@media(max-width:768px){.booking-progress{grid-template-columns:repeat(2,1fr)}.availability-calendar{grid-template-columns:repeat(3,1fr)}.booking-review dl{grid-template-columns:1fr}.history-card{align-items:flex-start;flex-direction:column}.history-card>div:last-child{justify-items:start}.calendar-heading{align-items:flex-start;flex-direction:column}}@media(max-width:390px){.availability-calendar{grid-template-columns:repeat(2,1fr)}.booking-progress span{font-size:.7rem}}
.booking-checkbox{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem;width:100%;margin:0;cursor:pointer}.booking-form .booking-checkbox{display:flex}.booking-checkbox input[type="checkbox"]{width:18px!important;height:18px;min-width:18px;flex:0 0 18px;margin:.2rem 0 0;padding:0;position:static!important;transform:none;accent-color:#C9A227;cursor:pointer}.booking-checkbox span{display:block;margin:0;line-height:1.5}.booking-confirmation{padding:1rem;border:1px solid rgba(201,162,39,.35);border-radius:12px;background:#F6F1E7}
/* Flexible orders and quotations */
.order-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.25rem}.booking-form .order-type-card{display:flex;align-items:flex-start;gap:.7rem;padding:1rem;border:1px solid rgba(201,162,39,.38);border-radius:16px;background:#F6F1E7;cursor:pointer}.order-type-card:has(input:checked){border-color:#C9A227;box-shadow:0 0 0 2px rgba(201,162,39,.2);background:#fff}.order-type-card input{flex:0 0 auto;margin:.25rem 0 0;accent-color:#131313}.order-type-card strong,.order-type-card small{display:block}.order-type-card small{font-weight:400;line-height:1.45;margin-top:.35rem;color:#6F6F6F}.flexible-order-notice,.payment-schedule{padding:1rem;border-left:4px solid #C9A227;border-radius:10px;background:#F6F1E7;margin:1rem 0}.food-items{display:grid;gap:1rem}.food-item-row,.quotation-item{padding:1rem;border:1px solid rgba(201,162,39,.35);border-radius:14px;background:#fff}.food-item-row .remove-food-item{margin-top:.75rem}.quotation-panel{margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(201,162,39,.4);border-radius:18px;background:#F6F1E7}.quotation-panel form{display:grid;gap:.85rem}.quote-summary{display:grid;gap:.45rem}.quote-summary>div,.quote-total{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid rgba(201,162,39,.3)}.quote-total{font-size:1.15rem;color:#202020}.quote-actions{display:flex!important;flex-direction:row;flex-wrap:wrap}.menu-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.menu-admin-form{display:grid;gap:.7rem}.menu-admin-form summary{cursor:pointer;font-weight:700}.food-item-row small{display:block}.admin-filter{flex-wrap:wrap}@media(max-width:768px){.order-type-cards,.menu-admin-grid{grid-template-columns:1fr}.quote-actions{flex-direction:column}.quotation-panel{padding:1rem}.food-item-row .form-row{grid-template-columns:1fr}}

/* Categorised flexible menu refinement */
.menu-category-card{padding:1rem;border:1px solid rgba(201,162,39,.35);border-radius:16px;background:#fff;margin-bottom:1rem}.category-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.category-card-heading strong,.category-card-heading small{display:block}.category-card-heading small{font-weight:400;color:#6F6F6F}.category-items{display:grid;gap:.8rem}.inline-choice{display:flex;gap:1rem;align-items:center}.booking-form .inline-choice label{display:flex;grid-template-columns:none;align-items:center;gap:.35rem}.inline-choice input[type=radio]{width:17px;height:17px;accent-color:#131313}.item-category-heading th{background:#131313!important;color:#F6F1E7!important;text-align:left}.quotation-category-heading{margin:1rem 0 .5rem;padding-bottom:.35rem;border-bottom:2px solid #C9A227;color:#202020}.packed-preparation{margin-top:.6rem}@media(max-width:768px){.category-card-heading{align-items:flex-start;flex-direction:column}.inline-choice{width:100%}.menu-category-card{padding:.85rem}}

/* Real RPSB homepage photography */
@media (min-width:601px) and (max-width:768px){.rpsb-gallery{grid-template-columns:repeat(2,1fr)!important}.rpsb-gallery__card:last-child{grid-column:1/-1!important;max-width:calc(50% - .5rem)!important;width:100%;justify-self:center}}
.rpsb-story,.rpsb-team__layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.rpsb-photo-card{overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(10,10,10,.16)}.rpsb-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .45s ease}.rpsb-story .rpsb-photo-card img{aspect-ratio:4/5}.rpsb-photo-card:hover img{transform:scale(1.025)}.rpsb-story h2,.rpsb-team h2{font-size:clamp(2.25rem,3.8vw,3rem);line-height:1.08}.story-highlights{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}.story-highlights span{padding:.55rem .8rem;border:1px solid rgba(201,162,39,.55);border-radius:999px;color:#131313;background:#fffdf8;font-size:.8rem;font-weight:700}.rpsb-team{margin-top:78px;padding-bottom:78px;background:#F6F1E7}.rpsb-team__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.rpsb-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.rpsb-gallery__card{margin:0;overflow:hidden;border:1px solid rgba(201,162,39,.3);border-radius:20px;background:#fffdf8;box-shadow:0 14px 35px rgba(10,10,10,.1)}.rpsb-gallery__trigger{display:block;width:100%;padding:0;border:0;background:none;overflow:hidden;cursor:zoom-in}.rpsb-gallery__trigger img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .45s ease}.rpsb-gallery__trigger:hover img,.rpsb-gallery__trigger:focus-visible img{transform:scale(1.045)}.rpsb-gallery__card figcaption{padding:1rem 1.1rem;color:#202020;font-weight:700}.rpsb-lightbox[hidden]{display:none}.rpsb-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1.25rem;background:rgba(10,10,10,.9);backdrop-filter:blur(8px)}.rpsb-lightbox__content{max-width:min(900px,92vw);text-align:center}.rpsb-lightbox__content img{display:block;max-width:100%;max-height:78vh;margin:auto;border-radius:20px;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.4)}.rpsb-lightbox__content p{margin:.8rem 0 0;color:#F6F1E7;font-weight:700}.rpsb-lightbox__close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#202020;color:#F6F1E7;font-size:1.8rem;line-height:1}.lightbox-open{overflow:hidden}@media(max-width:1024px){.rpsb-story,.rpsb-team__layout{grid-template-columns:1fr 1fr;gap:2rem}.rpsb-gallery{grid-template-columns:repeat(2,1fr)}.rpsb-gallery__card:last-child{grid-column:1/-1;max-width:calc(50% - .5rem);width:100%;justify-self:center}}@media(max-width:768px){.rpsb-story,.rpsb-team__layout{grid-template-columns:1fr}.rpsb-team__content{order:1}.rpsb-team .rpsb-photo-card{order:2}.rpsb-gallery{grid-template-columns:1fr}.rpsb-gallery__card:last-child{grid-column:auto;max-width:none}.rpsb-photo-card img,.rpsb-story .rpsb-photo-card img{aspect-ratio:4/3}.rpsb-team{margin-top:52px;padding-bottom:52px}}

/* Manual payment and receipt-review workflow */
.payment-card{margin-top:1.5rem;padding:clamp(1rem,3vw,1.6rem);border:1px solid rgba(201,162,39,.42);border-radius:20px;background:#fffdf8;box-shadow:0 18px 45px rgba(10,10,10,.1)}.payment-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.payment-summary-grid>div{padding:1rem;border-radius:14px;background:#F6F1E7}.payment-summary-grid dt{font-size:.78rem;color:#6F6F6F}.payment-summary-grid dd{margin:.25rem 0 0;color:#202020;font-weight:700}.payment-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;list-style:none;padding:0;margin:1.25rem 0}.payment-progress li{display:grid;gap:.35rem;color:#6F6F6F;font-size:.8rem}.payment-progress span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #C9A227;border-radius:50%}.payment-progress .completed{color:#202020;font-weight:700}.payment-progress .completed span{background:#131313;color:#F6F1E7}.payment-actions{display:grid;gap:1rem}.manual-transfer{padding:1rem;border:1px solid rgba(201,162,39,.35);border-radius:14px}.manual-transfer summary{cursor:pointer;font-weight:700}.payment-success-modal{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:1rem;background:rgba(10,10,10,.74);backdrop-filter:blur(8px)}.payment-success-modal>div{width:min(520px,100%);padding:2rem;border-radius:22px;background:#F6F1E7;box-shadow:0 24px 70px rgba(10,10,10,.3)}@media(max-width:768px){.payment-summary-grid{grid-template-columns:1fr 1fr}.payment-progress{grid-template-columns:1fr 1fr}}@media(max-width:390px){.payment-summary-grid,.payment-progress{grid-template-columns:1fr}}
/* Payment-stage clarity and method selection */
.payment-summary-current{border:1px solid rgba(201,162,39,.55);background:#fff8e8!important}.current-payment-callout{margin:1.25rem 0;padding:1.15rem 1.25rem;border-left:4px solid #C9A227;border-radius:0 16px 16px 0;background:#F6F1E7}.current-payment-callout h3{margin:.15rem 0 .45rem}.payment-method-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;border:0;padding:0;margin:1.25rem 0}.payment-method-choice legend{grid-column:1/-1;margin-bottom:.35rem;font-weight:700;color:#202020}.payment-method-option{display:flex!important;align-items:flex-start;gap:.7rem;padding:1rem;border:1px solid rgba(201,162,39,.4);border-radius:15px;background:#fff;cursor:pointer}.payment-method-option:has(input:checked){border-color:#B88A1E;box-shadow:0 0 0 2px rgba(201,162,39,.13)}.payment-method-option input{width:18px!important;height:18px;flex:0 0 18px;margin:.2rem 0 0;accent-color:#131313}.payment-method-option strong,.payment-method-option small{display:block}.payment-method-option small{margin-top:.25rem;color:#6F6F6F;font-weight:400}.payment-method-panel{padding:1.2rem;border:1px solid rgba(201,162,39,.4);border-radius:16px;background:#fff}.payment-method-panel[hidden]{display:none}.payment-development-notice{margin:.8rem 0;padding:.8rem;border-left:3px solid #B88A1E;border-radius:0 10px 10px 0;background:#fff2ed;color:#594500}.payment-method-panel .btn:disabled{opacity:.55;cursor:not-allowed}.manual-bank-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1rem 0}.manual-bank-details>div{padding:.75rem;border-radius:10px;background:#F6F1E7}.manual-bank-details dt{font-size:.75rem;color:#6F6F6F}.manual-bank-details dd{margin:.2rem 0 0}.manual-review-amount,.payment-review-state{padding:1rem;border-radius:14px;background:#F6F1E7}.payment-review-state{margin:1rem 0;border:1px solid rgba(201,162,39,.4)}.payment-progress .current{color:#B88A1E;font-weight:700}.payment-progress .current span{background:#C9A227;color:#202020;box-shadow:0 0 0 4px rgba(201,162,39,.2)}@media(max-width:650px){.payment-method-choice,.manual-bank-details{grid-template-columns:1fr}}

/* Monthly booking availability calendar */
.calendar-heading{position:sticky;top:70px;z-index:4;padding:.65rem;background:#F6F1E7;border-bottom:1px solid rgba(201,162,39,.35)}.calendar-navigation{display:grid;grid-template-columns:42px minmax(150px,1fr) 42px;align-items:center;gap:.5rem;text-align:center}.calendar-nav{min-height:40px;border:1px solid #C9A227;border-radius:10px;background:#fffdf8;color:#0A0A0A;font-size:1.25rem;cursor:pointer}.calendar-nav:disabled{opacity:.4;cursor:not-allowed}.calendar-weekdays,.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-weekdays{margin-top:1rem;text-align:center;color:#6F6F6F;font-size:.76rem;font-weight:700}.availability-calendar{margin-top:.45rem;padding-bottom:1.25rem}.calendar-placeholder{min-width:0}.calendar-day{min-width:0;min-height:76px;padding:.45rem .25rem;border:1px solid #D8D2C6;border-radius:10px;background:#fff;color:#202020;cursor:pointer}.calendar-day strong,.calendar-day small{display:block}.calendar-day strong{font-size:1rem}.calendar-day small{margin-top:.2rem;font-size:.68rem;line-height:1.15}.calendar-day.available:hover{border-color:#0A0A0A;background:#FFFDF8}.calendar-day.limited{border-color:#C9A227;background:#fff3d6}.calendar-day.full{opacity:.7;background:#eee;color:#6f7470}.calendar-day.blocked{opacity:1;border-color:#8d846f;background:repeating-linear-gradient(135deg,#f1ede4,#f1ede4 5px,#ded6c8 5px,#ded6c8 10px);color:#302d28}.calendar-day.past{opacity:.45;background:#eee}.calendar-day.selected{outline:0;border:2px solid var(--color-espresso);background:#fff7e8;box-shadow:0 0 0 3px var(--color-gold);color:var(--color-espresso)}.selected-date-confirmation{min-height:1.4em;margin:.75rem 0 0;color:#0A0A0A;font-weight:700}.calendar-legend span:before{content:'';display:inline-block;width:.65rem;height:.65rem;margin-right:.35rem;border:1px solid #D8D2C6;border-radius:2px;background:#fff}.calendar-legend .limited:before{border-color:#C9A227;background:#fff3d6}.calendar-legend .full:before{background:#ddd}.calendar-legend .blocked:before{background:repeating-linear-gradient(135deg,#ece8e0,#ece8e0 3px,#cfc9be 3px,#cfc9be 6px)}.calendar-legend .selected:before{border:2px solid var(--color-espresso);background:#fff7e8;box-shadow:0 0 0 1px var(--color-gold)}@media(max-width:768px){.calendar-heading{top:70px;align-items:stretch;flex-direction:column}.calendar-navigation{grid-template-columns:38px minmax(0,1fr) 38px}.calendar-weekdays,.availability-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.calendar-day{min-height:64px;padding:.35rem .1rem}.calendar-day small{font-size:.58rem;overflow-wrap:anywhere}}@media(max-width:390px){.availability-panel{padding:.65rem}.availability-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:58px}.calendar-day strong{font-size:.88rem}.calendar-day small{font-size:.52rem}}
/* Premium RPSB Black and Gold theme */
:root{--rpsb-black:#0A0A0A;--rpsb-black-soft:#131313;--rpsb-charcoal:#202020;--rpsb-graphite:#2B2B2B;--rpsb-gold:#C9A227;--rpsb-gold-dark:#B88A1E;--rpsb-gold-light:#E5D3A1;--rpsb-ivory:#F6F1E7;--rpsb-white:#fffdf8;--rpsb-grey:#9B9B9B;--rpsb-border:#D8D2C6;--rpsb-success:#2f6b4f;--rpsb-danger:#9F3F3F;--rpsb-warning:#b8860b;--color-espresso:var(--rpsb-black);--color-charcoal:var(--rpsb-charcoal);--color-orange-dark:var(--rpsb-gold-dark);--color-orange:var(--rpsb-gold);--color-terracotta:var(--rpsb-gold-dark);--color-peach:var(--rpsb-gold-light);--color-cream:var(--rpsb-ivory);--color-ivory:var(--rpsb-white);--color-beige:var(--rpsb-gold-light);--color-border:rgba(184,146,46,.3);--color-white:var(--rpsb-white);--color-muted:#6f6f6f;--color-success:var(--rpsb-success);--color-warning:var(--rpsb-warning);--color-danger:var(--rpsb-danger);--color-gold:var(--rpsb-gold);--color-olive:var(--rpsb-charcoal);--shadow-soft:0 18px 45px rgba(11,11,11,.12);--shadow-card:0 9px 26px rgba(11,11,11,.09)}
html,body{background:var(--rpsb-ivory);color:var(--rpsb-charcoal)}h1,h2,h3,h4,h5,h6{color:var(--rpsb-black)}.page-card,.booking-wizard,.package-card,.service-card,.stat-card,.recent-panel,.admin-editor,.menu-category-card,.payment-card,.quotation-panel{background:var(--rpsb-white);border-color:rgba(184,146,46,.34);box-shadow:var(--shadow-card)}
.site-header{background:rgba(11,11,11,.97);border-bottom:1px solid rgba(212,175,55,.45)}.site-header.scrolled{background:rgba(11,11,11,.99)}.brand,.brand span{color:var(--rpsb-gold)!important}.nav-links a{color:var(--rpsb-white)}.nav-links a:hover,.nav-links a.active{color:var(--rpsb-gold)}.nav-links a::after{background:var(--rpsb-gold)}.nav-links .nav-cta{border:1px solid var(--rpsb-gold);background:var(--rpsb-gold);color:var(--rpsb-black)!important}.nav-links .nav-cta:hover{background:var(--rpsb-gold-dark);border-color:var(--rpsb-gold-dark)}.mobile-toggle{border-color:var(--rpsb-gold)}.mobile-toggle span{background:var(--rpsb-gold)}
.btn,.btn-primary{border:1px solid var(--rpsb-gold);background:var(--rpsb-gold);color:var(--rpsb-black);box-shadow:0 7px 16px rgba(11,11,11,.14)}.btn:hover,.btn-primary:hover{transform:translateY(-1px);border-color:var(--rpsb-gold-dark);background:var(--rpsb-gold-dark);color:var(--rpsb-black)}.btn-secondary,.btn-outline{border-color:var(--rpsb-gold);background:var(--rpsb-white);color:var(--rpsb-black)}.btn-secondary:hover,.btn-outline:hover{background:var(--rpsb-gold-light);color:var(--rpsb-black)}.btn-small{border-color:var(--rpsb-gold);background:var(--rpsb-black);color:var(--rpsb-white)}.btn-small:hover{background:var(--rpsb-gold);color:var(--rpsb-black)}.btn-danger{border-color:var(--rpsb-danger);background:var(--rpsb-danger);color:#fff}.btn-danger:hover{background:#8e3838;color:#fff}
.booking-form label,.filter-bar label,.admin-form-grid label,.blocked-form label{color:var(--rpsb-charcoal)}input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#c9c5bc;background:#fff;color:var(--rpsb-charcoal)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:0;border-color:var(--rpsb-gold-dark);box-shadow:0 0 0 3px rgba(212,175,55,.25)}input[type=checkbox],input[type=radio]{accent-color:var(--rpsb-gold-dark)}:focus-visible{outline:3px solid rgba(212,175,55,.7);outline-offset:3px}
.availability-panel{border:1px solid var(--rpsb-gold-light);background:var(--rpsb-white);box-shadow:0 12px 30px rgba(11,11,11,.1);padding-bottom:1.4rem}.calendar-heading{background:var(--rpsb-white);border-bottom-color:var(--rpsb-gold-light)}.calendar-heading strong,#calendar-month{color:var(--rpsb-black)}#calendar-month:after{content:'';display:block;width:38px;height:2px;margin:.3rem auto 0;background:var(--rpsb-gold)}.calendar-nav{border-color:var(--rpsb-gold);background:var(--rpsb-black);color:var(--rpsb-gold)}.calendar-nav:not(:disabled):hover{background:var(--rpsb-gold);color:var(--rpsb-black)}.calendar-weekdays{color:var(--rpsb-charcoal);font-weight:600}.calendar-day{border-color:#c8c8c8;background:var(--rpsb-white);color:var(--rpsb-charcoal)}.calendar-day.available:hover{border-color:var(--rpsb-gold-dark);background:#fffaf0}.calendar-day.limited{border-color:var(--rpsb-gold-dark);background:var(--rpsb-gold-light);color:var(--rpsb-black)}.calendar-day.selected{border:2px solid var(--rpsb-gold);background:var(--rpsb-black);color:var(--rpsb-gold);box-shadow:0 0 0 3px rgba(212,175,55,.45)}.calendar-day.full{border-color:#404040;background:#4a4a4a;color:#eee;opacity:.85}.calendar-day.blocked{border-color:#707070;background:repeating-linear-gradient(135deg,#dedede,#dedede 5px,#c7c7c7 5px,#c7c7c7 10px);color:#4a4a4a}.calendar-day.past{background:#e8e8e8;color:#777;opacity:.5}.selected-date-confirmation{color:var(--rpsb-black)}.calendar-legend .available:before{border-color:#aaa;background:var(--rpsb-white)}.calendar-legend .limited:before{border-color:var(--rpsb-gold-dark);background:var(--rpsb-gold-light)}.calendar-legend .full:before{border-color:#333;background:var(--rpsb-charcoal)}.calendar-legend .blocked:before{border-color:#777;background:repeating-linear-gradient(135deg,#ddd,#ddd 3px,#aaa 3px,#aaa 6px)}.calendar-legend .selected:before{border-color:var(--rpsb-gold);background:var(--rpsb-black);box-shadow:0 0 0 1px var(--rpsb-gold)}
.order-type-card:has(input:checked),.payment-method-option:has(input:checked){border-color:var(--rpsb-black);background:#fbf1cf;box-shadow:0 0 0 2px rgba(212,175,55,.35)}.order-type-card input,.payment-method-option input,.inline-choice input[type=radio],.booking-checkbox input[type=checkbox]{accent-color:var(--rpsb-gold-dark)}.estimate-box,.payment-summary-current,.current-payment-callout,.flexible-order-notice,.payment-schedule,.manual-review-amount,.payment-review-state{border-color:var(--rpsb-gold-light);background:#fbf1cf!important}.quotation-panel h2,.payment-card h2,.quote-total,.payment-summary-current dd{color:var(--rpsb-black)}.quote-total,.payment-summary-current dd{font-weight:800}.payment-progress span{border-color:var(--rpsb-gold)}.payment-progress .completed span{background:var(--rpsb-success);color:#fff}.payment-progress .current span{background:var(--rpsb-black);color:var(--rpsb-gold);box-shadow:0 0 0 4px rgba(212,175,55,.25)}.payment-method-panel,.manual-transfer{border-color:var(--rpsb-gold-light);background:var(--rpsb-white)}.payment-development-notice{border-color:var(--rpsb-warning);background:#fbf1cf;color:#594500}
.status-badge{border:1px solid transparent;background:var(--rpsb-gold-light);color:var(--rpsb-black)}.status-pending,.status-awaiting_payment{background:var(--rpsb-gold-light);color:var(--rpsb-black)}.status-approved{background:var(--rpsb-black);color:var(--rpsb-gold)}.status-paid,.status-completed{border-color:var(--rpsb-gold);background:var(--rpsb-black);color:var(--rpsb-gold)}.status-rejected,.status-cancelled{background:var(--rpsb-danger);color:#fff}
.admin-sidebar{border:1px solid rgba(212,175,55,.35);background:var(--rpsb-black);color:var(--rpsb-white)}.admin-sidebar h2,.admin-sidebar strong{color:var(--rpsb-gold)}.admin-sidebar a{border-left:3px solid transparent;color:var(--rpsb-white)}.admin-sidebar a:hover,.admin-sidebar a.active{border-left-color:var(--rpsb-gold);background:rgba(212,175,55,.14);color:var(--rpsb-gold)}.admin-hero,.dashboard-hero{background:linear-gradient(135deg,var(--rpsb-black),var(--rpsb-charcoal));color:var(--rpsb-white)}.admin-hero h1,.dashboard-hero h1{color:var(--rpsb-gold)}.stat-card h3{color:var(--rpsb-gold-dark)}.data-table thead th{border-color:var(--rpsb-gold-dark);background:var(--rpsb-black);color:var(--rpsb-white)}.data-table tbody tr{background:var(--rpsb-white)}.data-table tbody tr:hover{background:#fbf5df}.data-table td{color:var(--rpsb-charcoal)}
.rpsb-photo-card,.rpsb-gallery__card,.gallery-grid figure{border:1px solid var(--rpsb-gold);box-shadow:0 16px 38px rgba(11,11,11,.18)}.rpsb-gallery__card{position:relative}.rpsb-gallery__card figcaption{border-top:1px solid rgba(212,175,55,.55);background:var(--rpsb-black);color:var(--rpsb-gold)}.cta-panel__content,.highlight-card{background:linear-gradient(135deg,var(--rpsb-black),var(--rpsb-charcoal));color:var(--rpsb-white)}.cta-panel__content h2,.highlight-card h2,.highlight-card h3{color:var(--rpsb-gold)}
@media(max-width:768px){.nav-links{border-top:1px solid rgba(212,175,55,.4);background:var(--rpsb-black)}.nav-links a{color:var(--rpsb-white)}.nav-links a:hover,.nav-links a.active{color:var(--rpsb-gold)}.calendar-heading{background:var(--rpsb-white)}.payment-method-choice,.manual-bank-details{grid-template-columns:1fr}.admin-sidebar{width:100%}}
/* Header booking CTA state fix */
.nav-links .nav-cta,.nav-links .nav-cta:link,.nav-links .nav-cta:visited{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.58rem .9rem;margin-left:.2rem;border:1px solid #C9A227;border-radius:999px;background:#C9A227!important;color:#0A0A0A!important;font-size:.78rem;font-weight:700;line-height:1.2;opacity:1;visibility:visible;text-indent:0;text-shadow:none;mix-blend-mode:normal;background-clip:border-box;box-shadow:0 8px 20px rgba(0,0,0,.18);transform:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}
.nav-links .nav-cta::before,.nav-links .nav-cta::after{content:none!important;display:none!important;box-shadow:none!important}
.nav-links .nav-cta:hover{border-color:#B88A1E;background:#B88A1E!important;color:#0A0A0A!important;box-shadow:0 10px 24px rgba(0,0,0,.22);transform:translateY(-1px)}
.nav-links .nav-cta:active{border-color:#B88A1E;background:#B88A1E!important;color:#0A0A0A!important;box-shadow:0 5px 12px rgba(0,0,0,.18);transform:translateY(0)}
.nav-links .nav-cta.active,.nav-links .nav-cta[aria-current=page]{border-color:#E5D3A1;background:#C9A227!important;color:#0A0A0A!important;box-shadow:0 0 0 3px rgba(201,162,39,.18);transform:none}
.nav-links .nav-cta:focus-visible{border-color:#C9A227;background:#C9A227!important;color:#0A0A0A!important;outline:3px solid rgba(229,211,161,.55);outline-offset:3px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
@media(max-width:1120px){.nav-links .nav-cta,.nav-links .nav-cta:link,.nav-links .nav-cta:visited{width:100%;min-height:44px;margin:.35rem 0 0;padding:.7rem 1rem;font-size:.9rem;white-space:normal}}
/* Global feedback and action prevention */
.toast-region{position:fixed;z-index:1200;top:86px;right:1.25rem;width:min(390px,calc(100vw - 2rem));display:grid;gap:.75rem;pointer-events:none}.feedback-toast{pointer-events:auto;display:grid;grid-template-columns:34px 1fr 32px;gap:.75rem;align-items:start;padding:1rem;background:#fffaf0;color:#202020;border:1px solid rgba(10,10,10,.14);border-left:5px solid #c9a227;border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.22);animation:feedback-in .24s ease-out}.feedback-toast--error{border-left-color:#a84f4f}.feedback-toast--warning{border-left-color:#d19b32}.feedback-toast--info{background:#171717;color:#f6f1e7}.feedback-toast__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#c9a227;color:#0a0a0a;font-weight:800}.feedback-toast--error .feedback-toast__icon{background:#a84f4f;color:#fff}.feedback-toast strong{display:block;margin-bottom:.2rem}.feedback-toast p{margin:0;font-size:.88rem}.feedback-toast button{border:0;background:transparent;color:inherit;font-size:1.4rem;line-height:1;min-width:32px;min-height:32px}.feedback-toast.is-leaving{opacity:0;transform:translateX(12px);transition:.22s}.feedback-modal[hidden]{display:none}.feedback-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:1rem}.feedback-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.65)}.feedback-modal__panel{position:relative;width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fffaf0;color:#272727;border:1px solid rgba(201,162,39,.42);border-radius:20px;padding:1.5rem;box-shadow:0 28px 70px rgba(0,0,0,.38)}.feedback-modal__panel h2{color:#0a0a0a;margin:.45rem 2rem .5rem 0}.feedback-modal__close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;font-size:1.75rem;min-width:44px;min-height:44px}.feedback-modal__icon{display:grid;place-items:center;width:38px;height:38px;background:#c9a227;border-radius:50%;font-weight:800}.feedback-modal__warning{padding:.8rem;border-left:4px solid #a84f4f;background:#f8eaea}.feedback-modal__check{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem;background:#f1e7cf;border-radius:10px}.feedback-modal__actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.25rem}.feedback-modal__actions .btn{min-height:44px}.feedback-modal__processing{text-align:center}.feedback-spinner{display:inline-block;width:42px;height:42px;border:4px solid rgba(201,162,39,.3);border-top-color:#c9a227;border-radius:50%;animation:feedback-spin .8s linear infinite}.modal-open{overflow:hidden}.validation-summary{padding:1rem;background:#fff4f2;border:1px solid #c77878;border-left:5px solid #a84f4f;border-radius:12px;color:#6f2727}.validation-summary ul{margin:.45rem 0 0}.is-invalid{border-color:#a84f4f!important;box-shadow:0 0 0 3px rgba(168,79,79,.12)}.field-error{display:block;color:#8d3535;font-size:.78rem;margin-top:.25rem}.empty-state{padding:1.25rem;text-align:center;border:1px dashed rgba(201,162,39,.55);border-radius:14px;background:#fffaf0}@keyframes feedback-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes feedback-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.toast-region{top:76px;left:50%;right:auto;transform:translateX(-50%)}.feedback-modal{align-items:end;padding:.6rem}.feedback-modal__panel{border-radius:18px 18px 10px 10px;padding:1.2rem}.feedback-modal__actions{flex-direction:column-reverse}.feedback-modal__actions .btn{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.feedback-toast,.feedback-spinner{animation:none}}
/* RPSB visibility invariant: author display rules must never override hidden state. */
[hidden]{display:none!important}.booking-step .validation-summary{margin:0 0 1rem}.booking-progress li.completed{background:#f3ead2;color:#202020;border-color:#c9a227}.booking-progress li.completed::after{content:'✓';float:right;color:#8a6815;font-weight:800}.wizard-actions button[hidden]{display:none!important}@media(max-width:640px){.wizard-actions{display:grid;grid-template-columns:1fr}.wizard-actions .btn{width:100%;min-height:44px}}
/* Payment receipts, dashboard summaries and notifications */
.receipt-upload-card{display:grid;gap:1rem}.receipt-dropzone{display:grid;justify-items:start;gap:.55rem;padding:1.2rem;border:1px dashed #c9a227;border-radius:14px;background:#fffaf0}.receipt-file-input{position:absolute!important;width:1px!important;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.receipt-preview{width:100%;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:.8rem;padding:.8rem;border:1px solid rgba(201,162,39,.35);border-radius:12px;background:#fff}.receipt-preview img{width:72px;height:72px;object-fit:cover;border-radius:8px}.receipt-pdf-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:8px;background:#171717;color:#c9a227;font-weight:800}.receipt-status-card header,.customer-payment-card header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.receipt-status-card dl,.payment-review-card dl,.customer-payment-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.receipt-status-card dl>div,.payment-review-card dl>div,.customer-payment-card dl>div{padding:.7rem;background:#f6f1e7;border-radius:10px}.receipt-status-card dt,.payment-review-card dt,.customer-payment-card dt{font-size:.72rem;color:#6f6f6f}.receipt-status-card dd,.payment-review-card dd,.customer-payment-card dd{margin:.2rem 0 0;font-weight:700}.payment-alert-card{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:1rem 0 1.4rem;padding:1.3rem;border:1px solid #c9a227;border-radius:18px;background:#171717;color:#f6f1e7;box-shadow:0 16px 38px rgba(0,0,0,.18)}.payment-alert-card h2{color:#fff}.payment-alert-count{font-size:1.4rem;color:#c9a227}.notification-new{float:right;padding:.25rem .55rem;border-radius:999px;background:#c9a227;color:#0a0a0a;font-size:.7rem;font-weight:800}.customer-payment-dashboard{margin:1.5rem 0 2rem}.customer-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.customer-payment-card{padding:1.2rem;border:1px solid rgba(201,162,39,.45);border-radius:16px;background:#fffaf0}.customer-payment-card.is-urgent{border-color:#a84f4f}.payment-review-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.payment-review-card{padding:1.2rem;border:1px solid rgba(201,162,39,.4);border-radius:16px;background:#fffaf0}.receipt-review-card img{display:block;width:100%;max-height:430px;object-fit:contain;border-radius:12px;background:#eee}.notification-bell{position:relative;display:grid!important;place-items:center;min-width:44px;min-height:44px;font-size:1.1rem}.notification-bell b{position:absolute;right:0;top:0;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#c9a227;color:#0a0a0a;font-size:.65rem}.notification-list{display:grid;gap:.7rem}.notification-item{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(10,10,10,.12);border-radius:14px;background:#fff}.notification-item.is-unread{border-left:5px solid #c9a227;background:#fffaf0}.notification-item p{margin:.3rem 0}.notification-item time{font-size:.75rem;color:#6f6f6f}.notification-dot{display:none}.notification-item.is-unread .notification-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c9a227}.notification-popup{z-index:1400}@media(max-width:700px){.receipt-preview{grid-template-columns:56px 1fr}.receipt-preview img,.receipt-pdf-icon{width:56px;height:56px}.receipt-preview .receipt-change{grid-column:1/-1;width:100%}.customer-payment-grid,.payment-review-layout,.receipt-status-card dl,.payment-review-card dl,.customer-payment-card dl{grid-template-columns:1fr}.payment-alert-card,.notification-item{align-items:stretch;flex-direction:column}.receipt-upload-card .btn,.customer-payment-card .btn{width:100%;min-height:44px}}
/* Balanced administrator shell */
.admin-body{background:#f6f1e7}.admin-body .site-header{height:76px}.admin-body .site-header>.container{width:100%;max-width:none;padding:0 32px}.admin-body .site-nav{height:76px}.admin-body .nav-links{flex:1}.admin-body .admin-header-title{margin-right:auto;color:#f6f1e7;font-size:.88rem;font-weight:700}.admin-profile{display:inline-flex;align-items:center;gap:.55rem;color:#f6f1e7;font-size:.82rem;font-weight:700}.admin-profile>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c9a227;border-radius:50%;background:#222;color:#c9a227}.admin-page-shell,.admin-body .page-shell{padding:0;min-height:calc(100vh - 76px)}.admin-layout,.admin-body .container.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);width:100%;max-width:none;min-height:calc(100vh - 76px);margin:0;padding:0;gap:0}.admin-sidebar{position:sticky;top:76px;align-self:start;height:calc(100vh - 76px);overflow-y:auto;width:260px;margin:0;padding:22px 14px;border:0;border-right:1px solid rgba(201,162,39,.32);border-radius:0;box-shadow:none;background:#0a0a0a}.admin-sidebar nav{display:grid;gap:3px}.admin-sidebar a{padding:.7rem .85rem;border-left:3px solid transparent;border-radius:6px;font-size:.84rem}.admin-sidebar-close,.admin-sidebar-overlay{display:none}.admin-content{width:100%;min-width:0;max-width:none;padding:32px;overflow:hidden}.dashboard-hero.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:0;margin:0 0 24px;padding:30px 34px;border:1px solid rgba(201,162,39,.35);border-radius:18px}.dashboard-hero.admin-hero h1{margin:.15rem 0 .35rem}.dashboard-hero.admin-hero p{margin-bottom:0}.stats-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 24px}.stat-card{min-width:0;min-height:128px;padding:20px;border:1px solid rgba(201,162,39,.35);border-radius:16px;box-shadow:0 8px 22px rgba(10,10,10,.07)}.stat-card h3{font-size:clamp(1.65rem,2.4vw,2.25rem);line-height:1.05}.stat-card p{margin:.45rem 0 0;font-size:.8rem}.payment-alert-card{margin:0 0 24px}.dashboard-sections{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}.dashboard-sections .recent-panel{min-width:0;margin:0;padding:24px;border-radius:18px}.dashboard-side-panel{display:grid;gap:8px;padding:22px;border:1px solid rgba(201,162,39,.35);border-radius:18px;background:#fffdf8}.dashboard-side-panel a{padding:.75rem .85rem;border-left:3px solid #c9a227;border-radius:6px;background:#f6f1e7;color:#202020;font-weight:700;text-decoration:none}.admin-content .table-wrap{width:100%;max-width:100%;overflow-x:auto}.admin-content .data-table{width:100%;min-width:720px}.admin-sidebar-overlay{position:fixed;inset:76px 0 0;z-index:1040;background:rgba(0,0,0,.65)}@media(max-width:1250px) and (min-width:992px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-content{padding:26px}}@media(min-width:992px){.admin-body .admin-sidebar-toggle{display:none!important}}@media(max-width:991px){.admin-body .site-header>.container{padding:0 18px}.admin-body .admin-sidebar-toggle{display:block;margin-left:auto}.admin-body .nav-links{display:flex!important;position:static;padding:0;background:transparent;box-shadow:none;flex-direction:row;align-items:center}.admin-body .admin-header-title,.admin-body .admin-profile{display:none}.admin-body .nav-links .nav-cta{width:auto;min-height:44px;margin:0;padding:.58rem .8rem;font-size:.78rem}.admin-layout,.admin-body .container.admin-layout{grid-template-columns:minmax(0,1fr)}.admin-sidebar{position:fixed;z-index:1050;left:0;top:76px;width:min(280px,86vw);height:calc(100vh - 76px);transform:translateX(-105%);transition:transform .25s ease}.admin-sidebar-close{display:grid;place-items:center;position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:transparent;color:#f6f1e7;font-size:1.8rem}.admin-sidebar-open .admin-sidebar{transform:translateX(0)}.admin-sidebar-open .admin-sidebar-overlay{display:block}.admin-sidebar-open{overflow:hidden}.admin-content{padding:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-sections{grid-template-columns:1fr}}@media(max-width:600px){.admin-body .brand{font-size:1rem}.admin-body .nav-links .nav-cta{width:auto;padding:.55rem .7rem;font-size:.72rem}.admin-content{padding:18px}.dashboard-hero.admin-hero{align-items:flex-start;flex-direction:column;padding:24px}.dashboard-hero.admin-hero .btn{width:100%}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:110px}.dashboard-sections .recent-panel,.dashboard-side-panel{padding:18px}}
.stat-card--payment-total{position:relative;background:#fffdf8!important;color:#202020!important}.stat-card--payment-total h3{margin:0;color:#b88a1e!important;font-size:clamp(1.65rem,2.4vw,2.25rem);line-height:1.1}.stat-card--payment-total p{margin:.55rem 0 .2rem;color:#202020!important;font-weight:700;line-height:1.35}.stat-card--payment-total small{display:block;padding-right:1.6rem;color:#6f6f6f!important;font-size:.72rem;line-height:1.45}.stat-card__info{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:22px;height:22px;border:1px solid #b88a1e;border-radius:50%;color:#b88a1e;font-size:.72rem;font-weight:800;cursor:help}.stat-card__info:focus-visible{outline:3px solid rgba(184,138,30,.3);outline-offset:2px}@media(prefers-color-scheme:dark){.stat-card--payment-total{background:#fffdf8!important;color:#202020!important}.stat-card--payment-total p{color:#202020!important}.stat-card--payment-total small{color:#6f6f6f!important}}
.booking-alert-card{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 0 24px;padding:1.25rem;border:1px solid #c9a227;border-left:5px solid #c9a227;border-radius:18px;background:#fffdf8}.booking-alert-card h2{margin:.15rem 0 .4rem}.booking-alert-card p{margin:.2rem 0}.admin-activity-feed{display:grid;gap:.55rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(201,162,39,.3)}.admin-activity-feed form{margin:0}.admin-activity-feed button{width:100%;display:grid;gap:.15rem;padding:.65rem;text-align:left;border:0;border-left:3px solid #c9a227;border-radius:6px;background:#fff;color:#202020}.admin-activity-feed small,.admin-activity-feed time{color:#6f6f6f;font-size:.7rem}@media(max-width:700px){.booking-alert-card{align-items:stretch;flex-direction:column}.booking-alert-card .btn{width:100%}}

.admin-sidebar-divider { display: block; height: 1px; margin: 20px 14px 16px; background: rgba(212, 168, 30, .35); }
.admin-account-menu{position:relative}.admin-profile{border:0;background:transparent;cursor:pointer}.admin-account-dropdown{position:absolute;z-index:1100;top:calc(100% + 12px);right:0;width:min(300px,calc(100vw - 24px));overflow:hidden;border:1px solid rgba(201,162,39,.55);border-radius:14px;background:#111;box-shadow:0 18px 45px rgba(0,0,0,.38);color:#f6f1e7}.admin-account-summary{padding:16px 18px 14px;border-bottom:1px solid rgba(201,162,39,.3)}.admin-account-summary strong,.admin-account-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-summary strong{color:#e5c966;font-size:.9rem}.admin-account-summary span{margin-top:3px;color:rgba(246,241,231,.72);font-size:.75rem}.admin-account-dropdown nav{display:grid}.admin-account-dropdown nav a{display:flex;min-height:68px;padding:13px 18px;flex-direction:column;justify-content:center;color:#f6f1e7;text-decoration:none}.admin-account-dropdown nav a+a{border-top:1px solid rgba(246,241,231,.1)}.admin-account-dropdown nav a:hover,.admin-account-dropdown nav a:focus-visible{background:rgba(201,162,39,.16);color:#fff;outline:0}.admin-account-dropdown nav strong{font-size:.86rem}.admin-account-dropdown nav span{margin-top:2px;color:rgba(246,241,231,.65);font-size:.72rem}.admin-account-dropdown .admin-account-logout strong{color:#e5c966}.admin-account-content{display:flex;justify-content:center}.admin-account-card{width:min(100%,720px);padding:clamp(24px,4vw,40px)}.admin-account-card>.section-label,.admin-account-card>h1{text-align:center}.admin-account-form .form-group input{height:50px;box-sizing:border-box}.admin-account-form>.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:6px}@media(max-width:991px){.admin-body .admin-account-menu .admin-profile{display:inline-flex}.admin-account-menu{margin-left:auto}.admin-account-dropdown{right:0}}@media(max-width:520px){.admin-account-content{padding:18px}.admin-account-card{padding:22px 18px}.admin-profile{font-size:0}.admin-profile>span{margin:0}}
@media(min-width:992px){.admin-body .admin-account-menu{margin-left:6px}}

/* Customer off-canvas navigation */
.customer-body .site-header{height:76px;background:#0a0a0a;border-bottom:1px solid rgba(201,162,39,.38);backdrop-filter:none}.customer-body .site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.2)}.customer-body .site-nav{height:76px;padding:0;flex-wrap:nowrap}.customer-body .brand{color:#c9a227;font-size:1.28rem}.customer-body .brand span{color:#f6f1e7}.customer-menu-toggle,.customer-menu-close{display:grid;place-items:center;width:48px;height:48px;border:1px solid transparent;background:transparent;color:#c9a227;cursor:pointer}.customer-menu-toggle{gap:5px;padding:11px;margin-left:auto;border-radius:8px}.customer-menu-toggle span{display:block;width:27px;height:2px;border-radius:2px;background:#c9a227;transition:transform .22s ease,opacity .18s ease}.customer-menu-toggle:hover,.customer-menu-toggle:focus-visible,.customer-menu-close:hover,.customer-menu-close:focus-visible{border-color:rgba(201,162,39,.6);background:#1a1a1a;outline:3px solid rgba(201,162,39,.28);outline-offset:2px}.customer-menu-open .customer-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.customer-menu-open .customer-menu-toggle span:nth-child(2){opacity:0}.customer-menu-open .customer-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.customer-menu-overlay{position:fixed;inset:0;z-index:1090;background:rgba(0,0,0,.65)}.customer-menu-drawer{position:fixed;z-index:1100;right:0;top:0;width:min(400px,90vw);height:100dvh;display:flex;flex-direction:column;overflow-y:auto;padding:0 28px 28px;background:#0a0a0a;color:#f6f1e7;border-left:1px solid rgba(201,162,39,.4);box-shadow:-18px 0 45px rgba(0,0,0,.36);transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}.customer-menu-open{overflow:hidden}.customer-menu-open .customer-menu-drawer{transform:translateX(0);visibility:visible;transition-delay:0s}.customer-menu-header{display:flex;align-items:center;justify-content:space-between;min-height:82px;border-bottom:1px solid rgba(201,162,39,.26)}.customer-menu-brand{color:#c9a227;font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;letter-spacing:.04em;text-decoration:none}.customer-menu-brand span{color:#f6f1e7}.customer-menu-close{flex:0 0 48px;border-radius:8px;font-size:2rem;line-height:1}.customer-menu-user{display:grid;gap:2px;margin:22px 0 8px;padding:13px 15px;border-left:2px solid #c9a227;background:#151515}.customer-menu-user span{color:#c8bfae;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.customer-menu-user strong{color:#f6f1e7}.customer-menu-links{display:grid;padding:18px 0}.customer-menu-links a{position:relative;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 18px;border-left:2px solid transparent;color:#f6f1e7;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .18s ease,background .18s ease,border-color .18s ease}.customer-menu-links a:hover,.customer-menu-links a:focus-visible{color:#e0bd51;background:#151515;outline:2px solid #c9a227;outline-offset:-2px}.customer-menu-links a.active{border-left-color:#c9a227;background:rgba(201,162,39,.1);color:#d8b33e}.customer-menu-notifications span{font-size:.7rem;color:#c9a227}.customer-menu-footer{display:grid;gap:12px;margin-top:auto;padding-top:22px;border-top:1px solid rgba(201,162,39,.26)}.customer-menu-account{min-height:44px;display:grid;place-items:center;color:#f6f1e7;text-decoration:none}.customer-menu-account:hover,.customer-menu-account:focus-visible{color:#c9a227;outline:2px solid #c9a227}.customer-menu-cta{min-height:48px;display:grid;place-items:center;padding:11px 16px;border-radius:10px;background:#c9a227;color:#0a0a0a;font-weight:800;text-decoration:none}.customer-menu-cta:hover,.customer-menu-cta:focus-visible{background:#e0bd51;color:#0a0a0a;outline:3px solid rgba(224,189,81,.35);outline-offset:3px}@media(max-width:768px){.customer-menu-drawer{width:min(340px,90vw);padding:0 22px 22px}}@media(max-width:480px){.customer-body .site-header,.customer-body .site-nav{height:72px}.customer-body .brand{font-size:1.12rem}.customer-menu-drawer{width:88vw;padding:0 18px 20px}.customer-menu-header{min-height:72px}}@media(prefers-reduced-motion:reduce){.customer-menu-drawer,.customer-menu-toggle span{transition:none}}

/* Customer reviews */
.review-section{padding:78px 0;background:#efe7d7;border-top:1px solid rgba(201,162,39,.22);border-bottom:1px solid rgba(201,162,39,.22)}.review-section-heading{text-align:center;margin-bottom:1rem}.review-section-heading h2{font-size:clamp(2.35rem,4vw,3.25rem)}.review-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem 1rem;margin:0 auto 2rem;color:#202020}.review-summary-stars,.review-stars{color:#c9a227;letter-spacing:.12em}.review-summary-stars{font-size:1.3rem}.review-summary strong{font-family:'Cormorant Garamond',serif;font-size:1.65rem}.review-summary span{width:100%;text-align:center;color:var(--color-muted);font-size:.9rem}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.review-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#fffdf8;border:1px solid rgba(201,162,39,.36);border-radius:20px;box-shadow:0 14px 34px rgba(10,10,10,.1)}.review-card-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.review-card-body{display:flex;flex:1;flex-direction:column;padding:1.35rem}.review-card .review-stars{font-size:1.05rem}.review-card blockquote{flex:1;margin:.85rem 0 1.1rem;padding:0;border:0;background:transparent;color:#202020;font-size:1.24rem;line-height:1.45}.review-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;padding-top:.85rem;border-top:1px solid rgba(201,162,39,.25)}.review-card footer strong{font-size:.9rem}.review-card time{color:var(--color-muted);font-size:.8rem}.review-section-actions{display:flex;justify-content:center;margin-top:2rem}.review-empty{max-width:680px;margin:1.5rem auto}.review-form-shell{max-width:820px}.review-form-card{padding:clamp(1.3rem,4vw,2.5rem);background:#fffdf8;border:1px solid rgba(201,162,39,.35)}.review-submission-form{display:grid;gap:1.1rem;margin-top:1.5rem}.review-submission-form>label{display:grid;gap:.4rem;font-size:.85rem;font-weight:700}.review-submission-form small{color:var(--color-muted);font-weight:400}.review-rating-fieldset{margin:0;padding:0;border:0}.review-rating-fieldset legend{margin-bottom:.4rem;font-size:.85rem;font-weight:700}.star-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem}.star-rating input{position:absolute;opacity:0;pointer-events:none}.star-rating label{cursor:pointer;color:#c9c2b5;font-size:2.2rem;line-height:1;transition:color .15s,transform .15s}.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#c9a227}.star-rating input:focus-visible+label{outline:3px solid rgba(201,162,39,.45);outline-offset:3px;border-radius:4px}.star-rating label:hover{transform:translateY(-2px)}.review-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.review-admin-filter{grid-template-columns:minmax(180px,280px) auto;justify-content:start}.admin-review-list{display:grid;gap:1rem}.admin-review-card{padding:1.25rem;background:#fffdf8;border:1px solid rgba(201,162,39,.32);border-radius:16px;box-shadow:0 8px 22px rgba(10,10,10,.07)}.admin-review-card>header{display:flex;justify-content:space-between;gap:1rem}.admin-review-card header small{display:block;margin-top:.25rem;color:var(--color-muted)}.admin-review-text{white-space:normal}.admin-review-images{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.admin-review-images img{display:block;width:120px;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(201,162,39,.35);border-radius:10px}.admin-review-actions,.admin-review-actions form{display:flex;flex-wrap:wrap;gap:.55rem}.admin-review-actions{justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}@media(max-width:980px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.review-section{padding:52px 0}.review-grid{grid-template-columns:1fr}.review-form-actions{flex-direction:column-reverse}.review-form-actions .btn{width:100%}.admin-review-card>header{align-items:flex-start;flex-direction:column}.admin-review-actions,.admin-review-actions form{width:100%}.admin-review-actions .btn{flex:1}.review-admin-filter{grid-template-columns:1fr}}

/* Shared confirmation and notification modal actions */
.feedback-modal__actions{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:16px}.feedback-modal__actions>form{display:flex;margin:0}.feedback-modal__actions>.btn,.feedback-modal__actions>form>.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:140px;height:48px;min-height:48px;margin:0;padding:0 22px;border-radius:18px;font-size:16px;font-weight:700;line-height:1}
@media(max-width:420px){.feedback-modal__actions{align-items:stretch;flex-direction:column-reverse}.feedback-modal__actions>form{width:100%}.feedback-modal__actions>.btn,.feedback-modal__actions>form>.btn{width:100%}}

/* Admin booking management alignment */
.admin-status-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(340px,1.3fr) auto;gap:18px;align-items:end;margin-top:28px;padding:24px}.admin-status-field{display:flex;flex-direction:column;gap:8px;margin:0}.admin-status-field select,.admin-status-field textarea{box-sizing:border-box;width:100%;height:72px;min-height:72px;border-radius:16px}.admin-status-field textarea{max-height:112px;resize:vertical}.admin-status-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:220px;height:72px;min-height:72px;margin:0;padding:0 24px;border-radius:18px;line-height:1}.quotation-confirmation{display:flex;align-items:center;gap:12px;margin:24px 0}.quotation-confirmation input{flex:0 0 auto;margin:0}.quotation-confirmation span{line-height:1.45}.quotation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.quotation-actions .btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:54px;min-height:54px;margin:0;padding:0 26px;border-radius:16px;font-size:16px;font-weight:700;line-height:1}
@media(max-width:1180px){.admin-status-row{grid-template-columns:minmax(240px,1fr) minmax(280px,1.2fr)}.admin-status-action{grid-column:1/-1;justify-self:end}}
@media(max-width:700px){.admin-status-row{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}.admin-status-action{grid-column:auto;width:100%;justify-self:stretch}.quotation-actions{align-items:stretch;flex-direction:column}.quotation-actions .btn{width:100%}}

.admin-booking-table .admin-booking-number{width:64px;min-width:64px;text-align:center;vertical-align:middle;white-space:nowrap}.admin-booking-table td.admin-booking-number strong{color:var(--rpsb-gold-dark);font-weight:800}

/* Public reviews page alignment */
.public-reviews-page{width:min(1180px,calc(100% - 40px));max-width:1180px;margin:0 auto}.public-reviews-page .review-page-heading{margin-right:auto;margin-bottom:0;margin-left:auto}.public-reviews-page .review-page-summary{margin:24px auto 0}.public-reviews-page .review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),380px));justify-content:center;justify-items:stretch;gap:24px;width:100%;margin:40px auto 0}.public-reviews-page .review-card{width:100%;max-width:380px;margin-right:auto;margin-left:auto}.public-reviews-page .review-pagination{margin:32px auto 0}.public-reviews-page>.review-section-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:44px}.public-reviews-page>.review-section-actions .btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:220px;min-width:220px;height:52px;min-height:52px;margin:0;padding:0 24px;border-radius:16px;font-size:16px;font-weight:700;line-height:1;text-align:center}
@media(max-width:640px){.public-reviews-page{width:min(100% - 24px,1180px)}.public-reviews-page .review-grid{grid-template-columns:minmax(0,380px);gap:20px}.public-reviews-page>.review-section-actions{align-items:stretch;flex-direction:column}.public-reviews-page>.review-section-actions .btn{width:100%;max-width:380px}}

/* Public review card content order */
.public-reviews-page .review-card-body{gap:0}.public-reviews-page .reviewer-name{display:block;margin-bottom:12px;color:var(--rpsb-black);font-size:1rem;font-weight:700}.public-reviews-page .review-card blockquote{margin:0 0 18px}.public-reviews-page .review-card-images{width:100%;max-height:250px;margin:0 0 18px;overflow:hidden;border-radius:14px}.public-reviews-page .review-card-images .review-card-image{width:100%;height:100%;max-height:250px;object-fit:cover}.public-reviews-page .review-card .review-stars{margin:0 0 12px;color:var(--rpsb-gold-dark)}.public-reviews-page .review-card time{display:block;color:var(--color-muted);font-size:.8rem;line-height:1.4}

/* Public review submission form controls */
.review-submission-form>label:has(input[type=file]){gap:8px}.review-submission-form input[type=file]{box-sizing:border-box;width:100%;min-height:54px;padding:8px;border:1px solid #c9c5bc;border-radius:12px;background:#fff;color:var(--rpsb-charcoal);font-size:.9rem}.review-submission-form input[type=file]::file-selector-button{min-height:38px;margin-right:12px;padding:0 16px;border:1px solid var(--rpsb-gold);border-radius:10px;background:var(--rpsb-gold-light);color:var(--rpsb-black);font:inherit;font-weight:700;cursor:pointer}.review-submission-form input[type=file]::file-selector-button:hover{background:var(--rpsb-gold)}.review-submission-form>label:has(input[type=file]) small{color:var(--color-muted);font-size:.78rem;line-height:1.45}.review-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;margin-top:28px}.review-form-actions .btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:180px;min-width:180px;height:54px;min-height:54px;margin:0;padding:0 24px;border-radius:16px;font-size:16px;font-weight:700;line-height:1;text-align:center}
@media(max-width:640px){.review-form-actions{align-items:stretch;flex-direction:column-reverse}.review-form-actions .btn{width:100%;min-width:0}}

/* Notification card actions */
.notification-item>.quote-actions{display:flex!important;align-items:center;justify-content:flex-end;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px;flex-shrink:0}.notification-item>.quote-actions form{display:flex;margin:0}.notification-item>.quote-actions .btn{box-sizing:border-box;height:40px;min-height:40px;padding:.5rem .8rem;white-space:nowrap}@media(max-width:700px){.notification-item>.quote-actions{align-self:flex-end;width:100%}}
.notification-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.notification-bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.notification-item-content{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.notification-select-control{flex:0 0 auto;padding-top:.15rem}.notification-select-control input{width:18px;height:18px;margin:0;accent-color:var(--rpsb-gold)}@media(max-width:700px){.notification-page-heading{align-items:flex-end}.notification-bulk-actions .btn{white-space:nowrap}}
.notification-bulk-actions .btn{box-sizing:border-box;min-width:92px;height:44px;min-height:44px;padding:.6rem 1rem;white-space:nowrap}.notification-card-content{flex:1;min-width:0}.notification-message-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.notification-message-row p{flex:1;min-width:0}.notification-message-row form{display:flex;flex:0 0 auto;margin:0}.notification-message-row .btn{height:40px;min-height:40px;padding:.5rem .8rem;white-space:nowrap}@media(max-width:700px){.notification-message-row{flex-direction:row;align-items:center}.notification-message-row p{overflow-wrap:anywhere}}
.booking-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:0}.booking-actions .completion-checkbox{flex:0 0 auto;width:18px;height:18px;margin:0}.booking-actions .btn{flex:0 0 auto}
.admin-booking-table th:nth-last-child(2),.admin-booking-table td:nth-last-child(2){width:150px;vertical-align:middle}.admin-booking-table th:last-child,.admin-booking-table td:last-child{width:112px;vertical-align:middle}.admin-booking-table td:nth-last-child(2) .status-badge{box-sizing:border-box;align-items:center;justify-content:center;min-height:38px;padding:0 12px;line-height:1.2;white-space:nowrap}.admin-booking-table .booking-actions{min-height:38px;align-items:center;justify-content:flex-start;flex-direction:row-reverse;gap:10px}.admin-booking-table .booking-actions .completion-checkbox{width:20px;height:20px;min-width:20px;margin:0;vertical-align:middle}.admin-booking-table .booking-actions .btn-small{display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px;margin:0;white-space:nowrap}
.featured-testimonial-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px auto 0}.featured-testimonial-images img{display:block;width:100%;height:280px;object-fit:cover;border-radius:18px;box-shadow:0 12px 30px rgba(10,10,10,.12)}.featured-testimonial{max-width:760px;margin:26px auto 0;padding:26px 30px;border:1px solid rgba(201,162,39,.4);border-radius:18px;background:#fffdf8;box-shadow:0 12px 30px rgba(10,10,10,.08)}.featured-testimonial .review-stars{margin-bottom:10px;font-size:1.35rem}.featured-testimonial>strong{display:block;color:var(--rpsb-black);font-size:1.05rem}.featured-testimonial blockquote{margin:14px 0 0;padding:0;border:0;background:transparent;color:var(--rpsb-charcoal);font-family:inherit;font-size:1rem;line-height:1.75}@media(max-width:640px){.featured-testimonial-images{grid-template-columns:1fr}.featured-testimonial-images img{height:220px}.featured-testimonial{padding:22px 18px}}
