:root {
    --brand: #d1242b;
    --brand-dark: #252122;
    --brand-soft: #fff0f1;
    --gold: #e55359;
    --ink: #252122;
    --muted: #636061;
    --soft: #f6f5f5;
    --line: #e8e0e0;
    --white: #fff;
    --shadow: 0 20px 45px rgba(37, 33, 34, .12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%}.section-space{padding:88px 0}.bg-soft{background:var(--soft)}.min-vh-75{min-height:75vh}.top-title-bar{background:var(--brand-dark);color:#fff;padding:9px 0;font-size:.86rem}.top-title-bar a{color:#fff;opacity:.88}.top-title-bar a:hover{opacity:1}.site-header{background:rgba(255,255,255,.95);backdrop-filter:blur(15px);box-shadow:0 8px 28px rgba(37,33,34,.08)}.navbar{padding:13px 0}.navbar-brand .site-logo{width:170px;height:54px;object-fit:contain;object-position:left center}.navbar-brand span{display:flex;flex-direction:column;line-height:1.05}.navbar-brand strong{font-family:"Playfair Display",serif;font-size:1.2rem;color:var(--brand-dark)}.navbar-brand small{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-top:6px}.navbar-nav{gap:4px}.nav-link{font-weight:600;color:#403d3d!important;padding:12px 14px!important;border-radius:10px}.nav-link:hover,.nav-link:focus{background:var(--brand-soft);color:var(--brand)!important}.dropdown-menu{border:0;border-radius:14px;box-shadow:var(--shadow);padding:9px;min-width:220px}.dropdown-item{padding:10px 12px;border-radius:9px}.dropdown-item:hover{background:var(--brand-soft);color:var(--brand)}.btn-brand{background:var(--brand);color:#fff;border-color:var(--brand);border-radius:12px;font-weight:700;padding:11px 18px;box-shadow:0 8px 20px rgba(209,36,43,.22)}.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;transform:translateY(-1px)}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);font-weight:700;border-radius:12px;padding:10px 16px}.btn-outline-brand:hover{background:var(--brand);color:#fff}.hero-section .carousel-item{height:610px;position:relative}.hero-section .carousel-item img{height:100%;object-fit:cover}.banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.86),rgba(25,22,23,.46) 52%,rgba(209,36,43,.10))}.carousel-caption{left:50%;right:auto;transform:translateX(-50%);bottom:auto;top:50%;width:100%;text-align:left}.hero-copy{max-width:720px}.eyebrow,.section-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:var(--gold);margin-bottom:12px}.hero-copy h1{font-family:"Playfair Display",serif;font-size:clamp(2.6rem,5vw,5rem);line-height:1.02;margin-bottom:20px}.hero-copy p{font-size:1.15rem;max-width:630px;color:rgba(255,255,255,.85);margin-bottom:28px}.hero-copy .btn{border-radius:12px;font-weight:700}.section-heading{max-width:720px;margin:0 auto 46px}.section-title{font-family:"Playfair Display",serif;color:var(--brand-dark);font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.14}.section-heading p,.intro-copy{color:var(--muted);font-size:1.05rem}.feature-stack{display:grid;gap:14px}.feature-chip{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(37,33,34,.05)}.feature-chip>i{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--brand-soft);color:var(--brand);font-size:1.35rem}.feature-chip span{display:flex;flex-direction:column}.feature-chip strong{font-size:1rem}.feature-chip small{color:var(--muted)}.category-panel{background:#fff;border:1px solid #e8e0e0;border-radius:24px;padding:24px;height:100%;box-shadow:0 14px 40px rgba(37,33,34,.08);transition:.3s ease}.category-panel:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.category-panel header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.category-panel header>i{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--brand-soft);color:var(--brand);font-size:1.35rem}.category-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:800}.category-panel h3{font-family:"Playfair Display",serif;margin:3px 0 0;color:var(--brand-dark);font-size:1.55rem}.category-description{font-size:.9rem;color:var(--muted);margin:14px 0}.vertical-book-scroll{height:390px;overflow-y:auto;padding-right:7px;scrollbar-width:thin;scrollbar-color:#d6b8ba transparent}.vertical-book-scroll::-webkit-scrollbar{width:6px}.vertical-book-scroll::-webkit-scrollbar-thumb{background:#d6b8ba;border-radius:12px}.mini-book-card{display:flex;align-items:center;gap:14px;padding:12px;margin-bottom:10px;border:1px solid #ece6e6;border-radius:16px;background:#fff;position:relative;transition:.25s}.mini-book-card:hover{border-color:#e5a0a3;background:#fff7f7;transform:translateX(3px)}.mini-book-card img{width:68px;height:90px;border-radius:9px;object-fit:cover;box-shadow:0 6px 16px rgba(37,33,34,.16)}.mini-book-info{display:flex;flex-direction:column;min-width:0;padding-right:18px}.mini-book-info strong{font-size:.95rem;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-book-info small{color:var(--muted);margin:7px 0 4px}.mini-book-info b{color:var(--brand)}.card-arrow{position:absolute;right:12px;color:#9e9d9d}.category-link{display:inline-flex;gap:8px;color:var(--brand);font-weight:800;margin-top:15px}.empty-state{height:100%;display:grid;place-items:center;align-content:center;color:var(--muted);gap:10px}.empty-state i{font-size:2.5rem}.store-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(37,33,34,.06);transition:.3s}.store-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.store-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:var(--brand-soft);color:var(--brand);font-size:1.45rem;margin-bottom:18px}.store-card h3{font-family:"Playfair Display",serif;color:var(--brand-dark)}.store-card p{display:flex;gap:10px;color:var(--muted)}.store-card p i{color:var(--brand)}.cta-section{padding:0 0 88px;background:linear-gradient(#fff 55%,var(--brand-dark) 55%)}.cta-card{background:linear-gradient(135deg,var(--brand),#252122);color:#fff;border-radius:28px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 28px 55px rgba(37,33,34,.28)}.cta-card h2{font-family:"Playfair Display",serif;font-size:2.35rem}.cta-card p{margin:0;color:rgba(255,255,255,.82)}.site-footer{background:var(--brand-dark);color:rgba(255,255,255,.75);padding:70px 0 25px}.footer-logo{width:170px;height:58px;object-fit:contain;background:#fff;padding:6px 10px;border-radius:10px}.site-footer h4,.site-footer h5{color:#fff;font-family:"Playfair Display",serif}.footer-links{padding:0;list-style:none;display:grid;gap:9px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:22px;margin-top:42px;text-align:center;font-size:.88rem}.scroll-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:0;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 10px 24px rgba(37,33,34,.32);opacity:0;visibility:hidden;transition:.25s;z-index:100}.scroll-top.show{opacity:1;visibility:visible}.page-hero{background:linear-gradient(115deg,var(--brand-dark),var(--brand));color:#fff;padding:86px 0}.page-hero.compact{padding:60px 0}.page-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2.3rem,4vw,4rem)}.page-hero p{font-size:1.08rem;color:rgba(255,255,255,.8);max-width:700px}.back-link{display:inline-flex;gap:7px;color:rgba(255,255,255,.8);margin-bottom:12px}.catalogue-filter{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(37,33,34,.06)}.form-control,.form-select,.input-group-text{min-height:48px;border-color:#ded8d8;border-radius:10px}.form-control:focus,.form-select:focus{border-color:#d63c42;box-shadow:0 0 0 .2rem rgba(209,36,43,.12)}.input-group>.input-group-text{border-radius:10px 0 0 10px;background:#fff}.input-group>.form-control{border-radius:0 10px 10px 0}.book-product-card{background:#fff;border:1px solid var(--line);border-radius:21px;overflow:hidden;box-shadow:0 12px 30px rgba(37,33,34,.06);transition:.3s}.book-product-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.book-cover-wrap{height:330px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1eeee,#fafafa);padding:26px;position:relative;overflow:hidden}.book-cover-wrap img{height:100%;width:auto;max-width:100%;object-fit:cover;border-radius:8px;box-shadow:0 15px 30px rgba(37,33,34,.20);transition:.35s}.book-product-card:hover .book-cover-wrap img{transform:scale(1.035)}.view-badge{position:absolute;right:14px;bottom:14px;background:rgba(37,33,34,.92);color:#fff;border-radius:20px;padding:7px 12px;font-size:.78rem;opacity:0;transform:translateY(7px);transition:.25s}.book-product-card:hover .view-badge{opacity:1;transform:none}.book-product-body{padding:20px}.book-category{display:inline-block;background:var(--brand-soft);color:var(--brand);border-radius:20px;padding:5px 10px;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.book-product-body h3{font-family:"Playfair Display",serif;font-size:1.25rem;margin:11px 0 7px}.book-product-body h3 a:hover{color:var(--brand)}.book-product-body p{color:var(--muted);font-size:.9rem}.book-price{font-size:1.2rem;color:var(--brand);font-weight:800}.small-link{color:var(--brand);font-weight:700}.pagination .page-link{color:var(--brand);border-color:var(--line);margin:0 3px;border-radius:9px}.pagination .active .page-link{background:var(--brand);border-color:var(--brand)}.empty-catalogue{text-align:center;padding:70px;background:#fff;border-radius:20px;border:1px dashed #ddd7d7}.empty-catalogue i{font-size:3rem;color:var(--brand)}.book-detail-card,.content-page-card,.contact-form-card,.contact-info-card,.success-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px;box-shadow:var(--shadow)}.detail-cover-wrap{background:var(--soft);padding:28px;border-radius:22px}.detail-cover{max-height:500px;width:auto;border-radius:10px;box-shadow:0 18px 38px rgba(37,33,34,.20)}.book-detail-card h2{font-family:"Playfair Display",serif;font-size:2.7rem;color:var(--brand-dark);margin:13px 0}.author-line,.isbn-line{color:var(--muted);margin-bottom:8px}.detail-price{font-size:2rem;color:var(--brand);font-weight:800;margin:18px 0}.book-detail-card h3{font-family:"Playfair Display",serif;color:var(--brand-dark)}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.rich-content{line-height:1.8;color:#4b5563}.rich-content img{height:auto;border-radius:14px}.contact-form-card h2,.contact-info-card h3{font-family:"Playfair Display",serif;color:var(--brand-dark)}.contact-info-card p{display:flex;gap:13px;align-items:flex-start}.contact-info-card p i{color:var(--brand);font-size:1.2rem}.contact-store-mini{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 18px;margin-top:12px;display:flex;flex-direction:column}.contact-store-mini span{color:var(--muted);font-size:.87rem}.success-card{max-width:650px}.success-icon{width:78px;height:78px;border-radius:50%;background:#e9f8ef;color:#198754;display:grid;place-items:center;font-size:2.2rem;margin:0 auto 22px}.success-card h1{font-family:"Playfair Display",serif;color:var(--brand-dark)}.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal-on-scroll.visible{opacity:1;transform:none}.reveal-up{animation:revealUp .8s ease both}@keyframes revealUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(max-width:991.98px){.site-header{position:relative!important}.hero-section .carousel-item{height:520px}.carousel-caption{padding:0 22px}.navbar-collapse{padding-top:15px}.navbar-nav{align-items:stretch!important}.btn-brand.ms-lg-3{margin-top:12px}.cta-card{flex-direction:column;align-items:flex-start}.section-space{padding:68px 0}}
@media(max-width:767.98px){.top-title-bar{display:none}.hero-section .carousel-item{height:470px}.hero-copy h1{font-size:2.55rem}.hero-copy p{font-size:1rem}.carousel-control-prev,.carousel-control-next{display:none}.section-space{padding:56px 0}.category-panel{padding:18px}.vertical-book-scroll{height:360px}.cta-section{padding-bottom:55px}.cta-card{padding:30px 24px}.cta-card h2{font-size:2rem}.book-cover-wrap{height:300px}.book-detail-card,.content-page-card,.contact-form-card,.contact-info-card,.success-card{padding:24px}.book-detail-card h2{font-size:2rem}.page-hero{padding:58px 0}.detail-actions .btn{width:100%}}

@media(max-width:575.98px){.navbar-brand .site-logo{width:128px;height:44px}.navbar-brand span{display:none}.footer-logo{width:145px}}


/* Logo-derived black, red and silver theme */
.top-title-bar{background:linear-gradient(90deg,#151414,#252122);border-bottom:2px solid var(--brand)}
.site-header{border-bottom:1px solid rgba(209,36,43,.10)}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover::after,.nav-link:focus::after{transform:scaleX(1)}
.btn-brand{background:linear-gradient(135deg,#e13a41,var(--brand));box-shadow:0 10px 24px rgba(209,36,43,.24)}
.btn-brand:hover{background:linear-gradient(135deg,#252122,#111);border-color:#252122}
.hero-section{background:#111}
.carousel-indicators [data-bs-target]{background-color:#fff;opacity:.55}
.carousel-indicators .active{background-color:var(--brand);opacity:1}
.section-title::after{content:"";display:block;width:56px;height:3px;background:var(--brand);border-radius:4px;margin:14px auto 0}
.text-start .section-title::after,.section-heading.text-start .section-title::after{margin-left:0}
.category-panel,.store-card,.book-product-card{border-top:3px solid transparent}
.category-panel:hover,.store-card:hover,.book-product-card:hover{border-top-color:var(--brand)}
.category-panel header>i,.store-icon,.feature-chip>i{box-shadow:inset 0 0 0 1px rgba(209,36,43,.10)}
.cta-card{background:linear-gradient(125deg,#d1242b 0%,#9e181e 38%,#252122 100%)}
.site-footer{background:linear-gradient(145deg,#252122,#111);border-top:4px solid var(--brand)}
.footer-links a,.site-footer p{transition:color .2s ease}
.footer-links a:hover{color:#f0787d}
.page-hero{background:linear-gradient(120deg,#171616 0%,#252122 58%,#d1242b 145%);border-bottom:4px solid var(--brand)}
.book-cover-wrap{background:linear-gradient(145deg,#f2eeee,#fff)}
.pagination .page-link:hover{background:var(--brand-soft);color:var(--brand);border-color:#efb6b9}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(209,36,43,.12)}
::selection{background:rgba(209,36,43,.22);color:#151414}

/* ============================================================
   Publisher Red + Soft Red Theme
   Primary: #D1242B | Soft: #FFF0F1
   ============================================================ */
:root{
    --brand:#D1242B;
    --brand-dark:#D1242B;
    --brand-soft:#FFF0F1;
    --gold:#D1242B;
    --soft:#FFF0F1;
    --line:rgba(209,36,43,.16);
    --shadow:0 20px 45px rgba(209,36,43,.13);
}
body{background:#fff;color:#2b2021}
::selection{background:#D1242B;color:#fff}
.bg-soft{background:#FFF0F1!important}
.top-title-bar{background:#D1242B;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}
.top-title-bar a,.top-title-bar i{color:#fff}
.site-header{background:rgba(255,240,241,.97);border-bottom:1px solid rgba(209,36,43,.16);box-shadow:0 8px 26px rgba(209,36,43,.10)}
.navbar-brand strong,.section-title,.category-panel h3,.store-card h3,.book-product-body h3,.book-detail-copy h1,.content-card h1,.contact-card h2{color:#D1242B}
.nav-link{color:#D1242B!important}
.nav-link:hover,.nav-link:focus,.nav-link.show{background:#fff;color:#D1242B!important;box-shadow:0 6px 18px rgba(209,36,43,.10)}
.dropdown-menu{background:#FFF0F1;border:1px solid rgba(209,36,43,.14);box-shadow:0 18px 40px rgba(209,36,43,.14)}
.dropdown-item{color:#D1242B}
.dropdown-item:hover,.dropdown-item:focus{background:#fff;color:#D1242B}
.navbar-toggler{border-color:rgba(209,36,43,.32)}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(209,36,43,.15)}
.btn-brand{background:#D1242B;border-color:#D1242B;color:#fff;box-shadow:0 9px 22px rgba(209,36,43,.25)}
.btn-brand:hover,.btn-brand:focus{background:#FFF0F1;border-color:#D1242B;color:#D1242B;box-shadow:0 10px 26px rgba(209,36,43,.16)}
.btn-outline-brand{background:#FFF0F1;border-color:#D1242B;color:#D1242B}
.btn-outline-brand:hover,.btn-outline-brand:focus{background:#D1242B;border-color:#D1242B;color:#fff}
.banner-overlay{background:linear-gradient(90deg,rgba(209,36,43,.94),rgba(209,36,43,.70) 52%,rgba(255,240,241,.18))}
.hero-copy .eyebrow,.section-kicker,.category-label{color:#D1242B;background:#FFF0F1;border-radius:999px;padding:6px 11px}
.hero-copy .eyebrow{color:#D1242B}
.hero-copy h1,.hero-copy p{color:#fff}
.carousel-indicators [data-bs-target]{background-color:#FFF0F1}
.carousel-control-prev-icon,.carousel-control-next-icon{filter:none}
.feature-chip,.category-panel,.store-card,.book-product-card,.catalogue-filter,.contact-card,.content-card,.book-detail-card{border-color:rgba(209,36,43,.16);box-shadow:0 12px 34px rgba(209,36,43,.09)}
.feature-chip:hover,.category-panel:hover,.store-card:hover,.book-product-card:hover{box-shadow:0 20px 46px rgba(209,36,43,.16)}
.feature-chip>i,.category-panel header>i,.store-icon,.contact-icon,.book-category{background:#FFF0F1;color:#D1242B}
.category-panel{background:linear-gradient(180deg,#fff 0%,#FFF0F1 100%)}
.category-panel header{border-bottom-color:rgba(209,36,43,.17)}
.vertical-book-scroll{scrollbar-color:#D1242B transparent}
.vertical-book-scroll::-webkit-scrollbar-thumb{background:#D1242B}
.mini-book-card{border-color:rgba(209,36,43,.14);background:#fff}
.mini-book-card:hover{border-color:#D1242B;background:#FFF0F1}
.card-arrow,.category-link,.mini-book-info b,.store-card p i,.book-price,.book-product-body h3 a:hover{color:#D1242B}
.cta-section{background:linear-gradient(#fff 55%,#FFF0F1 55%)}
.cta-card{background:#D1242B;color:#fff;box-shadow:0 28px 55px rgba(209,36,43,.28)}
.cta-card .btn-light{background:#FFF0F1;border-color:#FFF0F1;color:#D1242B}
.site-footer{background:#D1242B;color:rgba(255,255,255,.88)}
.site-footer h4,.site-footer h5,.site-footer a,.site-footer i{color:#fff}
.site-footer .footer-bottom{border-top-color:rgba(255,240,241,.28)}
.footer-logo{background:#FFF0F1}
.scroll-top{background:#D1242B;border:2px solid #FFF0F1;color:#fff;box-shadow:0 10px 24px rgba(209,36,43,.30)}
.page-hero{background:#D1242B;color:#fff}
.page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 20%,rgba(255,240,241,.22),transparent 34%)}
.page-hero{position:relative;overflow:hidden}
.page-hero>.container{position:relative;z-index:1}
.form-control,.form-select,.input-group-text{border-color:rgba(209,36,43,.20)}
.form-control:focus,.form-select:focus{border-color:#D1242B;box-shadow:0 0 0 .2rem rgba(209,36,43,.13)}
.input-group-text{background:#FFF0F1;color:#D1242B}
.book-cover-wrap,.book-detail-cover{background:#FFF0F1}
.view-badge{background:#D1242B;color:#fff}
.pagination .page-link{color:#D1242B;border-color:rgba(209,36,43,.18);background:#fff}
.pagination .page-link:hover{background:#FFF0F1;color:#D1242B;border-color:#D1242B}
.pagination .page-item.active .page-link{background:#D1242B;border-color:#D1242B;color:#fff}
.alert-success{background:#FFF0F1;border-color:rgba(209,36,43,.24);color:#D1242B}
@media(max-width:991.98px){
    .navbar-collapse{background:#FFF0F1;border:1px solid rgba(209,36,43,.14);box-shadow:0 18px 34px rgba(209,36,43,.12)}
}

/* Change request: discount popup and public galleries */
.inner-hero{padding:82px 0;background:linear-gradient(135deg,var(--brand),#9f151b);color:#fff;position:relative;overflow:hidden}.inner-hero::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(255,240,241,.14);right:-90px;top:-150px}.inner-hero .container{position:relative;z-index:1}.inner-hero .section-kicker{color:#fff0f1}.inner-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2.4rem,4.5vw,4.4rem);margin:0 0 12px}.inner-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.84);font-size:1.08rem}.gallery-page{background:linear-gradient(180deg,#fff 0%,var(--brand-soft) 100%)}.image-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-image-card{position:relative;padding:0;border:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 35px rgba(209,36,43,.12);aspect-ratio:4/3;cursor:pointer}.gallery-image-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-image-overlay{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:42px 20px 18px;color:#fff;text-align:left;background:linear-gradient(transparent,rgba(37,33,34,.9));transform:translateY(8px);transition:.3s}.gallery-image-overlay span{display:flex;flex-direction:column}.gallery-image-overlay strong{font-family:"Playfair Display",serif;font-size:1.25rem}.gallery-image-overlay small{opacity:.8;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-image-overlay>i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand);flex:none}.gallery-image-card:hover img{transform:scale(1.06)}.gallery-image-card:hover .gallery-image-overlay{transform:none}.gallery-lightbox .modal-content{border:0;border-radius:22px;overflow:hidden;background:#171515;color:#fff;position:relative}.gallery-lightbox .btn-close{position:absolute;right:16px;top:16px;z-index:2;background-color:#fff;border-radius:50%;padding:10px;opacity:.9}.gallery-lightbox img{width:100%;max-height:75vh;object-fit:contain;background:#0e0d0d}.lightbox-caption{padding:18px 24px 22px}.lightbox-caption h3{font-family:"Playfair Display",serif;margin:0 0 4px}.lightbox-caption p{margin:0;color:rgba(255,255,255,.72)}.video-gallery-card{height:100%;background:#fff;border:1px solid rgba(209,36,43,.14);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(209,36,43,.10);transition:.3s}.video-gallery-card:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(209,36,43,.16)}.video-gallery-copy{padding:22px}.video-gallery-copy>span{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.video-gallery-copy h2{font-family:"Playfair Display",serif;font-size:1.45rem;margin:9px 0 7px}.video-gallery-copy p{color:var(--muted);margin:0}.public-empty-state{text-align:center;background:#fff;border:1px dashed rgba(209,36,43,.25);border-radius:24px;padding:70px 24px;box-shadow:0 14px 35px rgba(209,36,43,.07)}.public-empty-state i{font-size:3.5rem;color:var(--brand)}.public-empty-state h2{font-family:"Playfair Display",serif;margin:15px 0 6px}.public-empty-state p{color:var(--muted);margin:0}.discount-popup-modal .modal-dialog{max-width:620px}.discount-popup-modal .modal-content{border:0;border-radius:26px;overflow:hidden;box-shadow:0 32px 90px rgba(37,33,34,.35);position:relative}.popup-close{position:absolute;right:14px;top:14px;z-index:5;background-color:#fff;border-radius:50%;padding:10px;opacity:.95;box-shadow:0 5px 18px rgba(37,33,34,.2)}.discount-popup-image-wrap{height:310px;position:relative;background:var(--brand-soft)}.discount-popup-image-wrap img{width:100%;height:100%;object-fit:cover}.discount-popup-badge{position:absolute;left:20px;bottom:18px;background:var(--brand);color:#fff;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:800;box-shadow:0 8px 20px rgba(37,33,34,.25)}.discount-popup-copy{padding:28px 30px 30px;text-align:center;background:#fff}.discount-popup-copy h2{font-family:"Playfair Display",serif;font-size:2rem;color:var(--brand);margin:0 0 10px}.discount-popup-copy p{color:var(--muted);margin:0 0 22px}.discount-popup-copy .section-kicker{margin-bottom:8px}.discount-popup-copy .btn{display:flex;align-items:center;justify-content:center;gap:8px}
@media(max-width:991.98px){.image-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.inner-hero{padding:58px 0}.image-gallery-grid{grid-template-columns:1fr;gap:16px}.discount-popup-modal .modal-dialog{margin:14px}.discount-popup-image-wrap{height:220px}.discount-popup-copy{padding:24px 20px}.discount-popup-copy h2{font-size:1.65rem}}

/* =========================================================
   Menu Black + Footer Black Theme Override
   Requested update:
   - Main website menu text/icons: black
   - Footer background: black
   ========================================================= */
.site-header .nav-link,
.site-header .nav-link i {
    color: #111111 !important;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus,
.site-header .nav-link.show {
    color: #D1242B !important;
    background: #ffffff;
}

.site-header .dropdown-item,
.site-header .dropdown-item i {
    color: #111111;
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus {
    color: #D1242B;
    background: #ffffff;
}

.site-footer {
    background: #000000;
    color: rgba(255, 255, 255, .82);
    border-top: 4px solid #D1242B;
}

.site-footer h4,
.site-footer h5,
.site-footer a,
.site-footer i {
    color: #ffffff;
}

.site-footer .footer-links a:hover {
    color: #FFF0F1;
}

.site-footer .footer-bottom {
    border-top-color: rgba(255, 255, 255, .18);
}

/* =========================================================
   Compact inner-page title / breadcrumb banner
   ========================================================= */
.page-hero,
.inner-hero {
    padding: 30px 0;
}

.page-hero.compact {
    padding: 24px 0;
}

.page-hero .section-kicker,
.inner-hero .section-kicker {
    margin-bottom: 7px;
}

.page-hero h1,
.inner-hero h1 {
    margin-top: 0;
    margin-bottom: 7px;
}

.page-hero p,
.inner-hero p {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .page-hero,
    .inner-hero {
        padding: 25px 0;
    }

    .page-hero.compact {
        padding: 21px 0;
    }
}
