/* Carillia Shop Premium — scoped exclusively to the public shop */
.shopbody{--shop-navy:#102b45;--shop-dark:#0b2138;--shop-bordeaux:#812b43;--shop-wine:#a6425c;--shop-ink:#193348;--shop-muted:#61758a;--shop-line:#e2e9ee;--shop-surface:#fff;background:#f5f7f9!important;color:var(--shop-ink)!important;font-family:Inter,'Segoe UI',system-ui,sans-serif!important;min-height:100vh}
.shopbody *{box-sizing:border-box}
.shopbody .shopwrap{max-width:1480px!important;padding:0 36px 70px!important}
.shopbody .shopheader{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0!important;padding:23px 0!important}
.shopbody .shopheader:after{content:'';position:absolute;bottom:0;left:0;right:0;border-bottom:1px solid var(--shop-line)}
.shopbody .brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;font-weight:850!important;font-size:26px!important;letter-spacing:-1px;color:var(--shop-navy)!important}
.shopbody .brandmark{display:grid;place-items:center!important;background:var(--shop-bordeaux)!important;color:#fff!important;border-radius:13px!important;width:43px!important;height:43px!important;font-size:27px!important;box-shadow:0 8px 18px #812b432b}
.shopbody .brand small{display:block;font-size:9px!important;letter-spacing:2.1px!important;color:var(--shop-muted)!important}
.shopbody .shopheader>a:last-child{color:var(--shop-navy)!important;text-decoration:none!important;font-size:13px;font-weight:750;padding:10px 15px;border:1px solid var(--shop-line);border-radius:100px;background:white}
.shopbody .shop-topline{background:var(--shop-dark);color:#dcecf5;padding:10px 24px;text-align:center;font-size:12px;letter-spacing:.2px}
.shopbody .shop-topline strong{color:#fff}
.shopbody .shophero{position:relative;overflow:hidden;background:linear-gradient(115deg,#112f4d 0%,#163d5d 57%,#6d2a43 100%)!important;color:white!important;border-radius:26px!important;margin:27px 0 23px!important;padding:56px 58px!important;min-height:255px;box-shadow:0 24px 45px #0b29431c}
.shopbody .shophero:before{content:'';position:absolute;width:300px;height:300px;right:-50px;top:-100px;border:60px solid #ffffff12;border-radius:50%;pointer-events:none}
.shopbody .shophero:after{content:'';position:absolute;width:260px;height:260px;right:150px;bottom:-210px;background:#ffffff0d;border-radius:50%;pointer-events:none}
.shopbody .shophero>*{position:relative;z-index:1;max-width:750px}
.shopbody .shophero .eyebrow{display:inline-block;font-size:11px!important;font-weight:850;letter-spacing:2.2px;color:#f5c6d3!important;padding:7px 12px;border:1px solid #ffffff46;border-radius:30px}
.shopbody .shophero h1{color:white!important;font-size:clamp(35px,4vw,64px)!important;line-height:1.05!important;letter-spacing:-2px;margin:16px 0!important}
.shopbody .shophero p,.shopbody .shophero .muted{color:#dae6ee!important;line-height:1.6;font-size:14px}
.shopbody .shop-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:29px}
.shopbody .shop-perk{display:flex;align-items:center;gap:13px;background:white;padding:16px 18px;border:1px solid var(--shop-line);border-radius:17px;box-shadow:0 5px 18px #122b4610}
.shopbody .shop-perk-symbol{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#f7ebef;color:var(--shop-bordeaux);font-size:20px}
.shopbody .shop-perk strong{display:block;color:var(--shop-navy);font-size:13px}.shopbody .shop-perk small{display:block;color:var(--shop-muted);font-size:11px;margin-top:2px}
.shopbody .shoplayout{display:grid!important;grid-template-columns:minmax(0,1fr) 355px!important;align-items:start;gap:28px!important}
.shopbody .shoplayout>section{min-width:0}
.shopbody .paneltitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.shopbody .paneltitle h2{font-size:25px!important;font-weight:850!important;letter-spacing:-.8px;color:var(--shop-navy)!important}
.shopbody #shop-search{width:100%;background:white!important;border:1px solid #dce6ec!important;border-radius:14px!important;padding:17px 20px!important;box-shadow:0 4px 18px #182b440a;color:var(--shop-navy)!important;font-size:14px!important;margin-bottom:15px!important}
.shopbody .shop-categorybar{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:8px;scrollbar-width:thin}
.shopbody .shop-filter{white-space:nowrap;background:#fff!important;color:var(--shop-navy)!important;border:1px solid var(--shop-line)!important;border-radius:100px!important;font-weight:750;padding:10px 16px;cursor:pointer}
.shopbody .shop-filter[aria-pressed=true]{background:var(--shop-navy)!important;border-color:var(--shop-navy)!important;color:white!important}
.shopbody .shop-count{font-size:12px;color:var(--shop-muted);margin:2px 0 16px}
.shopbody .productgrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(195px,1fr))!important;gap:17px!important}
.shopbody .productgrid .product.shop-product{display:flex!important;flex-direction:column!important;min-height:310px;align-items:stretch!important;gap:8px!important;padding:13px!important;background:white!important;color:var(--shop-ink)!important;border:1px solid var(--shop-line)!important;border-radius:20px!important;text-align:left!important;box-shadow:0 7px 25px #1537540d!important;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s!important}
.shopbody .productgrid .product.shop-product:hover{transform:translateY(-5px)!important;border-color:#b4c7d3!important;box-shadow:0 19px 35px #1537541c!important}
.shopbody .productgrid .product.shop-product:focus-visible,.shopbody button:focus-visible,.shopbody input:focus-visible{outline:3px solid #b24f69!important;outline-offset:3px}
.shopbody .shop-product img,.shopbody .shop-product .producticon{display:grid;place-items:center;width:100%!important;height:155px!important;object-fit:contain;background:linear-gradient(135deg,#f5f7fa,#eaf0f5)!important;border-radius:13px!important;color:#6b8496;font-size:54px;margin-bottom:4px}
.shopbody .shop-product b{font-size:14px!important;line-height:1.35!important;color:var(--shop-navy)!important;min-height:36px}
.shopbody .shop-product small{font-size:11px!important;line-height:1.35!important;color:var(--shop-muted)!important}
.shopbody .shop-product .tag{align-self:flex-start!important;background:#f0f3f7!important;color:#426078!important;border-radius:8px!important;padding:5px 9px!important;font-size:10px!important}
.shopbody .shop-product strong{margin-top:auto;color:var(--shop-bordeaux)!important;font-size:24px!important;letter-spacing:-.7px}
.shopbody .shop-product .small{display:block;text-align:center;background:var(--shop-navy)!important;border-radius:11px!important;color:white!important;padding:12px 8px!important;font-size:12px!important;font-weight:800!important}
.shopbody .shopcart{position:sticky!important;top:18px!important;padding:25px!important;border:1px solid var(--shop-line)!important;background:#fff!important;border-radius:22px!important;box-shadow:0 12px 32px #102c4513!important}
.shopbody .shopcart h2{color:var(--shop-navy)!important;font-size:24px!important;letter-spacing:-.7px}
.shopbody .shopcart h2:before{content:'◈';margin-right:10px;color:var(--shop-bordeaux)}
.shopbody .shopcart .line{border-bottom:1px solid var(--shop-line)!important;padding:11px 0!important;color:var(--shop-muted)!important}
.shopbody .shopcart .line b,.shopbody .shopcart .line strong{color:var(--shop-navy)!important}
.shopbody .shopcart #shop-total{font-size:23px!important;color:var(--shop-bordeaux)!important}
.shopbody .shopcart .field label{color:var(--shop-navy)!important}
.shopbody .shopcart input,.shopbody .shopcart textarea,.shopbody .shopcart select{background:#f9fbfc!important;color:var(--shop-navy)!important;border:1px solid #dce5eb!important;border-radius:10px!important}
.shopbody .shopcart button.primary,.shopbody #shop-submit{background:var(--shop-bordeaux)!important;color:white!important;border:0!important;border-radius:12px!important;min-height:50px!important;box-shadow:0 8px 18px #812b4328!important;font-weight:800!important}
.shopbody #shop-submit:hover{background:#6e2238!important}
.shopbody .shopcart .cartrow{border-bottom:1px solid var(--shop-line)!important;padding:12px 0!important}.shopbody .shopcart .cartrow button{padding:5px 9px!important;color:var(--shop-navy)!important}
.shopbody .empty{color:var(--shop-muted)!important;background:white!important;border:1px dashed #cbd7df!important;border-radius:14px!important;padding:26px!important}
.shopbody .shop-footer{margin-top:45px;padding:25px 0;border-top:1px solid var(--shop-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--shop-muted);font-size:12px}
.shopbody .shop-footer b{color:var(--shop-navy)}
@media(max-width:960px){.shopbody .shoplayout{grid-template-columns:minmax(0,1fr)!important}.shopbody .shopcart{position:static!important}.shopbody .shop-perks{grid-template-columns:1fr}.shopbody .shophero{padding:40px 28px!important}.shopbody .shopwrap{padding:0 18px 45px!important}}
@media(max-width:520px){.shopbody .productgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.shopbody .productgrid .product.shop-product{padding:9px!important;min-height:280px}.shopbody .shop-product img,.shopbody .shop-product .producticon{height:118px!important}.shopbody .shophero h1{font-size:35px!important}.shopbody .shopheader>a:last-child{font-size:11px;padding:8px}.shopbody .brand{font-size:21px!important}.shopbody .shop-perk{padding:12px}}
@media(prefers-reduced-motion:reduce){.shopbody *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
