/* Storefront refinements. Keep the legacy grid and page order intact. */
.cs-storefront { --cs-ink:#2b1d14; --cs-muted:#7a6a58; --cs-line:#e4d8c5; --cs-accent:#6b4c33; --theme-deafult:var(--cs-accent); color:var(--cs-ink); background:#f4f0e9; font-family:Lato,Arial,sans-serif; font-size:15px; line-height:1.6; }
.cs-storefront h1,.cs-storefront h2,.cs-storefront h3,.cs-storefront h4,.cs-storefront h5,.cs-storefront h6 { color:var(--cs-ink); text-transform:none; letter-spacing:0; }
.cs-storefront h1 { font-size:clamp(24px,3vw,34px); font-weight:700; line-height:1.3; }
.cs-storefront a { transition:color .15s ease; }
.cs-storefront a:focus-visible,.cs-storefront button:focus-visible,.cs-storefront summary:focus-visible { outline:3px solid #6b4c33; outline-offset:4px; border-radius:5px; }
.cs-storefront main { min-height:65vh; }
.cs-storefront .top-header.top-header-dark { background:#2b1d14; }
.cs-storefront .top-header .header-contact { padding:9px 0; }
.cs-storefront .top-header .header-contact li,.cs-storefront .top-header .header-dropdown>li { color:#e6dcca; font-size:12px; }
.cs-storefront .top-header .header-dropdown>li { padding:9px 14px; }
.cs-storefront .top-header .header-dropdown>li>a { color:#e6dcca; }
.cs-storefront .header-dropdown .onhover-show-div { border-radius:10px; box-shadow:0 10px 35px #2b1d141a; margin:0; }
.cs-storefront .onhover-dropdown:focus-within .onhover-show-div { opacity:1; visibility:visible; transform:translateY(0); }
/* The theme default (top:50px) leaves a dead gap between the "Hesabım" trigger
   and its panel on desktop, so the panel closes the instant the mouse leaves
   the trigger on the way to it. Sit it flush against the trigger instead. */
.cs-storefront .top-header .header-dropdown .onhover-dropdown .onhover-show-div { top:100%; right:0; left:auto; }
.cs-storefront header { background:white; }
.cs-storefront .main-menu { display:flex; gap:32px; padding:20px 0; align-items:center; }
.cs-storefront .main-menu>.menu-left { flex-shrink:0; }
.cs-storefront .main-menu>div:nth-child(2) { flex:1; min-width:0; }
.cs-storefront .main-menu .brand-logo { padding:0; }
.cs-storefront .brand-logo>a { display:flex; gap:12px; align-items:center; }
.cs-storefront .brand-logo img { width:60px; height:60px; object-fit:contain; }
.cs-storefront .brand-name { font-size:21px; font-weight:900; color:var(--cs-ink); letter-spacing:-.5px; }
.cs-storefront .form_search { display:flex; width:100%; max-width:620px; background:#f0eae0; border:1px solid var(--cs-line); border-radius:10px; overflow:hidden; }
.cs-storefront .form_search:focus-within { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c3314; }
.cs-storefront .form_search input { width:100%; min-width:0; height:48px; padding:0 18px; border:0; outline:0; background:transparent; font-size:14px; }
.cs-storefront .form_search .btn-search { position:static; flex-shrink:0; width:50px; border:0; background:transparent; color:var(--cs-accent); }
.cs-storefront .main-menu .menu-right .icon-nav .onhover-div { padding:0; position:relative; }
.cs-storefront .mobile-cart>a { display:flex; align-items:center; gap:10px; padding:12px 20px 12px 12px; color:var(--cs-ink); font-weight:700; }
.cs-storefront .mobile-cart i { font-size:23px; }
.cs-storefront .cart_qty_cls { top:0; right:0; width:20px; height:20px; line-height:20px; background:var(--cs-accent); }
.cs-storefront .header-style-5 .bottom-part.bottom-light { background:white; border-top:1px solid #ebe3d6; border-bottom:1px solid var(--cs-line); }
.cs-storefront .bottom-part>.container>.row { align-items:center; }
.cs-storefront .catalog-menu { position:relative; margin:8px 0; z-index:30; }
.cs-storefront .catalog-menu>summary { display:flex; align-items:center; gap:12px; padding:13px 18px; border-radius:8px; background:var(--cs-accent); color:white; font-weight:700; cursor:pointer; list-style:none; }
.cs-storefront summary::-webkit-details-marker { display:none; }
.cs-storefront .catalog-menu>summary .fa-angle-down { margin-left:auto; }
.cs-storefront .catalog-menu[open]>summary .fa-angle-down { transform:rotate(180deg); }
.cs-storefront .catalog-panel { position:absolute; top:calc(100% + 8px); left:0; width:320px; max-width:calc(100vw - 30px); max-height:65vh; overflow:auto; padding:8px; border:1px solid var(--cs-line); background:white; border-radius:10px; box-shadow:0 14px 40px #2b1d1426; }
.cs-storefront .catalog-list,.cs-storefront .catalog-list ul { display:block; padding:0; margin:0; list-style:none; }
.cs-storefront .catalog-list>li { display:block; position:relative; border-bottom:1px solid #ebe3d6; }
.cs-storefront .catalog-list>li:last-child { border:0; }
.cs-storefront .catalog-list a { display:block; padding:12px 42px 12px 12px; color:var(--cs-ink); font-size:14px; line-height:1.5; }
.cs-storefront .catalog-list a:hover { background:#f1ebe1; color:var(--cs-accent); border-radius:6px; }
.cs-storefront .catalog-children-toggle { position:absolute; top:0; right:0; width:42px; height:42px; display:grid; place-items:center; padding:0; border:0; background:none; cursor:pointer; color:var(--cs-muted); }
.cs-storefront .catalog-children-toggle[aria-expanded="true"] { color:var(--cs-accent); transform:rotate(180deg); }
.cs-storefront .catalog-children ul { background:#f4f0e9; border-radius:6px; margin-bottom:8px; }
.cs-storefront .catalog-children ul li { display:block; width:100%; }
.cs-storefront .catalog-children a { display:block; width:100%; padding:9px 16px 9px 24px; font-size:13px; }
.cs-storefront #main-menu { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.cs-storefront #main-menu>li { display:block; }
.cs-storefront #main-menu>li>a { padding:15px 16px; font-size:14px; font-weight:700; letter-spacing:0; color:var(--cs-ink); }
.cs-storefront #main-menu>li>a:hover { color:var(--cs-accent); }
.cs-storefront .hero-slider { max-width:1320px; margin:24px auto 0; overflow:hidden; border-radius:12px; background:#fff; }
.cs-storefront .hero-slider img { display:block; width:100%; height:auto; max-height:none; }
.cs-storefront .hero-slider .slick-slide>a,.cs-storefront .hero-slider .slick-slide>div>a { display:block; position:relative; }
.cs-storefront .hero-slider h2 { margin:0; padding:16px 0; color:var(--cs-ink)!important; font-size:24px; }
.cs-storefront .hero-slider .slick-dots { position:static; padding:8px 0; }
.cs-storefront .hero-slider.slick-dotted { margin-bottom:0; }
.cs-storefront .category-grid { row-gap:4px; }
.cs-storefront .category-grid>div { display:flex; }
.cs-storefront .category-tile { width:100%; display:flex!important; align-items:center; justify-content:center; min-height:80px; background:white; border-color:var(--cs-line)!important; border-radius:10px!important; color:var(--cs-ink); font-weight:700; font-size:14px; line-height:1.5; transition:border-color .15s,background .15s; }
.cs-storefront .category-tile:hover { border-color:var(--cs-accent)!important; background:#f4f0e8; color:var(--cs-accent); }
.cs-storefront .section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:24px; }

.cs-storefront .section-heading h2 { font-size:26px; font-weight:700; margin:0; }
.cs-storefront .section-heading>span { font-size:14px; color:var(--cs-muted); }
.cs-storefront .product-card { border:1px solid var(--cs-line); border-radius:12px; overflow:hidden; background:white; transition:box-shadow .18s,border-color .18s; }
.cs-storefront .product-card:hover { border-color:#d3d8df; box-shadow:0 8px 24px #2b1d140c; }
.cs-storefront .product-image-link { display:block; aspect-ratio:1; padding:22px; background:white; }
.cs-storefront .product-image-link img { width:100%; height:100%; object-fit:contain; }
.cs-storefront .product-image-empty { display:grid; place-items:center; font-size:38px; color:#a4acb7; }
.cs-storefront .product-card .card-body { padding:18px 20px 22px; border-top:1px solid #f4f5f7; }
.cs-storefront .product-card .card-title { font-size:15px; line-height:1.5; font-weight:700; min-height:45px; margin-bottom:16px; }
.cs-storefront .product-card .card-body>strong { font-size:21px; color:var(--cs-ink); }
.cs-storefront .product-card del { display:inline-block; font-size:13px; }
.cs-storefront .form-control,.cs-storefront .form-select { border-color:#d9cab0; border-radius:8px; padding:11px 14px; }
.cs-storefront .form-control:focus,.cs-storefront .form-select:focus { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c3314; }
.cs-storefront .btn { border-radius:8px; font-weight:700; letter-spacing:0; }
.cs-storefront .btn-dark { background:var(--cs-accent); border-color:var(--cs-accent); padding:11px 20px; }
.cs-storefront .btn-dark:hover { background:#946245; border-color:#946245; }
.cs-storefront #product-gallery { padding:24px; background:white; border:1px solid var(--cs-line); border-radius:12px; }
.cs-storefront .product-gallery-img { width:100%; max-height:480px; object-fit:contain; }
.cs-storefront .table { background:white; border-color:var(--cs-line); }
.cs-storefront .table>:not(caption)>*>* { padding:14px; }
.cs-storefront .sub-footer.dark-subfooter { background:#2b1d14; }
.cs-storefront .sub-footer p,.cs-storefront .sub-footer a { color:#d9cab0; }
.cs-storefront .footer-social { display:inline-flex; gap:10px; list-style:none; margin:0; padding:0; }
.cs-storefront .footer-social .social-media-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; font-size:15px; transition:transform .15s ease,color .15s ease; }
.cs-storefront .footer-social .social-media-icon:hover { color:var(--cs-accent); transform:translateY(-2px); }
@media (max-width:1199px) {
 .cs-storefront .bottom-part>.container>.row { flex-wrap:nowrap; }
 .cs-storefront .bottom-part .col-xl-3 { width:260px; flex-shrink:0; }
 .cs-storefront .bottom-part .col-xl-9 { width:auto; flex:1; min-width:0; }
 .cs-storefront .hero-slider { margin:20px 24px 0; }
}
@media (max-width:767px) {
 .cs-storefront .top-header .row { display:flex; flex-wrap:nowrap; }
 .cs-storefront .top-header .row>div { width:auto; }
 .cs-storefront .top-header .row>div:last-child { margin-left:auto; }
 .cs-storefront .top-header .header-contact { display:block; }
 .cs-storefront .top-header .header-contact li { padding:0; }
 .cs-storefront .header-dropdown .mobile-account { display:none; }
 .cs-storefront .main-menu { gap:12px; flex-wrap:wrap; padding:14px 0; }
 .cs-storefront .main-menu>.menu-left { flex:1; }
 .cs-storefront .main-menu>div:nth-child(2) { order:3; flex-basis:100%; }
 .cs-storefront .brand-name { font-size:18px; }
 .cs-storefront .brand-logo img { width:44px; height:44px; }
 .cs-storefront .main-menu .menu-right .icon-nav .mobile-cart { position:relative; inset:auto; }
 .cs-storefront .mobile-cart>a { font-size:13px; }
 .cs-storefront .bottom-part .col-xl-3 { width:210px; }
 .cs-storefront .catalog-menu>summary { padding:12px; font-size:13px; }
 .cs-storefront #main-menu { flex-wrap:nowrap; overflow-x:auto; }
 .cs-storefront #main-menu>li>a { white-space:nowrap; padding:12px 8px; font-size:13px; }
 .cs-storefront .hero-slider { margin:16px 12px 0; border-radius:8px; }
 .cs-storefront main>.container.py-5 { padding-top:28px!important; padding-bottom:32px!important; }
 .cs-storefront .category-grid { margin-left:-6px; margin-right:-6px; margin-bottom:28px!important; }
 .cs-storefront .category-grid>div { padding:0 6px; }
 .cs-storefront .category-tile { font-size:12px; min-height:74px; padding:10px!important; }
 .cs-storefront .section-heading { display:block; margin-bottom:18px; }
 .cs-storefront .section-heading h2 { font-size:23px; }
 .cs-storefront .product-image-link { padding:12px; }
 .cs-storefront .product-card .card-body { padding:12px; }
 .cs-storefront .product-card .card-title { font-size:13px; margin-bottom:10px; min-height:40px; }
 .cs-storefront .product-card .card-body>strong { font-size:18px; }
 .cs-storefront .product-card del { margin-left:0!important; }
 .cs-storefront .table { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .cs-storefront * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
/* Override the old off-canvas header at tablet and phone breakpoints. */
.cs-storefront .header-style-5 .bottom-part { height:auto; }
.cs-storefront .main-menu .menu-right .icon-nav i { display:inline-block; }
@media (max-width:1199px) {
 .cs-storefront #main-menu { position:static; width:auto; height:auto; inset:auto; padding:0; transform:none; box-shadow:none; }
 .cs-storefront #main-menu>li { float:none; }
}
@media (max-width:767px) {
 .cs-storefront .top-header { height:auto; }
 .cs-storefront .main-menu .brand-logo { position:static; transform:none; height:auto; margin:0; padding:0; }
 .cs-storefront .top-header .header-dropdown { display:flex; align-items:center; }
 .cs-storefront .top-header .header-dropdown>li { padding:9px 6px; }
 .cs-storefront .top-header .header-dropdown .mobile-account { display:block; position:relative; inset:auto; font-size:0; }
 .cs-storefront .top-header .header-dropdown .mobile-account>i { display:inline-block; font-size:14px; }
 .cs-storefront .top-header .header-dropdown .mobile-account .onhover-show-div { top:100%; bottom:auto; right:0; left:auto; }
 .cs-storefront .bottom-part>.container>.row { flex-wrap:wrap; }
 .cs-storefront .bottom-part .col-xl-3,.cs-storefront .bottom-part .col-xl-9 { width:100%; flex-basis:100%; }
 .cs-storefront .catalog-menu { margin-bottom:0; }
 .cs-storefront .catalog-panel { width:100%; max-height:60vh; }
 .cs-storefront #main-menu { gap:8px; }
 .cs-storefront .hero-slider h2 { font-size:17px; }
}
/* Compact shopping header: logo, catalog, search and basket share one row. */
.cs-storefront header { border-bottom:1px solid var(--cs-line); }
.cs-storefront header>.container,.cs-storefront .top-header>.container,.cs-storefront main>.container,.cs-storefront footer>.container,.cs-storefront footer .sub-footer>.container { max-width:1240px; }
.cs-storefront .top-header .header-contact,.cs-storefront .top-header .header-dropdown>li { padding-top:5px; padding-bottom:5px; }
.cs-storefront .main-menu { gap:24px; padding:10px 0; }
.cs-storefront .main-menu .menu-left { flex:0 0 auto; }
.cs-storefront .main-menu .brand-logo { padding:0; }
.cs-storefront .brand-logo>a { width:100px; height:48px; overflow:hidden; justify-content:center; }
.cs-storefront .brand-logo img { width:100px; height:100px; max-width:none; flex-shrink:0; }
.cs-storefront .main-menu>.catalog-menu { flex:0 0 210px; margin:0; }
.cs-storefront .catalog-menu>summary { padding:11px 14px; font-size:14px; }
.cs-storefront .main-menu>.header-search { flex:1; min-width:0; max-width:480px; }
.cs-storefront .form_search input { height:42px; }
.cs-storefront .main-menu>.menu-right { margin-left:auto; flex:0 0 auto; }
.cs-storefront .hero-slider { max-width:1216px; margin:16px auto 0; }
.cs-storefront .hero-slider h2 { font-size:18px; padding:10px 20px; }
.cs-storefront .hero-slider .slick-dots { padding:0 0 6px; line-height:16px; }
.cs-storefront .hero-slider .slick-dots li { height:16px; margin:0 3px; }
.cs-storefront .home-content { padding-top:24px!important; padding-bottom:32px!important; }
.cs-storefront .category-grid { margin-bottom:24px!important; row-gap:0; }
.cs-storefront .category-grid>div { margin-bottom:12px!important; }
.cs-storefront .category-tile { min-height:56px; padding:10px!important; font-size:13px; }
.cs-storefront .section-heading { margin-bottom:16px; }
.cs-storefront .section-heading h2 { font-size:23px; }
.cs-storefront .product-image-link { padding:18px; aspect-ratio:1.15; }
.cs-storefront .product-card .card-body { padding:14px 16px 16px; }
.cs-storefront .product-card .card-title { min-height:23px; margin-bottom:12px; }
.cs-storefront .footer-navigation { padding-top:36px; padding-bottom:36px; }
.cs-storefront .footer-navigation nav { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.cs-storefront .footer-navigation a { font-size:13px; color:#d9cab0; }
.cs-storefront .footer-navigation a:hover { color:#fff; text-decoration:underline; }
.cs-storefront .footer-col h4 { color:#fff; font-size:14px; font-weight:700; margin:0 0 16px; }
@media (max-width:1279px) { .cs-storefront .hero-slider { margin-left:12px; margin-right:12px; } }
@media (max-width:991px) {
 .cs-storefront .main-menu { gap:14px; }
 .cs-storefront .main-menu>.catalog-menu { flex-basis:185px; }
}
@media (max-width:767px) {
 .cs-storefront .main-menu { display:grid; grid-template-columns:100px 1fr auto; gap:10px; padding:8px 0 12px; }
 .cs-storefront .main-menu>.menu-left { grid-column:1; grid-row:1; }
 .cs-storefront .main-menu>.menu-right { grid-column:3; grid-row:1; }
 .cs-storefront .main-menu>.catalog-menu { grid-column:1 / -1; grid-row:3; width:100%; margin:0; }
 .cs-storefront .main-menu>.header-search { grid-column:1 / -1; grid-row:2; width:100%; max-width:none; }
 .cs-storefront .brand-logo>a { height:36px; width:90px; }
 .cs-storefront .brand-logo img { height:90px; width:90px; }
 .cs-storefront .mobile-cart>a { padding-top:4px; padding-bottom:4px; }
 .cs-storefront .catalog-menu>summary { padding:9px 12px; }
 .cs-storefront .hero-slider { margin-top:12px; }
 .cs-storefront .hero-slider h2 { font-size:15px; padding:8px 4px; }
 .cs-storefront main>.home-content.py-5 { padding-top:16px!important; }
 .cs-storefront .category-tile { min-height:54px; padding:8px!important; font-size:11px; }
 .cs-storefront .category-grid { margin-bottom:16px!important; }
 .cs-storefront .product-image-link { padding:12px; }
 .cs-storefront .product-card .card-body { padding:12px; }
 .cs-storefront .product-card .card-title { min-height:39px; }
}
.cs-storefront .header-style-5 .main-menu .menu-left .brand-logo { padding:0; }
.cs-storefront footer.dark-footer { background:#2b1d14; }
@media (max-width:767px) {
 .cs-storefront .category-grid { display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,auto); grid-auto-columns:124px; gap:8px; overflow-x:auto; margin-left:0; margin-right:0; padding-bottom:6px; }
 .cs-storefront .category-grid>div { width:100%; padding:0; margin-bottom:0!important; }
}
/* Shared storefront content, cards and shopping flows. */
.cs-storefront .surface { padding:28px; border:1px solid var(--cs-line); border-radius:14px; background:white; }
.cs-storefront .store-section { margin-top:36px; }
.cs-storefront .store-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; font-size:13px; color:var(--cs-muted); }
.cs-storefront .store-breadcrumb a,.cs-storefront .section-heading>a,.cs-storefront .text-link { color:var(--cs-accent); }
.cs-storefront .section-heading>a { font-size:13px; font-weight:700; white-space:nowrap; }
.cs-storefront .section-heading h1 { margin:0; }
.cs-storefront .category-tile { flex-direction:column; gap:10px; min-height:112px; }
.cs-storefront .category-tile>i { display:grid; place-items:center; width:42px; height:42px; background:#f1ebe1; color:var(--cs-accent); border-radius:12px; font-size:22px; }
.cs-storefront .category-tile>img { width:42px; height:42px; object-fit:contain; }
.cs-storefront .product-image-link { position:relative; overflow:hidden; }
.cs-storefront .product-image-link img { transition:transform .22s; }
.cs-storefront .product-image-placeholder { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#87909d; font-size:12px; }
.cs-storefront .product-image-placeholder i { font-size:32px; }
.cs-storefront .product-sale-label { position:absolute; top:12px; left:12px; padding:3px 9px; border-radius:5px; background:#ede5d8; color:#83573d; font-size:11px; font-weight:700; }
.cs-storefront .product-hover-action { position:absolute; bottom:12px; left:50%; transform:translate(-50%,8px); padding:7px 12px; border-radius:6px; background:#2b1d14eb; color:white; font-size:12px; white-space:nowrap; opacity:0; transition:opacity .18s,transform .18s; }
@media (hover:hover) {
 .cs-storefront .product-card:hover .product-image-link img { transform:scale(1.04); }
 .cs-storefront .product-card:hover .product-hover-action { opacity:1; transform:translate(-50%,0); }
}
.cs-storefront .product-card:focus-within .product-hover-action { opacity:1; transform:translate(-50%,0); }
.cs-storefront .product-card .card-body { display:flex; flex-direction:column; }
.cs-storefront .product-card .card-title { font-size:15px; line-height:1.5; margin-bottom:5px; min-height:0; }
.cs-storefront .product-options { color:var(--cs-muted); font-size:12px; margin:0 0 12px; line-height:1.5; }
.cs-storefront .product-card-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-top:auto; margin-bottom:16px; }
.cs-storefront .product-card-price strong { font-size:22px; color:var(--cs-ink); }
.cs-storefront .product-card-price del { color:var(--cs-muted); font-size:12px; }
.cs-storefront .product-card-action { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:9px 12px; border:1px solid #e8e2dd; border-radius:7px; font-size:13px; font-weight:700; color:var(--cs-ink); background:#fcfaf8; }
.cs-storefront .product-card-action:hover,.cs-storefront .product-card-action:focus-visible { color:white; background:var(--cs-accent); border-color:var(--cs-accent); }
.cs-storefront .eyebrow { font-size:12px; font-weight:700; color:#82573d; }
.cs-storefront .blog-card { border:1px solid var(--cs-line); border-radius:12px; overflow:hidden; }
/* Every post image gets the same box regardless of its real proportions: the
   sharp photo sits fully visible (object-fit:contain, no cropping) over a
   blurred, zoomed-in copy of itself that fills whatever space is left over,
   instead of a hard-cropped (object-fit:cover) or letterboxed look. */
.cs-storefront .blog-thumb { position:relative; width:100%; aspect-ratio:1.8; overflow:hidden; background:#eae2d3; }
.cs-storefront .blog-thumb-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(20px) brightness(.85); transform:scale(1.2); opacity:.55; }
.cs-storefront .blog-thumb-fg { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; }
.cs-storefront .blog-card h3 { font-size:18px; font-weight:700; line-height:1.5; }
.cs-storefront .blog-card p { font-size:13px; line-height:1.7; color:var(--cs-muted); }
.cs-storefront .blog-card .text-link { font-size:13px; font-weight:700; }
.cs-storefront .empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 24px; border:1px solid var(--cs-line); border-radius:14px; background:white; text-align:center; width:100%; }
.cs-storefront .empty-state-icon,.cs-storefront .auth-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:#f1ebe1; color:var(--cs-accent); font-size:27px; margin-bottom:18px; }
.cs-storefront .empty-state h2 { font-size:24px; font-weight:700; margin-bottom:10px; }
.cs-storefront .empty-state p { max-width:460px; color:var(--cs-muted); line-height:1.7; margin-bottom:22px; }
.cs-storefront .cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
/* One column per piece of information (not one wide "detail" blob) so a row
   with a short title doesn't leave a dead gap before the price/qty/total —
   each cell gets a fair, predictable share of the row instead. */
.cs-storefront .cart-item { display:grid; grid-template-columns:20px 84px minmax(0,1.6fr) minmax(0,.9fr) minmax(0,.7fr) auto; align-items:center; gap:16px; padding:16px 20px; margin-bottom:10px; background:white; border:1px solid var(--cs-line); border-radius:10px; }
.cs-storefront .cart-item-select { width:18px; height:18px; accent-color:var(--cs-accent); cursor:pointer; }
.cs-storefront .cart-bulk-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 20px; margin-bottom:14px; background:#f4f5f7; border-radius:10px; }
.cs-storefront .cart-select-all { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--cs-ink); cursor:pointer; margin:0; }
.cs-storefront .cart-select-all input { width:18px; height:18px; accent-color:var(--cs-accent); }
.cs-storefront #cart-bulk-remove-btn { display:inline-flex; align-items:center; gap:6px; color:#94413d; border:1px solid #e1bab6; background:white; }
.cs-storefront #cart-bulk-remove-btn:disabled { color:var(--cs-muted); border-color:var(--cs-line); cursor:not-allowed; }
.cs-storefront .cart-item-image { display:grid; place-items:center; width:84px; height:84px; padding:6px; }
.cs-storefront .cart-item-image img { max-width:100%; max-height:100%; object-fit:contain; }
.cs-storefront .cart-item-number .cart-item-image { background:#f1ebe1; border-radius:10px; color:#432f20; }
.cs-storefront .cart-item-number .cart-item-image .sim-card-icon { width:30px; height:30px; }
.cs-storefront .cart-item h2 { font-size:16px; font-weight:700; margin:0 0 4px; }
.cs-storefront .cart-item-detail p { font-size:13px; color:var(--cs-muted); margin:0; }
.cs-storefront .cart-unit-price { font-size:15px; font-weight:600; color:var(--cs-ink); text-align:center; }
.cs-storefront .cart-unit-price small { display:block; font-size:11px; font-weight:400; color:var(--cs-muted); }
.cs-storefront .cart-quantity { display:flex; flex-direction:column; align-items:center; gap:6px; }
.cs-storefront .cart-quantity label { font-size:11px; margin:0; color:var(--cs-muted); text-transform:uppercase; letter-spacing:.03em; }
.cs-storefront .cart-quantity input { width:68px; padding:6px 8px; text-align:center; }
.cs-storefront .cart-item-total { display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:8px; }
.cs-storefront .cart-item-total strong { font-size:18px; white-space:nowrap; }
.cs-storefront .cart-remove { background:none; border:none; color:#8c5760; font-size:12px; padding:8px 0; }
.cs-storefront .order-summary h2,.cs-storefront .order-summary h5 { font-size:20px; font-weight:700; }
.cs-storefront .summary-line,.cs-storefront .summary-total { display:flex; justify-content:space-between; gap:16px; padding:15px 0; }
.cs-storefront .summary-line { color:var(--cs-muted); font-size:14px; border-bottom:1px solid var(--cs-line); }
.cs-storefront .summary-total { align-items:baseline; margin-bottom:12px; font-weight:700; }
.cs-storefront .summary-total strong { font-size:26px; }
.cs-storefront .summary-note { margin:16px 0 0; color:var(--cs-muted); text-align:center; font-size:13px; }
.cs-storefront .continue-shopping { display:inline-flex; align-items:center; gap:8px; color:var(--cs-ink); font-size:14px; margin-top:8px; }
.cs-storefront .auth-page { max-width:520px; }
.cs-storefront .auth-panel { max-width:460px; margin:auto; }
.cs-storefront .auth-panel h1 { font-size:28px; }
.cs-storefront .auth-panel .auth-icon { width:48px; height:48px; font-size:22px; }
.cs-storefront .auth-panel p { font-size:14px; }
.cs-storefront .form-label { font-size:13px; font-weight:700; }
.cs-storefront .checkout-form,.cs-storefront .order-summary { margin-bottom:24px; }
/* Stays in view while the (usually longer) item list on the left scrolls,
   so the total is always visible — stops on its own once the left column
   runs out, which `position:sticky` + a shorter right column gives for free. */
.cs-storefront .order-summary { position:sticky; top:16px; align-self:start; }
@media (max-width:991px) { .cs-storefront .order-summary { position:static; } }
.cs-storefront .order-summary .list-group-item { padding:14px 0; gap:16px; border-width:0 0 1px; font-size:14px; }
.cs-storefront .order-summary .list-group-item>span:last-child { white-space:nowrap; }
.cs-storefront .listing-toolbar { display:flex; align-items:center; justify-content:space-between; color:var(--cs-muted); font-size:13px; margin-bottom:20px; }
.cs-storefront .category-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.cs-storefront .category-chips a { padding:7px 14px; border-radius:6px; background:white; border:1px solid var(--cs-line); color:var(--cs-ink); font-size:13px; }
.cs-storefront .category-chips a:hover { border-color:var(--cs-accent); }
.cs-storefront .category-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; }
.cs-storefront .category-filters { position:sticky; top:16px; height:calc(100vh - 32px); border:1px solid var(--cs-line); border-radius:12px; background:white; overflow:hidden; }
.cs-storefront .filter-form { display:flex; flex-direction:column; height:100%; }
.cs-storefront .filter-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; padding:16px; }
.cs-storefront .category-filters .filter-group { padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid #ebe3d6; }
.cs-storefront .category-filters .filter-group:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.cs-storefront .category-filters .filter-group h2 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.02em; color:var(--cs-muted); margin:0 0 9px; }
.cs-storefront .category-filters .category-chips { margin-bottom:0; gap:6px; }
.cs-storefront .category-filters .category-chips a { padding:5px 10px; font-size:12px; }
.cs-storefront .filter-checklist { display:flex; flex-direction:column; gap:7px; }
.cs-storefront .filter-checklist label { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--cs-ink); cursor:pointer; }
.cs-storefront .filter-checklist input { margin:0; accent-color:var(--cs-accent); }
.cs-storefront .filter-price-range { display:flex; align-items:center; gap:6px; }
.cs-storefront .filter-price-range input { width:100%; min-width:0; padding:6px 8px; border:1px solid var(--cs-line); border-radius:6px; font-size:12.5px; }
.cs-storefront .filter-actions { flex:0 0 auto; display:flex; align-items:center; gap:12px; padding:14px 16px; border-top:1px solid var(--cs-line); background:white; }
.cs-storefront .filter-actions .btn { flex:1; padding:9px 12px; font-size:13px; }
.cs-storefront .filter-actions a { font-size:12px; color:var(--cs-muted); white-space:nowrap; }
@media(max-width:991px) {
 .cs-storefront .category-layout { grid-template-columns:1fr; }
 .cs-storefront .category-filters { position:static; height:auto; max-height:70vh; }
}
.cs-storefront .editorial-page>h1,.cs-storefront .editorial-page>.article-content { max-width:860px; margin-left:auto; margin-right:auto; }
.cs-storefront .article-content { font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.cs-storefront .article-content p { line-height:inherit; color:#505967; }
.cs-storefront .article-content img,.cs-storefront .article-content iframe { max-width:100%; }
.cs-storefront .article-content img { height:auto; }
.cs-storefront .article-content ul,.cs-storefront .article-content ol { padding-left:24px; }
.cs-storefront .article-content li { display:list-item; }
.cs-storefront .account-panel { max-width:640px; }
.cs-storefront .number-search-form { max-width:850px; margin-left:auto; margin-right:auto; }
.cs-storefront .footer-info { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.cs-storefront .footer-logo { height:40px; width:auto; object-fit:contain; }
.cs-storefront .footer-brand p { color:#aeb8c5; max-width:380px; margin:14px 0 0; font-size:13px; line-height:1.8; }
.cs-storefront .footer-contact-links { display:flex; flex-direction:column; gap:10px; align-items:flex-start; color:#c6ced8; font-size:13px; }
.cs-storefront .footer-contact-links i { color:var(--cs-accent); width:16px; text-align:center; margin-right:4px; }
.cs-storefront .product-detail-panel { padding:26px; background:white; border:1px solid var(--cs-line); border-radius:12px; }
.cs-storefront .gallery-thumbnails { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.cs-storefront .gallery-thumbnails button { width:60px; height:60px; padding:5px; border:1px solid var(--cs-line); border-radius:7px; background:white; }
.cs-storefront .gallery-thumbnails button[aria-pressed="true"] { border-color:var(--cs-accent); }
.cs-storefront .gallery-thumbnails img { width:100%; height:100%; object-fit:contain; }
.cs-storefront #add-to-cart-message { font-size:13px; }
@media (max-width:991px) { .cs-storefront .cart-layout { grid-template-columns:1fr; } }
@media (max-width:767px) {
 .cs-storefront .surface { padding:20px; }
 .cs-storefront .section-heading { display:flex; align-items:center; gap:12px; }
 .cs-storefront .section-heading h2 { font-size:20px; }
 .cs-storefront .section-heading>a { font-size:11px; }
 .cs-storefront .category-tile { min-height:94px; gap:8px; }
 .cs-storefront .category-tile>i { width:32px; height:32px; font-size:18px; border-radius:9px; }
 .cs-storefront .product-card .card-title { font-size:14px; min-height:21px; }
 .cs-storefront .product-card-price strong { font-size:18px; }
 .cs-storefront .product-options { font-size:11px; min-height:33px; }
 .cs-storefront .product-card-action { font-size:12px; padding:9px; }
 .cs-storefront .empty-state { padding:28px 20px; }
 .cs-storefront .empty-state h2 { font-size:22px; }
 .cs-storefront .cart-item { grid-template-columns:20px 72px minmax(0,1fr); gap:12px 16px; padding:16px; }
 .cs-storefront .cart-item-image { width:72px; height:85px; }
 .cs-storefront .cart-item h2 { font-size:16px; }
 .cs-storefront .cart-bulk-bar { padding:12px 16px; }
 .cs-storefront .cart-unit-price,.cs-storefront .cart-quantity { grid-column:1/-1; flex-direction:row; justify-content:space-between; width:100%; text-align:left; }
 .cs-storefront .cart-unit-price small { display:inline; margin-left:4px; }
 .cs-storefront .cart-item-total { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; border-top:1px solid var(--cs-line); padding-top:12px; }
 .cs-storefront .footer-info { grid-template-columns:1fr; gap:20px; }
 .cs-storefront .number-search-form { padding:16px 10px; }
 .cs-storefront .product-detail-panel { padding:20px; }
 .cs-storefront #add-to-cart-form { flex-wrap:wrap; }
}
.cs-storefront .blog-card>a { display:flex; flex-direction:column; height:100%; }
.cs-storefront .blog-card .blog-thumb { height:170px; aspect-ratio:auto; flex-shrink:0; }
.cs-storefront .blog-card .card-body { display:flex; flex-direction:column; padding:18px; }
.cs-storefront .blog-card h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:16px; min-height:48px; }
.cs-storefront .blog-card p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cs-storefront .blog-card .text-link { margin-top:auto; }
.cs-storefront .number-search-intro { max-width:680px; margin:0 auto 24px; text-align:center; }
.cs-storefront .number-search-intro h1 { margin:7px 0 12px; }
.cs-storefront .number-search-intro p { color:var(--cs-muted); font-size:14px; line-height:1.8; }
.cs-storefront .number-search-form { max-width:960px; margin-bottom:32px; padding:26px 30px 18px; }
.cs-storefront .number-fields { display:flex; align-items:flex-end; justify-content:center; gap:22px; }
.cs-storefront .number-operator { width:120px; flex-shrink:0; }
.cs-storefront .number-operator label,.cs-storefront .number-digits legend { display:block; font-size:12px; font-weight:700; color:#596373; margin:0 0 8px; float:none; width:auto; }
.cs-storefront .number-digits { min-width:0; margin:0; }
.cs-storefront .digit-row { display:flex; gap:8px; align-items:center; }
.cs-storefront .number-digit { width:44px; height:50px; padding:5px; font-size:22px; text-align:center; font-weight:700; }
.cs-storefront .digit-divider { color:#a5acb5; }
.cs-storefront .number-operator .form-select,.cs-storefront .number-submit { height:50px; }
.cs-storefront .number-submit { white-space:nowrap; }
.cs-storefront .number-form-footer { display:flex; justify-content:space-between; gap:14px; margin-top:20px; padding-top:14px; border-top:1px solid var(--cs-line); font-size:12px; color:var(--cs-muted); }
.cs-storefront .number-form-footer a { color:var(--cs-accent); font-weight:700; }
.cs-storefront .number-results-heading h2 { font-size:22px; }
.cs-storefront .number-card { padding:20px; background:white; border:1px solid var(--cs-line); border-radius:12px; transition:border-color .15s; }
.cs-storefront .number-card:hover { border-color:var(--cs-accent); }
.cs-storefront .number-card-label { font-size:11px; color:var(--cs-muted); }
.cs-storefront .number-card-label i { color:var(--cs-accent); margin-right:5px; }
.cs-storefront .number-card h3 { font-size:23px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; margin:14px 0 20px; }
.cs-storefront .number-card-link { color:inherit; text-decoration:none; display:block; }
.cs-storefront .number-card-link:hover h3 { color:var(--cs-accent); }
.cs-storefront .number-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:14px; border-top:1px solid #ebe3d6; }
.cs-storefront .number-card-bottom strong { font-size:19px; }
.cs-storefront .number-card-bottom a, .cs-storefront .number-card-bottom button { border-radius:6px; background:#f1ebe1; color:#432f20; padding:6px 10px; font-size:12px; font-weight:700; border:none; cursor:pointer; display:inline-flex; align-items:center; gap:4px; }
.cs-storefront .number-card-bottom button:disabled { background:#ebe3d6; color:var(--cs-muted); cursor:not-allowed; }
.cs-storefront .number-card-bottom .card-cart-remove-form button { background:#eaf4ee; color:#407c5a; }
.cs-storefront .number-card.is-in-cart { border-color:#407c5a; }
.cs-storefront .store-section { padding:0; }
.cs-storefront .main-menu .menu-left .brand-logo { padding:0!important; }
.cs-storefront .category-chips a { overflow-wrap:anywhere; }
@media (max-width:991px) { .cs-storefront .number-fields { flex-wrap:wrap; gap:16px; } }
@media (max-width:767px) {
 .cs-storefront .number-search-form { padding:20px 14px 14px; }
 .cs-storefront .number-fields { display:grid; grid-template-columns:1fr; gap:18px; }
 .cs-storefront .number-operator { width:100%; }
 .cs-storefront .number-digits { width:100%; }
 .cs-storefront .digit-row { gap:5px; }
 .cs-storefront .number-digit { flex:1; width:0; min-width:0; height:44px; font-size:20px; }
 .cs-storefront .digit-divider { font-size:10px; }
 .cs-storefront .number-submit { width:100%; height:44px; }
 .cs-storefront .number-form-footer { align-items:flex-start; }
 .cs-storefront .number-form-footer>span { max-width:230px; }
 .cs-storefront .number-card h3 { font-size:24px; }
}
.cs-storefront .contact-intro h2 { font-size:25px; font-weight:700; }
.cs-storefront .contact-intro p { color:var(--cs-muted); margin:0; }
.cs-storefront .contact-card { height:100%; overflow-wrap:anywhere; }
.cs-storefront .contact-card>i { color:var(--cs-accent); font-size:25px; }
.cs-storefront .contact-card h2 { font-size:18px; margin:16px 0 8px; }
.cs-storefront .contact-card p { margin:0; color:var(--cs-muted); }
.cs-storefront .contact-form-wrap h2 { font-size:22px; font-weight:700; margin-bottom:6px; }
.cs-storefront .contact-form-intro { color:var(--cs-muted); margin-bottom:20px; }
.cs-storefront .blog-article { padding:40px; }
.cs-storefront .article-heading { max-width:860px; margin:0 auto 28px; text-align:center; }
.cs-storefront .article-heading h1 { font-size:clamp(24px,2.6vw,34px); line-height:1.35; margin:16px 0 10px; }
.cs-storefront .article-label { display:inline-block; background:#ede5d8; color:#81563c; padding:4px 10px; border-radius:5px; font-size:12px; font-weight:700; }
.cs-storefront .article-reading-time { font-size:12px; color:var(--cs-muted); }
.cs-storefront .article-cover { position:relative; margin:0 0 32px; background:#f4f5f7; border-radius:12px; overflow:hidden; aspect-ratio:3.6; max-height:320px; }
.cs-storefront .article-cover .blog-thumb-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(24px) brightness(.85); transform:scale(1.2); opacity:.55; }
.cs-storefront .article-cover .blog-thumb-fg { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:contain; }
.cs-storefront .blog-article .article-content { max-width:860px; margin:auto; }
.cs-storefront .article-content p,.cs-storefront .article-content li { font-size:16px; line-height:1.9; color:#465363; }
.cs-storefront .article-content p { margin-bottom:18px; }
.cs-storefront .article-content h2 { font-size:25px; font-weight:700; margin:30px 0 12px; }
.cs-storefront .article-content h3 { font-size:21px; font-weight:700; margin:24px 0 10px; }
.cs-storefront .article-content h4 { font-size:18px; margin:20px 0 10px; }
.cs-storefront .article-content table { display:block; max-width:100%; overflow:auto; }
.cs-storefront .article-content blockquote { margin:20px 0; padding:18px 22px; background:#f4f0e8; border-left:3px solid var(--cs-accent); }
.cs-storefront .article-end { border-top:1px solid var(--cs-line); margin-top:28px; padding-top:20px; font-size:14px; }
.cs-storefront .article-end a { color:var(--cs-accent); }
@media (max-width:767px) {
 .cs-storefront .blog-article { padding:20px; }
 .cs-storefront .article-cover { aspect-ratio:1.5; margin-bottom:24px; }
 .cs-storefront .article-content p,.cs-storefront .article-content li { font-size:15px; }
}
.cs-storefront .store-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0 0; font-size:13px; }
.cs-storefront .pagination-pages { display:flex; flex-wrap:wrap; gap:5px; justify-content:center; }
.cs-storefront .store-pagination a,.cs-storefront .pagination-pages span { display:inline-flex; align-items:center; justify-content:center; min-width:34px; min-height:36px; padding:6px 10px; border:1px solid var(--cs-line); background:white; color:var(--cs-ink); border-radius:6px; }
.cs-storefront .store-pagination .is-current { background:var(--cs-accent); border-color:var(--cs-accent); color:white; }
.cs-storefront .pagination-edge { white-space:nowrap; }
.cs-storefront .is-disabled { color:#8c95a1; }
.cs-storefront .pagination-mobile { display:none; }
@media(max-width:767px) { .cs-storefront .pagination-pages { display:none; } .cs-storefront .pagination-mobile { display:block; } }
.cs-storefront .product-overview #product-gallery { padding:24px; height:100%; min-height:440px; }
.cs-storefront .product-overview .product-gallery-img { height:400px; width:100%; object-fit:contain; }
.cs-storefront .product-overview .product-image-placeholder { min-height:370px; }
.cs-storefront .product-detail-panel { padding:28px; }
.cs-storefront .product-brand-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:14px; }
.cs-storefront .product-brand { font-size:12px; color:#7e553c; background:#f1ebe1; border-radius:5px; padding:4px 9px; font-weight:700; }
.cs-storefront .product-sku { color:var(--cs-muted); font-size:11px; }
.cs-storefront .product-detail-panel h1 { font-size:30px; margin:0 0 12px; }
.cs-storefront .product-stock { display:flex; gap:7px; align-items:center; color:#34654b; font-size:12px; margin-bottom:20px; }
.cs-storefront .product-stock:before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.cs-storefront .product-stock.is-unavailable { color:#a34f4f; }
.cs-storefront .product-price-panel { padding:18px 20px; background:#f4f0e9; border-radius:10px; margin-bottom:24px; }
.cs-storefront .product-price-panel>span { color:var(--cs-muted); font-size:12px; }
.cs-storefront .product-price-panel>div { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; }
.cs-storefront .product-price-panel strong { font-size:32px; font-weight:900; }
.cs-storefront .product-price-panel del { font-size:16px; color:var(--cs-muted); }
.cs-storefront .product-variant-group { margin:0 0 20px; }
.cs-storefront .variant-group-label { font-size:13px; font-weight:700; margin-bottom:10px; }
.cs-storefront .variant-group-label span { margin-left:10px; font-weight:400; color:var(--cs-muted); }
.cs-storefront .variant-selector { display:flex; flex-wrap:wrap; gap:8px; }
.cs-storefront .variant-swatch { display:grid; place-items:center; width:42px; height:42px; border:1px solid #d9cab0; background:white; border-radius:50%; padding:5px; }
.cs-storefront .variant-swatch>span { width:28px; height:28px; border-radius:50%; background:var(--swatch-color); border:1px solid #00000015; }
.cs-storefront .variant-swatch.active { border:2px solid var(--cs-accent); }
.cs-storefront .variant-option { padding:8px 14px; background:white; border:1px solid #d9cab0; border-radius:7px; font-size:13px; }
.cs-storefront .variant-option.active { border-color:var(--cs-accent); background:#efe8dd; color:#7e553c; }
.cs-storefront .product-purchase { padding-top:20px; border-top:1px solid var(--cs-line); }
.cs-storefront #add-to-cart-form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin:0; }
.cs-storefront .quantity-field { width:80px; margin:0; }
.cs-storefront .quantity-field>span { display:block; font-size:12px; margin-bottom:5px; }
.cs-storefront #add-to-cart-btn { flex:1; min-height:46px; }
.cs-storefront #add-to-cart-message { flex-basis:100%; padding:4px 0; }
.cs-storefront .product-purchase .continue-shopping { margin-top:14px; font-size:13px; }
.cs-storefront .product-help-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; border-top:1px solid var(--cs-line); padding-top:18px; margin-top:20px; font-size:12px; color:var(--cs-muted); }
.cs-storefront .product-help-row a { color:var(--cs-muted); }
.cs-storefront .product-description h2,.cs-storefront .product-specifications h2 { font-size:24px; font-weight:700; margin-bottom:20px; }
.cs-storefront .specification-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.cs-storefront .specification-groups caption { caption-side:top; color:var(--cs-ink); font-size:15px; font-weight:700; padding:0 0 12px; }
.cs-storefront .specification-groups th { width:45%; color:var(--cs-muted); font-weight:400; }
.cs-storefront .specification-groups th,.cs-storefront .specification-groups td { font-size:13px; padding:12px; overflow-wrap:anywhere; }
.cs-storefront .specification-groups tr:nth-child(odd) { background:#f4f0e9; }
.cs-storefront .gallery-open { display:block; position:relative; width:100%; padding:0; background:white; border:0; cursor:zoom-in; }
.cs-storefront .gallery-zoom-hint { position:absolute; right:0; bottom:0; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#f1f3f6; color:var(--cs-ink); }
.cs-storefront .product-zoom { width:min(1100px,94vw); max-width:94vw; max-height:94vh; padding:18px; border:0; border-radius:12px; background:white; }
.cs-storefront .product-zoom::backdrop { background:#151d2be0; }
.cs-storefront .zoom-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.cs-storefront .zoom-toolbar>span { font-size:14px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cs-storefront .zoom-toolbar button,.cs-storefront .zoom-controls button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#f3f5f7; border:1px solid var(--cs-line); border-radius:7px; min-width:40px; min-height:40px; padding:6px 12px; font-size:13px; }
.cs-storefront .zoom-stage { height:66vh; overflow:auto; background:white; }
.cs-storefront .zoom-stage img { width:100%; height:100%; object-fit:contain; display:block; }
.cs-storefront .zoom-stage.is-zoomed img { width:200%; max-width:none; height:200%; }
.cs-storefront .zoom-controls { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:12px; }
.cs-storefront .zoom-controls span { font-size:13px; }
.cs-storefront.product-zoom-open { overflow:hidden; }
@media(max-width:767px) {
 .cs-storefront .product-overview #product-gallery { min-height:0; padding:18px; }
 .cs-storefront .product-overview .product-gallery-img { height:290px; }
 .cs-storefront .product-detail-panel { padding:20px; }
 .cs-storefront .product-detail-panel h1 { font-size:25px; }
 .cs-storefront .specification-groups { grid-template-columns:1fr; gap:16px; }
 .cs-storefront .product-price-panel strong { font-size:28px; }
 .cs-storefront .product-zoom { padding:12px; }
 .cs-storefront .zoom-toolbar { flex-wrap:wrap; }
 .cs-storefront .zoom-toolbar>span { max-width:100%; flex:1; }
 .cs-storefront .zoom-stage { height:60vh; }
}
.cs-storefront .surface.store-section { padding:28px; }
@media(max-width:767px) { .cs-storefront .surface.store-section { padding:20px; } }
/* Separate gallery and purchase cards with a single, clear buying flow. */
.cs-storefront main>.product-page.py-5 { padding-top:28px!important; }
.cs-storefront .product-overview { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; margin:0; padding:0; border:0; border-radius:0; background:transparent; align-items:stretch; }
.cs-storefront .product-overview>div { display:flex; width:auto; padding:0; min-width:0; margin:0; }
.cs-storefront .product-overview #product-gallery { display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px; align-items:start; border:1px solid var(--cs-line); border-radius:12px; padding:18px; background:white; width:100%; height:100%; min-height:0; }
.cs-storefront .product-overview .gallery-open { grid-column:2; grid-row:1; align-self:center; }
.cs-storefront .product-overview .gallery-thumbnails { grid-column:1; grid-row:1; flex-direction:column; justify-content:flex-start; margin:0; gap:10px; }
.cs-storefront .product-overview .gallery-thumbnails button { width:50px; height:58px; }
.cs-storefront .product-overview .product-gallery-img { height:560px; }
.cs-storefront .product-overview .product-image-placeholder { min-height:440px; }
.cs-storefront .product-overview .product-detail-panel { width:100%; height:100%; padding:20px 22px; margin:0; border:1px solid var(--cs-line); border-radius:12px; background:white; }
.cs-storefront .product-brand-row { margin-bottom:10px; }
.cs-storefront .product-detail-panel h1 { font-size:30px; font-weight:700; line-height:1.25; letter-spacing:-.4px; margin-bottom:10px; }
.cs-storefront .product-stock { margin:0; }
.cs-storefront .product-price-panel { display:block; width:fit-content; min-width:220px; max-width:100%; background:#f4f0e8; border-left:3px solid var(--cs-accent); border-radius:8px; padding:12px 18px; margin:20px 0 24px; }
.cs-storefront .product-price-panel>span { display:block; font-size:12px; margin-bottom:2px; }
.cs-storefront .product-price-panel strong { font-size:34px; font-weight:900; line-height:1.25; color:#8d5d42; }
.cs-storefront .product-variant-group { margin-bottom:20px; }
.cs-storefront .variant-group-label { margin-bottom:10px; }
.cs-storefront .product-purchase { padding-top:20px; }
.cs-storefront .product-purchase #add-to-cart-form { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px 16px; align-items:end; }
.cs-storefront .product-purchase .quantity-field { width:auto; }
.cs-storefront .product-purchase .quantity-field input { height:48px; padding:10px 14px; font-size:17px; text-align:center; }
.cs-storefront .product-purchase #add-to-cart-btn { display:flex; justify-content:center; align-items:center; gap:10px; width:100%; max-width:320px; justify-self:start; height:48px; padding:10px 16px; font-size:15px; text-transform:none; }
.cs-storefront .product-purchase #add-to-cart-message { grid-column:1/-1; padding-top:4px; }
.cs-storefront .product-purchase .continue-shopping { margin-top:8px; font-size:13px; }
.cs-storefront .product-help-row { padding-top:14px; margin-top:18px; }
.cs-storefront .product-page .store-section { margin-top:24px; }
.cs-storefront .surface.product-information { padding:22px 24px; }
.cs-storefront .product-information h2 { font-size:20px; margin-bottom:12px; }
.cs-storefront .product-information .article-content p { font-size:14px; margin-bottom:10px; }
.cs-storefront .product-description+.product-specifications { margin-top:20px; padding-top:20px; border-top:1px solid var(--cs-line); }
.cs-storefront .specification-group+.specification-group { margin-top:18px; }
.cs-storefront .specification-group h3 { font-size:15px; font-weight:700; margin:0 0 10px; }
.cs-storefront .specification-tables { display:grid; grid-template-columns:minmax(0,1fr); gap:0 24px; align-items:start; }
.cs-storefront .specification-tables.has-two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cs-storefront .specification-tables .table { table-layout:fixed; margin:0; }
.cs-storefront .specification-tables th,.cs-storefront .specification-tables td { font-size:13px; padding:10px 12px; overflow-wrap:anywhere; }
.cs-storefront .specification-tables th { color:var(--cs-muted); font-weight:400; width:46%; }
.cs-storefront .specification-tables tr:nth-child(odd) { background:#f4f0e9; }
@media(max-width:991px) {
 .cs-storefront .product-overview { grid-template-columns:minmax(0,1fr); gap:18px; }
}
@media(max-width:767px) {
 .cs-storefront .product-overview #product-gallery { padding:16px; grid-template-columns:44px minmax(0,1fr); gap:10px; }
 .cs-storefront .product-overview .gallery-thumbnails button { width:42px; height:50px; }
 .cs-storefront .product-overview .product-gallery-img { height:270px; }
 .cs-storefront .product-overview .product-detail-panel { padding:20px; }
 .cs-storefront .product-detail-panel h1 { font-size:24px; }
 .cs-storefront .product-price-panel strong { font-size:28px; }
 .cs-storefront .product-purchase #add-to-cart-form { grid-template-columns:84px minmax(0,1fr); gap:10px; }
 .cs-storefront .product-purchase #add-to-cart-btn { padding:10px 8px; font-size:13px; gap:6px; }
 .cs-storefront .surface.product-information { padding:18px; }
 .cs-storefront .specification-tables.has-two-columns { grid-template-columns:minmax(0,1fr); }
 .cs-storefront .specification-tables th,.cs-storefront .specification-tables td { padding:9px; font-size:12px; }
}

/* Reserve color space on every card; flex bodies align prices and actions per row. */
.cs-storefront .product-card { width:100%; }
.cs-storefront .product-card-colors { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-height:26px; margin:0 0 14px; }
.cs-storefront .product-color-swatch { display:inline-flex; flex:none; width:22px; height:22px; border:3px solid #fff; border-radius:50%; background:var(--swatch-color); box-shadow:0 0 0 1px #dce0e6; }
.cs-storefront .product-color-name { width:auto; height:auto; min-height:22px; padding:0 5px; border-radius:5px; font-size:11px; color:var(--cs-muted); }
.cs-storefront .home-services { padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 0 30px; border-bottom:1px solid var(--cs-line); }
.cs-storefront .home-service { display:flex; align-items:center; gap:12px; padding:16px 22px; background:transparent; border:0; border-radius:0; position:relative; }
.cs-storefront .home-service-icon { display:grid; place-items:center; flex:0 0 42px; height:42px; background:transparent; color:#7b573a; font-size:26px; }
.cs-storefront .home-service h2 { font-size:15px; font-weight:700; margin:0 0 5px; }
.cs-storefront .home-service p { font-size:12px; line-height:1.5; color:var(--cs-muted); margin:0; }
.cs-storefront .brand-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:14px; }
.cs-storefront .brand-tile { display:grid; place-items:center; min-height:108px; padding:14px; border:1px solid var(--cs-line); border-radius:12px; background:#fff; transition:border-color .15s; }
.cs-storefront a.brand-tile:hover, .cs-storefront a.brand-tile:focus-visible { border-color:#7b573a; }
.cs-storefront .brand-tile img { width:76px; height:76px; max-width:100%; object-fit:contain; }
@media(max-width:991px) {
 .cs-storefront .home-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-storefront .brand-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:575px) {
 .cs-storefront .home-services { gap:0; margin-bottom:24px; }
 .cs-storefront .home-service { gap:8px; padding:12px 10px; align-items:flex-start; }
 .cs-storefront .home-service-icon { flex-basis:28px; height:30px; font-size:16px; border-radius:7px; }
 .cs-storefront .home-service h2 { font-size:12px; }
 .cs-storefront .home-service p { font-size:11px; }
 .cs-storefront .brand-grid { gap:8px; }
 .cs-storefront .brand-tile { min-height:74px; padding:10px; }
 .cs-storefront .brand-tile img { height:52px; }
}

.cs-storefront .product-unavailable-label { background:#f2f3f5; color:#555f6c; border:1px solid #dce0e6; }

.cs-storefront button.product-color-swatch { padding:0; cursor:pointer; }
.cs-storefront button.product-color-swatch[aria-pressed="true"] { box-shadow:0 0 0 2px var(--cs-accent); }
.cs-storefront button.product-color-name { padding:0 5px; }

/* Services read as a single information strip, separate from category tiles. */
.cs-storefront .home-service + .home-service::before { content:""; position:absolute; left:0; top:22%; height:56%; width:1px; background:var(--cs-line); }
.cs-storefront .discover-strip { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:44px; margin:0 0 32px; padding:32px 36px; border-radius:18px; background:radial-gradient(ellipse at 100% 0%,#63412e 0%,transparent 58%),#2b1d14; color:#fff; overflow:hidden; }
.cs-storefront .discover-eyebrow { display:flex; align-items:center; gap:9px; color:#d2bfa0; font-size:12px; font-weight:700; letter-spacing:.5px; }
.cs-storefront .discover-eyebrow i { font-size:21px; }
.cs-storefront .discover-strip h2 { color:white; font-size:29px; line-height:1.2; font-weight:800; max-width:380px; margin:10px 0; }
.cs-storefront .discover-strip p { color:#c7cdd5; font-size:13px; line-height:1.6; margin:0 0 20px; }
.cs-storefront .discover-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:12px 20px; background:#af7956; color:white; border-radius:9px; font-weight:700; font-size:14px; }
.cs-storefront .discover-button:hover { background:#976447; color:white; }
.cs-storefront .discover-number-panel { min-width:0; padding:24px; border:1px solid #ffffff26; background:#ffffff08; border-radius:14px; }
.cs-storefront .discover-number { display:flex; align-items:baseline; justify-content:center; gap:14px; white-space:nowrap; margin:0 0 24px; font-size:30px; font-variant-numeric:tabular-nums; line-height:1.4; }
.cs-storefront .discover-number span { color:#aeb7c3; font-size:21px; font-weight:400; }
.cs-storefront .discover-number strong { color:#c1a67c; }
.cs-storefront .discover-prefixes { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; }
.cs-storefront .discover-prefixes button { display:flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid #ffffff26; border-radius:6px; color:#e8ecf1; font-size:12px; line-height:1.4; }
.cs-storefront .discover-prefixes i { font-size:9px; transform:rotate(45deg); color:#c1a67c; }
.cs-storefront .discover-prefixes button:hover { background:#fff; border-color:#fff; color:#2b1d14; }
@media(max-width:991px) {
 .cs-storefront .home-service:nth-child(3)::before { display:none; }
 .cs-storefront .discover-strip { gap:24px; padding:26px; }
 .cs-storefront .discover-number-panel { padding:18px 12px; }
 .cs-storefront .discover-number { font-size:25px; gap:9px; }
}
@media(max-width:575px) {
 .cs-storefront .home-service-icon { background:transparent; }
 .cs-storefront .discover-strip { grid-template-columns:minmax(0,1fr); padding:24px 20px; gap:22px; }
 .cs-storefront .discover-strip h2 { font-size:26px; max-width:280px; }
 .cs-storefront .discover-strip p { font-size:12px; margin-bottom:16px; }
 .cs-storefront .discover-button { padding:11px 17px; }
 .cs-storefront .discover-number-panel { padding:16px 12px; }
 .cs-storefront .discover-number { margin-bottom:18px; }
 .cs-storefront .discover-number span { font-size:18px; }
 .cs-storefront .discover-prefixes { gap:6px; }
 .cs-storefront .discover-prefixes button { padding:5px 8px; }
}

/* Overlay controls and caption keep the banner image as the complete slide. */
.cs-storefront .hero-slider { position:relative; isolation:isolate; }
.cs-storefront .hero-slide-link { display:block; position:relative; }
.cs-storefront .hero-caption { position:absolute; inset:auto 0 0; padding:48px 24px 24px; background:linear-gradient(transparent,rgba(13,23,33,.25)); pointer-events:none; }
.cs-storefront .hero-slider .hero-caption h2 { color:#fff!important; font-size:clamp(20px,2.3vw,32px); font-weight:800; line-height:1.2; margin:0; display:table; padding:12px 18px; border-left:4px solid #7b573a; border-radius:8px; background:rgba(0,0,0,.46); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); max-width:calc(100% - 200px); text-shadow:0 2px 8px #0005; }
.cs-storefront .hero-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffffa6; border-radius:50%; background:#ffffffeb; color:#2b1d14; font-size:18px; box-shadow:0 3px 14px #18243221; cursor:pointer; opacity:.25; transition:opacity .2s ease,background .15s,color .15s; }
.cs-storefront .hero-prev { left:16px; }
.cs-storefront .hero-next { right:16px; }
.cs-storefront .hero-arrow:hover { opacity:.7; }
.cs-storefront .hero-arrow:focus-visible { opacity:1; }
.cs-storefront .hero-slider .slick-dots { position:absolute; bottom:22px; right:24px; left:auto; width:auto; margin:0; padding:5px 9px; line-height:12px; border-radius:20px; background:#15202e70; z-index:2; }
.cs-storefront .hero-slider .slick-dots li { width:12px; height:12px; margin:0 2px; }
.cs-storefront .hero-slider .slick-dots li button { width:12px; height:12px; padding:0; }
.cs-storefront .hero-slider .slick-dots li button:before { width:12px; height:12px; line-height:12px; color:#fff; opacity:.55; font-size:7px; }
.cs-storefront .hero-slider .slick-dots li.slick-active button:before { color:#7b573a; opacity:1; }
@media(max-width:575px) {
 .cs-storefront .hero-arrow { width:32px; height:32px; font-size:13px; }
 .cs-storefront .hero-prev { left:8px; }
 .cs-storefront .hero-next { right:8px; }
 .cs-storefront .hero-caption { padding:28px 14px 30px; }
 .cs-storefront .hero-slider .hero-caption h2 { font-size:15px; line-height:1.25; max-width:100%; padding:8px 12px; border-left-width:3px; }
 .cs-storefront .hero-slider .slick-dots { bottom:6px; right:12px; padding:2px 5px; }
 .cs-storefront .hero-slider .slick-dots li { margin:0 1px; }
}

.cs-storefront .discover-button { border:0; cursor:pointer; }
.cs-storefront .discover-number-fields { display:flex; align-items:center; justify-content:center; gap:5px; margin-bottom:24px; }
.cs-storefront .discover-number-fields input, .cs-storefront .discover-number-fields select { min-width:0; height:46px; border:1px solid #ffffff40; background:#ffffff0d; color:#fff; border-radius:6px; text-align:center; font-size:20px; font-weight:700; }
.cs-storefront .discover-number-fields input { width:34px; padding:0; }
.cs-storefront .discover-number-fields input::placeholder { color:#aeb7c3; opacity:1; }
.cs-storefront .discover-number-fields select { width:72px; margin-right:5px; padding:0 5px; color:#d2bfa0; font-size:17px; }
.cs-storefront .discover-number-fields select option { background:#2b1d14; color:white; }
.cs-storefront .discover-number-fields .digit-group-start { margin-left:5px; }
.cs-storefront .discover-number-fields input:focus-visible, .cs-storefront .discover-number-fields select:focus-visible { outline:2px solid #c1a67c; outline-offset:2px; }
@media(max-width:991px) {
 .cs-storefront .discover-number-fields { gap:3px; }
 .cs-storefront .discover-number-fields input { width:26px; height:40px; font-size:17px; }
 .cs-storefront .discover-number-fields select { width:62px; height:40px; font-size:14px; margin-right:2px; }
 .cs-storefront .discover-number-fields .digit-group-start { margin-left:2px; }
}
@media(max-width:360px) {
 .cs-storefront .discover-number-fields { gap:2px; }
 .cs-storefront .discover-number-fields input { width:21px; }
 .cs-storefront .discover-number-fields select { width:54px; }
}

.cs-storefront .discover-prefixes button { background:transparent; cursor:pointer; font-family:inherit; }
.cs-storefront .discover-prefixes button[aria-pressed="true"] { background:#c1a67c26; border-color:#c1a67c; color:#d2bfa0; }

/* A swipeable brand ribbon with manual navigation and motion control. */
.cs-storefront .brand-controls { display:flex; gap:7px; align-items:center; }
.cs-storefront .brand-controls button { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid var(--cs-line); border-radius:50%; background:#fff; color:var(--cs-ink); cursor:pointer; font-size:12px; }
.cs-storefront .brand-controls button:hover { border-color:var(--cs-accent); color:var(--cs-accent); }
.cs-storefront .brand-grid.slick-initialized { display:block; margin:0 -7px; }
.cs-storefront .brand-grid .slick-slide { padding:4px 7px; }
.cs-storefront .brand-grid .brand-tile { display:grid!important; min-height:120px; border-radius:14px; }
.cs-storefront .brand-grid .brand-tile img { width:80px; height:80px; transition:transform .2s ease; }
.cs-storefront .brand-grid a.brand-tile:hover img { transform:scale(1.06); }
.cs-storefront .brand-controls .slick-hidden { display:none; }
@media(max-width:575px) {
 .cs-storefront .brand-grid .slick-slide { padding:4px; }
 .cs-storefront .brand-grid.slick-initialized { margin:0 -4px; }
 .cs-storefront .brand-grid .brand-tile { min-height:94px; padding:12px; }
 .cs-storefront .brand-grid .brand-tile img { width:64px; height:64px; }
}
@media(prefers-reduced-motion:reduce) {
 .cs-storefront .brand-grid .brand-tile img { transition:none; }
}

/* Compact listing headers and shopping controls. */
.cs-storefront .category-page,.cs-storefront .search-page,.cs-storefront .saved-products-page,.cs-storefront .comparison-page { padding-top:22px!important; }
.cs-storefront .category-page .store-breadcrumb,.cs-storefront .search-page .store-breadcrumb { margin-bottom:12px; }
.cs-storefront .category-page h1,.cs-storefront .search-page h1 { font-size:28px; margin-bottom:14px!important; }
.cs-storefront .listing-toolbar { margin-bottom:14px; }
.cs-storefront .listing-toolbar-actions { display:flex; align-items:center; gap:16px; }
.cs-storefront .listing-sort-form { display:flex; align-items:center; gap:8px; margin:0; }
.cs-storefront .listing-sort-form label { margin:0; color:var(--cs-muted); font-size:12px; }
.cs-storefront .listing-sort-form select { min-width:190px; height:38px; padding:6px 30px 6px 10px; border:1px solid var(--cs-line); border-radius:8px; background:#fff; color:var(--cs-ink); font-size:12px; cursor:pointer; }
@media(max-width:575px) {
 .cs-storefront .listing-toolbar { align-items:flex-start; gap:10px; }
 .cs-storefront .listing-toolbar-actions { align-items:flex-end; flex-direction:column; gap:8px; }
 .cs-storefront .listing-sort-form label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .cs-storefront .listing-sort-form select { min-width:170px; }
}
.cs-storefront .category-chips { margin-bottom:18px; }
.cs-storefront .product-card { position:relative; }
.cs-storefront .product-list-actions { display:flex; gap:7px; }
.cs-storefront .product-list-actions form { margin:0; }
.cs-storefront .product-list-actions button { display:flex; align-items:center; gap:7px; border:1px solid #e3e7ec; background:#fff; color:#596474; border-radius:8px; min-height:34px; padding:7px 11px; font-size:12px; cursor:pointer; }
.cs-storefront .product-list-actions button[aria-pressed="true"] { color:#a46d4d; background:#f8f3ef; border-color:#dfc9ba; }
.cs-storefront .product-card>.product-list-actions { position:absolute; top:10px; right:10px; z-index:2; flex-direction:column; }
.cs-storefront .product-card>.product-list-actions button { width:32px; height:32px; padding:0; justify-content:center; border-radius:50%; }
.cs-storefront .product-card>.product-list-actions button span { display:none; }
.cs-storefront .product-detail-panel>.product-list-actions { margin:0 0 10px; }
.cs-storefront .product-detail-heading { position:relative; padding:0 94px 12px 0; border-bottom:1px solid var(--cs-line); }
.cs-storefront .product-context { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-height:20px; margin:0 0 6px; color:var(--cs-muted); font-size:13px; }
.cs-storefront .product-context a,.cs-storefront .product-context span { color:inherit; }
.cs-storefront .product-context a:hover { color:var(--cs-accent); }
.cs-storefront .product-detail-heading h1 { margin:0 0 8px; font-size:29px; font-weight:750; letter-spacing:-.6px; }
.cs-storefront .product-detail-heading>.product-list-actions { position:absolute; top:0; right:0; margin:0; }
.cs-storefront .product-detail-heading>.product-list-actions button { width:38px; height:38px; min-height:38px; padding:0; justify-content:center; border-radius:50%; }
.cs-storefront .product-detail-heading>.product-list-actions button span { display:none; }
.cs-storefront .product-detail-heading .product-stock { margin:0; font-size:14px; color:#376a4a; }
.cs-storefront .product-detail-heading .product-stock:before { content:'✓'; display:grid; place-items:center; width:18px; height:18px; border:1.5px solid currentColor; border-radius:50%; background:transparent; font-size:11px; font-weight:800; line-height:1; }
.cs-storefront .product-detail-heading .product-stock.is-unavailable { color:#a34f4f; }
.cs-storefront .product-detail-heading .product-stock.is-unavailable:before { content:'!'; }
.cs-storefront .product-detail-heading .product-sku { display:block; margin-top:9px; font-size:11px; }
.cs-storefront .product-detail-heading .product-sku.d-none { display:none!important; }
.cs-storefront .product-excerpt { margin:6px 0 0; font-size:12.5px; line-height:1.55; color:var(--cs-muted); }
.cs-storefront .product-excerpt a { white-space:nowrap; color:var(--cs-accent); font-weight:600; }
.cs-storefront .product-highlights { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px 18px; margin:0 0 14px; padding:12px 16px; background:#f4f0e9; border-radius:10px; }
.cs-storefront .product-highlights>div { display:flex; justify-content:space-between; gap:10px; font-size:12px; border-bottom:1px dashed #e3e6eb; padding-bottom:6px; }
.cs-storefront .product-highlights dt { color:var(--cs-muted); }
.cs-storefront .product-highlights dd { margin:0; font-weight:600; color:var(--cs-ink); text-align:right; }
@media(max-width:575px) { .cs-storefront .product-highlights { grid-template-columns:1fr; } }
.cs-storefront .product-price-panel { display:block; width:auto; min-width:0; padding:12px 0 10px; margin:0; border:0; border-radius:0; background:transparent; }
.cs-storefront .product-price-panel>span { display:block; margin:0 0 4px; color:var(--cs-muted); font-size:12px; }
.cs-storefront .product-price-panel>div { gap:14px; }
.cs-storefront .product-price-panel strong { color:var(--cs-ink); font-size:32px; font-weight:700; letter-spacing:-.5px; }
.cs-storefront .product-price-panel del { font-size:14px; }
.cs-storefront .product-variant-group { margin:0 0 12px; }
.cs-storefront .variant-group-label { margin-bottom:8px; font-size:13px; }
.cs-storefront .variant-group-label span { margin-left:0; color:var(--cs-ink); }
.cs-storefront .variant-group-label span:not(:empty):before { content:': '; }
.cs-storefront .variant-swatch { width:42px; height:42px; }
.cs-storefront .variant-swatch>span { width:30px; height:30px; }
.cs-storefront .product-purchase { padding:12px 0 0; border-top:1px solid var(--cs-line); }
.cs-storefront .product-purchase #add-to-cart-form { grid-template-columns:96px minmax(0,1fr); gap:10px 14px; }
.cs-storefront .product-purchase .quantity-field>span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cs-storefront .product-purchase .quantity-field input { height:54px; font-size:18px; }
.cs-storefront .product-purchase #add-to-cart-btn { max-width:none; height:54px; border-radius:8px; background:#7b573a; border-color:#7b573a; font-size:15px; font-weight:600; }
.cs-storefront .product-purchase #add-to-cart-btn:hover { background:#9a6849; border-color:#9a6849; }
.cs-storefront .product-purchase .continue-shopping { display:inline-flex; align-items:center; gap:7px; }
.cs-storefront .product-assurance-list { display:grid; gap:0; margin-top:10px; padding-top:6px; border-top:1px solid var(--cs-line); }
.cs-storefront .product-assurance-list>a,.cs-storefront .product-assurance-list>span { display:grid; grid-template-columns:24px minmax(0,1fr) 18px; align-items:center; gap:10px; min-height:32px; color:var(--cs-ink); font-size:13.5px; }
.cs-storefront .product-assurance-list>span { grid-template-columns:24px minmax(0,1fr); }
.cs-storefront .product-assurance-list i:first-child { color:#69727e; font-size:17px; }
.cs-storefront .product-assurance-list .ti-angle-right { opacity:0; color:var(--cs-accent); transition:opacity .15s ease,transform .15s ease; }
.cs-storefront .product-assurance-list>a:hover { color:var(--cs-accent); }
.cs-storefront .product-assurance-list>a:hover .ti-angle-right { opacity:1; transform:translateX(2px); }
@media(max-width:767px) {
 .cs-storefront .product-detail-heading { padding:0 84px 20px 0; }
 .cs-storefront .product-detail-heading h1 { font-size:27px; margin-bottom:15px; }
 .cs-storefront .product-price-panel { padding:22px 0 18px; }
 .cs-storefront .product-price-panel strong { font-size:32px; }
 .cs-storefront .product-purchase #add-to-cart-form { grid-template-columns:78px minmax(0,1fr); }
 .cs-storefront .product-purchase #add-to-cart-btn { font-size:13px; }
}
.cs-storefront .card-variant-label { display:block; color:var(--cs-muted); font-size:11px; margin:0 0 12px; }
.cs-storefront .card-variant-select { display:block; width:100%; border:1px solid var(--cs-line); border-radius:6px; padding:6px; background:white; font-size:12px; color:var(--cs-ink); }
.cs-storefront .card-cart-form .product-card-action,.cs-storefront .card-cart-link { display:flex; justify-content:center; align-items:center; gap:9px; width:100%; background:#7b573a; border:1px solid #7b573a; color:white; min-height:40px; font-size:13px; font-weight:700; border-radius:8px; cursor:pointer; text-align:center; padding:9px 8px; }
.cs-storefront .card-cart-form button:disabled { color:#707985; background:#eae2d3; border-color:#eae2d3; cursor:not-allowed; }
.cs-storefront .card-cart-form .product-card-action.is-added { background:#407c5a; border-color:#407c5a; }
.cs-storefront .card-action-message { font-size:11px; line-height:1.4; color:#9c4040; margin:6px 0 0; }
.cs-storefront [hidden] { display:none!important; }
.cs-storefront .header-list-link { padding:0 8px!important; }
.cs-storefront .header-list-link a { position:relative; display:flex; align-items:center; gap:3px; font-size:20px; color:var(--cs-ink); }
.cs-storefront .header-list-link [data-list-count] { font-size:10px; background:#ede5d8; color:#83573d; border-radius:50%; min-width:16px; text-align:center; }
#storefront-feedback { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); padding:14px 20px; background:#fff; color:#943d3d; border:1px solid #e3bcbc; box-shadow:0 4px 30px #0002; border-radius:10px; z-index:10000; max-width:90vw; }
.cs-storefront .comparison-toolbar { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; color:var(--cs-muted); font-size:13px; }
.cs-storefront .comparison-scroll { overflow:auto; border:1px solid var(--cs-line); border-radius:14px; background:white; }
.cs-storefront .comparison-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.cs-storefront .comparison-table th,.cs-storefront .comparison-table td { min-width:180px; width:220px; padding:14px 18px; border-bottom:1px solid var(--cs-line); border-right:1px solid var(--cs-line); font-size:13px; vertical-align:top; overflow-wrap:anywhere; }
.cs-storefront .comparison-table th:first-child { width:180px; background:#f4f0e9; }
.cs-storefront .comparison-table thead img { display:block; width:100%; height:140px; object-fit:contain; margin-bottom:12px; }
.cs-storefront .comparison-table thead a { color:var(--cs-ink); font-size:16px; }
.cs-storefront .compare-remove { display:inline-flex; gap:6px; align-items:center; margin-top:12px; padding:0; background:none; border:0; font-size:12px; color:#9b5959; cursor:pointer; }
.cs-storefront .comparison-table .comparison-different td { background:#f9f5f1; }
.cs-storefront .comparison-table .comparison-group th { background:#eaf0f5; color:#475466; }
.cs-storefront .store-confirm { width:420px; max-width:calc(100vw - 32px); padding:28px; border:0; border-radius:18px; color:var(--cs-ink); box-shadow:0 20px 80px #0003; }
.cs-storefront .store-confirm::backdrop { background:#17223088; backdrop-filter:blur(3px); }
.cs-storefront .store-confirm h2 { font-size:22px; margin:16px 0 8px; }
.cs-storefront .store-confirm p { font-size:14px; color:var(--cs-muted); }
.cs-storefront .confirm-icon { color:#7b573a; background:#f8f3ef; padding:12px; border-radius:12px; display:inline-flex; font-size:24px; }
.cs-storefront .confirm-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.cs-storefront .cart-page[data-busy] { opacity:.65; pointer-events:none; }
/* One consistent form layout for account access and recovery. */
.cs-storefront .auth-page { width:100%; max-width:1240px; padding:32px 12px; }
.cs-storefront .auth-shell { display:grid; grid-template-columns:minmax(300px,34%) minmax(0,1fr); width:100%; max-width:none; margin:0; border:1px solid var(--cs-line); border-radius:20px; overflow:hidden; background:white; }
.cs-storefront .auth-intro { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:36px; background:radial-gradient(ellipse at top right,#63412e,transparent),#2b1d14; color:white; }
.cs-storefront .auth-intro-mark { font-size:28px; border:1px solid #ffffff38; border-radius:15px; padding:12px; margin-bottom:28px; }
.cs-storefront .auth-intro .eyebrow { color:#d2bfa0; }
.cs-storefront .auth-intro h2 { color:white; font-size:30px; line-height:1.2; margin:12px 0; }
.cs-storefront .auth-intro p { color:#c7cdd5; font-size:14px; line-height:1.7; }
.cs-storefront .auth-intro a { color:#d2bfa0; font-size:12px; margin-top:28px; }
.cs-storefront .auth-form-panel { padding:30px 36px; }
.cs-storefront .auth-form-panel h1 { font-size:26px; margin:24px 0 7px; }
.cs-storefront .auth-description { font-size:13px; color:var(--cs-muted); margin-bottom:20px; }
.cs-storefront .auth-tabs { display:flex; border-bottom:1px solid var(--cs-line); gap:24px; }
.cs-storefront .auth-tabs a { padding:0 0 12px; color:var(--cs-muted); font-weight:700; font-size:14px; border-bottom:2px solid transparent; }
.cs-storefront .auth-tabs a.active { color:#9d694a; border-color:#7b573a; }
.cs-storefront .auth-field { margin-bottom:14px; min-width:0; }
.cs-storefront .auth-field label { font-size:12px; font-weight:700; margin-bottom:6px; }
.cs-storefront .auth-field .form-control { height:44px; font-size:14px; border-radius:8px; padding:10px 12px; }
.cs-storefront .auth-input-wrap { position:relative; }
.cs-storefront .auth-input-wrap:has(.password-toggle) input { padding-right:43px; }
.cs-storefront .password-toggle { position:absolute; right:4px; top:4px; height:36px; width:36px; display:grid; place-items:center; border:0; background:transparent; color:#7a6a58; cursor:pointer; }
.cs-storefront .auth-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cs-storefront .field-error { display:block; color:#a34242; font-size:12px; margin-top:4px; }
.cs-storefront .field-error:empty { display:none; }
.cs-storefront .auth-form-options { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:18px 0; font-size:12px; }
.cs-storefront .auth-form-options label { margin:0; display:flex; align-items:center; gap:7px; }
.cs-storefront .auth-form-options a,.cs-storefront .auth-back { color:#986547; }
.cs-storefront .auth-back { display:inline-block; margin-top:20px; font-size:13px; }
.cs-storefront .auth-form-panel .btn { text-transform:none; min-height:44px; }
@media(min-width:1200px) {
 .cs-storefront .auth-intro { padding:48px; }
 .cs-storefront .auth-form-panel { padding:38px 52px; }
}
@media(max-width:767px) {
 .cs-storefront .auth-shell { grid-template-columns:minmax(0,1fr); max-width:500px; }
 .cs-storefront .auth-intro { padding:24px; }
 .cs-storefront .auth-intro-mark,.cs-storefront .auth-intro a { display:none; }
 .cs-storefront .auth-intro h2 { font-size:24px; margin:7px 0; }
 .cs-storefront .auth-intro p { margin:0; font-size:12px; }
 .cs-storefront .auth-form-panel { padding:24px; }
 .cs-storefront .comparison-table { width:max-content; }
 .cs-storefront .comparison-table th,.cs-storefront .comparison-table td { width:170px; min-width:170px; padding:12px; }
}

/* Keep the cart counter visually centred inside its circular badge. */
.cs-storefront .cart_qty_cls {
 display:flex;
 align-items:center;
 justify-content:center;
 padding:0;
 line-height:1;
 text-align:center;
 font-variant-numeric:tabular-nums;
}
@media(max-width:575px) {
 .cs-storefront .category-page,.cs-storefront .search-page { padding-top:16px!important; }
 .cs-storefront .category-page h1,.cs-storefront .search-page h1 { font-size:23px; }
 .cs-storefront .header-list-link { padding:0 4px!important; }
 .cs-storefront .header-list-link a { font-size:17px; }
 .cs-storefront .card-cart-form .product-card-action,.cs-storefront .card-cart-link { font-size:11px; gap:5px; }
 .cs-storefront .auth-page { padding-top:18px; }
 .cs-storefront .auth-field-grid { grid-template-columns:minmax(0,1fr); gap:0; }
}

.cs-storefront .cart-item-added { border-color:var(--cs-accent); box-shadow:0 0 0 3px #7b573a26; background:#f8f5ef; }

/* Homepage technology showcase: campaign slider plus live shopping shortcuts. */
.cs-storefront .hero-showcase {
 display:grid;
 grid-template-columns:minmax(0,2.25fr) minmax(285px,.9fr);
 gap:14px;
 height:330px;
 margin-top:16px;
}
.cs-storefront .hero-showcase .hero-slider {
 width:100%;
 max-width:none;
 height:330px;
 min-width:0;
 margin:0;
 border-radius:14px;
}
.cs-storefront .hero-showcase .hero-slider .slick-list,
.cs-storefront .hero-showcase .hero-slider .slick-track,
.cs-storefront .hero-showcase .hero-slider .slick-slide,
.cs-storefront .hero-showcase .hero-slider .slick-slide>div,
.cs-storefront .hero-showcase .hero-slide-link { height:100%!important; }
.cs-storefront .hero-showcase .hero-slider img { height:100%; object-fit:cover; }
.cs-storefront .hero-showcase .hero-caption { padding:54px 24px 22px; }
.cs-storefront .hero-showcase .hero-slider .hero-caption h2 { font-size:24px; max-width:calc(100% - 170px); }
.cs-storefront .hero-side { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:10px; min-width:0; }
.cs-storefront .hero-product-slider { min-width:0; min-height:0; overflow:hidden; border-radius:14px; }
.cs-storefront .hero-product-slider.slick-dotted { margin-bottom:0; }
.cs-storefront .hero-product-slider,
.cs-storefront .hero-product-slider .slick-list,
.cs-storefront .hero-product-slider .slick-track,
.cs-storefront .hero-product-slider .slick-slide,
.cs-storefront .hero-product-slider .slick-slide>div { height:100%; }
.cs-storefront .hero-product-slider .slick-dots { position:absolute; right:12px; bottom:10px; left:auto; width:auto; margin:0; padding:3px 6px; line-height:10px; border-radius:14px; background:#ffffffbd; }
.cs-storefront .hero-product-slider .slick-dots li { width:10px; height:10px; margin:0 1px; }
.cs-storefront .hero-product-slider .slick-dots li button { width:10px; height:10px; padding:0; }
.cs-storefront .hero-product-slider .slick-dots li button::before { width:10px; height:10px; line-height:10px; color:#aab1ba; font-size:6px; opacity:1; }
.cs-storefront .hero-product-slider .slick-dots li.slick-active button::before { color:#7b573a; }
.cs-storefront .hero-product-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 42%; align-items:center; width:100%; height:100%; min-width:0; padding:22px; overflow:hidden; border:1px solid #e9dbd1; border-radius:14px; background:linear-gradient(135deg,#fff9f4,#ede5d8); color:var(--cs-ink); }
.cs-storefront .hero-product-card::before { content:""; position:absolute; right:-45px; bottom:-55px; width:170px; height:170px; border:24px solid #7b573a0d; border-radius:50%; }
.cs-storefront .hero-product-copy { position:relative; z-index:1; min-width:0; }
.cs-storefront .hero-side-eyebrow { display:block; margin-bottom:7px; color:#8b5c41; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.cs-storefront .hero-product-copy>strong { display:-webkit-box; overflow:hidden; color:var(--cs-ink); font-size:18px; line-height:1.25; font-weight:800; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.cs-storefront .hero-product-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin-top:12px; }
.cs-storefront .hero-product-price b { font-size:19px; }
.cs-storefront .hero-product-price del { color:var(--cs-muted); font-size:11px; }
.cs-storefront .hero-product-link { display:inline-flex; align-items:center; gap:7px; margin-top:12px; color:#8d5d42; font-size:11px; font-weight:700; }
.cs-storefront .hero-product-card>img { position:relative; z-index:1; width:100%; height:145px; object-fit:contain; transition:transform .25s ease; }
.cs-storefront .hero-product-card:hover>img { transform:translateY(-3px) scale(1.04); }
.cs-storefront .hero-discount { position:absolute; top:12px; right:12px; z-index:2; padding:4px 7px; border-radius:5px; background:#7b573a; color:white; font-size:10px; font-weight:800; }
.cs-storefront .hero-quick-grid { display:grid; gap:8px; }
.cs-storefront .hero-quick-grid>a { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:57px; padding:9px 12px; border:1px solid #354150; border-radius:11px; background:#2b1d14; color:white; }
.cs-storefront .hero-quick-grid>a>span { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:#ffffff0f; color:#c9a58d; }
.cs-storefront .hero-quick-grid div { min-width:0; }
.cs-storefront .hero-quick-grid strong,.cs-storefront .hero-quick-grid small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.cs-storefront .hero-quick-grid strong { color:white; font-size:12px; }
.cs-storefront .hero-quick-grid small { margin-top:1px; color:#aeb7c3; font-size:9px; }
.cs-storefront .hero-quick-grid>a>i { color:#c9a58d; font-size:11px; }
.cs-storefront .hero-quick-grid>a:hover { border-color:#7b573a; background:#293441; }
.cs-storefront #number-search-section,
.cs-storefront .home-scroll-target { scroll-margin-top:24px; }
@media(max-width:991px) {
 .cs-storefront .hero-showcase { display:block; height:auto; }
 .cs-storefront .hero-showcase .hero-slider { height:auto; aspect-ratio:2.5; }
 .cs-storefront .hero-side { grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr); grid-template-rows:none; margin-top:12px; }
 .cs-storefront .hero-product-card { min-height:175px; }
 .cs-storefront .hero-product-slider { min-height:175px; }
 .cs-storefront .hero-product-card>img { height:145px; }
}
@media(max-width:575px) {
 .cs-storefront .hero-showcase { margin-top:12px; padding-left:12px; padding-right:12px; }
 .cs-storefront .hero-showcase .hero-slider { aspect-ratio:2.15; margin:0; }
 .cs-storefront .hero-showcase .hero-caption { padding:28px 42px 26px; }
 .cs-storefront .hero-showcase .hero-slider .hero-caption h2 { max-width:85%; font-size:14px; }
 .cs-storefront .hero-side { grid-template-columns:minmax(0,1fr); }
 .cs-storefront .hero-product-card { min-height:154px; padding:18px; }
 .cs-storefront .hero-product-slider { min-height:154px; }
 .cs-storefront .hero-product-card>img { height:120px; }
 .cs-storefront .hero-quick-grid { grid-template-columns:1fr 1fr; }
 .cs-storefront .hero-quick-grid>a { grid-template-columns:30px minmax(0,1fr); gap:8px; min-height:60px; padding:8px; }
 .cs-storefront .hero-quick-grid>a>span { width:30px; height:30px; }
 .cs-storefront .hero-quick-grid>a>i { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .cs-storefront .hero-product-card>img { transition:none; }
}
.cs-storefront .number-detail-hero { max-width:520px; margin:0 auto 40px; text-align:center; }
.cs-storefront .number-detail-hero .number-card-label { justify-content:center; display:flex; }
.cs-storefront .number-detail-hero h1 { font-size:34px; font-weight:800; font-variant-numeric:tabular-nums; margin:14px 0; }
.cs-storefront .number-detail-hero .product-stock { justify-content:center; margin-bottom:18px; }
.cs-storefront .number-detail-price { margin-bottom:22px; }
.cs-storefront .number-detail-price strong { font-size:30px; font-weight:900; color:var(--cs-ink); }
.cs-storefront .number-detail-action .card-cart-form,.cs-storefront .number-detail-action .card-cart-remove-form { display:block; }
.cs-storefront .number-detail-action button { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; }
.cs-storefront .number-detail-assurance { display:flex; justify-content:center; gap:22px; list-style:none; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--cs-line); font-size:12px; color:var(--cs-muted); flex-wrap:wrap; }
.cs-storefront .number-detail-assurance li { display:flex; align-items:center; gap:6px; }
@media(max-width:575px) {
 .cs-storefront .number-detail-hero { padding:20px; }
 .cs-storefront .number-detail-hero h1 { font-size:26px; }
}

/* Product bundles */
.cs-storefront .bundle-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:6px; background:#f1ebe1; color:#432f20; font-size:12px; font-weight:700; }
.cs-storefront .bundle-price-compare { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin:14px 0; padding:14px 16px; background:#f4f0e9; border-radius:10px; }
.cs-storefront .bundle-price-compare>div { display:flex; flex-direction:column; gap:2px; }
.cs-storefront .bundle-price-compare span { font-size:11px; color:var(--cs-muted); text-transform:uppercase; letter-spacing:.02em; }
.cs-storefront .bundle-price-compare del { font-size:16px; color:var(--cs-muted); }
.cs-storefront .bundle-price-compare strong { font-size:22px; font-weight:800; color:var(--cs-ink); }
.cs-storefront .bundle-price-compare .bundle-savings strong { color:#407c5a; }
.cs-storefront .product-bundle-hint { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:10px; padding:10px 12px; background:#f4f0e8; border:1px dashed #e9dbd1; border-radius:8px; font-size:12.5px; color:var(--cs-ink); }
.cs-storefront .product-bundle-hint i { color:var(--cs-accent); }
.cs-storefront .product-bundle-hint a { color:var(--cs-accent); font-weight:700; }
.cs-storefront .cart-item-bundle .cart-item-image { background:#f1ebe1; color:#432f20; font-size:28px; }
.cs-storefront .cart-bundle-tag { display:inline-flex; align-items:center; gap:4px; color:#432f20; font-weight:700; }

/* Shared page heading. Product detail and article layouts remain independent. */
.cs-storefront main > .container:has(> .store-page-heading) { padding-top:24px!important; }
.cs-storefront .store-page-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 32px; padding:0 0 20px; margin:0 0 24px; border-bottom:1px solid var(--cs-line); background:transparent; }
.cs-storefront .store-page-heading-main { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-width:0; }
.cs-storefront .store-page-heading h1 { margin:0!important; font-size:clamp(24px,2.4vw,30px); line-height:1.3; overflow-wrap:anywhere; }
.cs-storefront .store-page-heading .store-breadcrumb { justify-content:flex-end; gap:8px; margin:0; font-size:12px; max-width:540px; }
.cs-storefront .store-page-count { display:inline-flex; align-items:center; padding:4px 11px; border-radius:20px; background:#f7f2ee; color:#794f39; font-size:12px; white-space:nowrap; }
.cs-storefront .store-page-action { display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border:1px solid var(--cs-line); border-radius:7px; background:#fff; color:var(--cs-ink); font-size:12px; }
.cs-storefront .store-page-action:hover { border-color:var(--cs-accent); color:var(--cs-accent); }
.cs-storefront .store-page-description { grid-column:1/-1; margin:0; max-width:760px; font-size:14px; line-height:1.6; color:var(--cs-muted); }
@media(max-width:767px) {
 .cs-storefront main > .container:has(> .store-page-heading) { padding-top:18px!important; }
 .cs-storefront .store-page-heading { grid-template-columns:minmax(0,1fr); gap:12px; padding-bottom:16px; margin-bottom:20px; }
 .cs-storefront .store-page-heading .store-breadcrumb { grid-row:1; justify-content:flex-start; font-size:11px; max-width:100%; }
 .cs-storefront .store-page-heading-main { gap:10px; }
 .cs-storefront .store-page-heading h1 { font-size:25px; }
 .cs-storefront .listing-toolbar .listing-toolbar-actions { flex-direction:row; justify-content:flex-end; align-items:center; flex-wrap:wrap; }
}

/* Purchase state must override the legacy button display rules. */
.cs-storefront #add-to-cart-btn[hidden],
.cs-storefront #product-cart-link[hidden],
.cs-storefront .card-cart-link[hidden],
.cs-storefront .card-cart-form[hidden] { display:none!important; }
.cs-storefront #product-cart-link { grid-column:2; min-height:54px; display:flex; align-items:center; justify-content:center; border-radius:8px; text-transform:none; }
.cs-storefront #product-cart-state { grid-column:1/-1; font-size:13px; }
.cs-storefront #product-cart-state:empty { display:none; }

/* Filter state is reset per page load, never stored in the browser. */
.cs-storefront .responsive-filter { min-width:0; border:1px solid var(--cs-line); border-radius:10px; background:#fff; overflow:hidden; }
.cs-storefront .responsive-filter > summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 16px; min-height:48px; cursor:pointer; list-style:none; font-size:14px; font-weight:700; }
.cs-storefront .responsive-filter > summary > span { display:flex; align-items:center; gap:9px; }
.cs-storefront .responsive-filter[open] > summary { border-bottom:1px solid var(--cs-line); }
.cs-storefront .responsive-filter[open] > summary > .ti-angle-down { transform:rotate(180deg); }
.cs-storefront .category-filters { height:auto; max-height:none; border:0; background:transparent; }
.cs-storefront .category-filters .filter-panel-content { height:calc(100dvh - 100px); }
.cs-storefront .search-filter-panel .filter-panel-content { padding:12px 16px; }
.cs-storefront .number-filter-panel { margin-bottom:24px; }
.cs-storefront .number-filter-panel .number-search-form { border:0; border-radius:0; margin:0; }
.cs-storefront .card-cart-form .product-card-action,
.cs-storefront .card-cart-link { height:42px; min-height:42px; box-sizing:border-box; line-height:20px; padding:10px 8px; }
.cs-storefront .product-purchase #add-to-cart-btn,
.cs-storefront .product-purchase #product-cart-link { height:54px; min-height:54px; width:100%; box-sizing:border-box; padding:12px 16px; display:flex; justify-content:center; align-items:center; gap:10px; font-size:15px; font-weight:600; line-height:22px; border:1px solid #7b573a; background:#7b573a; color:#fff; border-radius:8px; }
@media(max-width:991px) {
 .cs-storefront .category-filters .filter-panel-content { height:auto; max-height:65dvh; overflow-y:auto; }
 .cs-storefront .category-filters .filter-scroll { overflow:visible; }
 .cs-storefront .search-filter-panel { width:100%; }
 .cs-storefront .search-page .listing-toolbar { flex-wrap:wrap; }
}

/* Navigation to the cart is distinct from adding another item. */
.cs-storefront .card-cart-link,
.cs-storefront .product-purchase #product-cart-link { background:#fff; color:#85573e; border-color:#7b573a; }
.cs-storefront .card-cart-link:hover,
.cs-storefront .card-cart-link:focus-visible,
.cs-storefront .product-purchase #product-cart-link:hover,
.cs-storefront .product-purchase #product-cart-link:focus-visible { background:#f8f3f0; color:#6d4733; border-color:#9a6849; }

/* Compact search controls, with sorting always accessible. */
.cs-storefront .search-page .listing-toolbar { align-items:center; gap:12px; }
.cs-storefront .search-page .listing-toolbar { position:relative; }
.cs-storefront .search-page .listing-toolbar-actions { gap:10px; }
.cs-storefront .search-page .search-filter-panel { width:auto; margin:0; overflow:visible; border-radius:8px; }
.cs-storefront .search-filter-panel > summary { min-height:36px; padding:8px 12px; gap:14px; font-size:12px; }
.cs-storefront .search-filter-panel[open] > summary { border-bottom:0; color:var(--cs-accent); background:#f1ebe1; border-radius:8px; }
.cs-storefront .search-filter-panel .filter-panel-content { position:absolute; top:calc(100% + 10px); right:0; z-index:15; width:min(560px,100%); padding:18px; border:1px solid var(--cs-line); border-radius:12px; background:white; box-shadow:0 12px 32px #2b1d141a; }
.cs-storefront .search-filter-form { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:14px; }
.cs-storefront .search-filter-form > .search-filter-field:first-of-type { grid-column:1/-1; }
.cs-storefront .search-filter-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.cs-storefront .search-filter-field label { margin:0; font-size:12px; color:var(--cs-muted); }
.cs-storefront .search-filter-field input,.cs-storefront .search-filter-field select { width:100%; min-width:0; height:42px; border:1px solid var(--cs-line); border-radius:8px; padding:8px 12px; background:#fff; color:var(--cs-ink); }
.cs-storefront .search-filter-actions { grid-column:1/-1; display:flex; align-items:center; gap:16px; min-height:42px; }
.cs-storefront .search-filter-actions .btn { padding:10px 16px; font-size:13px; text-transform:none; }
.cs-storefront .search-filter-actions a { font-size:13px; color:var(--cs-muted); }
.cs-storefront .responsive-filter > summary::-webkit-details-marker { display:none; }
.cs-storefront .responsive-filter > summary:focus-visible { outline:2px solid var(--cs-accent); outline-offset:-3px; }
@media(max-width:991px) {
 .cs-storefront .search-filter-form { grid-template-columns:1fr 1fr; }
}
@media(max-width:575px) {
 .cs-storefront .hero-showcase .hero-caption { padding:20px 14px 32px; }
 .cs-storefront .hero-showcase .hero-slider .hero-caption h2 { max-width:100%; font-size:15px; }
 .cs-storefront .search-filter-form { grid-template-columns:1fr; gap:12px; }
 .cs-storefront .search-filter-actions .btn { flex:1; }
}

/* Wide catalog: category rail and adjacent subcategory panel. */
.cs-storefront .main-menu { position:relative; }
.cs-storefront .main-menu > .catalog-menu { position:static; }
.cs-storefront .catalog-panel { top:calc(100% - 2px); width:100%; max-width:none; height:min(620px,70dvh); max-height:none; padding:0; overflow:hidden; border-radius:0 0 14px 14px; }
.cs-storefront .catalog-panel nav { height:100%; }
.cs-storefront .catalog-list { width:280px; height:100%; overflow-y:auto; padding:10px; border-right:1px solid var(--cs-line); overscroll-behavior:contain; }
.cs-storefront .catalog-list > .catalog-item { position:static; display:grid; grid-template-columns:minmax(0,1fr) 34px; border:0; border-radius:8px; }
.cs-storefront .catalog-list > .catalog-direct-link { border:0; }
.cs-storefront .catalog-list .catalog-category-link { display:flex; align-items:center; gap:12px; min-height:46px; padding:10px 8px; font-size:13px; }
.cs-storefront .catalog-category-link > .fa { width:22px; flex-shrink:0; text-align:center; font-size:20px; color:var(--cs-muted); }
.cs-storefront .catalog-children-toggle { position:static; width:34px; height:auto; min-height:46px; }
.cs-storefront .catalog-children-toggle[aria-expanded="true"] { transform:none; }
.cs-storefront .catalog-item.is-active { background:#efe8dd; }
.cs-storefront .catalog-item.is-active > .catalog-category-link,
.cs-storefront .catalog-item.is-active > .catalog-category-link > .fa { color:var(--cs-accent); }
.cs-storefront .catalog-subpanel { position:absolute; inset:0 0 0 280px; overflow-y:auto; padding:28px 30px 40px; background:linear-gradient(145deg,#f8f5ef 0,#fff 38%,#fff 100%); overscroll-behavior:contain; }
.cs-storefront .catalog-subpanel[hidden] { display:none!important; }
.cs-storefront .catalog-subpanel-heading { display:flex; align-items:center; gap:14px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid #eee6df; font-size:21px; font-weight:700; letter-spacing:-.3px; color:var(--cs-ink); }
.cs-storefront .catalog-heading-icon { display:grid; place-items:center; flex:0 0 44px; height:44px; border:1px solid #ece1d8; border-radius:13px; background:#f6f1ed; color:var(--cs-accent); font-size:23px; }
.cs-storefront .catalog-subcategory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:14px; }
.cs-storefront .catalog-subcategory-group { min-width:0; border:1px solid #e9eaed; border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 2px 5px #2b1d1404; transition:border-color .18s ease,box-shadow .18s ease; }
.cs-storefront .catalog-subcategory-group:hover,.cs-storefront .catalog-subcategory-group:focus-within { border-color:#dec9ba; box-shadow:0 5px 16px #74543610; }
.cs-storefront .catalog-list .catalog-subcategory-title { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding:16px; font-size:13px; font-weight:600; line-height:1.5; transition:background .18s ease,color .18s ease; }
.cs-storefront .catalog-subcategory-title > span { min-width:0; overflow-wrap:anywhere; }
.cs-storefront .catalog-subcategory-title > .fa { display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:50%; background:#f5f1ea; color:#8c95a1; font-size:16px; transition:background .18s ease,color .18s ease; }
.cs-storefront .catalog-subcategory-title:hover > .fa,.cs-storefront .catalog-subcategory-title:focus-visible > .fa { background:#f2eae4; color:var(--cs-accent); }
.cs-storefront .catalog-subcategory-group ul { margin:0 16px 12px; padding-top:8px; border-top:1px solid var(--cs-line); }
.cs-storefront .catalog-subcategory-group li { display:block; }
.cs-storefront .catalog-subcategory-group li a { padding:5px 0; font-size:13px; color:var(--cs-muted); }
.cs-storefront .catalog-list .catalog-view-all { display:flex; align-items:center; justify-content:center; gap:12px; width:fit-content; max-width:100%; margin:24px 0 0; padding:11px 24px; border:1px solid #7b573a; border-radius:9px; background:#7b573a; color:#fff; font-size:13px; font-weight:600; box-shadow:0 3px 8px #7b573a1a; transition:background .18s ease,box-shadow .18s ease; }
.cs-storefront .catalog-list a:focus-visible,
.cs-storefront .catalog-children-toggle:focus-visible { outline:2px solid var(--cs-accent); outline-offset:-2px; border-radius:6px; }
@media(min-width:768px) and (max-width:991px) {
 .cs-storefront .catalog-list { width:240px; }
 .cs-storefront .catalog-subpanel { left:240px; padding:22px; }
 .cs-storefront .catalog-subcategory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .cs-storefront .catalog-panel { height:auto; max-height:65dvh; overflow-y:auto; }
 .cs-storefront .catalog-list { width:100%; height:auto; overflow:visible; border-right:0; }
 .cs-storefront .catalog-subpanel { position:static; grid-column:1 / -1; padding:16px; overflow:visible; border-radius:8px; background:#f5f1ea; }
 .cs-storefront .catalog-subpanel-heading { display:none; }
 .cs-storefront .catalog-subcategory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
 .cs-storefront .catalog-children-toggle .fa { transform:rotate(90deg); }
 .cs-storefront .catalog-children-toggle[aria-expanded="true"] .fa { transform:rotate(-90deg); }
}

@media(max-width:575px) {
 .cs-storefront .search-page .listing-toolbar-actions { width:100%; justify-content:space-between; }
 .cs-storefront .search-filter-panel .filter-panel-content { padding:14px; }
 .cs-storefront .catalog-subcategory-grid { grid-template-columns:1fr; gap:10px; }
 .cs-storefront .catalog-list .catalog-subcategory-title { padding:12px; }
}

.cs-storefront .catalog-list .catalog-view-all:hover,
.cs-storefront .catalog-list .catalog-view-all:focus-visible { background:#9b6849; border-color:#9b6849; color:#fff; border-radius:9px; box-shadow:0 5px 12px #7b573a26; }
@media(prefers-reduced-motion:reduce) {
 .cs-storefront .catalog-subcategory-group,
 .cs-storefront .catalog-list .catalog-subcategory-title,
 .cs-storefront .catalog-subcategory-title > .fa,
 .cs-storefront .catalog-list .catalog-view-all { transition:none; }
}

/* Mobile catalog: full-row disclosures and comfortable touch targets. */
.cs-storefront .catalog-mobile-heading,
.cs-storefront .catalog-mobile-label { display:none; }
@media(max-width:767px) {
 .cs-storefront .catalog-panel { max-height:min(65dvh,560px); border-radius:12px; overscroll-behavior:contain; scroll-padding-top:58px; }
 .cs-storefront .catalog-mobile-heading { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:4px 10px 4px 16px; border-bottom:1px solid var(--cs-line); background:#fff; color:var(--cs-ink); font-size:14px; font-weight:700; }
 .cs-storefront .catalog-close { display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:8px; background:#f0eae0; color:var(--cs-muted); font-size:18px; cursor:pointer; }
 .cs-storefront .catalog-panel nav { height:auto; }
 .cs-storefront .catalog-list { padding:6px; }
 .cs-storefront .catalog-list > .catalog-item { grid-template-columns:minmax(0,1fr); margin-bottom:3px; }
 .cs-storefront .catalog-item > .catalog-category-link { display:none; }
 .cs-storefront .catalog-children-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:54px; padding:12px; border-radius:9px; font-size:14px; text-align:left; color:var(--cs-ink); }
 .cs-storefront .catalog-mobile-label { display:flex; align-items:center; gap:12px; min-width:0; }
 .cs-storefront .catalog-mobile-label > span { overflow-wrap:anywhere; }
 .cs-storefront .catalog-mobile-label > .fa { flex:0 0 24px; width:24px; text-align:center; font-size:21px; color:var(--cs-muted); transform:none; }
 .cs-storefront .catalog-children-toggle[aria-expanded="true"] { color:var(--cs-accent); }
 .cs-storefront .catalog-children-toggle[aria-expanded="true"] .catalog-mobile-label > .fa { color:var(--cs-accent); transform:none; }
 .cs-storefront .catalog-children-toggle > .fa { flex:0 0 18px; }
 .cs-storefront .catalog-subpanel { padding:4px 10px 14px; background:#f1ebe1; }
 .cs-storefront .catalog-subcategory-grid { grid-template-columns:1fr; gap:8px; }
 .cs-storefront .catalog-list .catalog-subcategory-title { min-height:50px; padding:12px 14px; font-size:14px; }
 .cs-storefront .catalog-subcategory-group ul { margin:0 14px 8px; padding-top:4px; }
 .cs-storefront .catalog-subcategory-group li a { display:flex; align-items:center; min-height:44px; padding:10px 8px; font-size:14px; overflow-wrap:anywhere; }
 .cs-storefront .catalog-list .catalog-view-all { min-height:46px; margin-top:12px; padding:11px 18px; font-size:14px; }
 .cs-storefront .catalog-list .catalog-direct-link a { min-height:52px; padding:12px; font-size:14px; }
 .cs-storefront .catalog-close:focus-visible { outline:2px solid var(--cs-accent); outline-offset:-2px; }
 .cs-storefront .listing-sort-form { min-width:0; }
 .cs-storefront .listing-sort-form select { height:44px; min-width:0; max-width:100%; font-size:16px; }
 .cs-storefront .search-filter-panel > summary { min-height:42px; gap:10px; font-size:14px; }
 .cs-storefront .search-filter-panel .filter-panel-content { max-height:60dvh; overflow-y:auto; overscroll-behavior:contain; }
 .cs-storefront .search-filter-field input,
 .cs-storefront .search-filter-field select,
 .cs-storefront .filter-price-range input { min-height:44px; font-size:16px; }
 .cs-storefront .search-filter-actions a { display:flex; align-items:center; min-height:44px; }
 .cs-storefront .category-filters .filter-checklist label { min-height:44px; font-size:14px; }
 .cs-storefront .category-filters .filter-checklist input { width:18px; height:18px; flex-shrink:0; }
}
@media(max-width:575px) {
 .cs-storefront .search-page .listing-toolbar-actions { flex-wrap:nowrap; align-items:center; }
 .cs-storefront .search-page .listing-sort-form { flex:1; justify-content:flex-end; }
 .cs-storefront .search-page .listing-sort-form select { width:100%; }
 .cs-storefront .search-page .search-filter-panel { flex:0 0 auto; }
}

.cs-storefront .number-price-filters { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:16px; margin-top:20px; }
.cs-storefront .number-price-filters > div { min-width:0; }
.cs-storefront .number-price-filters label { display:block; margin-bottom:6px; font-size:12px; color:var(--cs-muted); }
.cs-storefront .number-price-filters input,.cs-storefront .number-price-filters select { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid var(--cs-line); border-radius:8px; background:#fff; color:var(--cs-ink); }
@media(max-width:575px) {
 .cs-storefront .number-price-filters { grid-template-columns:1fr 1fr; gap:12px; }
 .cs-storefront .number-price-filters > div:last-child { grid-column:1/-1; }
 .cs-storefront .number-price-filters input,.cs-storefront .number-price-filters select { font-size:16px; }
}

/* Always-visible number finder, visually tied to the homepage number section. */
.cs-storefront .number-search-page .number-finder { max-width:none; margin:0 0 30px; padding:28px 32px 20px; border:1px solid #344052; border-radius:18px; background:radial-gradient(ellipse at 100% 0,#62432e40,transparent 55%),#2b1d14; color:#fff; box-shadow:0 10px 30px #2b1d140c; }
.cs-storefront .number-finder-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:22px; }
.cs-storefront .number-finder-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#d2bfa0; }
.cs-storefront .number-finder-intro h2 { margin:10px 0 8px; font-size:26px; color:#fff; letter-spacing:-.4px; }
.cs-storefront .number-finder-intro p { margin:0; max-width:630px; color:#bdc6d2; font-size:13px; line-height:1.6; }
.cs-storefront .number-finder-symbol { display:grid; place-items:center; flex:0 0 80px; height:80px; border:1px solid #ffffff15; border-radius:22px; background:#ffffff05; color:#c1a67c; font-size:54px; font-weight:800; transform:rotate(-8deg); }
.cs-storefront .number-prefixes { margin:0 0 22px; padding:0; min-width:0; border:0; }
.cs-storefront .number-prefixes legend,.cs-storefront .number-finder .number-digits legend { margin-bottom:10px; color:#d6dde6; font-size:12px; font-weight:500; }
.cs-storefront .number-prefix-options { display:flex; flex-wrap:wrap; gap:8px; }
.cs-storefront .number-prefix-options label { position:relative; margin:0; cursor:pointer; }
.cs-storefront .number-prefix-options input { position:absolute; opacity:0; width:1px; height:1px; }
.cs-storefront .number-prefix-options span { display:flex; align-items:center; justify-content:center; min-width:62px; min-height:42px; padding:8px 16px; border:1px solid #ffffff25; border-radius:8px; background:#ffffff08; color:#e6eaf0; font-size:14px; font-weight:600; }
.cs-storefront .number-prefix-options input:checked + span { border-color:#c9a58b; background:#c9a58b1c; color:#d2bfa0; }
.cs-storefront .number-prefix-options input:focus-visible + span { outline:2px solid #d2bfa0; outline-offset:3px; }
.cs-storefront .number-finder .number-fields { justify-content:flex-start; gap:24px; }
.cs-storefront .number-finder .number-digits { min-width:0; }
.cs-storefront .number-finder .number-digit { width:48px; height:54px; border:1px solid #ffffff35; background:#ffffff0b; color:#fff; border-radius:9px; font-size:24px; }
.cs-storefront .number-finder .number-digit::placeholder { color:#8895a5; }
.cs-storefront .number-finder .digit-divider { color:#8997a8; }
.cs-storefront .number-finder .number-submit { min-height:54px; border-radius:9px; padding:14px 26px; text-transform:none; font-size:15px; }
.cs-storefront .number-finder .number-price-filters { padding:20px 0 0; margin-top:24px; border-top:1px solid #ffffff18; }
.cs-storefront .number-finder .number-price-filters label { color:#c0cad7; }
.cs-storefront .number-finder .number-price-filters input,.cs-storefront .number-finder .number-price-filters select { background:#fff; border-color:#fff; }
.cs-storefront .number-finder .number-form-footer { border-color:#ffffff18; color:#b9c4d2; }
.cs-storefront .number-finder .number-form-footer a { color:#d2bfa0; }
.cs-storefront .number-finder input:focus-visible,.cs-storefront .number-finder select:focus-visible { outline:2px solid #c1a67c; outline-offset:3px; }
.cs-storefront .number-search-page .number-results-heading > span { border-radius:20px; background:#f7f2ee; color:#794f39; padding:6px 12px; font-size:12px; }
.cs-storefront .number-search-page .number-card { border-radius:14px; box-shadow:0 3px 12px #2b1d1405; }
.cs-storefront .header-search { position:relative; }
.cs-storefront .search-suggestions { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:40; overflow:hidden; border:1px solid var(--cs-line); border-radius:12px; background:#fff; box-shadow:0 16px 40px #2b1d1426; }
.cs-storefront .search-suggestions[hidden] { display:none!important; }
.cs-storefront .search-suggestion-list { max-height:min(420px,55dvh); overflow-y:auto; overscroll-behavior:contain; padding:6px; }
.cs-storefront .search-suggestion { display:flex; align-items:center; gap:12px; padding:10px; border-radius:8px; color:var(--cs-ink); text-decoration:none; }
.cs-storefront .search-suggestion:hover,.cs-storefront .search-suggestion:focus-visible { background:#f1ebe1; color:var(--cs-ink); outline:2px solid #e7d8cd; outline-offset:-2px; }
.cs-storefront .search-suggestion-thumbnail { display:grid; place-items:center; flex:0 0 48px; height:48px; border-radius:7px; background:#f5f1ea; }
.cs-storefront .search-suggestion-thumbnail img { width:42px; height:42px; object-fit:contain; }
.cs-storefront .search-suggestion-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.cs-storefront .search-suggestion-copy strong { font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.cs-storefront .search-suggestion-copy > span { color:var(--cs-muted); font-size:12px; }
.cs-storefront .search-suggestions-all { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:12px 16px; border-top:1px solid var(--cs-line); background:#fff9f5; color:#84583e; font-size:13px; font-weight:600; }
.cs-storefront .search-suggestions-empty { margin:0; padding:16px 10px; color:var(--cs-muted); font-size:13px; }
@media(max-width:767px) {
 .cs-storefront .number-search-page .number-finder { padding:22px 18px 16px; border-radius:14px; }
 .cs-storefront .number-finder-intro { gap:12px; }
 .cs-storefront .number-finder-intro h2 { font-size:22px; }
 .cs-storefront .number-finder-symbol { flex-basis:50px; height:50px; font-size:36px; border-radius:14px; }
 .cs-storefront .number-finder .number-fields { gap:16px; }
 .cs-storefront .header-search .nav-search-field { font-size:16px; }
}
@media(max-width:575px) {
 .cs-storefront .number-finder-symbol { display:none; }
 .cs-storefront .number-prefix-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
 .cs-storefront .number-prefix-options span { min-width:0; min-height:44px; padding:8px; }
 .cs-storefront .number-finder .digit-row { display:flex; gap:5px; }
 .cs-storefront .number-finder .number-digit { flex:1 1 0; min-width:0; width:0; height:46px; padding:0; font-size:20px; }
 .cs-storefront .number-finder .digit-divider { padding:0; font-size:12px; }
 .cs-storefront .number-finder .number-submit { width:100%; min-height:48px; }
 .cs-storefront .number-finder .number-price-filters { margin-top:18px; }
 .cs-storefront .number-finder .number-form-footer { gap:12px; }
}

/* Compact finder: prefixes and number entry share a row on larger screens. */
.cs-storefront .number-search-page .number-finder { padding:20px 24px 14px; margin-bottom:24px; }
.cs-storefront .number-finder-intro { margin-bottom:16px; gap:16px; }
.cs-storefront .number-finder-intro h2 { margin:6px 0; font-size:22px; }
.cs-storefront .number-finder-symbol { flex-basis:54px; height:54px; font-size:38px; border-radius:16px; }
.cs-storefront .number-finder-controls { display:grid; grid-template-columns:minmax(230px,.85fr) minmax(0,1.5fr); gap:24px; align-items:center; }
.cs-storefront .number-finder .number-prefixes { margin:0; }
.cs-storefront .number-finder .number-prefix-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.cs-storefront .number-finder .number-prefix-options span { min-width:0; min-height:36px; padding:6px 10px; font-size:13px; }
.cs-storefront .number-finder .number-fields { gap:14px; flex-wrap:nowrap; }
.cs-storefront .number-finder .number-digit { width:38px; height:44px; font-size:21px; }
.cs-storefront .number-finder .number-submit { height:auto; min-height:44px; padding:11px 16px; font-size:14px; }
.cs-storefront .number-finder .number-price-filters { margin-top:16px; padding-top:14px; gap:12px; }
.cs-storefront .number-finder .number-price-filters input,
.cs-storefront .number-finder .number-price-filters select { min-height:40px; padding:8px 10px; font-size:14px; }
.cs-storefront .number-finder .number-form-footer { margin-top:14px; padding-top:10px; }
.cs-storefront #number-results { scroll-margin-top:24px; border-radius:10px; }
.cs-storefront #number-results:target { animation:number-results-highlight 1.8s ease-out; }
@keyframes number-results-highlight {
 0%,25% { background:#f6f1ec; box-shadow:0 0 0 10px #f6f1ec; }
 100% { background:transparent; box-shadow:0 0 0 10px transparent; }
}
@media(max-width:1100px) {
 .cs-storefront .number-finder-controls { grid-template-columns:1fr; gap:14px; }
 .cs-storefront .number-finder .number-prefix-options { grid-template-columns:repeat(8,minmax(0,1fr)); }
}
@media(max-width:575px) {
 .cs-storefront .number-search-page .number-finder { padding:16px 14px 12px; }
 .cs-storefront .number-finder-intro h2 { font-size:20px; }
 .cs-storefront .number-finder-intro p { font-size:12px; }
 .cs-storefront .number-finder .number-prefix-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .cs-storefront .number-finder .number-prefix-options span { min-height:40px; }
 .cs-storefront .number-finder .number-fields { gap:12px; }
 .cs-storefront .number-finder .number-digit { width:0; height:44px; font-size:20px; }
 .cs-storefront .number-finder .number-price-filters input,
 .cs-storefront .number-finder .number-price-filters select { min-height:44px; font-size:16px; }
 .cs-storefront .number-finder .number-form-footer { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 .cs-storefront #number-results:target { animation:none; }
}

.cs-storefront .number-finder .number-search-error { margin:14px 0 0; padding:10px 12px; border:1px solid #d8bfac80; border-radius:8px; background:#c9a58b1c; color:#ebded3; font-size:13px; line-height:1.5; }
.cs-storefront .number-search-error[hidden] { display:none!important; }

.cs-storefront .search-suggestion-copy { flex:1; }
.cs-storefront .search-suggestion-colors { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:5px; flex:0 0 auto; max-width:92px; margin-left:auto; font-size:10px; color:var(--cs-muted); }
.cs-storefront .search-suggestion-swatch { width:16px; height:16px; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #dce0e6; }
.cs-storefront .search-suggestion-color-name { padding:2px 4px; border:1px solid var(--cs-line); border-radius:4px; max-width:80px; overflow-wrap:anywhere; }
.cs-storefront .popular-showcase { display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:center; margin:12px 0 32px; padding:28px; border:1px solid #ebdfd4; border-radius:18px; background:linear-gradient(120deg,#f7f3ee,#fffcf8 65%); }
.cs-storefront .popular-eyebrow { display:flex; align-items:center; gap:7px; color:#8a5d41; font-size:11px; font-weight:700; }
.cs-storefront .popular-intro h2 { margin:14px 0 12px; font-size:28px; line-height:1.2; letter-spacing:-.6px; color:var(--cs-ink); }
.cs-storefront .popular-intro p { font-size:13px; line-height:1.6; color:var(--cs-muted); margin:0 0 20px; }
.cs-storefront .popular-intro > a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#8a5d41; font-size:13px; font-weight:700; }
.cs-storefront .popular-ranking { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; list-style:none; margin:0; padding:0; }
.cs-storefront .popular-ranking > li { display:block; min-width:0; }
.cs-storefront .popular-product { display:flex; align-items:center; gap:12px; min-height:112px; height:100%; padding:16px; border:1px solid #eee5dc; border-radius:12px; background:#fff; color:var(--cs-ink); transition:box-shadow .15s,border-color .15s; }
.cs-storefront .popular-product:hover,.cs-storefront .popular-product:focus-visible { border-color:#d5baa7; box-shadow:0 5px 18px #7e5a3b10; color:var(--cs-ink); }
.cs-storefront .popular-rank { align-self:flex-start; font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; color:#b9a796; }
.cs-storefront .popular-ranking > li:first-child .popular-rank { color:#7b573a; }
.cs-storefront .popular-image { display:grid; place-items:center; flex:0 0 64px; height:72px; }
.cs-storefront .popular-image img { max-width:100%; height:72px; object-fit:contain; }
.cs-storefront .popular-product-copy { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
.cs-storefront .popular-product-copy small { color:var(--cs-muted); font-size:10px; }
.cs-storefront .popular-product-copy strong { font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.cs-storefront .popular-product-copy b { font-size:14px; }
.cs-storefront .popular-product-arrow { color:#b37f5d; font-size:12px; }
@media(max-width:991px) {
 .cs-storefront .popular-showcase { grid-template-columns:1fr; gap:18px; padding:22px; }
 .cs-storefront .popular-intro h2 { font-size:25px; }
 .cs-storefront .popular-intro p { margin-bottom:4px; }
}
@media(max-width:575px) {
 .cs-storefront .popular-showcase { padding:18px 14px; border-radius:14px; }
 .cs-storefront .popular-ranking { grid-template-columns:1fr; gap:8px; }
 .cs-storefront .popular-product { min-height:96px; padding:12px; }
 .cs-storefront .search-suggestion-colors { max-width:58px; gap:4px; }
 .cs-storefront .search-suggestion-swatch { width:14px; height:14px; }
}
@media(prefers-reduced-motion:reduce) { .cs-storefront .popular-product { transition:none; } }

/* ===== Account area (Hesabım / Sifarişlərim / Ünvanlarım) ===== */
.cs-storefront .account-grid { display:grid; grid-template-columns:270px minmax(0,1fr); gap:28px; align-items:start; }
.cs-storefront .account-aside { position:sticky; top:20px; border:1px solid var(--cs-line); border-radius:14px; background:white; overflow:hidden; }
.cs-storefront .account-profile-card { display:flex; align-items:center; gap:12px; padding:20px; border-bottom:1px solid var(--cs-line); background:linear-gradient(135deg,#f4f0e8,#fff); }
.cs-storefront .account-avatar { flex-shrink:0; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--cs-accent); color:white; font-weight:800; font-size:17px; letter-spacing:.5px; }
.cs-storefront .account-profile-text { display:flex; flex-direction:column; min-width:0; }
.cs-storefront .account-profile-text strong { font-size:15px; line-height:1.3; }
.cs-storefront .account-profile-text span { font-size:12px; color:var(--cs-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cs-storefront .account-nav { display:flex; flex-direction:column; padding:8px; }
.cs-storefront .account-nav a,.cs-storefront .account-nav-logout { display:flex; align-items:center; gap:12px; width:100%; padding:11px 14px; border:0; border-radius:9px; background:none; color:var(--cs-ink); font:inherit; font-size:14px; font-weight:600; text-align:left; text-transform:none; letter-spacing:0; cursor:pointer; }
.cs-storefront .account-nav a i,.cs-storefront .account-nav-logout i { width:18px; color:var(--cs-muted); font-size:15px; }
.cs-storefront .account-nav a:hover,.cs-storefront .account-nav-logout:hover { background:#f0eae0; color:var(--cs-ink); }
.cs-storefront .account-nav a.is-active { background:#f1ebe1; color:#4f3725; }
.cs-storefront .account-nav a.is-active i { color:var(--cs-accent); }
.cs-storefront .account-nav form { margin:6px 0 0; padding-top:6px; border-top:1px solid #ebe3d6; }
.cs-storefront .account-nav-logout:hover,.cs-storefront .account-nav-logout:hover i { color:#91413b; background:#faf3f3; }
.cs-storefront .account-main { display:flex; flex-direction:column; gap:20px; min-width:0; }

.cs-storefront .account-card { padding:24px; border:1px solid var(--cs-line); border-radius:14px; background:white; }
.cs-storefront .account-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.cs-storefront .account-card-head h3 { display:flex; align-items:center; gap:8px; margin:0; font-size:17px; font-weight:700; }
.cs-storefront .account-card-head h3 i { color:var(--cs-accent); }
.cs-storefront .account-card-head a { color:var(--cs-accent); font-size:13px; font-weight:700; }
.cs-storefront .account-count { padding:1px 9px; border-radius:20px; background:#ede5d8; color:var(--cs-muted); font-size:12px; font-weight:700; }
.cs-storefront .account-muted { color:var(--cs-muted); font-size:14px; }
.cs-storefront .account-muted a { color:var(--cs-accent); font-weight:700; }
.cs-storefront .account-alert { display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:10px; font-size:14px; font-weight:600; }
.cs-storefront .account-alert-success { background:#ebf4ef; color:#2a5139; border:1px solid #c6e1d0; }
.cs-storefront .account-alert-danger { background:#f9f0f0; color:#853737; border:1px solid #edd2d2; }

.cs-storefront .account-welcome h2 { margin:0 0 4px; font-size:24px; font-weight:800; }
.cs-storefront .account-welcome p { margin:0; color:var(--cs-muted); }
.cs-storefront .account-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cs-storefront .account-stat { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:14px; align-items:center; padding:18px 20px; border:1px solid var(--cs-line); border-radius:14px; background:white; color:var(--cs-ink); transition:border-color .15s ease, box-shadow .15s ease; }
.cs-storefront .account-stat:hover { border-color:#d2bfa0; box-shadow:0 8px 24px #6b4c3314; color:var(--cs-ink); }
.cs-storefront .account-stat-icon { grid-row:span 2; display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:#f1ebe1; color:var(--cs-accent); font-size:20px; }
.cs-storefront .account-stat-value { font-size:24px; font-weight:800; line-height:1.1; }
.cs-storefront .account-stat-label { font-size:13px; color:var(--cs-muted); }

.cs-storefront .recent-order { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:16px; padding:14px 0; border-top:1px solid #ebe3d6; color:var(--cs-ink); }
.cs-storefront .recent-order:first-of-type { border-top:0; padding-top:0; }
.cs-storefront .recent-order:hover .recent-order-main strong { color:var(--cs-accent); }
.cs-storefront .recent-order-main { display:flex; flex-direction:column; min-width:0; }
.cs-storefront .recent-order-main span { font-size:13px; color:var(--cs-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cs-storefront .recent-order-total { min-width:90px; text-align:right; }

.cs-storefront .account-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cs-storefront .account-form { display:flex; flex-direction:column; gap:14px; }
.cs-storefront .account-field { min-width:0; }
.cs-storefront .account-field label { display:block; margin-bottom:6px; font-size:12px; font-weight:700; color:var(--cs-ink); }
.cs-storefront .account-field .form-control { min-height:44px; padding:10px 12px; border-radius:8px; font-size:14px; }
.cs-storefront .account-field textarea.form-control { min-height:70px; }
.cs-storefront .account-field .form-control:focus { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c331f; }
.cs-storefront .account-field .form-control:disabled { background:#f0eae0; color:var(--cs-muted); }
.cs-storefront .account-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cs-storefront .account-optional { font-weight:400; color:var(--cs-muted); }
.cs-storefront .account-check { display:flex; align-items:center; gap:9px; margin:0; font-size:14px; cursor:pointer; }
.cs-storefront .account-check input { width:17px; height:17px; accent-color:var(--cs-accent); }
.cs-storefront .account-form .btn,.cs-storefront .account-main .btn { text-transform:none; letter-spacing:0; border-radius:8px; font-weight:700; }
.cs-storefront .account-form > .btn { align-self:flex-start; min-height:44px; padding:0 22px; }
.cs-storefront .account-form-actions { display:flex; gap:10px; }

/* status badges (also used in checkout / address cards) */
.cs-storefront .status-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:20px; font-size:12px; font-weight:700; line-height:1.4; white-space:nowrap; }
.cs-storefront .status-badge::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.cs-storefront .status-badge-lg { padding:6px 14px; font-size:13px; }
.cs-storefront .status-pending { background:#f5f1ea; color:#725736; }
.cs-storefront .status-progress { background:#f0f3f8; color:#4c64a9; }
.cs-storefront .status-success { background:#e9f4ee; color:#336244; }
.cs-storefront .status-danger { background:#f9f0f0; color:#91413b; }
.cs-storefront .status-neutral { background:#ede5d8; color:#5a4a3a; }

/* orders list */
.cs-storefront .account-tabs { display:flex; gap:6px; padding:5px; border:1px solid var(--cs-line); border-radius:12px; background:white; overflow-x:auto; scrollbar-width:none; }
.cs-storefront .account-tabs a { flex-shrink:0; padding:8px 16px; border-radius:8px; color:var(--cs-muted); font-size:14px; font-weight:700; }
.cs-storefront .account-tabs a:hover { color:var(--cs-ink); background:#f0eae0; }
.cs-storefront .account-tabs a.is-active { background:var(--cs-ink); color:white; }
.cs-storefront .order-list { display:flex; flex-direction:column; gap:14px; }
.cs-storefront .order-card { border:1px solid var(--cs-line); border-radius:14px; background:white; overflow:hidden; transition:border-color .15s ease; }
.cs-storefront .order-card:hover { border-color:#d7dbe0; }
.cs-storefront .order-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid #ebe3d6; background:#f9f6f1; }
.cs-storefront .order-card-head > div { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.cs-storefront .order-card-number { font-size:16px; font-weight:800; color:var(--cs-ink); }
.cs-storefront .order-card-number:hover { color:var(--cs-accent); }
.cs-storefront .order-card-date { font-size:13px; color:var(--cs-muted); }
.cs-storefront .order-card-items { margin:0; padding:14px 20px 4px; list-style:none; }
.cs-storefront .order-card-items li { display:flex; gap:8px; padding:3px 0; font-size:14px; }
.cs-storefront .order-card-item-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.cs-storefront .order-card-qty,.cs-storefront .order-card-more { color:var(--cs-muted); flex-shrink:0; }
.cs-storefront .order-card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px 16px; }
.cs-storefront .order-card-total { display:flex; flex-direction:column; }
.cs-storefront .order-card-total span { font-size:12px; color:var(--cs-muted); }
.cs-storefront .order-card-total strong { font-size:18px; font-weight:800; }
.cs-storefront .order-card-link { display:inline-flex; align-items:center; gap:6px; padding:8px 16px; }
.cs-storefront .account-empty { display:flex; flex-direction:column; align-items:center; padding:48px 24px; border:1px dashed #d7dbe0; border-radius:14px; background:white; text-align:center; }
.cs-storefront .account-empty-icon { display:grid; place-items:center; width:64px; height:64px; margin-bottom:16px; border-radius:50%; background:#f1ebe1; color:var(--cs-accent); font-size:26px; }
.cs-storefront .account-empty h3 { font-size:19px; margin-bottom:6px; }
.cs-storefront .account-empty p { max-width:420px; color:var(--cs-muted); margin-bottom:18px; }

/* order detail */
.cs-storefront .account-back { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; color:var(--cs-muted); font-size:14px; font-weight:700; }
.cs-storefront .account-back:hover { color:var(--cs-accent); }
.cs-storefront .order-summary-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:6px 16px; }
.cs-storefront .order-summary-head h2 { margin:0; font-size:22px; font-weight:800; }
.cs-storefront .order-summary-head p { margin:2px 0 0; }
.cs-storefront .order-progress { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,1fr); margin:22px 0 0; padding:0; list-style:none; }
.cs-storefront .order-progress li { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.cs-storefront .order-progress li::before { content:""; position:absolute; top:19px; right:50%; width:100%; height:3px; background:#eceef1; z-index:0; }
.cs-storefront .order-progress li:first-child::before { display:none; }
.cs-storefront .order-progress li.is-done::before,.cs-storefront .order-progress li.is-current::before { background:var(--cs-accent); }
.cs-storefront .order-progress-dot { position:relative; z-index:1; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:3px solid #eceef1; background:white; color:#9aa3ae; font-size:15px; }
.cs-storefront .order-progress li.is-done .order-progress-dot { border-color:var(--cs-accent); background:var(--cs-accent); color:white; }
.cs-storefront .order-progress li.is-current .order-progress-dot { border-color:var(--cs-accent); color:var(--cs-accent); box-shadow:0 0 0 5px #6b4c331f; }
.cs-storefront .order-progress-label { font-size:13px; font-weight:700; color:var(--cs-muted); }
.cs-storefront .order-progress li.is-done .order-progress-label,.cs-storefront .order-progress li.is-current .order-progress-label { color:var(--cs-ink); }
.cs-storefront .order-cancelled { grid-column:1 / -1; display:flex; gap:12px; margin-top:18px; padding:14px 16px; border-radius:10px; background:#faf4f4; color:#7a3232; }
.cs-storefront .order-cancelled i { margin-top:3px; }
.cs-storefront .order-cancelled p { margin:4px 0 0; color:#7a3232; font-size:14px; }
.cs-storefront .order-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.cs-storefront .order-side { display:flex; flex-direction:column; gap:20px; }
.cs-storefront .order-items { margin:0; padding:0; list-style:none; }
.cs-storefront .order-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:14px; padding:14px 0; border-top:1px solid #ebe3d6; }
.cs-storefront .order-item:first-child { border-top:0; padding-top:0; }
.cs-storefront .order-item-thumb { display:grid; place-items:center; width:64px; height:64px; border:1px solid var(--cs-line); border-radius:10px; background:#f9f6f1; overflow:hidden; color:#b3bac4; font-size:22px; }
.cs-storefront .order-item-thumb img { width:100%; height:100%; object-fit:contain; padding:4px; }
.cs-storefront .order-item-info { display:flex; flex-direction:column; min-width:0; }
.cs-storefront .order-item-title { font-weight:700; color:var(--cs-ink); line-height:1.4; }
.cs-storefront a.order-item-title:hover { color:var(--cs-accent); }
.cs-storefront .order-item-meta { font-size:13px; color:var(--cs-muted); }
.cs-storefront .order-item-total { white-space:nowrap; }
.cs-storefront .order-totals { margin:14px 0 0; padding-top:14px; border-top:1px solid var(--cs-line); }
.cs-storefront .order-totals div { display:flex; justify-content:space-between; padding:3px 0; font-size:14px; }
.cs-storefront .order-totals dt { font-weight:400; color:var(--cs-muted); }
.cs-storefront .order-totals dd { margin:0; }
.cs-storefront .order-totals .order-totals-grand { margin-top:6px; font-size:18px; }
.cs-storefront .order-totals .order-totals-grand dt { color:var(--cs-ink); font-weight:700; }
.cs-storefront .order-totals .order-totals-grand dd { font-weight:800; }
.cs-storefront .order-info { display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin:0; font-size:14px; }
.cs-storefront .order-info dt { font-weight:400; color:var(--cs-muted); }
.cs-storefront .order-info dd { margin:0; word-break:break-word; }
.cs-storefront .order-info a { color:var(--cs-ink); }
.cs-storefront .account-help { background:#f9f6f1; }

/* addresses */
.cs-storefront .account-section-intro { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cs-storefront .address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.cs-storefront .address-card { display:flex; flex-direction:column; padding:20px; border:1px solid var(--cs-line); border-radius:14px; background:white; }
.cs-storefront .address-card.is-default { border-color:#d2bfa0; box-shadow:inset 0 3px 0 var(--cs-accent); }
.cs-storefront .address-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.cs-storefront .address-card-label { display:flex; align-items:center; gap:7px; font-weight:800; }
.cs-storefront .address-card-label i { color:var(--cs-accent); }
.cs-storefront .address-card-body { display:flex; flex-direction:column; gap:2px; font-size:14px; color:#5a4a3a; }
.cs-storefront .address-card-body strong { color:var(--cs-ink); }
.cs-storefront .address-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; margin-top:14px; padding-top:12px; border-top:1px solid #ebe3d6; }
.cs-storefront .address-card-actions form { margin:0; }
.cs-storefront .address-card-actions .btn-link { padding:0; border:0; color:var(--cs-ink); font-size:13px; font-weight:700; text-decoration:none; text-transform:none; letter-spacing:0; }
.cs-storefront .address-card-actions .btn-link:hover { color:var(--cs-accent); }
.cs-storefront .address-card-actions .address-delete { color:#91413b; }
.cs-storefront .address-edit { order:-1; }
.cs-storefront .address-edit summary { list-style:none; cursor:pointer; }
.cs-storefront .address-edit[open] { flex-basis:100%; order:1; }
.cs-storefront .address-edit[open] summary { margin-bottom:12px; color:var(--cs-accent); }
.cs-storefront .address-edit-form .account-field-grid { grid-template-columns:1fr; }
.cs-storefront .address-new { border-style:dashed; background:#fcfcfd; }
.cs-storefront .address-new summary { display:flex; align-items:center; gap:12px; list-style:none; cursor:pointer; font-weight:800; }
.cs-storefront .address-new[open] { grid-column:1 / -1; border-style:solid; background:white; }
.cs-storefront .address-new[open] summary { margin-bottom:18px; }
.cs-storefront .address-new-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#f1ebe1; color:var(--cs-accent); }

/* checkout: saved address picker */
.cs-storefront .checkout-addresses { margin:0 0 20px; padding:0; border:0; }
.cs-storefront .checkout-addresses legend { margin-bottom:10px; font-size:15px; font-weight:800; }
.cs-storefront .checkout-address-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.cs-storefront .checkout-address-option { position:relative; margin:0; cursor:pointer; }
.cs-storefront .checkout-address-option input { position:absolute; opacity:0; pointer-events:none; }
.cs-storefront .checkout-address-card { display:flex; flex-direction:column; gap:2px; height:100%; padding:12px 14px; border:1.5px solid var(--cs-line); border-radius:10px; font-size:13px; color:#5a4a3a; transition:border-color .15s ease, background .15s ease; }
.cs-storefront .checkout-address-title { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:14px; font-weight:800; color:var(--cs-ink); }
.cs-storefront .checkout-address-line { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cs-storefront .checkout-address-new { flex-direction:row; align-items:center; justify-content:center; gap:8px; font-weight:800; color:var(--cs-ink); border-style:dashed; }
.cs-storefront .checkout-address-option input:checked + .checkout-address-card { border-color:var(--cs-accent); background:#fff8f3; box-shadow:0 0 0 3px #6b4c3314; }
.cs-storefront .checkout-address-option input:focus-visible + .checkout-address-card { outline:3px solid var(--cs-accent); outline-offset:2px; }
.cs-storefront .checkout-manage-addresses { display:inline-block; margin-top:8px; font-size:13px; font-weight:700; color:var(--cs-accent); }
.cs-storefront .checkout-save-address { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; padding:12px 14px; border-radius:10px; background:#f9f6f1; border:1px solid var(--cs-line); }
.cs-storefront .checkout-save-address[hidden] { display:none; }

/* header account dropdown */
.cs-storefront .top-header .header-dropdown .account-menu { min-width:240px; padding:8px; }
.cs-storefront .account-menu li { display:block; padding:0; }
.cs-storefront .account-menu-head { display:flex!important; flex-direction:column; padding:8px 12px 10px!important; margin-bottom:4px; border-bottom:1px solid #ebe3d6; }
.cs-storefront .account-menu-head strong { color:var(--cs-ink); font-size:14px; }
.cs-storefront .account-menu-head span { color:var(--cs-muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cs-storefront .account-menu a,.cs-storefront .account-menu-logout { display:flex!important; align-items:center; gap:10px; width:100%; padding:9px 12px!important; border:0; border-radius:8px; background:none; color:var(--cs-ink)!important; font:inherit; font-size:14px!important; font-weight:600; text-align:left; text-transform:none!important; letter-spacing:0; text-decoration:none!important; cursor:pointer; }
.cs-storefront .account-menu a i,.cs-storefront .account-menu-logout i { width:16px; color:var(--cs-muted); }
.cs-storefront .account-menu a:hover { background:#f1ebe1; color:#4f3725!important; }
.cs-storefront .account-menu a:hover i { color:var(--cs-accent); }
.cs-storefront .account-menu-sep { margin-top:4px; padding-top:4px!important; border-top:1px solid #ebe3d6; }
.cs-storefront .account-menu-sep form { margin:0; }
.cs-storefront .account-menu-logout:hover,.cs-storefront .account-menu-logout:hover i { background:#faf3f3; color:#91413b!important; }

@media(max-width:991px) {
 .cs-storefront .account-grid { grid-template-columns:1fr; gap:20px; }
 .cs-storefront .account-aside { position:static; }
 .cs-storefront .account-profile-card { padding:14px 16px; }
 .cs-storefront .account-nav { flex-direction:row; gap:4px; overflow-x:auto; scrollbar-width:none; }
 .cs-storefront .account-nav a,.cs-storefront .account-nav-logout { width:auto; flex-shrink:0; padding:9px 14px; white-space:nowrap; }
 .cs-storefront .account-nav form { margin:0; padding:0; border:0; flex-shrink:0; }
 .cs-storefront .order-detail-grid { grid-template-columns:1fr; }
 .cs-storefront .account-two-col { grid-template-columns:1fr; }
}
@media(max-width:767px) {
 .cs-storefront .account-stats { grid-template-columns:1fr; gap:10px; }
 .cs-storefront .account-stat { padding:14px 16px; }
 .cs-storefront .account-card { padding:18px; }
 .cs-storefront .address-grid,.cs-storefront .checkout-address-options { grid-template-columns:1fr; }
 .cs-storefront .account-field-grid { grid-template-columns:1fr; }
 .cs-storefront .recent-order { grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
 .cs-storefront .recent-order .status-badge { grid-row:2; justify-self:start; }
 .cs-storefront .recent-order-total { grid-row:1 / span 2; grid-column:2; }
 .cs-storefront .order-card-head,.cs-storefront .order-card-items,.cs-storefront .order-card-foot { padding-left:16px; padding-right:16px; }
 .cs-storefront .order-progress-label { font-size:11px; }
 .cs-storefront .order-progress-dot { width:34px; height:34px; font-size:13px; }
 .cs-storefront .order-progress li::before { top:16px; }
 .cs-storefront .order-item { grid-template-columns:52px minmax(0,1fr); }
 .cs-storefront .order-item-thumb { width:52px; height:52px; }
 .cs-storefront .order-item-total { grid-column:2; }
 .cs-storefront .account-section-intro { flex-direction:column; align-items:flex-start; }
}
/* theme resets inside the account area */
.cs-storefront .account-welcome { padding:0; margin:0; }
.cs-storefront .account-welcome h2 { margin-top:0; }
.cs-storefront .account-menu a i,.cs-storefront .account-menu-logout i { display:inline-block!important; visibility:visible!important; color:var(--cs-muted)!important; font-size:14px; }
.cs-storefront .account-menu a:hover i { color:var(--cs-accent)!important; }

.cs-storefront .number-finder .number-price-filters { grid-template-columns:1fr 1fr 1.3fr auto; align-items:end; }
.cs-storefront .number-price-apply { display:flex; align-items:center; justify-content:center; gap:10px; min-height:40px; padding:8px 18px; border:1px solid #d9c1af; border-radius:8px; background:#c9a58b1c; color:#e7d7cb; font-size:13px; font-weight:600; cursor:pointer; }
.cs-storefront .number-price-apply:hover { background:#c9a58b30; }
.cs-storefront .number-price-apply:focus-visible { outline:2px solid #c1a67c; outline-offset:3px; }
@media(max-width:767px) {
 .cs-storefront .number-finder .number-price-filters { grid-template-columns:1fr 1fr; }
 .cs-storefront .number-finder .number-price-filters > div:last-of-type { grid-column:auto; }
 .cs-storefront .number-price-apply { min-height:44px; }
}

/* ===== Bundles — light, warm "deal" look (detail page, cards, home band) ===== */
.cs-storefront section.bx-hero, .cs-storefront section.bx-contents { padding:0; }
.cs-storefront .bx-badge { display:inline-flex; align-items:center; gap:7px; align-self:flex-start; padding:5px 11px; border-radius:99px; background:#f1ebe1; color:#4f3725; font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }

/* detail hero: two balanced columns on a white card */
.cs-storefront .bx-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; margin-top:18px; padding:32px; border:1px solid #eee4db; border-radius:20px; background:linear-gradient(135deg,#f8f5ef 0%,#ffffff 55%); box-shadow:0 10px 30px #2b1d1410; }
.cs-storefront .bx-hero > * { min-width:0; }
.cs-storefront .bx-visual { position:relative; display:flex; flex-direction:column; gap:12px; }
.cs-storefront .bx-gallery { display:flex; flex-direction:column; gap:12px; }
.cs-storefront .bx-main-image { width:100%; aspect-ratio:4/3; max-height:380px; object-fit:contain; padding:16px; border:1px solid var(--cs-line); border-radius:16px; background:#fff; }
.cs-storefront .bx-thumbs { display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; }
.cs-storefront .bx-thumbs button { flex:0 0 64px; height:64px; padding:4px; border:1.5px solid var(--cs-line); border-radius:10px; background:#fff; cursor:pointer; }
.cs-storefront .bx-thumbs button.is-active, .cs-storefront .bx-thumbs button:hover { border-color:var(--cs-accent); }
.cs-storefront .bx-thumbs img { width:100%; height:100%; object-fit:contain; }
.cs-storefront .bx-collage { display:grid; gap:10px; aspect-ratio:4/3; max-height:380px; }
.cs-storefront .bx-collage span { display:grid; place-items:center; border:1px solid var(--cs-line); border-radius:14px; background:#fff; overflow:hidden; color:#c4b399; font-size:28px; }
.cs-storefront .bx-collage img { width:100%; height:100%; object-fit:contain; padding:10px; }
.cs-storefront .bx-collage-1 { grid-template-columns:1fr; }
.cs-storefront .bx-collage-2, .cs-storefront .bx-collage-3, .cs-storefront .bx-collage-4 { grid-template-columns:1fr 1fr; }
.cs-storefront .bx-collage-3 span:first-child { grid-row:span 2; }
.cs-storefront .bx-ribbon { position:absolute; z-index:2; top:-12px; left:-12px; display:flex; flex-direction:column; align-items:center; justify-content:center; width:66px; height:66px; border-radius:50%; background:var(--cs-accent); color:#fff; font-size:19px; font-weight:900; line-height:1; box-shadow:0 6px 18px #6b4c334d; }
.cs-storefront .bx-ribbon small { margin-bottom:3px; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.cs-storefront .bx-count-chip { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border-radius:99px; background:#ede5d8; color:#5a4a3a; font-size:12px; font-weight:700; }

.cs-storefront .bx-offer { display:flex; flex-direction:column; gap:14px; max-width:520px; }
.cs-storefront .bx-offer h1 { margin:0; color:var(--cs-ink); font-size:clamp(24px,2.6vw,32px); font-weight:800; line-height:1.2; }
.cs-storefront .bx-lead { margin:0; color:var(--cs-muted); font-size:15px; line-height:1.6; }
.cs-storefront .bx-price { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; padding:14px 18px; border-left:4px solid var(--cs-accent); border-radius:12px; background:#f4f0e8; }
.cs-storefront .bx-price-main { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; }
.cs-storefront .bx-price-main strong { font-size:clamp(28px,3vw,34px); font-weight:900; color:var(--cs-ink); letter-spacing:-.01em; white-space:nowrap; }
.cs-storefront .bx-price-main del { font-size:16px; color:#a08f78; }
.cs-storefront .bx-save-pill { display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:8px; background:#e9f4ee; color:#336244; font-size:13px; font-weight:800; }
.cs-storefront .bx-included { display:flex; align-items:center; gap:12px; padding:8px 12px; border:1px solid var(--cs-line); border-radius:12px; background:#fff; color:var(--cs-ink); text-decoration:none; transition:border-color .15s ease; }
.cs-storefront .bx-included:hover { border-color:#d2bfa0; color:var(--cs-ink); }
.cs-storefront .bx-included-label { font-size:13px; font-weight:700; color:var(--cs-muted); white-space:nowrap; }
.cs-storefront .bx-included-thumbs { display:flex; flex:1; min-width:0; }
.cs-storefront .bx-included-thumbs > span { display:grid; place-items:center; width:36px; height:36px; margin-left:-8px; border:2px solid #fff; border-radius:50%; background:#f4f0e9; overflow:hidden; color:#9aa4b2; font-size:13px; box-shadow:0 1px 3px #0000001f; }
.cs-storefront .bx-included-thumbs > span:first-child { margin-left:0; }
.cs-storefront .bx-included-thumbs img { width:100%; height:100%; object-fit:contain; padding:3px; background:#fff; }
.cs-storefront .bx-included-thumbs .bx-included-more { background:var(--cs-ink); color:#fff; font-size:11px; font-weight:800; }
.cs-storefront .bx-included-link { font-size:13px; font-weight:700; color:var(--cs-accent); white-space:nowrap; }
.cs-storefront .bx-perks { display:flex; flex-direction:column; gap:7px; margin:0; padding:0; list-style:none; }
.cs-storefront .bx-perks li { display:flex; align-items:center; gap:9px; color:#46362a; font-size:14px; }
.cs-storefront .bx-perks i { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e9f4ee; color:#336244; font-size:10px; }
.cs-storefront .bx-deadline { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:8px; background:#f5f1ea; color:#725736; font-size:13px; font-weight:700; }
.cs-storefront .bx-buy { display:flex; align-items:stretch; gap:10px; margin-top:4px; }
.cs-storefront .bx-buy .bx-qty { order:1; }
.cs-storefront .bx-buy .bx-buy-button { order:2; flex:1; }
.cs-storefront .bx-qty { display:flex; align-items:center; border:1px solid var(--cs-line); border-radius:10px; background:#fff; overflow:hidden; }
.cs-storefront .bx-qty button { width:40px; height:46px; border:0; background:transparent; color:var(--cs-ink); font-size:18px; cursor:pointer; }
.cs-storefront .bx-qty button:hover { background:#f0eae0; }
.cs-storefront .bx-qty input { width:40px; height:46px; border:0; background:transparent; color:var(--cs-ink); font-size:16px; font-weight:800; text-align:center; -moz-appearance:textfield; }
.cs-storefront .bx-qty input::-webkit-outer-spin-button, .cs-storefront .bx-qty input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.cs-storefront .bx-buy-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 20px; border:0; border-radius:10px; background:var(--cs-accent); color:#fff!important; font-size:15px; font-weight:800; text-transform:none; letter-spacing:0; transition:background .15s ease; }
.cs-storefront .bx-buy-button:hover { background:#9d694a; }

/* contents: item + item + … = price */
.cs-storefront .bx-contents { margin-top:32px; scroll-margin-top:20px; }
.cs-storefront .bx-contents-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:16px; }
.cs-storefront .bx-contents-head h2 { margin:0; font-size:22px; font-weight:800; }
.cs-storefront .bx-contents-head span { color:var(--cs-muted); font-size:14px; }
.cs-storefront .bx-equation { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cs-storefront .bx-item { flex:1 1 180px; max-width:230px; align-self:stretch; display:flex; flex-direction:column; border:1px solid var(--cs-line); border-radius:14px; background:#fff; overflow:hidden; transition:border-color .15s ease, box-shadow .15s ease; }
.cs-storefront .bx-item:hover { border-color:#d2bfa0; box-shadow:0 8px 22px #2b1d140f; }
.cs-storefront .bx-item-image { display:grid; place-items:center; aspect-ratio:4/3; padding:12px; background:#f9f6f1; color:#c4b399; font-size:28px; }
.cs-storefront .bx-item-image img { width:100%; height:100%; object-fit:contain; }
.cs-storefront .bx-item-body { display:flex; flex:1; flex-direction:column; gap:3px; padding:12px 14px 14px; }
.cs-storefront .bx-item-body h3 { margin:0; font-size:15px; font-weight:700; line-height:1.35; }
.cs-storefront .bx-item-body h3 a { color:var(--cs-ink); }
.cs-storefront .bx-item-body h3 a:hover { color:var(--cs-accent); }
.cs-storefront .bx-item-body p { margin:0; color:var(--cs-muted); font-size:13px; }
.cs-storefront .bx-item-body strong { margin-top:auto; padding-top:6px; font-size:16px; }
.cs-storefront .bx-op { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:#ede5d8; color:#7a6a58; font-size:18px; font-weight:800; }
.cs-storefront .bx-op-eq { background:#f1ebe1; color:var(--cs-accent); }
.cs-storefront .bx-total { display:flex; flex-direction:column; gap:2px; padding:16px 20px; border:1px solid #d2bfa0; border-radius:14px; background:#f4f0e8; }
.cs-storefront .bx-total del { color:#a08f78; font-size:14px; }
.cs-storefront .bx-total strong { font-size:26px; font-weight:900; color:var(--cs-ink); }
.cs-storefront .bx-total span { color:#336244; font-size:13px; font-weight:800; }

/* cards (home band + /bundles) */
.cs-storefront .bxl-hero { margin:14px 0 22px; padding:26px 28px; border:1px solid #eee4db; border-radius:18px; background:linear-gradient(135deg,#f4f0e8 0%,#ffffff 70%); }
.cs-storefront .bxl-hero h1 { margin:10px 0 6px; font-size:clamp(24px,3vw,30px); font-weight:800; }
.cs-storefront .bxl-hero p { margin:0; color:var(--cs-muted); max-width:620px; }
.cs-storefront .bxl-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px; }
.cs-storefront .bxc { position:relative; display:flex; flex-direction:column; border:1px solid var(--cs-line); border-radius:16px; background:#fff; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cs-storefront .bxc:hover { transform:translateY(-3px); border-color:#d2bfa0; box-shadow:0 14px 30px #2b1d141a; }
.cs-storefront .bxc-visual { position:relative; display:block; aspect-ratio:4/3; padding:12px; background:#f9f6f1; border-bottom:1px solid #ebe3d6; }
.cs-storefront .bxc-visual > img { width:100%; height:100%; object-fit:contain; }
.cs-storefront .bxc-collage { display:grid; grid-template-columns:1fr 1fr; gap:6px; width:100%; height:100%; }
.cs-storefront .bxc-collage > span { display:grid; place-items:center; border-radius:10px; background:#fff; overflow:hidden; }
.cs-storefront .bxc-collage img { width:100%; height:100%; object-fit:contain; padding:6px; }
.cs-storefront .bxc-ribbon { position:absolute; z-index:1; top:10px; right:10px; padding:4px 9px; border-radius:8px; background:var(--cs-accent); color:#fff; font-size:14px; font-weight:900; }
.cs-storefront .bxc-body { display:flex; flex:1; flex-direction:column; gap:8px; padding:14px 16px 16px; }
.cs-storefront .bxc-tag { display:inline-flex; align-items:center; gap:6px; color:#4f3725; font-size:11.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.cs-storefront .bxc h3 { margin:0; font-size:16px; font-weight:800; line-height:1.3; }
.cs-storefront .bxc h3 a { color:var(--cs-ink); }
.cs-storefront .bxc h3 a:hover { color:var(--cs-accent); }
.cs-storefront .bxc-members { display:flex; }
.cs-storefront .bxc-members > span { display:grid; place-items:center; width:32px; height:32px; margin-left:-7px; border:2px solid #fff; border-radius:50%; background:#efe8dd; overflow:hidden; color:#9aa4b2; font-size:12px; box-shadow:0 1px 3px #0000001f; }
.cs-storefront .bxc-members > span:first-child { margin-left:0; }
.cs-storefront .bxc-members img { width:100%; height:100%; object-fit:contain; padding:2px; background:#fff; }
.cs-storefront .bxc-members .bxc-more { background:var(--cs-ink); color:#fff; font-weight:800; }
.cs-storefront .bxc-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin-top:auto; }
.cs-storefront .bxc-price strong { font-size:22px; font-weight:900; color:var(--cs-ink); }
.cs-storefront .bxc-price del { color:#a08f78; font-size:14px; }
.cs-storefront .bxc-save { align-self:flex-start; padding:3px 9px; border-radius:6px; background:#e9f4ee; color:#336244; font-size:12px; font-weight:800; }
.cs-storefront .bxc-cta { display:flex; align-items:center; justify-content:space-between; margin-top:4px; padding:10px 14px; border:1px solid var(--cs-line); border-radius:10px; color:var(--cs-ink)!important; font-weight:700; font-size:14px; transition:all .15s ease; }
.cs-storefront .bxc-cta:hover { border-color:var(--cs-accent); background:var(--cs-accent); color:#fff!important; }

/* home: soft warm band so bundles stand out without a heavy dark block */
.cs-storefront .bx-band { margin:40px 0; padding:28px; border:1px solid #eee4db; border-radius:20px; background:linear-gradient(135deg,#efe8dd 0%,#f8f5ef 50%,#ffffff 100%); }
.cs-storefront .bx-band-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.cs-storefront .bx-band-head h2 { margin:10px 0 4px; font-size:clamp(22px,2.6vw,28px); font-weight:800; }
.cs-storefront .bx-band-head p { margin:0; color:var(--cs-muted); font-size:14px; }
.cs-storefront .bx-band-all { flex-shrink:0; display:inline-flex; align-items:center; gap:8px; padding:10px 15px; border:1px solid #d2bfa0; border-radius:10px; background:#fff; color:#4f3725!important; font-weight:700; font-size:14px; white-space:nowrap; transition:all .15s ease; }
.cs-storefront .bx-band-all:hover { background:var(--cs-accent); border-color:var(--cs-accent); color:#fff!important; }
.cs-storefront .bx-band-all span { padding:1px 8px; border-radius:99px; background:#f1ebe1; color:#4f3725; font-size:12px; }

@media(max-width:991px) {
 .cs-storefront .bx-hero { grid-template-columns:1fr; gap:22px; padding:22px; }
 .cs-storefront .bx-offer { max-width:none; }
 .cs-storefront .bx-main-image, .cs-storefront .bx-collage { max-height:300px; }
}
@media(max-width:575px) {
 .cs-storefront .bx-hero { padding:16px; border-radius:16px; }
 .cs-storefront .bx-ribbon { top:-8px; left:-8px; width:56px; height:56px; font-size:16px; }
 .cs-storefront .bx-included-label { display:none; }
 .cs-storefront .bx-buy { flex-wrap:wrap; }
 .cs-storefront .bx-buy .bx-buy-button { flex:1 1 100%; }
 .cs-storefront .bx-equation { flex-direction:column; align-items:stretch; }
 .cs-storefront .bx-item { max-width:none; flex-basis:auto; flex-direction:row; }
 .cs-storefront .bx-item-image { flex:0 0 92px; aspect-ratio:auto; }
 .cs-storefront .bx-op { align-self:center; }
 .cs-storefront .bx-total { text-align:center; }
 .cs-storefront .bx-band { margin:28px 0; padding:18px 14px; border-radius:16px; }
 .cs-storefront .bx-band-head { flex-direction:column; align-items:flex-start; }
 .cs-storefront .bxl-hero { padding:20px 16px; }
}

/* home band: intro column on the left, slider of vertical cards on the right */
.cs-storefront .bx-band { display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; align-items:center; margin:36px 0; padding:24px; }
.cs-storefront .bx-band-intro { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.cs-storefront .bx-band-intro h2 { margin:4px 0 0; font-size:clamp(22px,2.4vw,26px); font-weight:800; }
.cs-storefront .bx-band-intro p { margin:0 0 6px; color:var(--cs-muted); font-size:14px; line-height:1.55; }
.cs-storefront .bx-band-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:4px; }
.cs-storefront .bx-band-arrows { display:flex; gap:8px; }
.cs-storefront .bx-band-arrows[hidden] { display:none; }
.cs-storefront .bx-band-arrows button { display:grid; place-items:center; width:40px; height:40px; border:1px solid #d2bfa0; border-radius:50%; background:#fff; color:#4f3725; cursor:pointer; transition:all .15s ease; }
.cs-storefront .bx-band-arrows button:hover:not(:disabled) { background:var(--cs-accent); border-color:var(--cs-accent); color:#fff; }
.cs-storefront .bx-band-arrows button:disabled { opacity:.35; cursor:default; }
.cs-storefront .bx-band-cards { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 2 * 18px) / 3); gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px 2px 10px; scrollbar-width:none; }
.cs-storefront .bx-band-cards::-webkit-scrollbar { display:none; }
.cs-storefront .bx-band-cards > .bxc { scroll-snap-align:start; }
.cs-storefront .bx-band-cards .bxc:hover { transform:none; }
.cs-storefront .bx-band-cards .bxc-visual { aspect-ratio:1/1; }
@media(max-width:1199px) { .cs-storefront .bx-band-cards { grid-auto-columns:calc((100% - 18px) / 2); } }
@media(max-width:767px) {
 .cs-storefront .bx-band { grid-template-columns:1fr; gap:14px; padding:18px 14px; }
 .cs-storefront .bx-band-actions { flex-direction:row; align-items:center; justify-content:space-between; width:100%; }
 .cs-storefront .bx-band-cards { grid-auto-columns:72%; gap:12px; }
}

/* bundle page v3: photo stage + deal ticket */
.cs-storefront .bx-visual { display:grid; grid-template-columns:1fr; gap:12px; }
.cs-storefront .bx-visual.has-thumbs { grid-template-columns:72px minmax(0,1fr); }
.cs-storefront .bx-visual .bx-thumbs { flex-direction:column; overflow:visible; }
.cs-storefront .bx-visual .bx-thumbs button { flex:0 0 72px; width:72px; height:72px; padding:3px; border-radius:12px; }
.cs-storefront .bx-visual .bx-thumbs img { border-radius:8px; object-fit:cover; }
.cs-storefront .bx-stage { position:relative; display:grid; place-items:center; aspect-ratio:1/1; max-height:460px; width:100%; overflow:hidden; border-radius:18px; background:#f3ede7; isolation:isolate; }
.cs-storefront .bx-stage::before { content:""; position:absolute; inset:-30px; z-index:-1; background:var(--bx-bg) center/cover no-repeat; filter:blur(28px) saturate(1.15); opacity:.55; transform:scale(1.1); }
.cs-storefront .bx-stage::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#ffffff33,#ffffff00 40%,#2b1d1414); }
.cs-storefront .bx-stage > img { max-width:88%; max-height:88%; object-fit:contain; border-radius:12px; box-shadow:0 18px 40px #2b1d142e; }
.cs-storefront .bx-stage-collage { padding:16px; background:linear-gradient(135deg,#efe8dd,#fdf8f4); }
.cs-storefront .bx-stage-collage .bx-collage { width:100%; height:100%; max-height:none; aspect-ratio:auto; }
.cs-storefront .bx-stage-ribbon { position:absolute; top:14px; left:14px; padding:7px 12px; border-radius:10px; background:var(--cs-accent); color:#fff; font-size:18px; font-weight:900; box-shadow:0 8px 20px #6b4c3355; }
.cs-storefront .bx-ribbon, .cs-storefront .bx-count-chip, .cs-storefront .bx-main-image { display:none; }

/* deal ticket */
.cs-storefront .bx-ticket { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; border-radius:16px; box-shadow:0 10px 26px #6b4c331f; }
.cs-storefront .bx-ticket.no-save { grid-template-columns:1fr; }
.cs-storefront .bx-ticket-main { display:flex; flex-direction:column; justify-content:center; gap:2px; padding:16px 22px; border:1px solid #e9dbd0; border-right:0; border-radius:16px 0 0 16px; background:#fff; }
.cs-storefront .bx-ticket.no-save .bx-ticket-main { border-right:1px solid #e9dbd0; border-radius:16px; }
.cs-storefront .bx-ticket-label { color:var(--cs-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.cs-storefront .bx-ticket-main strong { color:var(--cs-ink); font-size:clamp(30px,3.2vw,38px); font-weight:900; line-height:1.1; letter-spacing:-.01em; white-space:nowrap; }
.cs-storefront .bx-ticket-old { color:var(--cs-muted); font-size:13px; }
.cs-storefront .bx-ticket-old del { color:#a08f78; }
.cs-storefront .bx-ticket-save { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; min-width:150px; padding:14px 22px; border-radius:0 16px 16px 0; background:linear-gradient(135deg,#bc9170,#6b4c33 60%,#9a6649); color:#fff; text-align:center; }
/* perforation + notches between the two halves */
.cs-storefront .bx-ticket-save::before { content:""; position:absolute; left:0; top:12px; bottom:12px; border-left:2px dashed #ffffff8c; }
.cs-storefront .bx-ticket-save::after { content:""; position:absolute; left:-9px; top:-9px; width:18px; height:calc(100% + 18px); background:radial-gradient(circle at 9px 9px,#fff 8px,transparent 8.5px) top/18px 18px no-repeat, radial-gradient(circle at 9px 9px,#fff 8px,transparent 8.5px) bottom/18px 18px no-repeat; }
.cs-storefront .bx-ticket-save span { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; opacity:.9; }
.cs-storefront .bx-ticket-save strong { font-size:22px; font-weight:900; line-height:1.2; white-space:nowrap; }
.cs-storefront .bx-ticket-save em { margin-top:4px; padding:2px 9px; border-radius:99px; background:#ffffff2e; font-size:13px; font-style:normal; font-weight:800; }
.cs-storefront .bx-price, .cs-storefront .bx-save-pill { display:none; }

/* perks as compact chips */
.cs-storefront .bx-perks { flex-direction:row; flex-wrap:wrap; gap:8px; }
.cs-storefront .bx-perks li { padding:5px 11px 5px 6px; border-radius:99px; background:#f4f0e9; font-size:13px; }

@media(max-width:575px) {
 .cs-storefront .bx-visual.has-thumbs { grid-template-columns:1fr; }
 .cs-storefront .bx-visual.has-thumbs .bx-thumbs { order:2; flex-direction:row; overflow-x:auto; }
 .cs-storefront .bx-visual .bx-thumbs button { flex-basis:60px; width:60px; height:60px; }
 .cs-storefront .bx-ticket { grid-template-columns:1fr; }
 .cs-storefront .bx-ticket-main { border-right:1px solid #e9dbd0; border-radius:16px 16px 0 0; }
 .cs-storefront .bx-ticket-save { flex-direction:row; gap:10px; min-width:0; border-radius:0 0 16px 16px; }
 .cs-storefront .bx-ticket-save::before { left:12px; right:12px; top:0; bottom:auto; border-left:0; border-top:2px dashed #ffffff8c; }
 .cs-storefront .bx-ticket-save::after { display:none; }
 .cs-storefront .bx-ticket-save em { margin-top:0; }
}
/* the theme-reset above (section.bx-hero { padding:0 }) outranked the card padding */
.cs-storefront section.bx-hero { padding:36px; }
@media(max-width:991px) { .cs-storefront section.bx-hero { padding:24px; } }
@media(max-width:575px) { .cs-storefront section.bx-hero { padding:16px; } }

/* ===== Home "trend" mosaic (most viewed, random pick) ===== */
.cs-storefront .trend { margin:16px 0 40px; }
.cs-storefront .trend-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px; }
.cs-storefront .trend-head h2 { margin:6px 0 0; font-size:clamp(22px,2.4vw,26px); font-weight:800; }
.cs-storefront .trend-head p { max-width:380px; margin:0; color:var(--cs-muted); font-size:14px; text-align:right; }
.cs-storefront .trend-eyebrow { display:inline-flex; align-items:center; gap:7px; padding:4px 10px; border-radius:99px; background:#f9f0f0; color:#8c5842; font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.cs-storefront .trend-eyebrow i { color:#c46f6f; }
.cs-storefront .trend-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:18px; }
.cs-storefront .trend-lead { position:relative; display:flex; flex-direction:column; border:1px solid var(--cs-line); border-radius:18px; background:#fff; overflow:hidden; color:var(--cs-ink); transition:border-color .15s ease, box-shadow .15s ease; }
.cs-storefront .trend-lead:hover { border-color:#d2bfa0; box-shadow:0 14px 32px #2b1d141a; color:var(--cs-ink); }
.cs-storefront .trend-lead-image { flex:1; display:grid; place-items:center; min-height:260px; padding:24px; background:#fff; color:#c4b399; font-size:40px; }
.cs-storefront .trend-lead-image img { width:100%; max-height:300px; object-fit:contain; transition:transform .3s ease; }
.cs-storefront .trend-lead:hover .trend-lead-image img { transform:scale(1.04); }
.cs-storefront .trend-lead-copy { display:flex; flex-direction:column; gap:4px; padding:16px 20px 18px; border-top:1px solid #ebe3d6; }
.cs-storefront .trend-lead-copy small { color:var(--cs-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.cs-storefront .trend-lead-copy strong { font-size:19px; font-weight:800; line-height:1.3; }
.cs-storefront .trend-meta { display:flex; align-items:center; gap:12px; margin-top:2px; }
.cs-storefront .trend-meta b { font-size:17px; font-weight:900; color:var(--cs-ink); }
.cs-storefront .trend-meta em { display:inline-flex; align-items:center; gap:5px; color:var(--cs-muted); font-size:12.5px; font-style:normal; font-weight:700; }
.cs-storefront .trend-rank { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; background:#ede5d8; color:#5a4a3a; font-size:14px; font-weight:900; }
.cs-storefront .trend-rank-lead { position:absolute; z-index:1; top:14px; left:14px; width:auto; height:auto; padding:6px 12px; border-radius:10px; background:linear-gradient(135deg,#b3805c,#c46f6f); color:#fff; font-size:16px; box-shadow:0 6px 16px #c46f6f55; }
.cs-storefront .trend-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.cs-storefront .trend-list li:nth-child(1) .trend-rank, .cs-storefront .trend-list li:nth-child(2) .trend-rank { background:#f1ebe1; color:#8c5842; }
.cs-storefront .trend-tile { display:flex; align-items:center; gap:12px; height:100%; padding:12px; border:1px solid var(--cs-line); border-radius:14px; background:#fff; color:var(--cs-ink); transition:border-color .15s ease, transform .15s ease; }
.cs-storefront .trend-tile:hover { border-color:#d2bfa0; transform:translateY(-2px); color:var(--cs-ink); }
.cs-storefront .trend-tile-image { display:grid; place-items:center; flex:0 0 68px; height:68px; border-radius:10px; background:#fff; overflow:hidden; color:#c4b399; }
.cs-storefront .trend-tile-image img { width:100%; height:100%; object-fit:contain; padding:4px; }
.cs-storefront .trend-tile-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.cs-storefront .trend-tile-copy strong { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:14px; font-weight:700; line-height:1.35; }
.cs-storefront .trend-tile .trend-meta b { font-size:15px; }
@media(max-width:991px) { .cs-storefront .trend-grid { grid-template-columns:1fr; } .cs-storefront .trend-lead { flex-direction:row; } .cs-storefront .trend-lead-image { flex:0 0 44%; min-height:220px; } .cs-storefront .trend-lead-copy { justify-content:center; border-top:0; border-left:1px solid #ebe3d6; } }
@media(max-width:575px) {
 .cs-storefront .trend-head { flex-direction:column; align-items:flex-start; }
 .cs-storefront .trend-head p { text-align:left; }
 .cs-storefront .trend-lead { flex-direction:column; }
 .cs-storefront .trend-lead-image { min-height:200px; }
 .cs-storefront .trend-lead-copy { border-left:0; border-top:1px solid #ebe3d6; }
 .cs-storefront .trend-list { grid-template-columns:1fr; }
}

/* product page: views next to the stock status */
.cs-storefront .product-status-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.cs-storefront .product-views { display:inline-flex; align-items:center; gap:6px; color:var(--cs-muted); font-size:13px; font-weight:600; }

/* === COMPACT CATEGORIES (trial) — START ===
   Home "Kateqoriyalar" tiles: icon + label in one row, smaller height.
   To revert: delete everything between START and END. */
@media (min-width:768px) {
 .cs-storefront .category-grid { margin-left:-6px; margin-right:-6px; margin-bottom:28px!important; }
 .cs-storefront .category-grid>[class*="col-"] { padding-left:6px; padding-right:6px; margin-bottom:12px!important; }
}
.cs-storefront .category-tile { flex-direction:row; justify-content:flex-start; gap:10px; min-height:58px; padding:10px 12px!important; font-size:13px; line-height:1.3; text-align:left; }
.cs-storefront .category-tile>i { flex:0 0 34px; width:34px; height:34px; font-size:17px; border-radius:9px; }
.cs-storefront .category-tile>img { flex:0 0 34px; width:34px; height:34px; }
.cs-storefront .category-tile>span { min-width:0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
@media (max-width:767px) {
 .cs-storefront .category-tile { flex-direction:column; justify-content:center; gap:6px; min-height:76px; padding:8px 6px!important; font-size:11.5px; text-align:center; }
 .cs-storefront .category-tile>i, .cs-storefront .category-tile>img { flex-basis:auto; width:30px; height:30px; font-size:15px; }
}
/* === COMPACT CATEGORIES (trial) — END === */

/* trend: full-width warm background band (box-shadow + clip-path = edge to edge, no horizontal scroll) */
.cs-storefront section.trend { --trend-bg:#f7f1ed; position:relative; margin:24px 0 48px; padding:44px 0 48px; background:var(--trend-bg); box-shadow:0 0 0 100vmax var(--trend-bg); clip-path:inset(0 -100vmax); }
.cs-storefront section.trend .trend-eyebrow { background:#fff; }
.cs-storefront section.trend .trend-head p { color:#6b5b4f; }
@media(max-width:767px) { .cs-storefront section.trend { padding:28px 0 32px; margin:16px 0 32px; } }

@media(max-width:767px) { .cs-storefront .trend-lead-image { flex:none; min-height:0; height:220px; } .cs-storefront .trend-lead-image img { max-height:180px; } }

/* trend tiles v2: big photo filling the tile height, rank on the photo corner, colour dots */
.cs-storefront .trend-tile { position:relative; gap:16px; padding:10px 16px 10px 10px; }
.cs-storefront .trend-tile-image { flex:0 0 42%; align-self:stretch; height:auto; min-height:118px; border-radius:11px; background:#fff; border:1px solid #ebe3d6; }
.cs-storefront .trend-tile-image img { padding:8px; transition:transform .25s ease; }
.cs-storefront .trend-tile:hover .trend-tile-image img { transform:scale(1.05); }
.cs-storefront .trend-tile .trend-rank { position:absolute; top:16px; left:16px; z-index:1; width:26px; height:26px; font-size:12px; }
.cs-storefront .trend-colors { display:flex; align-items:center; gap:5px; margin-top:2px; }
.cs-storefront .trend-colors i { width:14px; height:14px; border-radius:50%; background:var(--c,#d1d5db); box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 2px #fff; }
.cs-storefront .trend-colors i.is-unknown { background:conic-gradient(#c46f6f,#ae8c52,#4f986a,#728fbf,#a784c8,#c46f6f); }
.cs-storefront .trend-colors small { color:var(--cs-muted); font-size:11px; font-weight:700; }
@media(max-width:575px) { .cs-storefront .trend-tile-image { flex-basis:38%; min-height:100px; } }

/* bundle collage: rows must not grow with the images (they overflowed the stage) */
.cs-storefront .bx-stage-collage { padding:18px; }
.cs-storefront .bx-stage-collage .bx-collage { grid-template-rows:minmax(0,1fr); min-height:0; }
.cs-storefront .bx-stage-collage .bx-collage-3, .cs-storefront .bx-stage-collage .bx-collage-4 { grid-template-rows:repeat(2,minmax(0,1fr)); }
.cs-storefront .bx-stage-collage .bx-collage span { min-height:0; min-width:0; }
.cs-storefront .bx-stage-collage .bx-collage img { max-height:100%; }
.cs-storefront .bx-stage-collage .bx-collage span { position:relative; }
.cs-storefront .bx-stage-collage .bx-collage img { position:absolute; inset:0; width:100%; height:100%; max-height:none; padding:14px; }

/* Bundle detail: interactive product collection. */
.cs-storefront .bundle-page section.bx-hero { padding:28px; gap:32px; background:#fff; border-color:#e7e9ee; box-shadow:0 12px 40px #2b1d1408; }
.cs-storefront .bundle-page .bx-offer { max-width:none; gap:16px; }
.cs-storefront .bundle-page .bx-stage { max-height:430px; }
.cs-storefront .bundle-page .bx-stage-collage { padding:12px; background:linear-gradient(145deg,#f8f4f0,#f0f2f5); }
.cs-storefront .bundle-page .bx-collage { gap:10px; }
.cs-storefront .bundle-page .bx-collage-item { position:relative; min-width:0; min-height:0; overflow:hidden; padding:0; border:1px solid #e9e9ed; border-radius:14px; background:#fff; cursor:pointer; transition:border-color .2s,box-shadow .2s; }
.cs-storefront .bundle-page .bx-collage-item:hover { border-color:#d2b39e; box-shadow:0 5px 16px #2b1d1412; }
.cs-storefront .bundle-page .bx-collage-item img { padding:26px 20px 40px; transition:transform .25s; }
.cs-storefront .bundle-page .bx-collage-item:hover img { transform:scale(1.06); }
.cs-storefront .bundle-page .bx-collage-item .bx-collage-index { position:absolute; top:10px; left:12px; display:block; width:auto; height:auto; background:transparent; border:0; color:#a1a8b2; font-size:11px; font-weight:700; z-index:1; }
.cs-storefront .bundle-page .bx-collage-item .bx-collage-caption { position:absolute; inset:auto 0 0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border:0; border-radius:0; background:#ffffffed; color:var(--cs-ink); font-size:12px; font-weight:700; text-align:left; }
.cs-storefront .bundle-page .bx-collage-caption i { color:var(--cs-accent); flex-shrink:0; }
.cs-storefront .bundle-page .bx-visual-caption { grid-column:1/-1; display:flex; justify-content:space-between; gap:10px; color:var(--cs-muted); font-size:11px; padding:0 4px; }
.cs-storefront .bundle-page .bx-visual-caption span:first-child { color:var(--cs-ink); font-weight:700; }
.cs-storefront .bundle-page .bx-included { flex-wrap:wrap; gap:10px; padding:10px 12px; background:#f9f6f1; }
.cs-storefront .bundle-page .bx-included-thumbs { gap:5px; flex-wrap:wrap; }
.cs-storefront .bundle-page .bx-included-thumbs button { width:44px; height:44px; padding:3px; border:1px solid #e3d7c2; border-radius:10px; background:#fff; cursor:pointer; transition:transform .2s,border-color .2s; }
.cs-storefront .bundle-page .bx-included-thumbs button:hover { transform:translateY(-3px); border-color:var(--cs-accent); }
.cs-storefront .bundle-page .bx-included-link { display:inline-flex; align-items:center; gap:5px; min-height:44px; }
.cs-storefront .bundle-page .bx-perks li { background:transparent; padding:0; font-size:12px; }
.cs-storefront .bundle-page .bx-buy-button { min-height:50px; box-shadow:0 5px 14px #b17a581f; }
.cs-storefront .bundle-page .bx-contents { margin-top:36px; scroll-margin-top:120px; }
.cs-storefront .bundle-page #bundle-title { scroll-margin-top:120px; }
.cs-storefront .bundle-page .bx-contents-head { align-items:center; margin-bottom:20px; }
.cs-storefront .bundle-page .bx-section-eyebrow { display:block; color:#4f3725; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-bottom:7px; }
.cs-storefront .bundle-page .bx-contents-head p { margin:6px 0 0; color:var(--cs-muted); font-size:13px; }
.cs-storefront .bundle-page .bx-members-count { flex-shrink:0; padding:7px 12px; border:1px solid #e3d7c2; border-radius:30px; background:#fff; font-size:12px; }
.cs-storefront .bundle-page .bx-members-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.cs-storefront .bundle-page .bx-member-card { min-width:0; display:flex; flex-direction:column; border:1px solid #e3d7c2; border-radius:16px; background:#fff; overflow:hidden; transition:box-shadow .2s,border-color .2s,transform .2s; }
.cs-storefront .bundle-page .bx-member-card:hover { transform:translateY(-3px); border-color:#d2bfa0; box-shadow:0 10px 24px #2b1d140c; }
.cs-storefront .bundle-page .bx-member-image { position:relative; width:100%; height:200px; border:0; padding:22px 24px 40px; background:#fff; cursor:pointer; }
.cs-storefront .bundle-page .bx-member-image img { width:100%; height:100%; object-fit:contain; transition:transform .25s; }
.cs-storefront .bundle-page .bx-member-image:hover img { transform:scale(1.06); }
.cs-storefront .bundle-page .bx-member-number { position:absolute; top:12px; left:14px; color:#a08f78; font-size:11px; font-weight:700; }
.cs-storefront .bundle-page .bx-member-preview-label { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:6px; white-space:nowrap; padding:5px 10px; border-radius:20px; background:#f0eae0; color:#616b78; font-size:11px; }
.cs-storefront .bundle-page .bx-member-copy { display:flex; flex-direction:column; flex:1; padding:16px; border-top:1px solid #ebe3d6; }
.cs-storefront .bundle-page .bx-member-copy h3 { margin:0 0 5px; font-size:16px; }
.cs-storefront .bundle-page .bx-member-copy h3 button { padding:0; border:0; background:transparent; font:inherit; font-weight:700; text-align:left; color:var(--cs-ink); cursor:pointer; }
.cs-storefront .bundle-page .bx-member-copy h3 button:hover { color:var(--cs-accent); }
.cs-storefront .bundle-page .bx-member-copy p { color:var(--cs-muted); font-size:12px; margin:0 0 12px; }
.cs-storefront .bundle-page .bx-member-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:8px; }
.cs-storefront .bundle-page .bx-member-bottom small { display:block; color:var(--cs-muted); font-size:11px; }
.cs-storefront .bundle-page .bx-member-bottom strong { font-size:17px; }
.cs-storefront .bundle-page .bx-member-bottom a { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#f9f5f1; color:#4f3725; flex-shrink:0; }
.cs-storefront .bundle-page .bx-summary-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; margin-top:20px; border-radius:16px; background:#252e3b; color:#fff; }
.cs-storefront .bundle-page .bx-summary-bar > span { font-weight:700; font-size:14px; }
.cs-storefront .bundle-page .bx-summary-bar > span i { margin-right:8px; color:#d1b39e; }
.cs-storefront .bundle-page .bx-summary-bar > div { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.cs-storefront .bundle-page .bx-summary-bar del { color:#aeb7c4; font-size:13px; }
.cs-storefront .bundle-page .bx-summary-bar strong { color:#fff; font-size:24px; }
.cs-storefront .bundle-page .bx-summary-bar div span { color:#b1d7c1; font-size:12px; }
.cs-storefront .bundle-page .bx-summary-bar a { display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid #657080; border-radius:10px; color:#fff; font-size:13px; }
body.bx-preview-open { overflow:hidden; }
.cs-storefront .bx-preview-dialog { width:min(780px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #e3d7c2; border-radius:20px; background:#fff; color:var(--cs-ink); box-shadow:0 24px 100px #0003; overflow:auto; }
.cs-storefront .bx-preview-dialog::backdrop { background:#18223099; backdrop-filter:blur(5px); }
.cs-storefront .bx-preview-toolbar { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-bottom:1px solid #edf0f3; font-size:13px; font-weight:700; }
.cs-storefront .bx-preview-toolbar b { margin-left:8px; color:#9aa2ae; font-weight:500; }
.cs-storefront .bx-preview-toolbar button { width:44px; height:44px; border:0; border-radius:50%; background:#f0eae0; cursor:pointer; }
.cs-storefront .bx-preview-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; padding:28px; }
.cs-storefront .bx-preview-main { width:100%; height:280px; object-fit:contain; }
.cs-storefront .bx-preview-thumbs { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.cs-storefront .bx-preview-thumbs button { width:52px; height:52px; border:1px solid #e3d7c2; border-radius:9px; padding:5px; background:#fff; cursor:pointer; }
.cs-storefront .bx-preview-thumbs button[aria-pressed=true] { border-color:var(--cs-accent); }
.cs-storefront .bx-preview-thumbs img { width:100%; height:100%; object-fit:contain; }
.cs-storefront .bx-preview-copy { align-self:center; }
.cs-storefront .bx-preview-copy h2 { margin:16px 0 8px; font-size:26px; overflow-wrap:anywhere; }
.cs-storefront .bx-preview-variant,.cs-storefront .bx-preview-note { color:var(--cs-muted); font-size:13px; line-height:1.6; }
.cs-storefront .bx-preview-price { margin:20px 0 12px; padding:16px; border-radius:12px; background:#f4f0e9; }
.cs-storefront .bx-preview-price span { display:block; color:var(--cs-muted); font-size:12px; }
.cs-storefront .bx-preview-price strong { font-size:26px; }
.cs-storefront .bx-preview-product-link { display:inline-flex; gap:10px; align-items:center; min-height:44px; color:#4f3725; font-weight:700; font-size:13px; }
.cs-storefront .bx-preview-placeholder { display:grid; place-content:center; gap:12px; height:280px; text-align:center; color:var(--cs-muted); }
.cs-storefront .bx-preview-navigation { display:flex; justify-content:space-between; padding:12px 20px; border-top:1px solid #edf0f3; }
.cs-storefront .bx-preview-navigation button { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 14px; border:1px solid #e3d7c2; border-radius:10px; background:#fff; color:var(--cs-ink); cursor:pointer; }
.cs-storefront .bx-preview-navigation button:disabled { opacity:.35; cursor:default; }
.cs-storefront .bundle-page button:focus-visible,.cs-storefront .bundle-page a:focus-visible { outline:3px solid #c7a188; outline-offset:3px; }
@media(max-width:991px) {
 .cs-storefront .bundle-page section.bx-hero { padding:22px; grid-template-columns:1fr; }
 .cs-storefront .bundle-page .bx-stage { aspect-ratio:4/3; max-height:400px; }
 .cs-storefront .bundle-page .bx-members-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:575px) {
 .cs-storefront .bundle-page section.bx-hero { padding:14px; gap:24px; }
 .cs-storefront .bundle-page .bx-stage { aspect-ratio:1/1; }
 .cs-storefront .bundle-page .bx-stage-collage { padding:8px; }
 .cs-storefront .bundle-page .bx-collage { gap:7px; }
 .cs-storefront .bundle-page .bx-collage-item img { padding:22px 12px 38px; }
 .cs-storefront .bundle-page .bx-collage-item .bx-collage-caption { padding:8px; font-size:11px; }
 .cs-storefront .bundle-page .bx-visual-caption { flex-wrap:wrap; gap:4px; }
 .cs-storefront .bundle-page .bx-visual.has-thumbs .bx-visual-caption { order:3; }

 .cs-storefront .bundle-page .bx-included-label { display:block; width:100%; }
 .cs-storefront .bundle-page .bx-included-link { font-size:12px; }
 .cs-storefront .bundle-page .bx-members-grid { gap:10px; }
 .cs-storefront .bundle-page .bx-member-image { height:160px; padding:24px 16px 40px; }
 .cs-storefront .bundle-page .bx-member-copy { padding:12px; }
 .cs-storefront .bundle-page .bx-member-copy h3 { font-size:14px; }
 .cs-storefront .bundle-page .bx-member-bottom { flex-wrap:wrap; }
 .cs-storefront .bundle-page .bx-contents-head { align-items:flex-start; }
 .cs-storefront .bundle-page .bx-summary-bar { padding:18px; gap:12px; }
 .cs-storefront .bx-preview-content { grid-template-columns:1fr; padding:20px; gap:18px; }
 .cs-storefront .bx-preview-main,.cs-storefront .bx-preview-placeholder { height:200px; }
 .cs-storefront .bx-preview-copy h2 { font-size:22px; margin-top:10px; }
 .cs-storefront .bx-preview-price { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .cs-storefront .bundle-page * { transition:none!important; scroll-behavior:auto!important; }
}
@media(max-width:575px) {
 .cs-storefront .bundle-page .bx-included { display:grid; grid-template-columns:minmax(0,1fr) auto; }
 .cs-storefront .bundle-page .bx-included-label { grid-column:1; }
 .cs-storefront .bundle-page .bx-included-link { grid-column:2; grid-row:1; }
 .cs-storefront .bundle-page .bx-included-thumbs { grid-column:1/-1; }
}

/* Folded discount ribbon: a clear silhouette without extra copy. */
.cs-storefront .bundle-page .bx-stage-ribbon { top:20px; left:0; z-index:2; display:inline-flex; align-items:center; justify-content:center; min-width:88px; padding:13px 24px 13px 17px; border:0; border-radius:0; background:transparent; color:#fff; box-shadow:none; isolation:isolate; pointer-events:none; filter:drop-shadow(0 5px 5px #774c382b); }
.cs-storefront .bundle-page .bx-stage-ribbon::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(115deg,#bd9372 0%,#b17b58 50%,#9a6049 100%); clip-path:polygon(0 0,100% 0,calc(100% - 11px) 50%,100% 100%,0 100%); box-shadow:inset 0 1px 0 #ffffff55; }
.cs-storefront .bundle-page .bx-stage-ribbon::after { content:""; position:absolute; top:100%; left:0; width:10px; height:9px; background:#7a4d39; clip-path:polygon(0 0,100% 0,100% 100%); }
.cs-storefront .bundle-page .bx-stage-ribbon strong { color:inherit; font-size:26px; font-weight:900; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; text-shadow:0 1px 1px #74473726; }
.cs-storefront .bundle-page .bx-stage-collage.has-discount { padding-top:86px; }
@media(max-width:575px) {
 .cs-storefront .bundle-page .bx-stage-ribbon { top:12px; min-width:76px; padding:11px 21px 11px 13px; }
 .cs-storefront .bundle-page .bx-stage-ribbon strong { font-size:23px; }
 .cs-storefront .bundle-page .bx-stage-collage.has-discount { padding-top:70px; }
}

/* operator logo on number cards (top right) and on the number page */
.cs-storefront .number-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:22px; }
.cs-storefront .number-card-operator { height:20px; width:auto; max-width:76px; object-fit:contain; flex-shrink:0; opacity:.92; transition:opacity .15s; }
.cs-storefront .number-card:hover .number-card-operator { opacity:1; }
.cs-storefront .number-detail-operator { display:block; height:30px; width:auto; max-width:120px; margin:12px auto 0; object-fit:contain; }

/* Keep in-image banner headlines readable on narrow screens. */
@media(max-width:575px) {
 .cs-storefront .hero-showcase .hero-caption { padding:4px 42px 8px; background:linear-gradient(transparent,rgba(13,23,33,.12)); }
 .cs-storefront .hero-showcase .hero-slider .hero-caption h2 { max-width:100%; padding:4px 8px; border-left-width:2px; border-radius:5px; font-size:11px; line-height:1.2; }
 .cs-storefront .hero-showcase .hero-slider .hero-arrow { top:auto; bottom:34px; transform:none; }
}

.cs-storefront .checkout-terms { margin:22px 0; padding:18px; border:1px solid var(--cs-line); border-radius:12px; background:#f5f1ea; }
.cs-storefront .checkout-terms h2 { margin:0 0 10px; font-size:16px; font-weight:700; }
.cs-storefront .checkout-terms p { margin:0 0 14px; font-size:14px; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; }
.cs-storefront .checkout-terms-consent { display:flex; align-items:flex-start; gap:10px; min-height:44px; margin:0; cursor:pointer; font-size:14px; font-weight:700; }
.cs-storefront .checkout-terms-consent input { flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:#af7755; }

/* ===== Checkout v2: steps on the left, detailed sticky summary on the right ===== */
.cs-storefront .co-layout { display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:28px; align-items:start; }
.cs-storefront .co-form { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:18px; }
.cs-storefront .co-summary { grid-column:2; grid-row:1; position:sticky; top:16px; display:flex; flex-direction:column; gap:12px; }
.cs-storefront .co-step { padding:24px; border:1px solid var(--cs-line); border-radius:16px; background:#fff; }
.cs-storefront .co-step h2 { display:flex; align-items:center; gap:10px; margin:0 0 18px; font-size:18px; font-weight:800; }
.cs-storefront .co-step-no { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--cs-accent); color:#fff; font-size:14px; font-weight:800; }
.cs-storefront .co-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; }
.cs-storefront .co-span-2 { grid-column:1 / -1; }
.cs-storefront .co-field label { display:block; margin-bottom:6px; font-size:13px; font-weight:700; color:var(--cs-ink); }
.cs-storefront .co-field .form-control { min-height:46px; border-radius:10px; border-color:var(--cs-line); font-size:15px; }
.cs-storefront .co-field textarea.form-control { min-height:0; }
.cs-storefront .co-field .form-control:focus { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c3326; }
.cs-storefront .co-req { color:#b15048; }
.cs-storefront .co-optional { color:var(--cs-muted); font-weight:500; }
.cs-storefront .co-hint { display:block; margin-top:5px; color:var(--cs-muted); font-size:12px; }
.cs-storefront .co-phone { display:flex; align-items:stretch; border:1px solid var(--cs-line); border-radius:10px; background:#fff; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
.cs-storefront .co-phone:focus-within { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c3326; }
.cs-storefront .co-phone-prefix { display:flex; align-items:center; padding:0 12px; background:#f5f1ea; border-right:1px solid var(--cs-line); color:var(--cs-ink); font-weight:700; font-variant-numeric:tabular-nums; }
.cs-storefront .co-phone .form-control { border:0; border-radius:0; box-shadow:none !important; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.cs-storefront .co-phone.is-invalid, .cs-storefront .form-control.is-invalid { border-color:#b15048; }
.cs-storefront .co-errors { padding:14px 16px; border:1px solid #efdad9; border-radius:12px; background:#fef3f2; color:#91413b; font-size:14px; }
.cs-storefront .co-errors ul { margin:6px 0 0; padding-left:18px; }
.cs-storefront .co-field-error { margin-top:6px; color:#91413b; font-size:13px; }

.cs-storefront .co-payment { display:flex; align-items:center; gap:14px; padding:14px 16px; border:2px solid var(--cs-accent); border-radius:12px; background:#fff8f2; }
.cs-storefront .co-payment > i:first-child { font-size:22px; color:var(--cs-accent); }
.cs-storefront .co-payment span { display:flex; flex-direction:column; flex:1; }
.cs-storefront .co-payment small { color:var(--cs-muted); font-size:13px; }
.cs-storefront .co-payment-check { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--cs-accent); color:#fff; font-size:12px; }

.cs-storefront .co-consent { display:flex; align-items:flex-start; gap:10px; margin:18px 0 6px; padding:12px 14px; border:1px solid var(--cs-line); border-radius:12px; background:#f9f6f1; }
.cs-storefront .co-consent.is-invalid { border-color:#b15048; background:#fef3f2; }
.cs-storefront .co-consent input { flex:none; width:20px; height:20px; margin-top:1px; accent-color:var(--cs-accent); cursor:pointer; }
.cs-storefront .co-consent label { margin:0; font-size:14px; line-height:1.5; cursor:pointer; }
.cs-storefront .co-terms-link { padding:0; border:0; background:none; color:var(--cs-accent); font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cs-storefront .co-submit { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:16px; padding:16px 22px; border:0; border-radius:12px; background:var(--cs-accent); color:#fff; font-size:17px; font-weight:800; transition:filter .15s, transform .15s; }
.cs-storefront .co-submit:hover { filter:brightness(.95); }
.cs-storefront .co-submit:active { transform:translateY(1px); }

/* summary */
.cs-storefront .co-summary-card { border:1px solid var(--cs-line); border-radius:16px; background:#fff; overflow:hidden; }
.cs-storefront .co-summary-head { display:flex; align-items:center; gap:12px; padding:18px 20px; list-style:none; cursor:pointer; border-bottom:1px solid var(--cs-line); }
.cs-storefront .co-summary-head::-webkit-details-marker { display:none; }
.cs-storefront .co-summary-head > span { display:flex; flex-direction:column; flex:1; }
.cs-storefront .co-summary-title { font-size:18px; font-weight:800; }
.cs-storefront .co-summary-count { color:var(--cs-muted); font-size:13px; }
.cs-storefront .co-summary-total-mini { font-size:16px; }
.cs-storefront .co-summary-chevron { color:var(--cs-muted); transition:transform .2s; }
.cs-storefront .co-summary-card[open] .co-summary-chevron { transform:rotate(180deg); }
.cs-storefront .co-items { max-height:420px; margin:0; padding:6px 20px; overflow:auto; list-style:none; }
.cs-storefront .co-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:14px; align-items:center; padding:12px 0; }
.cs-storefront .co-item + .co-item { border-top:1px dashed var(--cs-line); }
.cs-storefront .co-item-thumb { position:relative; display:grid; place-items:center; width:64px; height:64px; border:1px solid var(--cs-line); border-radius:12px; background:#fff; color:#c4b399; font-size:22px; }
.cs-storefront .co-item-thumb img { width:100%; height:100%; padding:4px; object-fit:contain; border-radius:12px; }
.cs-storefront .co-item-thumb.is-number svg { width:34px; height:34px; }
.cs-storefront .co-item-qty { position:absolute; top:-7px; right:-7px; display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:var(--cs-ink); color:#fff; font-size:12px; font-weight:800; }
.cs-storefront .co-item-body { display:flex; flex-direction:column; gap:4px; min-width:0; }
.cs-storefront .co-item-title { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:14px; font-weight:700; line-height:1.35; }
.cs-storefront .co-item-options { display:flex; flex-wrap:wrap; gap:4px; }
.cs-storefront .co-option { display:inline-flex; align-items:center; gap:5px; padding:2px 8px; border-radius:999px; background:#efe8dd; color:#46362a; font-size:12px; font-weight:600; }
.cs-storefront .co-swatch { width:10px; height:10px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px #0000002e; }
.cs-storefront .co-item-tag { align-self:flex-start; display:inline-flex; align-items:center; gap:5px; padding:2px 8px; border-radius:999px; background:#f1ebe1; color:#81553c; font-size:12px; font-weight:700; }
.cs-storefront .co-item-meta { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:var(--cs-muted); font-size:12px; }
.cs-storefront .co-item-price { display:flex; flex-direction:column; align-items:flex-end; gap:1px; white-space:nowrap; }
.cs-storefront .co-item-price strong { font-size:15px; }
.cs-storefront .co-item-price del, .cs-storefront .co-item-price small { color:var(--cs-muted); font-size:12px; }
.cs-storefront .co-totals { margin:0; padding:14px 20px; border-top:1px solid var(--cs-line); background:#f9f6f1; }
.cs-storefront .co-totals div { display:flex; justify-content:space-between; gap:12px; padding:4px 0; font-size:14px; }
.cs-storefront .co-totals dt { font-weight:500; color:#5a4a3a; }
.cs-storefront .co-totals dd { margin:0; font-weight:700; }
.cs-storefront .co-totals .is-saving dd { color:#2a5241; }
.cs-storefront .co-totals .co-grand { margin-top:6px; padding-top:10px; border-top:1px solid var(--cs-line); font-size:18px; }
.cs-storefront .co-totals .co-grand dt { color:var(--cs-ink); font-weight:800; }
.cs-storefront .co-totals .co-grand dd { font-weight:800; }
.cs-storefront .co-back { display:inline-flex; align-items:center; gap:6px; margin:0 20px 16px; color:var(--cs-muted); font-size:13px; font-weight:600; }
.cs-storefront .co-back:hover { color:var(--cs-accent); }
.cs-storefront .co-perks { display:flex; flex-direction:column; gap:8px; margin:0; padding:14px 16px; border-radius:14px; background:#f5f1ea; list-style:none; font-size:13px; color:#5a4a3a; }
.cs-storefront .co-perks i { margin-right:8px; color:var(--cs-accent); }

/* terms dialog */
.co-terms-dialog { width:min(640px, calc(100vw - 32px)); max-height:min(80vh, 720px); padding:0; border:0; border-radius:18px; box-shadow:0 24px 64px #12182740; }
.co-terms-dialog::backdrop { background:#1218278c; }
.co-terms-dialog[open] { display:flex; flex-direction:column; }
.co-terms-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid #eceef2; }
.co-terms-head h2 { margin:0; font-size:19px; font-weight:800; }
.co-terms-close { display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:10px; background:#efe8dd; }
.co-terms-body { flex:1; padding:20px 22px; overflow:auto; font-size:15px; line-height:1.7; color:#46362a; }
.co-terms-actions { display:flex; justify-content:flex-end; gap:10px; padding:14px 22px; border-top:1px solid #eceef2; background:#f9f6f1; }
.co-terms-secondary, .co-terms-accept { min-height:44px; padding:0 18px; border-radius:10px; font-weight:700; }
.co-terms-secondary { border:1px solid #d0d5dd; background:#fff; }
.co-terms-accept { border:0; background:var(--cs-accent, #6b4c33); color:#fff; }

@media (max-width: 991px) {
    .cs-storefront .co-layout { grid-template-columns:1fr; gap:16px; }
    .cs-storefront .co-summary { grid-column:1; grid-row:1; position:static; }
    .cs-storefront .co-form { grid-row:2; }
    .cs-storefront .co-items { max-height:none; }
}
@media (max-width: 575px) {
    .cs-storefront .co-step { padding:18px 16px; border-radius:14px; }
    .cs-storefront .co-grid { grid-template-columns:1fr; }
    .cs-storefront .co-item { grid-template-columns:56px minmax(0,1fr) auto; gap:12px; }
    .cs-storefront .co-item-thumb { width:56px; height:56px; }
    .co-terms-actions { flex-direction:column-reverse; }
    .co-terms-secondary, .co-terms-accept { width:100%; }
}

/* order lists: product names link to the product */
.cs-storefront a.order-card-item-title { color:inherit; text-decoration:none; }
.cs-storefront a.order-card-item-title:hover { color:var(--cs-accent); text-decoration:underline; text-underline-offset:3px; }

/* checkout summary: picture and name open the product */
.cs-storefront a.co-item-title { color:inherit; text-decoration:none; }
.cs-storefront a.co-item-title[href]:hover { color:var(--cs-accent); text-decoration:underline; text-underline-offset:3px; }
.cs-storefront a.co-item-thumb[href]:hover { border-color:var(--cs-accent); }

/* checkout: city list */
.cs-storefront .co-field .co-select { min-height:46px; border-radius:10px; border-color:var(--cs-line); font-size:15px; }
.cs-storefront .co-field .co-select:focus { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c3326; }

/* city picker with search (x-city-select) */
.cs-storefront .city-select { position:relative; }
.cs-storefront .city-select-native { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; }
.cs-storefront .city-select-button { display:flex; align-items:center; width:100%; min-height:46px; border-radius:10px; border-color:var(--cs-line); background-color:#fff; font-size:15px; text-align:left; cursor:pointer; }
.cs-storefront .city-select-button.is-placeholder { color:#9aa1ab; }
.cs-storefront .city-select-button.is-invalid { border-color:#b15048; }
.cs-storefront .city-select-button[aria-expanded="true"], .cs-storefront .city-select-button:focus { border-color:var(--cs-accent); box-shadow:0 0 0 3px #6b4c3326; outline:0; }
.cs-storefront .city-select-panel { position:absolute; z-index:30; top:calc(100% + 6px); left:0; right:0; padding:8px; border:1px solid var(--cs-line); border-radius:12px; background:#fff; box-shadow:0 16px 40px #12182724; }
.cs-storefront .city-select-search { min-height:40px; border-radius:8px; font-size:14px; }
.cs-storefront .city-select-list { max-height:260px; margin:6px 0 0; padding:0; overflow:auto; list-style:none; }
.cs-storefront .city-select-list li { padding:9px 12px; border-radius:8px; font-size:14px; cursor:pointer; }
.cs-storefront .city-select-list li.is-active { background:#f1ebe1; color:#81553c; }
.cs-storefront .city-select-list li[aria-selected="true"] { font-weight:700; }
.cs-storefront .city-select-empty { margin:8px 4px 2px; color:var(--cs-muted); font-size:13px; }
.cs-storefront .city-select-list { display:block !important; }
.cs-storefront .city-select-list li { display:block !important; float:none !important; width:auto !important; margin:0 !important; }

/* checkout v2.1: one form; payment & confirmation in the right column under the summary */
.cs-storefront .co-layout { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:28px; align-items:start; }
.cs-storefront .co-layout > .co-form { grid-column:1; grid-row:1; }
.cs-storefront .co-side { grid-column:2; grid-row:1; display:flex; flex-direction:column; gap:16px; }
.cs-storefront .co-side .co-summary { position:static; }
.cs-storefront .co-side .co-step { padding:20px; }
.cs-storefront .co-side .co-step h2 { font-size:17px; margin-bottom:14px; }
.cs-storefront .co-side .co-consent { margin-top:14px; }
.cs-storefront .co-side .g-recaptcha { transform-origin:0 0; }
@media (max-width: 991px) {
    .cs-storefront .co-layout { grid-template-columns:1fr; gap:16px; }
    /* phones: summary first, the form, then payment & confirmation */
    .cs-storefront .co-side { display:contents; }
    .cs-storefront .co-side .co-summary { order:-1; }
    .cs-storefront .co-layout > .co-form { grid-column:auto; grid-row:auto; order:0; }
    .cs-storefront .co-side > .co-step { order:1; }
    .cs-storefront .co-side > .co-perks { order:2; }
}
/* the reCAPTCHA box is 304px wide: scale it down on very narrow columns */
@media (max-width: 380px) { .cs-storefront .co-side .g-recaptcha { transform:scale(.9); } }

/* terms dialog: rich text */
.co-terms-body p { margin:0 0 .8em; }
.co-terms-body ol, .co-terms-body ul { margin:0 0 .8em; padding-left:1.3em; }
.co-terms-body li { margin:0 0 .6em; }
.co-terms-body h2, .co-terms-body h3 { margin:1em 0 .5em; font-size:16px; font-weight:800; }
.co-terms-body a { color:var(--cs-accent, #6b4c33); text-decoration:underline; }
.co-terms-body blockquote { margin:0 0 .8em; padding-left:12px; border-left:3px solid #e4d8c5; color:#5a4a3a; }
.co-terms-body ol { list-style:decimal !important; }
.co-terms-body ul { list-style:disc !important; }
.co-terms-body li { display:list-item !important; list-style:inherit !important; }
.co-terms-body ol li::marker { font-weight:700; color:var(--cs-accent, #6b4c33); }

/* contact page map (Leaflet + OpenStreetMap) */
.cs-storefront .contact-map-wrap { padding:0; overflow:hidden; position:relative; }
.cs-storefront .contact-map { height:380px; width:100%; z-index:0; }
.cs-storefront .contact-map-link { position:absolute; right:12px; top:12px; z-index:500; display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:6px 14px; border-radius:999px; background:#fff; color:#1f2937; font-weight:600; font-size:14px; box-shadow:0 4px 14px rgba(0,0,0,.15); text-decoration:none; }
.cs-storefront .contact-map-link:hover { color:#6b4c33; }
.cs-storefront .contact-map-pin span { display:block; width:34px; height:34px; background:#6b4c33; border:3px solid #fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 3px 10px rgba(0,0,0,.3); }
.cs-storefront .contact-map-pin span::after { content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; margin:-5px 0 0 -5px; background:#fff; border-radius:50%; }
.cs-storefront .contact-map-pin { background:none; border:0; }
@media (max-width: 767px) { .cs-storefront .contact-map { height:280px; } }

/* hero slider v2: arrows + dots in one bottom-right control bar (arrows no longer sit on the
   banner's own headline); the slider keeps the banners' 1380×516 shape below desktop so the
   dots stay on the image */
.cs-storefront .hero-showcase .hero-slider .hero-controls { position:absolute; right:16px; bottom:16px; z-index:3; display:flex; align-items:center; gap:4px; padding:4px; border-radius:999px; background:rgba(21,32,46,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.cs-storefront .hero-showcase .hero-slider .hero-controls .hero-arrow { position:static; transform:none; width:32px; height:32px; font-size:13px; opacity:1; border:0; background:rgba(255,255,255,.92); box-shadow:none; }
.cs-storefront .hero-showcase .hero-slider .hero-controls .hero-arrow:hover { background:#7b573a; color:#fff; }
.cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots { position:static; display:flex !important; align-items:center; margin:0; padding:0 2px; background:none; border-radius:0; line-height:1; }
.cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li { display:block !important; width:24px; height:24px; margin:0; }
.cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li button { width:24px; height:24px; padding:0; }
.cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li button:before { width:24px; height:24px; line-height:24px; font-size:8px; }
.cs-storefront .hero-showcase .hero-caption { padding:54px 24px 18px; }
.cs-storefront .hero-showcase .hero-slider .hero-caption h2 { max-width:calc(100% - 300px); }
@media(max-width:991px) {
 .cs-storefront .hero-showcase .hero-slider { height:auto; aspect-ratio:1380/516; }
}
@media(max-width:575px) {
 .cs-storefront .hero-showcase .hero-slider { aspect-ratio:1380/516; border-radius:12px; }
 .cs-storefront .hero-showcase .hero-slider .hero-controls { right:8px; bottom:8px; padding:0 2px; }
 .cs-storefront .hero-showcase .hero-slider .hero-controls .hero-arrow { display:none !important; } /* swipe on phones */
 .cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li,
 .cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li button,
 .cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li button:before { width:18px; height:24px; line-height:24px; }
 .cs-storefront .hero-showcase .hero-caption { padding:4px 10px 8px; background:none; }
 .cs-storefront .hero-showcase .hero-slider .hero-caption h2 { max-width:calc(100% - 150px); font-size:12px; padding:4px 8px; }
}

/* product page: sticky price + add-to-cart bar on phones */
.cs-storefront .product-sticky-bar { display:none; }
@media(max-width:767px) {
 .cs-storefront .product-sticky-bar:not([hidden]) { position:fixed; left:0; right:0; bottom:0; z-index:1040; display:flex; align-items:center; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--cs-line); box-shadow:0 -6px 20px rgba(15,23,42,.08); animation:product-sticky-in .2s ease-out; }
 .cs-storefront .product-sticky-price { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.2; }
 .cs-storefront .product-sticky-title { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; color:#7a6a58; }
 .cs-storefront .product-sticky-price strong { font-size:18px; color:var(--cs-ink); }
 .cs-storefront .product-sticky-price del { font-size:12px; color:#a08f78; }
 .cs-storefront .product-sticky-bar .btn { flex:none; min-height:44px; padding:0 16px; border-radius:10px; font-weight:700; white-space:nowrap; }
 .cs-storefront .product-sticky-bar .btn[hidden] { display:none; }
 body.has-product-sticky { padding-bottom:76px; }
 body.has-product-sticky #toast-container.toast-bottom-right, body.has-product-sticky #toast-container.toast-bottom-center { bottom:84px; }
}
@keyframes product-sticky-in { from { transform:translateY(100%); } to { transform:none; } }
@media (prefers-reduced-motion: reduce) { .cs-storefront .product-sticky-bar { animation:none !important; } }

/* 3.5 accessibility: tap targets of at least 24×24px (WCAG 2.5.8) */
.cs-storefront .header-list-link a { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; }
.cs-storefront .product-color-swatch { width:24px; height:24px; }
.cs-storefront .hero-product-slider .slick-dots li { width:20px; height:20px; margin:0 2px; }
.cs-storefront .hero-product-slider .slick-dots li button,
.cs-storefront .hero-product-slider .slick-dots li button::before { width:20px; height:20px; line-height:20px; }
.cs-storefront .store-breadcrumb a,
.cs-storefront footer li > a,
.cs-storefront .section-more-link, .cs-storefront a.view-all { display:inline-block; padding-block:3px; }
.cs-storefront footer .social-media-icon { min-width:24px; min-height:24px; }
.cs-storefront .store-breadcrumb a,
.cs-storefront .dark-footer .footer-col a,
.cs-storefront .section-heading > a { display:inline-flex; align-items:center; min-height:24px; }
@media(max-width:575px) {
 .cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li,
 .cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li button,
 .cs-storefront .hero-showcase .hero-slider .hero-controls .slick-dots li button:before { width:24px; }
 .cs-storefront .hero-showcase .hero-slider .hero-caption h2 { max-width:calc(100% - 190px); }
}
.cs-storefront .hero-product-slider .slick-dots li { width:24px; height:24px; margin:0; }
.cs-storefront .hero-product-slider .slick-dots li button,
.cs-storefront .hero-product-slider .slick-dots li button::before { width:24px; height:24px; line-height:24px; }
.cs-storefront .product-context a { display:inline-flex; align-items:center; min-height:24px; }
.cs-storefront .listing-toolbar > a { display:inline-flex; align-items:center; min-height:24px; }

/* order thank-you page */
.cs-storefront .os-page { max-width:1120px; padding-top:40px; padding-bottom:64px; }
.cs-storefront .os-hero { text-align:center; padding:36px 24px 30px; border-radius:20px; background:radial-gradient(circle at 50% 0,#ecf5f0 0,#fff 62%); border:1px solid #e3efe8; }
.cs-storefront .os-check { display:inline-block; width:72px; height:72px; margin-bottom:14px; }
.cs-storefront .os-check svg { width:100%; height:100%; fill:none; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; }
.cs-storefront .os-check circle { stroke:#43825e; fill:#43825e; stroke-dasharray:151; stroke-dashoffset:151; animation:os-circle .55s ease-out forwards; }
.cs-storefront .os-check path { stroke:#fff; stroke-dasharray:40; stroke-dashoffset:40; animation:os-tick .35s .45s ease-out forwards; }
@keyframes os-circle { to { stroke-dashoffset:0; } }
@keyframes os-tick { to { stroke-dashoffset:0; } }
@media (prefers-reduced-motion: reduce) { .cs-storefront .os-check circle, .cs-storefront .os-check path { animation:none; stroke-dashoffset:0; } }
.cs-storefront .os-hero h1 { margin:0 0 8px; font-size:clamp(24px,3.2vw,34px); font-weight:800; color:var(--cs-ink); }
.cs-storefront .os-lead { max-width:520px; margin:0 auto 18px; color:#5b6472; font-size:16px; }
.cs-storefront .os-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; color:#5b6472; font-size:14px; }
.cs-storefront .os-meta span { display:inline-flex; align-items:center; gap:6px; }
.cs-storefront .os-number { padding:6px 14px; border-radius:999px; background:#fff; border:1px solid var(--cs-line); }
.cs-storefront .os-number strong { color:#6b4c33; font-size:16px; }

.cs-storefront .os-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:22px 0; padding:0; list-style:none; counter-reset:none; }
.cs-storefront .os-steps li { position:relative; display:flex; flex-direction:column; gap:2px; padding:16px; border-radius:14px; background:#fff; border:1px solid var(--cs-line); }
.cs-storefront .os-step-icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:8px; border-radius:50%; background:#efe8dd; color:#7a6a58; font-size:16px; }
.cs-storefront .os-steps li.is-done .os-step-icon { background:#43825e; color:#fff; }
.cs-storefront .os-steps li.is-next { border-color:#dcc6b5; background:#fffaf5; }
.cs-storefront .os-steps li.is-next .os-step-icon { background:#6b4c33; color:#fff; }
.cs-storefront .os-steps strong { font-size:15px; color:var(--cs-ink); }
.cs-storefront .os-steps small { font-size:13px; color:#7a6a58; line-height:1.35; }

.cs-storefront .os-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }
.cs-storefront .os-card { padding:20px; border-radius:16px; background:#fff; border:1px solid var(--cs-line); }
.cs-storefront .os-card h2 { margin:0 0 14px; font-size:18px; font-weight:800; color:var(--cs-ink); }
.cs-storefront .os-items ul { margin:0; padding:0; list-style:none; }
.cs-storefront .os-item { display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid #ebe3d6; }
.cs-storefront .os-item:first-child { padding-top:0; }
.cs-storefront .os-item-thumb { position:relative; flex:none; display:grid; place-items:center; width:72px; height:72px; border-radius:12px; background:#fff; border:1px solid #eae2d3; color:#c4b399; font-size:24px; }
.cs-storefront .os-item-thumb img { width:100%; height:100%; padding:6px; object-fit:contain; }
.cs-storefront .os-item-qty { position:absolute; top:-7px; right:-7px; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:var(--cs-ink); color:#fff; font-size:12px; font-weight:700; line-height:22px; text-align:center; }
.cs-storefront .os-item-body { flex:1; min-width:0; }
.cs-storefront .os-item-title { display:block; font-weight:700; color:var(--cs-ink); text-decoration:none; }
.cs-storefront a.os-item-title:hover { color:#6b4c33; }
.cs-storefront .os-item-options { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:6px; }
.cs-storefront .os-chip { display:inline-flex; align-items:center; gap:5px; padding:2px 9px; border-radius:999px; background:#efe8dd; color:#46362a; font-size:12px; }
.cs-storefront .os-swatch { width:11px; height:11px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px #0000002e; }
.cs-storefront .os-item-unit { color:#7a6a58; font-size:12px; }
.cs-storefront .os-item-price { flex:none; display:flex; flex-direction:column; align-items:flex-end; }
.cs-storefront .os-item-price strong { color:var(--cs-ink); font-size:16px; white-space:nowrap; }
.cs-storefront .os-item-price del { color:#a08f78; font-size:13px; white-space:nowrap; }
.cs-storefront .os-totals { margin:14px 0 0; }
.cs-storefront .os-totals div { display:flex; justify-content:space-between; gap:12px; padding:5px 0; color:#5a4a3a; }
.cs-storefront .os-totals dt { font-weight:400; }
.cs-storefront .os-totals dd { margin:0; text-align:right; }
.cs-storefront .os-totals .os-saving dd { color:#3f7a55; font-weight:700; }
.cs-storefront .os-totals .os-total { margin-top:8px; padding-top:12px; border-top:1px dashed #e3d7c2; color:var(--cs-ink); font-size:20px; font-weight:800; }

.cs-storefront .os-side { display:flex; flex-direction:column; gap:14px; }
.cs-storefront .os-details { margin:0; }
.cs-storefront .os-details div { padding:8px 0; border-bottom:1px solid #efe8dd; }
.cs-storefront .os-details div:last-child { border-bottom:0; }
.cs-storefront .os-details dt { display:flex; align-items:center; gap:6px; color:#7a6a58; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; }
.cs-storefront .os-details dd { margin:2px 0 0; color:var(--cs-ink); font-weight:600; word-break:break-word; }

.cs-storefront .os-actions { display:flex; flex-direction:column; gap:10px; }
.cs-storefront .os-btn { display:flex; align-items:center; gap:12px; min-height:56px; padding:12px 18px; border-radius:14px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s; }
.cs-storefront .os-btn > i { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:10px; font-size:16px; }
.cs-storefront .os-btn span { display:flex; flex-direction:column; line-height:1.25; }
.cs-storefront .os-btn strong { font-size:16px; }
.cs-storefront .os-btn small { font-size:12px; opacity:.85; }
.cs-storefront .os-btn-primary { background:linear-gradient(135deg,#b68564,#6b4c33); color:#fff; box-shadow:0 8px 22px #6b4c3340; }
.cs-storefront .os-btn-primary > i { background:#ffffff2e; }
.cs-storefront .os-btn-primary:hover { color:#fff; transform:translateY(-1px); box-shadow:0 12px 26px #6b4c3355; }
.cs-storefront .os-btn-ghost { background:#fff; color:var(--cs-ink); border:1px solid var(--cs-line); }
.cs-storefront .os-btn-ghost > i { background:#efe8dd; }
.cs-storefront .os-btn-ghost:hover { color:#6b4c33; border-color:#dcc6b5; }
.cs-storefront .os-btn:focus-visible { outline:3px solid #6b4c3366; outline-offset:2px; }
.cs-storefront .os-help { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:14px 16px; border-radius:14px; background:#f5f1ea; color:#7a6a58; font-size:14px; }
.cs-storefront .os-help a { display:inline-flex; align-items:center; gap:6px; min-height:24px; color:var(--cs-ink); font-weight:700; text-decoration:none; }
.cs-storefront .os-help a:hover { color:#6b4c33; }

@media(max-width:991px) {
 .cs-storefront .os-grid { grid-template-columns:1fr; }
 .cs-storefront .os-steps { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:575px) {
 .cs-storefront .os-page { padding-top:20px; }
 .cs-storefront .os-hero { padding:26px 16px 22px; }
 .cs-storefront .os-steps { grid-template-columns:1fr; gap:8px; }
 .cs-storefront .os-steps li { flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:12px; padding:12px 14px; }
 .cs-storefront .os-step-icon { margin:0; grid-row:span 2; }
 .cs-storefront .os-steps li > strong, .cs-storefront .os-steps li > small { flex-basis:calc(100% - 50px); margin-left:auto; }
 .cs-storefront .os-steps li > .os-step-icon { position:absolute; }
 .cs-storefront .os-steps li { padding-left:64px; min-height:62px; }
 .cs-storefront .os-steps li > .os-step-icon { left:14px; top:50%; transform:translateY(-50%); }
 .cs-storefront .os-item-thumb { width:60px; height:60px; }
 .cs-storefront .os-card { padding:16px; }
}

/* order lists: thumbnails, brand and option chips */
.cs-storefront .order-card-items { padding-top:12px; }
.cs-storefront .order-card-items li { align-items:center; gap:12px; padding:6px 0; }
.cs-storefront .order-card-thumb { flex:none; display:grid; place-items:center; width:48px; height:48px; border-radius:10px; border:1px solid #eae2d3; background:#fff; color:#c4b399; font-size:18px; overflow:hidden; }
.cs-storefront .order-card-thumb img { width:100%; height:100%; padding:4px; object-fit:contain; }
.cs-storefront .order-card-item-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.cs-storefront .order-card-brand, .cs-storefront .order-item-brand, .cs-storefront .os-item-brand { display:block; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#8a919c; }
.cs-storefront .order-card-item-title { font-weight:700; color:var(--cs-ink); }
.cs-storefront .order-card-options { display:flex; flex-wrap:wrap; gap:4px; }
.cs-storefront .order-card-options span { padding:1px 8px; border-radius:999px; background:#efe8dd; color:#5a4a3a; font-size:12px; }
.cs-storefront .order-card-qty { align-self:center; font-weight:600; }
.cs-storefront .order-card-more { align-items:center; gap:10px; font-size:13px; }
.cs-storefront .order-card-more-thumbs { display:flex; }
.cs-storefront .order-card-more-thumbs img { width:30px; height:30px; margin-right:-8px; padding:2px; border-radius:50%; border:2px solid #fff; background:#fff; box-shadow:0 0 0 1px #eae2d3; object-fit:contain; }
.cs-storefront .order-card-more-thumbs:not(:empty) { margin-right:8px; }
.cs-storefront .order-card-brand, .cs-storefront .order-item-brand, .cs-storefront .os-item-brand { text-transform:none; letter-spacing:0; font-size:12px; }

/* top bar: the account menu opens above the header below it; bigger tap targets on phones */
.cs-storefront .top-header { position:relative; z-index:1050; }
.cs-storefront .top-header .header-dropdown .onhover-show-div { z-index:1060; }
@media(max-width:767px) {
 .cs-storefront .top-header .header-dropdown>li { padding-top:2px; padding-bottom:2px; }
 .cs-storefront .top-header .header-dropdown a[hreflang] { display:inline-flex; align-items:center; justify-content:center; min-width:34px; min-height:34px; padding:0 4px; border-radius:6px; font-size:13px; }
 .cs-storefront .top-header .header-dropdown a[hreflang]:active { background:#ffffff1a; }
 .cs-storefront .top-header .header-dropdown .mobile-account { display:inline-flex !important; align-items:center; justify-content:center; min-width:40px; min-height:40px; padding:0 !important; border-radius:8px; cursor:pointer; }
 .cs-storefront .top-header .header-dropdown .mobile-account>i { font-size:18px !important; }
 .cs-storefront .top-header .header-dropdown .mobile-account:focus-within { background:#ffffff1a; }
 .cs-storefront .top-header .header-dropdown .mobile-account .account-menu { min-width:250px; }
 .cs-storefront .account-menu a, .cs-storefront .account-menu-logout { min-height:44px; }
}

/* language switcher: globe + current language, the others in a small menu (all screen sizes) */
.cs-storefront .top-header .header-dropdown .lang-switch { position:relative; display:inline-flex !important; align-items:center; justify-content:center; min-height:32px; padding:0 10px !important; border-radius:8px; cursor:pointer; }
.cs-storefront .lang-switch-current { display:inline-flex; align-items:center; gap:6px; color:#e6dcca; font-size:12px; font-weight:700; letter-spacing:.02em; }
.cs-storefront .lang-switch-current .fa-globe { font-size:14px; }
.cs-storefront .lang-switch-current .fa-angle-down { font-size:12px; opacity:.8; transition:transform .15s; }
.cs-storefront .lang-switch:hover, .cs-storefront .lang-switch:focus-within { background:#ffffff1a; }
.cs-storefront .lang-switch:focus-within .fa-angle-down { transform:rotate(180deg); }
.cs-storefront .top-header .header-dropdown .lang-switch .onhover-show-div { top:100%; right:0; left:auto; }
.cs-storefront .lang-menu { min-width:190px; padding:6px !important; }
.cs-storefront .lang-menu li { display:block !important; padding:0 !important; }
.cs-storefront .lang-menu a { display:flex !important; align-items:center; gap:10px; min-height:44px !important; padding:8px 12px !important; border-radius:8px; color:var(--cs-ink) !important; font-size:14px !important; font-weight:600; line-height:1.2 !important; text-transform:none !important; text-decoration:none !important; }
.cs-storefront .lang-menu a:hover { background:#f1ebe1; color:#4f3725 !important; }
.cs-storefront .lang-menu a.is-current { background:#fff7f0; color:#4f3725 !important; }
.cs-storefront .lang-menu-code { display:inline-grid; place-items:center; width:30px; height:22px; border-radius:5px; background:#efe8dd; color:#5a4a3a; font-size:11px; font-weight:800; }
.cs-storefront .lang-menu a.is-current .lang-menu-code { background:#6b4c33; color:#fff; }
.cs-storefront .lang-menu a .fa-check { margin-left:auto; color:#6b4c33; }
@media(max-width:767px) {
 .cs-storefront .top-header .header-dropdown .lang-switch { min-width:40px; min-height:40px; padding:0 8px !important; }
 .cs-storefront .lang-switch-current { font-size:13px; }
}
.cs-storefront .lang-menu, .cs-storefront .lang-menu a { text-align:left !important; justify-content:flex-start !important; }
.cs-storefront .lang-menu a .fa-check { color:#6b4c33 !important; opacity:1 !important; }

/* top bar, left: call icon → small menu with the phone and WhatsApp */
.cs-storefront .top-header .header-contact { padding:4px 0 !important; }
.cs-storefront .top-header .header-contact > ul { margin:0; padding:0; list-style:none; }
.cs-storefront .top-header .header-contact .contact-switch { position:relative; display:inline-flex !important; align-items:center; min-height:32px; padding:0 10px 0 4px !important; border-radius:8px; cursor:pointer; outline:none; }
.cs-storefront .contact-switch:hover, .cs-storefront .contact-switch:focus-within { background:#ffffff1a; }
.cs-storefront .contact-switch:focus-visible { box-shadow:0 0 0 2px #6b4c33; }
.cs-storefront .contact-switch-current { display:inline-flex; align-items:center; gap:8px; color:#e6dcca; font-size:12px; font-weight:700; }
.cs-storefront .contact-switch-icon { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#6b4c33; color:#fff; font-size:12px; }
.cs-storefront .contact-switch-current .fa-angle-down { font-size:12px; opacity:.8; transition:transform .15s; }
.cs-storefront .contact-switch:focus-within .fa-angle-down { transform:rotate(180deg); }
.cs-storefront .contact-menu { position:absolute; top:100%; left:0; z-index:1060; min-width:250px; margin:4px 0 0 !important; padding:6px !important; list-style:none; border-radius:10px; background:#fff; box-shadow:0 10px 35px #2b1d141f; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .15s, transform .15s, visibility .15s; text-align:left; }
.cs-storefront .contact-switch:hover .contact-menu, .cs-storefront .contact-switch:focus-within .contact-menu { opacity:1; visibility:visible; transform:none; }
.cs-storefront .contact-menu li { display:block !important; padding:0 !important; }
.cs-storefront .contact-menu a { display:flex !important; align-items:center; gap:12px; min-height:52px; padding:8px 12px !important; border-radius:8px; color:var(--cs-ink) !important; text-decoration:none !important; text-transform:none !important; }
.cs-storefront .contact-menu a:hover { background:#f5f1ea; }
.cs-storefront .contact-menu-icon { display:inline-grid; place-items:center; flex:none; width:36px; height:36px; border-radius:50%; color:#fff; font-size:17px; }
.cs-storefront .contact-menu-icon.is-phone { background:#6b4c33; }
.cs-storefront .contact-menu-icon.is-whatsapp { background:#25d366; font-size:19px; }
.cs-storefront .contact-menu-text { display:flex; flex-direction:column; line-height:1.25; }
.cs-storefront .contact-menu-text strong { font-size:15px; font-weight:700; letter-spacing:.01em; white-space:nowrap; }
.cs-storefront .contact-menu-text small { font-size:12px; color:#7a6a58; }
@media(max-width:767px) {
 .cs-storefront .contact-switch-label { display:none; }
 .cs-storefront .top-header .header-contact .contact-switch { min-height:40px; padding:0 8px 0 4px !important; }
 .cs-storefront .contact-switch-icon { width:30px; height:30px; font-size:14px; }
}
@media(max-width:767px) { .cs-storefront .contact-switch-current { gap:4px; } }
.cs-storefront .contact-switch-icon i, .cs-storefront .contact-menu-icon i { padding:0 !important; margin:0 !important; width:auto !important; line-height:1 !important; display:block; text-align:center; }

/* top bar v2: plain call icon (no circle → bar keeps its height); a closed menu stays closed while hovered */
.cs-storefront .contact-switch-glyph { padding:0 !important; margin:0 !important; color:#c1977b; font-size:14px; line-height:1; }
.cs-storefront .top-header .header-contact .contact-switch,
.cs-storefront .top-header .header-dropdown .lang-switch,
.cs-storefront .top-header .header-dropdown .mobile-account { min-height:28px; }
.cs-storefront .top-header .header-contact .contact-switch { padding:0 10px !important; }
.cs-storefront .top-header .header-contact { padding:2px 0 !important; }
.cs-storefront .top-header .header-dropdown>li { padding-top:2px !important; padding-bottom:2px !important; }
.cs-storefront .is-closed > .contact-menu,
.cs-storefront .is-closed > .lang-menu,
.cs-storefront .is-closed > .account-menu { opacity:0 !important; visibility:hidden !important; pointer-events:none; }
.cs-storefront .is-closed .fa-angle-down { transform:none !important; }
.cs-storefront .is-closed { background:transparent !important; }
/* account: filled person icon + name */
.cs-storefront .account-switch-current { display:inline-flex; align-items:center; gap:6px; color:#e6dcca; font-size:12px; }
.cs-storefront .account-icon { width:15px; height:15px; flex:none; color:#e6dcca; }
.cs-storefront .top-header .header-dropdown .mobile-account { display:inline-flex; align-items:center; padding:0 10px !important; border-radius:8px; cursor:pointer; }
.cs-storefront .top-header .header-dropdown .mobile-account:hover, .cs-storefront .top-header .header-dropdown .mobile-account:focus-within { background:#ffffff1a; }
@media(max-width:767px) {
 .cs-storefront .top-header .header-contact .contact-switch,
 .cs-storefront .top-header .header-dropdown .lang-switch,
 .cs-storefront .top-header .header-dropdown .mobile-account { min-height:36px; }
 .cs-storefront .contact-switch-glyph { font-size:17px; }
 .cs-storefront .account-name { display:none; }
 .cs-storefront .account-icon { width:20px; height:20px; }
 .cs-storefront .top-header .header-dropdown .mobile-account { min-width:40px; justify-content:center; padding:0 8px !important; }
}

/* product options: values that do not combine with the current choice, and sold-out ones */
.amd-storefront .variant-option.is-unavailable { opacity:.5; border-style:dashed !important; }
.amd-storefront .variant-swatch.is-unavailable { opacity:.4; }
.amd-storefront .variant-option.is-soldout { text-decoration:line-through; opacity:.65; }
.amd-storefront .variant-swatch.is-soldout { position:relative; opacity:.6; }
.amd-storefront .variant-swatch.is-soldout::after { content:""; position:absolute; left:50%; top:4px; bottom:4px; width:2px; background:#6b7280; transform:translateX(-50%) rotate(45deg); border-radius:1px; pointer-events:none; }
.amd-storefront .product-stock.is-low { color:#815a3c !important; }

/* "bought at a discount" in orders */
.amd-storefront .order-sale-badge { display:inline-flex; align-items:center; gap:4px; width:max-content; padding:1px 8px; border-radius:999px; background:#e6f2ea; color:#336244; font-size:11px; font-weight:700; }
.amd-storefront .order-totals-saving dd, .amd-storefront .order-totals-saving dt { color:#3f7a55; font-weight:700; }
.amd-storefront .order-card-saving { color:#3f7a55; font-size:12px; font-weight:700; }
.amd-storefront .variant-option[hidden], .amd-storefront .variant-swatch[hidden] { display:none !important; }

/* product videos (Media tab): ▶ thumbnails next to the photos, the player in place of the photo */
.amd-storefront .gallery-video { position:relative; width:100%; grid-column:2; grid-row:1; align-self:center; }
.amd-storefront .gallery-video iframe,.amd-storefront .gallery-video video { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:10px; background:#000; }
.amd-storefront .gallery-video-title { margin-top:8px; font-size:13px; color:var(--amd-muted); }
.amd-storefront .gallery-thumbnails button.is-video { position:relative; background:#1b2230; overflow:hidden; }
.amd-storefront .gallery-thumbnails button.is-video img { object-fit:cover; opacity:.85; }
.amd-storefront .gallery-play { position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:14px; text-shadow:0 1px 3px rgba(0,0,0,.6); }
.amd-storefront .gallery-thumbnails button.is-video .gallery-play::before { content:''; position:absolute; width:26px; height:26px; border-radius:50%; background:rgba(0,0,0,.55); z-index:-1; }
.amd-storefront .gallery-play { z-index:0; }
/* blog / page media: photo gallery and videos under the text */
.amd-storefront .content-media { margin-top:28px; display:grid; gap:18px; }
.amd-storefront .content-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.amd-storefront .content-gallery a { display:block; border:1px solid var(--amd-line); border-radius:10px; overflow:hidden; background:white; }
.amd-storefront .content-gallery img { width:100%; height:150px; object-fit:cover; display:block; }
.amd-storefront .content-videos { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.amd-storefront .content-video iframe,.amd-storefront .content-video video { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:10px; background:#000; }
.amd-storefront .content-video figcaption { margin-top:6px; font-size:13px; color:var(--amd-muted); }

/* product counts next to menu subcategories and filter choices */
.amd-storefront .catalog-count,.amd-storefront .filter-count { display:inline-block; min-width:1.6em; padding:0 .45em; margin-left:4px; border-radius:999px; background:#f1f3f6; color:var(--amd-muted); font-size:11px; font-weight:600; line-height:1.6; text-align:center; vertical-align:middle; }
.amd-storefront .filter-checklist label { display:flex; align-items:center; gap:8px; }
.amd-storefront .filter-checklist label .filter-count { margin-left:auto; }
