:root { --lamar-green:#064b3a; --lamar-deep:#073a30; --lamar-mint:#e5f0eb; --lamar-hover-text:#e5f0eb; --lamar-gold:#c9a760; }
html { font-size:16px; min-height:100%; }
body { background:color-mix(in srgb, var(--lamar-mint) 28%, white); color:#20342c; min-height:100vh; display:flex; flex-direction:column; font-family:var(--lamar-font,system-ui,sans-serif); }
a { color:var(--lamar-green); }
a:hover { color:var(--lamar-deep); }
main { min-height:65vh; }
.store-nav { background:var(--lamar-green); box-shadow:0 3px 14px #12261a22; }
.store-nav .navbar-brand { font-weight:700; letter-spacing:.015em; }
.store-nav .navbar-brand img { object-fit:contain; max-width:160px; }
.store-nav a, .nav-logout { color:#f4f9f6; text-decoration:none; }
.store-nav a:hover, .store-nav a:focus-visible, .nav-logout:hover, .nav-logout:focus-visible { color:var(--lamar-hover-text); }
.store-nav .nav-actions a.btn-outline-light:hover, .store-nav .nav-actions a.btn-outline-light:focus-visible { background:var(--lamar-deep); border-color:var(--lamar-deep); color:var(--lamar-hover-text); }
.store-nav .nav-actions a.btn-outline-light:focus-visible { outline:2px solid var(--lamar-mint); outline-offset:2px; }
.category-bar { background:var(--lamar-mint); border-bottom:1px solid color-mix(in srgb, var(--lamar-mint) 75%, var(--lamar-deep)); }
.category-bar-inner { display:flex; align-items:center; gap:.25rem; overflow-x:auto; white-space:nowrap; scrollbar-width:thin; }
.category-bar a { color:var(--lamar-deep); text-decoration:none; padding:.7rem .9rem; font-weight:600; flex:none; }
.category-bar a:hover,.category-bar a:focus-visible,.category-bar a.active { background:var(--lamar-deep); color:var(--lamar-hover-text); }
.category-bar a.active { box-shadow:inset 0 -3px 0 var(--lamar-hover-text); }
.bi { display:inline-block; margin-right:.2em; }
h1 > .bi,h2 > .bi { color:var(--lamar-green); font-size:.85em; }
.nav-logout { padding:0; }
.page-container { padding-top:2rem; padding-bottom:4rem; }
.hero { border-radius:1rem; overflow:hidden; background:var(--lamar-green); color:white; }
.hero img { width:100%; height:auto; display:block; }
.hero-image-frame { display:flex; max-width:100%; }
.hero-image-left { justify-content:flex-start; }
.hero-image-center { justify-content:center; }
.hero-image-right { justify-content:flex-end; }
.hero-image-frame > a,.hero-image-frame > img { display:block; max-width:100%; flex:none; }
.hero-image-frame > a img { width:100%; height:auto; display:block; }
.hero-image-frame > .hero-image-width-auto { width:auto; }
.hero-image-frame > .hero-image-width-25 { width:25%; }
.hero-image-frame > .hero-image-width-50 { width:50%; }
.hero-image-frame > .hero-image-width-75 { width:75%; }
.hero-image-frame > .hero-image-width-100 { width:100%; }
.hero-edit-preview { max-width:min(100%,320px); max-height:180px; width:auto; height:auto; object-fit:contain; }
.hero-content { padding:1.3rem 2rem 1.5rem; }
.hero-content h1 { font-weight:700; font-size:clamp(1.5rem,3vw,2rem); }
.section-title { font-weight:700; letter-spacing:-.025em; margin:2.5rem 0 1.25rem; }
.home-browse-link { white-space:nowrap; }
.product-card { border:1px solid #e2e9e2; border-radius:.85rem; background:white; height:100%; overflow:hidden; box-shadow:0 2px 8px #173b2a10; transition:transform .15s,box-shadow .15s; }
.product-card:hover { transform:translateY(-3px); box-shadow:0 9px 20px #173b2a20; }
.product-card img { width:100%; height:220px; object-fit:contain; background:#fff; padding:1rem; }
.product-card-body { padding:1rem 1.2rem 1.25rem; }
.product-card h3 { font-size:1.05rem; line-height:1.3; min-height:2.7rem; }
.product-card a { color:var(--lamar-deep); text-decoration:none; }
.price { color:var(--lamar-green); font-size:1.15rem; font-weight:700; }
.btn-primary { background:var(--lamar-green); border-color:var(--lamar-green); }
.btn-primary:hover,.btn-primary:focus-visible { background:var(--lamar-deep); border-color:var(--lamar-deep); color:var(--lamar-hover-text); }
.btn-outline-primary { color:var(--lamar-green); border-color:var(--lamar-green); }
.btn-outline-primary:hover,.btn-outline-primary:focus-visible { background:var(--lamar-green); border-color:var(--lamar-green); color:var(--lamar-hover-text); }
.appearance-hex{max-width:10rem}.appearance-preview{position:sticky;top:1rem}.appearance-preview-header{background:var(--preview-primary);color:#fff}.appearance-preview-header img{max-width:180px;max-height:48px;object-fit:contain}.appearance-preview-hover{color:var(--preview-hover-text)}.appearance-preview-ribbon{background:var(--preview-mint);color:var(--preview-deep)}.appearance-preview-ribbon-hover{display:inline-block;padding:.25rem .4rem;background:var(--preview-deep);color:var(--preview-hover-text)}.appearance-preview-button,.appearance-preview-button-hover{display:inline-block;padding:.5rem .75rem;border-radius:.375rem;background:var(--preview-primary);color:#fff}.appearance-preview-button-hover{background:var(--preview-deep);color:var(--preview-hover-text)}
.featured-product-thumb{width:48px;height:48px;object-fit:contain;vertical-align:middle}
.card, .table-wrap { border-radius:.8rem; border:1px solid #e4eae5; box-shadow:0 2px 10px #1b3e2910; }
.card-header { background:var(--lamar-mint); font-weight:700; }
.table-wrap { background:white; padding:1rem; overflow-x:auto; }
.table th { white-space:nowrap; }
.badge-soft { background:var(--lamar-mint); color:var(--lamar-deep); padding:.4em .7em; border-radius:10rem; font-weight:600; }
.checkout-total { background:var(--lamar-mint); border-left:5px solid var(--lamar-green); border-radius:.5rem; padding:1.25rem; }
.footer { background:color-mix(in srgb, var(--lamar-mint) 60%, white); margin-top:auto; padding:1.25rem 0; }
.footer .container { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.form-label { font-weight:600; }
.text-muted-small { color:#61726a; font-size:.92rem; }
.admin-links { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.admin-links a { white-space:nowrap; border-radius:999px; }
.shop-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; }
.shop-search-form { display:flex; align-items:center; gap:.5rem; width:min(100%,34rem); flex:0 1 34rem; min-width:0; }
#featuredSearchForm { flex:0 0 auto; }
#sharedNotificationAddressForm { flex:0 0 auto; }
.shop-search-form .form-control { flex:1 1 auto; min-width:0; }
.shop-search-form .btn,.shop-toolbar-action { flex:none; align-self:center; white-space:nowrap; }
.detail-image { width:100%; max-height:430px; object-fit:contain; background:white; border-radius:.8rem; border:1px solid #e5ece7; padding:1rem; }
@media(max-width:575px) { .hero-content { inset:auto 1rem 1rem; } .page-container{padding-top:1.25rem;} .shop-search-form{flex:1 1 100%;width:100%;} }
@media(max-width:575px) { .hero-image-frame > .hero-image-width-25,.hero-image-frame > .hero-image-width-50,.hero-image-frame > .hero-image-width-75 { width:100%; } }
@media(max-width:575px) { .store-nav .navbar-brand{font-size:1rem;} .store-nav .navbar-brand img{max-width:120px;} .home-section-heading .section-title{margin-bottom:.25rem;} }
.gallery-thumb{padding:3px;border:2px solid #ddd;border-radius:.4rem;background:white;cursor:pointer}.gallery-thumb img{object-fit:contain}.gallery-thumb.selected,.gallery-thumb:focus-visible{border-color:var(--lamar-green);outline:2px solid var(--lamar-green)}.rich-content img,.category-hero{max-width:100%;height:auto}.rich-content{overflow-wrap:anywhere}.rich-content table{max-width:100%;display:block;overflow-x:auto}
