/*
 * Pizza Service By Bommy — Red / Yellow / Black Theme v1.4.0
 * Loaded AFTER style.css, menu-image-fit.css and gallery.css.
 * Purposefully uses high-specificity overrides so the existing layout remains intact.
 */

:root {
    --ps-black: #090909;
    --ps-black-2: #111111;
    --ps-black-3: #191919;
    --ps-red: #e5231f;
    --ps-red-dark: #b81613;
    --ps-red-soft: #ff443d;
    --ps-yellow: #ffc400;
    --ps-yellow-2: #ffd84d;
    --ps-white: #ffffff;
    --ps-muted: #c8c8c8;
    --ps-border: rgba(255, 196, 0, .18);
    --ps-shadow-red: 0 12px 32px rgba(229, 35, 31, .22);
    --ps-shadow-yellow: 0 10px 28px rgba(255, 196, 0, .12);
}

html {
    color-scheme: dark;
    background: var(--ps-black);
}

body {
    background:
        radial-gradient(circle at 12% 0%, rgba(229,35,31,.09), transparent 30rem),
        radial-gradient(circle at 88% 14%, rgba(255,196,0,.055), transparent 27rem),
        var(--ps-black) !important;
    color: var(--ps-white) !important;
}

/* Announcement */
.announce {
    background: linear-gradient(90deg, #ad1210 0%, var(--ps-red) 50%, #ad1210 100%) !important;
    color: var(--ps-white) !important;
    border-bottom: 1px solid rgba(255,196,0,.3) !important;
}

/* Header / navigation */
.site-header {
    background: rgba(8,8,8,.96) !important;
    border-bottom: 1px solid rgba(255,196,0,.14) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
}

.brand b,
.nav-links > a,
.nav-toggle {
    color: var(--ps-white) !important;
}

.brand small {
    color: #bfbfbf !important;
}

.brand-mark {
    filter: drop-shadow(0 4px 10px rgba(255,196,0,.22));
}

.nav-links > a:not(.btn):hover,
.nav-links > a:not(.btn):focus-visible {
    color: var(--ps-yellow) !important;
}

.langs {
    border-color: rgba(255,255,255,.17) !important;
    background: #0f0f0f !important;
}

.langs a {
    color: #cfcfcf !important;
}

.langs a.active,
.langs a:hover {
    background: var(--ps-yellow) !important;
    color: #111 !important;
}

/* Main CTA */
.btn-primary,
.btn-order,
.mobile-order.web-order {
    background: linear-gradient(135deg, var(--ps-red-soft), var(--ps-red-dark)) !important;
    color: var(--ps-white) !important;
    border-color: var(--ps-red) !important;
    box-shadow: var(--ps-shadow-red) !important;
}

.btn-primary:hover,
.btn-order:hover,
.mobile-order.web-order:hover {
    background: linear-gradient(135deg, #ff554f, #c41612) !important;
    border-color: #ff5b54 !important;
    transform: translateY(-1px);
}

/* Yellow secondary action / LINE MAN */
.btn-lineman,
.mobile-order.lineman-order {
    background: var(--ps-yellow) !important;
    color: #111 !important;
    border-color: var(--ps-yellow) !important;
    box-shadow: var(--ps-shadow-yellow) !important;
    font-weight: 800 !important;
}

.btn-lineman:hover,
.mobile-order.lineman-order:hover {
    background: var(--ps-yellow-2) !important;
    border-color: var(--ps-yellow-2) !important;
}

.btn-ghost,
.btn-ghost.light {
    background: rgba(255,255,255,.035) !important;
    color: var(--ps-white) !important;
    border-color: rgba(255,196,0,.36) !important;
}

.btn-ghost:hover,
.btn-ghost.light:hover {
    background: rgba(255,196,0,.1) !important;
    color: var(--ps-yellow) !important;
    border-color: var(--ps-yellow) !important;
}

/* Hero */
.hero {
    background:
        linear-gradient(180deg, rgba(9,9,9,.96), rgba(14,14,14,.98)),
        var(--ps-black) !important;
}

.hero-glow.glow-a {
    background: rgba(229,35,31,.20) !important;
}

.hero-glow.glow-b {
    background: rgba(255,196,0,.12) !important;
}

.eyebrow,
.kicker {
    color: var(--ps-yellow) !important;
}

.hero-copy h1,
.section-head h2,
#about h2,
#contact h2,
.gallery-heading h2 {
    color: var(--ps-white) !important;
}

.hero-copy h1::selection,
.section-head h2::selection {
    background: var(--ps-red) !important;
    color: white !important;
}

.hero-copy p,
.lead,
.gallery-lead {
    color: #d1d1d1 !important;
}

.hero-facts span {
    background: #151515 !important;
    color: #f4f4f4 !important;
    border-color: rgba(255,196,0,.18) !important;
}

.hero-card {
    background: linear-gradient(145deg, #181818, #0b0b0b) !important;
    border-color: rgba(255,196,0,.22) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.48), 0 0 0 1px rgba(229,35,31,.08) inset !important;
}

.pizza-orbit {
    border-color: rgba(255,196,0,.32) !important;
}

.floating-price {
    background: rgba(12,12,12,.95) !important;
    border: 1px solid rgba(255,196,0,.3) !important;
    color: var(--ps-white) !important;
    box-shadow: 0 10px 32px rgba(0,0,0,.4) !important;
}

.floating-price b {
    color: var(--ps-yellow) !important;
}

/* Sections */
.section {
    background-color: transparent !important;
}

.section-dark {
    background: #0c0c0c !important;
    border-top: 1px solid rgba(255,196,0,.08) !important;
    border-bottom: 1px solid rgba(229,35,31,.08) !important;
}

.text-link {
    color: var(--ps-yellow) !important;
}

.text-link:hover {
    color: var(--ps-white) !important;
}

/* Menu cards */
.menu-card {
    background: linear-gradient(180deg, #181818, #141414) !important;
    border-color: rgba(255,255,255,.09) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
}

.menu-card:hover {
    border-color: rgba(255,196,0,.55) !important;
    box-shadow: 0 15px 34px rgba(0,0,0,.36), 0 0 0 1px rgba(229,35,31,.08) !important;
}

.menu-img-wrap {
    background: #070707 !important;
}

.menu-body h3 {
    color: var(--ps-white) !important;
}

.menu-body p {
    color: #bdbdbd !important;
}

.price {
    color: var(--ps-yellow) !important;
}

.badge {
    background: var(--ps-yellow) !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,.2) !important;
    box-shadow: 0 5px 18px rgba(255,196,0,.18) !important;
}

/* Menu filters */
.filter,
.gallery-filter {
    background: #161616 !important;
    color: #efefef !important;
    border-color: rgba(255,255,255,.12) !important;
}

.filter:hover,
.gallery-filter:hover {
    border-color: var(--ps-yellow) !important;
    color: var(--ps-yellow) !important;
}

.filter.active,
.gallery-filter.active {
    background: var(--ps-yellow) !important;
    color: #111 !important;
    border-color: var(--ps-yellow) !important;
    box-shadow: 0 6px 20px rgba(255,196,0,.14) !important;
}

/* Gallery */
.gallery-section {
    background:
        radial-gradient(circle at 80% 10%, rgba(229,35,31,.08), transparent 25rem),
        #101010 !important;
    border-top: 1px solid rgba(255,196,0,.1) !important;
}

.gallery-item {
    background: #171717 !important;
    border-color: rgba(255,196,0,.12) !important;
}

.gallery-item:hover {
    border-color: rgba(255,196,0,.5) !important;
}

.gallery-photo {
    background: #080808 !important;
}

.gallery-info h3 {
    color: var(--ps-white) !important;
}

.gallery-info p,
.gallery-info time {
    color: #bdbdbd !important;
}

.gallery-type {
    color: #111 !important;
    background: var(--ps-yellow) !important;
}

.gallery-type-celebrities {
    background: var(--ps-red) !important;
    color: white !important;
}

.gallery-zoom {
    background: var(--ps-red) !important;
    color: white !important;
}

.gallery-lightbox {
    background: rgba(5,5,5,.96) !important;
    color: white !important;
    border-color: rgba(255,196,0,.18) !important;
}

.gallery-lightbox-close {
    background: var(--ps-red) !important;
    color: white !important;
}

/* About */
.about-grid,
.benefits {
    color: var(--ps-white) !important;
}

.benefit {
    background: #151515 !important;
    border-color: rgba(255,196,0,.13) !important;
}

.benefit > span {
    background: rgba(229,35,31,.12) !important;
    border: 1px solid rgba(229,35,31,.22) !important;
}

.benefit h3 {
    color: var(--ps-yellow) !important;
}

.benefit p {
    color: #c5c5c5 !important;
}

/* Contact / map */
.contact-section {
    background: linear-gradient(180deg, #0b0b0b, #111) !important;
}

.contact-card,
.map-card {
    background: #161616 !important;
    border-color: rgba(255,196,0,.16) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.25) !important;
}

.contact-card p,
.map-card p {
    color: #d0d0d0 !important;
}

.map-frame {
    border-color: rgba(255,196,0,.2) !important;
    background: #080808 !important;
}

/* Mobile order bar */
.mobile-order-bar {
    background: rgba(6,6,6,.97) !important;
    border-top: 1px solid rgba(255,196,0,.22) !important;
    box-shadow: 0 -10px 30px rgba(0,0,0,.35) !important;
}

/* Footer */
footer {
    background: #050505 !important;
    border-top: 2px solid var(--ps-red) !important;
    color: #e8e8e8 !important;
}

footer small {
    color: #999 !important;
}

/* Scrollbar — supported browsers */
* {
    scrollbar-color: var(--ps-red) #0d0d0d;
}

::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}
::-webkit-scrollbar-track {
    background: #0d0d0d;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(var(--ps-red), var(--ps-yellow));
    border-radius: 999px;
    border: 3px solid #0d0d0d;
}

/* Keyboard focus */
a:focus-visible,
button:focus-visible {
    outline: 3px solid var(--ps-yellow) !important;
    outline-offset: 3px;
}

/* Selection */
::selection {
    background: var(--ps-yellow);
    color: #111;
}

@media (max-width: 900px) {
    .nav-links {
        background: #0b0b0b !important;
        border-color: rgba(255,196,0,.16) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.55) !important;
    }
}
