/* Public-only refinement. Laurel Admin is not affected. */
.lacire-public{--lc-accent:#b58d88;--lc-accent-soft:#f6eeeb;--lc-warm:#faf7f4}
.lacire-public .lacire-site-nav .container{padding-top:.45rem!important;padding-bottom:.45rem!important;min-height:68px}
.lacire-public .lacire-site-nav .navbar-brand{margin-right:2rem;line-height:1}
.lacire-public .lacire-site-nav .public-logo{max-height:43px;width:auto}
.lacire-public .lacire-nav-links .nav-link{font-size:.9rem;letter-spacing:.055em;font-weight:600;padding:.65rem .55rem}
.lacire-public .lacire-nav-links .nav-link:hover,.lacire-public .lacire-nav-links .nav-link:focus-visible{color:var(--lc-accent)!important}
.lacire-public #homeSlideshow .carousel-control-prev,.lacire-public #homeSlideshow .carousel-control-next{width:10%;opacity:1}
.lacire-public #homeSlideshow .carousel-control-prev-icon,.lacire-public #homeSlideshow .carousel-control-next-icon{width:48px;height:48px;background-size:43%;background-color:rgba(36,32,31,.48);border:1px solid rgba(255,255,255,.65);border-radius:50%;transition:background-color .22s,transform .22s}
.lacire-public #homeSlideshow .carousel-control-prev:hover .carousel-control-prev-icon,.lacire-public #homeSlideshow .carousel-control-next:hover .carousel-control-next-icon{background-color:rgba(36,32,31,.78);transform:scale(1.07)}
.lacire-public #homeSlideshow .carousel-indicators{bottom:12px;gap:8px;z-index:5}
.lacire-public #homeSlideshow .carousel-indicators [data-bs-target]{width:28px;height:4px;border:0;border-radius:8px;margin:0;opacity:.55;background-color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.28);transition:width .25s,opacity .25s}
.lacire-public #homeSlideshow .carousel-indicators .active{width:43px;opacity:1;background-color:#f6e7e3}
.lacire-public .lc-benefits{background:var(--lc-warm)!important}
.lacire-public .lc-benefits p{margin-bottom:1rem}
.lacire-public .lc-benefits .btn{margin-top:.4rem;border-color:#c5a39e;color:#4d3b39;transition:background .2s,color .2s}
.lacire-public .lc-benefits .btn:hover{background:var(--lc-accent);border-color:var(--lc-accent);color:#fff}
.lacire-public .lc-category-filter{padding:1rem .75rem}
.lacire-public .lc-category-link.is-active{border-left-color:var(--lc-accent);background:var(--lc-accent-soft);color:#302c2b}
.lacire-public .lc-breadcrumb .breadcrumb{padding:0;background:transparent;border:0;font-size:.84rem;line-height:1.6}
.lacire-public .lc-breadcrumb{margin-bottom:1.75rem!important}
.lacire-public .lc-breadcrumb .breadcrumb-item+.breadcrumb-item::before{color:#a9928c}
.lacire-public .lc-breadcrumb a:hover{color:var(--lc-accent)}
.lacire-public .lc-hero-breadcrumb-link{color:#e9e2dd;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.lacire-public .lc-hero-breadcrumb-link:hover{color:#fff}
.lacire-public .lc-contact-page{padding-top:clamp(1.5rem,3vw,3rem)!important}
.lacire-public .lc-collection .card,.lacire-public .lc-editorial .card,.lacire-public .lc-product-card{transition:transform .25s ease}
.lacire-public .lc-collection .card:hover,.lacire-public .lc-editorial .card:hover,.lacire-public .lc-product-card:hover{transform:translateY(-4px)}
.lacire-public .lc-collection .home-card-image,.lacire-public .lc-editorial .home-card-image{transition:transform .3s ease}
.lacire-public .lc-collection .card:hover .home-card-image,.lacire-public .lc-editorial .card:hover .home-card-image{transform:scale(1.018)}
@media(max-width:991.98px){.lacire-public .lacire-site-nav .public-logo{max-height:39px}.lacire-public .lacire-nav-links .nav-link{font-size:.94rem}}
@media(max-width:575.98px){.lacire-public #homeSlideshow .carousel-control-prev-icon,.lacire-public #homeSlideshow .carousel-control-next-icon{width:36px;height:36px}.lacire-public #homeSlideshow .carousel-control-prev,.lacire-public #homeSlideshow .carousel-control-next{width:12%}.lacire-public .lc-contact-page{padding-top:1.25rem!important}}
@media(prefers-reduced-motion:reduce){.lacire-public :is(.lc-collection .card,.lc-editorial .card,.lc-product-card,.home-card-image,#homeSlideshow .carousel-control-prev-icon,#homeSlideshow .carousel-control-next-icon,#homeSlideshow .carousel-indicators [data-bs-target]){transition:none!important;transform:none!important}}

/* Premium public homepage refinements — scoped to the actual dynamic carousel IDs. */
.lacire-public .lc-hero .carousel{position:relative}
.lacire-public .lc-hero .carousel-control-prev,.lacire-public .lc-hero .carousel-control-next{width:clamp(54px,9vw,110px);opacity:1;z-index:4}
.lacire-public .lc-hero .carousel-control-prev-icon,.lacire-public .lc-hero .carousel-control-next-icon{width:clamp(38px,4vw,52px);height:clamp(38px,4vw,52px);background-size:46%;background-color:rgba(39,34,32,.62);border:1px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 3px 16px rgba(0,0,0,.18);transition:background-color .22s ease,transform .22s ease}
.lacire-public .lc-hero .carousel-control-prev:hover .carousel-control-prev-icon,.lacire-public .lc-hero .carousel-control-next:hover .carousel-control-next-icon{background-color:#302c2b;transform:scale(1.08)}
.lacire-public .lc-hero .carousel-indicators{bottom:12px;gap:9px;z-index:5;margin-bottom:0}
.lacire-public .lc-hero .carousel-indicators button{width:27px;height:4px;padding:0;margin:0;border:0;border-radius:5px;background:#fff;opacity:.65;box-shadow:0 1px 6px #0006;transition:width .25s ease,opacity .25s ease}
.lacire-public .lc-hero .carousel-indicators button.active{width:43px;opacity:1;background:#f6e7e3}
.lacire-public .lc-hero .carousel-item:has(.home-slide-caption)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 10%,rgba(0,0,0,.23) 50%,transparent 90%);pointer-events:none}
.lacire-public .lc-hero .home-slide-caption{z-index:2;text-shadow:0 2px 10px #0007}
.lacire-public .lc-hero .home-slide-caption .btn{text-shadow:none;transition:background-color .2s,transform .2s}
.lacire-public .lc-hero .home-slide-caption .btn:hover{transform:translateY(-2px);background:#f6eeeb}
.lacire-public .lc-benefits .row>div{padding-top:.4rem;padding-bottom:.5rem}
.lacire-public .lc-benefits .row>div>i{display:inline-block;font-size:2rem!important;color:#b58d88;transition:transform .25s ease}
.lacire-public .lc-benefits .row>div:hover>i{transform:translateY(-3px)}
.lacire-public .lc-benefits h2{font-size:1.35rem!important;margin-top:1rem!important;margin-bottom:.55rem}
.lacire-public .lc-benefits p{font-size:.93rem;line-height:1.7;margin-bottom:1.25rem!important}
.lacire-public .lc-benefits .btn{margin-top:.55rem;padding:.48rem 1.25rem}
.lacire-public .lc-collection .card{background:transparent!important;box-shadow:none!important;overflow:hidden}
.lacire-public .lc-collection .card-img-top{border-radius:0;display:block;width:100%;background:#fff!important;transition:transform .35s ease}
.lacire-public .lc-collection .card:hover .card-img-top{transform:scale(1.035)}
.lacire-public .lc-collection .card-body{padding:1rem .1rem .35rem!important}
.lacire-public .lc-collection .card-body h3{font-size:1.18rem!important;line-height:1.35}
.lacire-public .lc-collection .card-body a:hover{color:#a87973!important}
.lacire-public .lc-banner a{overflow:hidden;display:block}
.lacire-public .lc-banner img{transition:transform .5s ease,filter .35s ease}
.lacire-public .lc-banner a:hover img{transform:scale(1.035);filter:saturate(1.06)}
.lacire-public footer a:hover{color:#a87973!important}
@media(max-width:575.98px){.lacire-public .lc-hero .carousel-indicators{bottom:8px}.lacire-public .lc-collection .card-body h3{font-size:1.05rem!important}.lacire-public .lc-hero .carousel-control-prev,.lacire-public .lc-hero .carousel-control-next{width:48px}}
@media(prefers-reduced-motion:reduce){.lacire-public .lc-hero *, .lacire-public .lc-benefits .row>div>i,.lacire-public .lc-banner img,.lacire-public .lc-collection .card-img-top{transition:none!important;animation:none!important}}

/* Public design system refinement: intentionally no Admin selectors. */
.lacire-public{--lc-ink:#2f2b29;--lc-muted:#726d69}
.lacire-public .lc-product-card{background:transparent!important;box-shadow:none!important;overflow:hidden}
.lacire-public .lc-product-card .card-body{padding:1rem .08rem .4rem!important}
.lacire-public .lc-product-card .card-body h2{font-size:1.08rem!important;line-height:1.45}
.lacire-public .lc-product-card .home-card-image{width:100%;object-fit:contain;background:#faf9f7;transition:transform .4s ease}
.lacire-public .lc-product-card:hover .home-card-image{transform:scale(1.035)}
.lacire-public .lc-product-card a:hover{color:#a87973!important}
.lacire-public .lc-category-filter{border-color:#ece7e3}
.lacire-public .lc-hero .carousel-item:not(:has(.home-slide-caption))::after{display:none}
.lacire-public .lc-hero .home-slide-caption h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.08}
.lacire-public .lc-hero .home-slide-caption p{font-size:clamp(.95rem,1.45vw,1.2rem);line-height:1.6}
.lacire-public .lc-hero .carousel-control-prev:focus-visible,.lacire-public .lc-hero .carousel-control-next:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.lacire-public .lc-hero .carousel-indicators button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.lacire-public .lc-benefits .btn{margin-top:.75rem!important}
.lacire-public .lc-benefits .row>div{transition:transform .25s ease}
.lacire-public .lc-benefits .row>div:hover{transform:translateY(-3px)}
.lacire-public .lc-contact-page .form-control:focus{border-color:#b58d88;box-shadow:0 0 0 .2rem rgba(181,141,136,.13)}
.lacire-public .lc-contact-page .btn-dark{transition:background-color .2s,transform .2s}
.lacire-public .lc-contact-page .btn-dark:hover{background-color:#6f534e;transform:translateY(-2px)}
.lacire-public footer a{transition:color .2s ease}
@media(prefers-reduced-motion:reduce){.lacire-public .lc-product-card .home-card-image,.lacire-public .lc-benefits .row>div,.lacire-public .lc-contact-page .btn-dark{transition:none!important;transform:none!important}}

/* Sprint: coherent premium storefront rhythm (public only). */
.lacire-public{--lc-premium-ivory:#f7f3ef;--lc-premium-rose:#b89b8e;--lc-premium-ink:#292725}
.lacire-public main :is(h1,h2,h3){text-wrap:balance}
.lacire-public main p{line-height:1.75}
.lacire-public :is(a,button,input,textarea,select):focus-visible{outline:2px solid var(--lc-premium-rose);outline-offset:3px}
.lacire-public .lc-product-listing{padding-top:clamp(1.5rem,3.4vw,3.25rem)}
.lacire-public .lc-product-listing .row.g-4{row-gap:2.2rem!important}
.lacire-public .lc-product-listing .lc-product-card .home-card-image{aspect-ratio:4/5;object-fit:contain;background:#faf9f7}
.lacire-public .lc-product-listing .lc-product-card .card-body{padding-top:1.05rem!important}
.lacire-public .lc-category-link{min-height:43px;display:flex;align-items:center;transition:background-color .2s,color .2s}
.lacire-public .lc-category-link:hover{background:#f7f3ef;color:#292725}
.lacire-public .lc-product-detail{padding-top:clamp(1.5rem,3vw,3rem)!important}
.lacire-public .lc-product-detail .ratio{background:#faf9f7!important;border-radius:3px!important}
.lacire-public .lc-product-detail .ratio img{object-fit:contain}
.lacire-public .lc-product-detail .lc-product-title{line-height:1.15;margin-bottom:1.2rem!important}
.lacire-public .lc-product-detail .lead{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.85}
.lacire-public .lc-product-detail [data-product-thumbnail]{border:1px solid #e9e2dd!important;border-radius:3px!important;transition:border-color .2s,box-shadow .2s}
.lacire-public .lc-product-detail [data-product-thumbnail]:hover,.lacire-public .lc-product-detail [data-product-thumbnail]:focus-visible{border-color:#b89b8e!important;box-shadow:0 0 0 2px #e8dcd4}
.lacire-public .lc-product-description{max-width:780px;line-height:1.85;font-size:1rem;color:#45413e}
.lacire-public .lc-product-description :is(h2,h3,h4){margin-top:1.8rem;margin-bottom:.75rem;color:#292725}
.lacire-public .lc-product-description :is(ul,ol){padding-left:1.35rem;margin-bottom:1.5rem}
.lacire-public .lc-product-description li{padding-left:.2rem;margin-bottom:.35rem}
.lacire-public .lc-contact-page .form-control{min-height:46px;border-radius:2px}
.lacire-public .lc-contact-page textarea.form-control{min-height:140px}
.lacire-public footer{line-height:1.7}
.lacire-public footer a{display:inline-block;padding-block:2px}
@media(max-width:767.98px){
 .lacire-public .lc-product-listing .row.g-4{row-gap:1.4rem!important}
 .lacire-public .lc-product-listing .lc-product-card .card-body h2{font-size:.98rem!important}
 .lacire-public .lc-product-detail .row.g-5{--bs-gutter-y:2rem}
 .lacire-public .lc-product-description{font-size:.97rem;line-height:1.75}
}
@media(prefers-reduced-motion:reduce){.lacire-public .lc-category-link,.lacire-public .lc-product-detail [data-product-thumbnail]{transition:none!important}}

/* Pre-launch: bring homepage product/category labels directly under the artwork.
   Scope only to homepage collections; do not change catalog/detail galleries. */
.lacire-public .lc-collection .card{height:auto!important;display:flex;flex-direction:column}
.lacire-public .lc-collection .card .home-card-image{
  display:block;width:100%;height:auto;aspect-ratio:1 / 1!important;
  object-fit:contain;object-position:center bottom;
}
.lacire-public .lc-category-collection .card .home-card-image{object-fit:cover;object-position:center}
.lacire-public .lc-collection .card .card-body{
  flex:0 0 auto;padding:.4rem .1rem .2rem!important;
}
.lacire-public .lc-collection .card .card-body h3{margin:0!important;line-height:1.35}
@media(max-width:575.98px){
  .lacire-public .lc-collection .card .card-body{padding:.35rem .05rem .15rem!important}
}

/* Final mobile UI/UX pass — public only, no CMS data changes. */
@media (max-width: 767.98px) {
  .lacire-public .lacire-site-nav .container { min-height:58px; padding-top:.3rem!important; padding-bottom:.3rem!important; }
  .lacire-public .lacire-site-nav .navbar-brand { margin-right:.65rem; }
  .lacire-public .lacire-site-nav .public-logo { max-height:32px; max-width:160px; object-fit:contain; }
  .lacire-public .lacire-nav-links .nav-link { padding:.62rem .5rem; line-height:1.45; }
  .lacire-public .lc-hero .home-slide-caption { bottom:15%; left:12%; right:12%; padding:0 .5rem; }
  .lacire-public .lc-hero .home-slide-caption h2 { font-size:clamp(1.35rem,5.5vw,2rem); line-height:1.15; margin-bottom:.4rem; }
  .lacire-public .lc-hero .home-slide-caption p { font-size:.88rem; line-height:1.45; margin-bottom:.65rem; }
  .lacire-public .lc-hero .home-slide-caption .btn { min-height:40px; padding:.5rem .9rem; }
  .lacire-public .lc-hero .carousel-item:has(.home-slide-caption)::after { background:linear-gradient(0deg,rgba(0,0,0,.57),rgba(0,0,0,.12) 65%,transparent); }
  .lacire-public .lc-hero .carousel-control-prev-icon,.lacire-public .lc-hero .carousel-control-next-icon { width:34px; height:34px; }
  .lacire-public .lc-collection .card-body h3 { font-size:.98rem!important; line-height:1.4; min-height:2.8em; overflow-wrap:break-word; }
  .lacire-public .lc-collection .card .card-body { padding:.4rem .06rem .2rem!important; }
  .lacire-public .lc-product-listing .lc-product-card .card-body h2 { font-size:.94rem!important; line-height:1.45; min-height:2.9em; overflow-wrap:break-word; }
  .lacire-public .lc-product-detail .lc-product-title { font-size:clamp(1.7rem,7vw,2.3rem); }
  .lacire-public .lc-product-description :is(h2,h3,h4) { margin-top:1.4rem; margin-bottom:.6rem; line-height:1.35; }
  .lacire-public .lc-product-description p { margin-bottom:1rem; }
  .lacire-public .lc-contact-page .form-control { min-height:48px; font-size:16px; }
  .lacire-public .lc-contact-page .btn-dark { min-height:46px; }
  .lacire-public footer { font-size:.91rem; }
  .lacire-public footer a { padding-block:4px; }
  .lacire-public .back-to-top { width:40px; height:40px; right:12px; bottom:12px; }
}
@media (max-width: 359.98px) {
  .lacire-public .lacire-site-nav .public-logo { max-height:28px; max-width:135px; }
  .lacire-public .lc-hero .home-slide-caption { left:10%; right:10%; bottom:13%; }
  .lacire-public .lc-hero .home-slide-caption h2 { font-size:1.25rem; }
  .lacire-public .lc-collection .card-body h3 { font-size:.9rem!important; }
}

/* Pre-launch public layout refinements — desktop/mobile, without touching Admin UI. */
.lacire-public .lacire-nav-links .nav-link.is-current,
.lacire-public .lacire-nav-links .nav-link[aria-current="page"] { color:var(--lc-accent,#b58d88)!important; }
/* Controls use a fixed edge inset rather than a broad click zone centering the icons. */
.lacire-public .lc-hero .carousel-control-prev,
.lacire-public .lc-hero .carousel-control-next,
.lacire-public #homeSlideshow .carousel-control-prev,
.lacire-public #homeSlideshow .carousel-control-next { width:52px; opacity:1; }
.lacire-public .lc-hero .carousel-control-prev,
.lacire-public #homeSlideshow .carousel-control-prev { left:clamp(24px,2.2vw,32px); right:auto; }
.lacire-public .lc-hero .carousel-control-next,
.lacire-public #homeSlideshow .carousel-control-next { right:clamp(24px,2.2vw,32px); left:auto; }
/* Only tighten the space under page heroes on product and contact pages. */
.lacire-public .lc-page-hero:has(+ .lc-product-listing),
.lacire-public .lc-page-hero:has(+ .lc-contact-page) { margin-bottom:0!important; }
.lacire-public .lc-page-hero + .lc-product-listing,
.lacire-public .lc-page-hero + .lc-contact-page { padding-top:48px!important; }
@media(max-width:575.98px) {
 .lacire-public .lc-hero .carousel-control-prev,.lacire-public .lc-hero .carousel-control-next,
 .lacire-public #homeSlideshow .carousel-control-prev,.lacire-public #homeSlideshow .carousel-control-next { width:40px; }
 .lacire-public .lc-hero .carousel-control-prev,.lacire-public #homeSlideshow .carousel-control-prev { left:12px; }
 .lacire-public .lc-hero .carousel-control-next,.lacire-public #homeSlideshow .carousel-control-next { right:12px; }
 .lacire-public .lc-page-hero + .lc-product-listing,
 .lacire-public .lc-page-hero + .lc-contact-page { padding-top:30px!important; }
}

/* Slideshow copy: 10px clear of the navigation control at either edge. */
@media (min-width: 768px) {
 .lacire-public .lc-hero .home-slide-caption-left,
 .lacire-public #homeSlideshow .home-slide-caption-left {
   left: calc(clamp(24px, 2.2vw, 32px) + 52px + 10px) !important;
   right: 50% !important;
   text-align: left;
 }
 .lacire-public .lc-hero .home-slide-caption-right,
 .lacire-public #homeSlideshow .home-slide-caption-right {
   right: calc(clamp(24px, 2.2vw, 32px) + 52px + 10px) !important;
   left: 50% !important;
   text-align: right;
 }
 .lacire-public .lc-hero .home-slide-caption-center,
 .lacire-public #homeSlideshow .home-slide-caption-center {
   left: 25% !important; right: 25% !important; text-align: center;
 }
}
@media (max-width: 767.98px) {
 .lacire-public .lc-hero .home-slide-caption-left,
 .lacire-public .lc-hero .home-slide-caption-right,
 .lacire-public .lc-hero .home-slide-caption-center {
   left: 16% !important; right: 16% !important;
 }
}
