/* LIGHT & LETTER — consolidated site stylesheet.
   Load AFTER Bootstrap 4.4.1. Replaces style.css and light-letter.css.
*/
:root{--ll-navy:#07182b;--ll-navy-deep:#03101e;--ll-navy-soft:#142c43;--ll-gold:#c89539;--ll-gold-light:#f0c778;--ll-ivory:#faf5e9;--ll-cream:#f5eddd;--ll-text:#203044;--ll-border:#dfcfb0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ll-ivory);color:var(--ll-text);font-family:Georgia,'Times New Roman',serif;line-height:1.65}
h1,h2,h3,h4,h5,h6{font-family:Georgia,'Times New Roman',serif;color:var(--ll-navy);font-weight:600;line-height:1.2}
h1{letter-spacing:.025em}h2{margin-bottom:1rem}h3{font-size:2rem}
a{color:#805b1e;transition:color .2s ease}a:hover,a:focus{color:#a97827}::selection{background:var(--ll-gold-light);color:var(--ll-navy)}
/* Navigation */
.navbar,.navbar.bg-dark,.navbar-dark,header .navbar{background-color:var(--ll-navy)!important}
.navbar{min-height:73px;border-bottom:2px solid var(--ll-gold);padding-top:.65rem;padding-bottom:.65rem}
.navbar-brand{color:var(--ll-gold-light)!important;font-size:1.45rem;letter-spacing:.045em;line-height:1.2}
.navbar-brand span{color:var(--ll-gold-light)}
.navbar-dark .navbar-nav .nav-link{color:var(--ll-ivory);padding-left:.9rem;padding-right:.9rem}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link:focus{color:var(--ll-gold-light)}
.navbar-dark .navbar-toggler{border-color:var(--ll-gold)}
.ll-logo{max-height:100px;width:auto;object-fit:contain}
/* Offset pages using fixed navigation. */
body:has(> .navbar.fixed-top),body:has(> header .navbar.fixed-top){padding-top:95px}
/* Homepage hero and slideshow */
.hero{min-height:520px;display:flex;align-items:center;text-align:center;color:var(--ll-ivory);background:var(--ll-navy);position:relative;isolation:isolate;border-bottom:1px solid var(--ll-border)}
.hero:before{content:'';position:absolute;inset:22px;border:1px solid rgba(240,199,120,.6);pointer-events:none}
.hero:after{content:'✦';position:absolute;top:8px;left:50%;transform:translateX(-50%);color:var(--ll-gold-light);background:var(--ll-navy);padding:0 16px;font-size:20px}
.hero .container{position:relative;z-index:1;padding:70px 55px}
#heroCarousel .hero-one,#heroCarousel .hero-two,#heroCarousel .hero-three{background:radial-gradient(ellipse at center,#34465b 0%,#14283e 45%,#07182b 100%)}
#heroCarousel .hero h1,#heroCarousel .hero h2{color:var(--ll-gold-light)}
#heroCarousel .hero p,#heroCarousel .hero .lead,#heroCarousel .hero .eyebrow{color:#fff}
#heroCarousel .flourish{color:var(--ll-gold-light)}
#heroCarousel .hero-one h1{font-family:'Cinzel','Times New Roman',serif;font-weight:500;letter-spacing:2px;font-size:clamp(3rem,8vw,7rem)}
#heroCarousel .hero h2{font-size:clamp(2.3rem,6vw,5rem)}
#heroCarousel .hero-two h2{white-space:nowrap}
#heroCarousel .hero-three .hero-banner-image{display:block;width:100%;max-height:260px;object-fit:cover;margin:15px auto;border-radius:4px}
.ll-hero,.ll-hero .carousel-item{background:var(--ll-navy);color:var(--ll-ivory)}
.ll-hero .carousel-caption{color:var(--ll-ivory);background:rgba(3,16,30,.7);padding:1rem 1.5rem;border:1px solid rgba(240,199,120,.55);border-radius:.25rem}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.75rem;font-weight:600}
.lead{font-size:1.1rem}.flourish,.ornament{color:var(--ll-gold);letter-spacing:.25em;margin:12px auto 20px}.flourish{font-size:1.35rem}
.carousel-indicators li{background-color:var(--ll-gold-light);opacity:.5}.carousel-indicators li.active{opacity:1}
/* Homepage collections and products */
.section{padding-top:85px;padding-bottom:85px}.ll-section{padding:4rem 0}.ll-section-alt{background:var(--ll-cream)}
.collection-card,.product-card,.card{height:100%;background:#fffdf8;border:1px solid var(--ll-border);border-radius:.35rem;box-shadow:0 3px 14px rgba(7,24,43,.06)}
.collection-art,.product-art{display:flex;align-items:center;justify-content:center;height:210px;background:linear-gradient(140deg,var(--ll-ivory),#f0e3c3);font-family:Georgia,serif;font-size:5rem;color:var(--ll-gold)}
.collection-card a{color:#7d632f;font-weight:600}.card-title,.product-card h3{color:var(--ll-navy)}
.card-img-top{object-fit:cover}.card:hover,.product-card:hover{border-color:var(--ll-gold)}
.products-section{background:#fffaf0;border-top:1px solid var(--ll-border);border-bottom:1px solid var(--ll-border)}
.product-card{padding-bottom:20px}.product-card h3{font-size:1.8rem;margin:20px 12px 6px}.product-card p{padding:0 20px}.product-card button{margin-top:6px}
.narrow{max-width:790px}
/* Buttons */
.btn{border-radius:.2rem;font-family:Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:.035em;padding:.65rem 1.25rem;transition:background-color .2s,color .2s,border-color .2s}
.btn-gold,.btn-primary,.btn-warning,.ll-btn-gold{background:var(--ll-gold);border-color:var(--ll-gold);color:var(--ll-navy-deep)}
.btn-gold:hover,.btn-primary:hover,.btn-primary:focus,.btn-warning:hover,.btn-warning:focus,.ll-btn-gold:hover{background:var(--ll-gold-light);border-color:var(--ll-gold-light);color:var(--ll-navy-deep)}
.btn-outline-primary,.ll-btn-outline{color:var(--ll-navy);border-color:var(--ll-gold);background:transparent}
.btn-outline-primary:hover,.ll-btn-outline:hover{color:var(--ll-ivory);border-color:var(--ll-navy);background:var(--ll-navy)}
.btn-secondary{background:var(--ll-navy-soft);border-color:var(--ll-navy-soft)}.btn-secondary:hover{background:var(--ll-navy);border-color:var(--ll-navy)}
/* Other site elements */
.ll-divider{display:block;width:88px;height:2px;background:var(--ll-gold);margin:1rem auto 1.75rem}
.ll-gold-text{color:#9a6a22}.ll-dark{background:var(--ll-navy);color:var(--ll-ivory)}.ll-dark h1,.ll-dark h2,.ll-dark h3{color:var(--ll-gold-light)}
.form-control{border-color:var(--ll-border);background:#fffefa}.form-control:focus{border-color:var(--ll-gold);box-shadow:0 0 0 .2rem rgba(200,149,57,.2)}
.price,.product-price,.ll-price{color:#805b1e;font-weight:700}.badge-primary{background:var(--ll-navy);color:var(--ll-ivory)}.badge-warning{background:var(--ll-gold-light);color:var(--ll-navy)}
.contact-section{background:var(--ll-navy);color:var(--ll-ivory);border-top:4px solid var(--ll-gold)}.contact-section h2{color:var(--ll-ivory)}
.modal-content{background:#fffaf0}.cart-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ddd}.cart-line button{border:0;background:none;text-decoration:underline;color:#7b4f31}
footer,.footer,.ll-footer{background:var(--ll-navy-deep);color:var(--ll-ivory);border-top:3px solid var(--ll-gold)}
footer a,.footer a,.ll-footer a{color:var(--ll-gold-light)}footer a:hover,.footer a:hover,.ll-footer a:hover{color:#fff}
footer h2,footer h3,footer h4,.footer h2,.footer h3{color:var(--ll-gold-light)}
/* Faith collection page */
.site-logo{width:70px;height:auto}
.faith-nav{background:var(--ll-navy)}.faith-nav .navbar-brand,.faith-nav .nav-link{color:var(--ll-ivory)!important}.faith-nav .nav-link:hover{color:var(--ll-gold-light)!important}
.faith-logo{width:60px;height:auto;display:block}
.faith-intro{padding:65px 20px;text-align:center;background:radial-gradient(ellipse at center,#34465b 0%,#14283e 45%,#07182b 100%);color:var(--ll-ivory)}
.faith-intro h1{font-family:'Cinzel',Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);color:var(--ll-gold-light);font-weight:500}.faith-intro p,.faith-intro .eyebrow,.faith-intro .lead{color:#fff}.faith-intro .flourish{color:var(--ll-gold-light)}
.faith-collection{padding:3rem 0 4rem}
/* Dedicated product grid: does not depend on Bootstrap column classes */
.faith-collection .container>.row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-left:0;margin-right:0}
.faith-collection .container>.row>[class*="col-"]{display:block!important;float:none!important;flex:none!important;width:100%!important;max-width:none!important;min-width:0;padding:0;margin:0!important}
.faith-card{width:100%;height:100%;background:#fffdf8;border:1px solid #e5d7bd;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 12px rgba(7,24,43,.06)}
.faith-card img{display:block;width:100%;height:220px;object-fit:contain;background:var(--ll-ivory)}
.faith-card-content{padding:1.3rem;display:flex;flex-direction:column;flex:1}
.faith-card h2{font-family:'Cinzel',Georgia,serif;font-size:1.2rem;color:var(--ll-navy)}.faith-card p{color:#34465b}
.faith-card .price{margin-top:auto;font-weight:700;color:var(--ll-navy);font-size:1.15rem}
.faith-card .shop-btn{display:inline-block;align-self:flex-start;margin-top:.75rem;padding:.65rem 1.2rem;background:var(--ll-gold);color:var(--ll-navy);border-radius:3px;font-weight:700;text-decoration:none}
.faith-card .shop-btn:hover{background:var(--ll-gold-light);color:var(--ll-navy)}
.faith-footer{background:var(--ll-navy);color:var(--ll-ivory);padding:2rem 0;text-align:center}.faith-footer a{color:var(--ll-gold-light)}
@media(max-width:991.98px){.faith-collection .container>.row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.faith-collection .container>.row{grid-template-columns:1fr}.faith-intro{padding:2.5rem 0}.faith-collection{padding:2rem 0}.navbar-brand{font-size:1.1rem}.ll-logo{max-height:56px}.ll-section{padding:2.5rem 0}.section{padding-top:60px;padding-bottom:60px}.hero{min-height:460px}.hero:before{inset:12px}.hero:after{top:0}.hero .container{padding:65px 30px}#heroCarousel .hero-two h2{white-space:normal}.ll-hero .carousel-caption{padding:.6rem .8rem}h1{font-size:2rem}h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,a{transition:none}}
.faith-card img.portrait-image {
    object-fit: contain;
    padding: 10px;
}
/* Keep desktop navigation horizontal */
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-expand-lg .navbar-nav {
        display: flex;
        flex-direction: row !important;
        align-items: center;
    }

    .navbar-expand-lg .navbar-nav .nav-item {
        width: auto;
    }
}
/* Keep logo and navigation alongside each other */
@media (min-width: 992px) {

    .navbar-expand-lg > .container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between;
    }

    .navbar-expand-lg .navbar-brand {
        flex-shrink: 0;
        margin-right: 25px;
    }

    .navbar-expand-lg .navbar-collapse {
        flex: 1;
        justify-content: flex-end;
        min-width: 0;
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row !important;
        flex-wrap: nowrap;
    }
}