/* Reusable storefront layout. Content, imagery and brand accents belong to each site. */
:root{--brand:#e63323;--brand-dark:#c02416;--ink:#2b3238;--muted:#858585;--line:#e9e9e9;--bg:#fff;--bg-soft:#f8f8f8;--navy:#103e50;--radius:12px;--wrap:1570px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font:16px/1.5 "Helvetica Neue",Arial,sans-serif;color:var(--text,var(--ink));background:var(--bg)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}a:hover{color:var(--brand)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:3px solid #308cc4;outline-offset:4px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 35px}.ui-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.tiny-icon{width:12px;height:12px;flex-shrink:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:inherit;position:relative;min-width:28px;min-height:32px}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip-link:focus{top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 28px;border-radius:26px;font-weight:700;font-size:16px;border:1px solid transparent;line-height:1.2}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);color:#fff}.btn-outline{border:1px solid #777;border-radius:4px;background:#fff;color:var(--ink)}.btn-link{text-decoration:underline;text-underline-offset:3px}.announce{background:var(--navy);color:#fff;text-align:center;font-size:13px;line-height:20px;padding:10px 20px}.announce p{margin:0}.announce a{color:inherit}.announce .ui-icon{width:18px;height:18px;color:#ffe590}.site-header{background:#fff;border-bottom:1px solid var(--line)}.site-header .bar{height:94px;display:flex;align-items:center;gap:28px}.logo{font-weight:800;letter-spacing:-1.3px;font-size:36px;color:var(--brand);white-space:nowrap}.search{display:flex;margin-left:auto;width:450px;min-width:0;border-bottom:1px solid var(--line)}.search input{border:0;background:none;width:100%;min-width:0;padding:10px 12px;font-size:13px;color:var(--ink)}.search button{display:flex;align-items:center;background:none;border:0;padding:10px;color:#555}.search .ui-icon{width:18px;height:18px}.header-links{display:flex;align-items:center;gap:22px;font-size:13px;white-space:nowrap}.account-link{display:flex;align-items:center;gap:8px}.account-link .ui-icon{width:17px;height:17px}.currency-menu{position:relative}.currency-menu summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer}.currency-menu summary::-webkit-details-marker{display:none}.currency-menu>div{position:absolute;z-index:30;top:30px;right:0;background:#fff;border:1px solid var(--line);padding:20px;box-shadow:0 8px 24px #00000012}.main-nav{border-top:1px solid var(--line)}.main-nav ul{list-style:none;margin:0;padding:0}.main-nav>.wrap>ul{display:flex;justify-content:space-between;align-items:stretch}.nav-item{position:relative;flex:1}.nav-label{display:flex;align-items:center;justify-content:center}.nav-label>a{display:block;padding:15px 22px;font-size:14px;font-weight:500;text-transform:uppercase}.submenu-toggle{display:none;border:0;background:transparent;padding:12px}.main-nav .submenu{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:260px;max-height:70vh;overflow-y:auto;padding:12px 0;background:#fff;border:1px solid var(--line);box-shadow:0 12px 22px #0000000f}.submenu a{display:block;padding:9px 20px;font-size:14px}.submenu a:hover{background:var(--bg-soft)}.nav-item:hover>.submenu,.nav-item:focus-within>.submenu,.nav-item.is-open>.submenu{display:block}.menu-toggle{display:none}
/* The reading scale. Headings, copy and lists are sized here rather than left to the browser, so a
   page the site draws itself and a page imported from the reference site read the same. Sizes are
   the reference site's own; anything a component means to draw differently says so on its own rule. */
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3}
h1{font-size:42px;line-height:1.1;margin:.9em 0 .5em;color:var(--ink)}
h2{font-size:32px;line-height:1.3;margin:1.1em 0 .6em;color:var(--ink)}
h3{font-size:25px;line-height:1.4;margin:1.3em 0 .8em}
h4{font-size:18px;line-height:1.5;margin:1.6em 0 1.2em}
h5{font-size:15px;line-height:1.6;margin:1.7em 0 1.3em}
h6{font-size:14px;line-height:1.7;margin:1.8em 0 1.4em}
p{margin:1.2em 0}
ul,ol{margin:1.2em 0 1.2em 30px;padding-left:0}
blockquote{font-size:20px;line-height:1.5;margin:24px 0;padding:0}
small{font-size:14px}
.h1{font-size:42px;line-height:1.1;margin:.9em 0 .5em;font-weight:700;color:var(--ink)}
.h2{font-size:32px;line-height:1.3;margin:1.1em 0 .6em;font-weight:700;color:var(--ink)}
.h-display1{font-size:64px;line-height:1.1;margin:.9em 0 .5em;font-weight:700}
.h-display2{font-size:40px;line-height:1.3;margin:1.1em 0 .6em;font-weight:700}
@media (max-width:991px){.h-display1{font-size:44px}.h-display2{font-size:38px}}
@media (max-width:767px){h1,.h1{font-size:36px}h2,.h2{font-size:30px}.h-display2{font-size:32px}}
section{padding:60px 0}.section-title{font-size:36px;line-height:1.2;text-align:center;margin:0 0 24px;font-weight:700;letter-spacing:-.4px}.section-sub{text-align:center;margin:0 0 34px;color:var(--muted);font-size:16px}.soft{background:var(--bg-soft)}.home-intro{position:relative}.hero{padding:0;min-height:482px;background:var(--bg-soft);position:relative;display:flex;align-items:center;border-radius:0 0 25px 25px;overflow:hidden}.hero-copy{position:relative;z-index:1;width:50%;padding:36px 0 36px 80px;max-width:680px}.hero h1{font-size:40px;line-height:1.1;margin:0 0 22px;letter-spacing:-.5px;font-weight:700}.hero p{font-size:18px;line-height:1.5;max-width:550px;margin:0 0 20px}.hero-art{position:absolute;right:0;top:0;height:100%;width:auto;max-width:52%;object-fit:contain;object-position:right center}.hero-actions{display:flex;gap:18px;align-items:center}.hero-secondary{font-size:16px;white-space:nowrap}.hero .btn{white-space:nowrap}.strip{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:28px;width:max-content;max-width:90%;min-height:77px;padding:20px 45px;margin:-40px auto 0;background:#fff;border-radius:22px;box-shadow:0 8px 13px #00000019;font-size:16px}.strip a{display:flex;align-items:center;gap:8px}.strip a+a{border-left:1px solid #d4d4d4;padding-left:28px}.strip img{width:22px;height:22px}.value-section{padding:70px 0}.props{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;text-align:center}.props h2{font-size:40px;line-height:1.1;margin:0 0 24px}.props h2 span{color:var(--brand)}.props h2 small{display:block;font-size:inherit;color:var(--ink)}.props p{max-width:455px;margin:auto;color:var(--muted);font-size:16px}.home-body{padding-bottom:0}
.grid{display:grid;gap:30px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.categories-section{padding:0 0 30px}.categories-section .section-title{margin-bottom:30px}.cat-tile{text-align:center;display:block}.cat-tile .thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:360/425;background:var(--bg-soft);border-radius:8px;overflow:hidden;margin-bottom:20px}.cat-tile .thumb img{width:100%;height:100%;object-fit:cover}.cat-tile .name{font-weight:600;font-size:16px}.collection-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.collection-banners img{width:100%;height:auto;display:block;border-radius:7px}.integrations-section{padding:70px 0}.integrations-section .section-title{font-size:32px;margin-bottom:20px}.integrations-section .section-sub{font-size:16px}.logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}.logo-box{border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:320/200;background:#fff}.logo-box:hover{border-color:#bbb}.logo-box img{display:block;width:100%;height:100%;object-fit:contain}.best-sellers-section{padding:0 0 70px}.best-sellers-section .section-title{font-size:30px;margin-bottom:34px}.carousel{position:relative}.carousel-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-track>.card{flex:0 0 calc((100% - 90px)/4);scroll-snap-align:start;min-width:0}.carousel-arrow{position:absolute;z-index:3;top:35%;width:30px;height:46px;border:0;border-radius:7px;background:#111;color:white;display:flex;align-items:center;justify-content:center}.carousel-arrow.previous{left:-14px}.carousel-arrow.next{right:-14px}.carousel-arrow .ui-icon{width:18px;height:18px}.card{background:white;border:0;min-width:0}.card .thumb{aspect-ratio:360/425;background:var(--bg-soft);border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.card .thumb img{width:100%;height:100%;object-fit:contain;transition:transform .2s}.card .thumb:hover img{transform:scale(1.035)}.empty-image-icon{width:70px;height:70px;color:#d4d4d4}.card .body{padding:18px 8px 8px}.card .title{font-size:16px;line-height:1.4;font-weight:400;margin:0 0 8px}.card .meta{font-size:16px;line-height:1.3;color:rgba(0,0,0,.5);margin:0 0 10px}.card .price{font-size:16px;font-weight:700;margin:0 0 12px}.card .price small{font-size:inherit;font-weight:inherit}.card .core-tag{position:absolute;right:15px;top:14px;font-size:16px;font-weight:800;color:#04aeef}.product-card{position:relative}.wish-form{position:absolute;top:375px;right:8px;z-index:2}.wish-form button{background:#fff;border:0;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:#7b7b7b}.wish-form button[aria-pressed=true]{color:var(--brand)}.wish-form .ui-icon{width:19px;height:19px}.product-swatches{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px}.product-swatch{width:14px;height:14px;border-radius:2px;border:1px solid #d0d0d0;background:var(--swatch,#fff)}.product-swatch-more{font-size:13px;color:var(--muted)}.product-tags{display:flex;gap:5px;flex-wrap:wrap;font-size:12px;line-height:1.3}.product-tags span,.product-tags a{display:inline-block;padding:3px 8px;border-radius:4px;border:1px solid var(--chip,#111);background:var(--chip,transparent);color:var(--chip-fg,inherit)}.product-tags a:hover{opacity:.85}.product-tags .core{background:#06b0ed;border-color:#06b0ed;color:#fff}.product-tags .organic{background:#51b429;border-color:#51b429;color:#fff}.product-rating-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:10px 0 0}.rating-stars{position:relative;display:inline-block;color:#dcdcdc;font-size:14px;letter-spacing:1px;line-height:1}.rating-stars::before{content:"\2605\2605\2605\2605\2605"}.rating-stars>span{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#f5a623}.rating-stars>span::before{content:"\2605\2605\2605\2605\2605"}.tag{color:#04a4df;font-size:12px;font-weight:700;text-transform:uppercase}.more-link{text-align:right;color:var(--muted);font-size:13px;margin:40px 0 0}.promotions-section{padding:35px 0 30px}.promo-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-items:center}.promo-tile:first-child{grid-row:span 2}.promo-tile{display:block}.promo-tile img{display:block;width:100%;height:auto}.eyebrow{display:inline-block;padding:5px 16px;border-radius:20px;background:#f33e5c;color:#fff;letter-spacing:4px;text-transform:uppercase;font-weight:700;font-size:12px;line-height:1.2}.editorial-section{padding:40px 0}.editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center}.editorial-copy{padding:40px 60px}.editorial h2{font-size:26px;line-height:1.35;margin:20px 0 25px}.editorial p{font-size:16px;margin:0 0 22px;line-height:1.6}.editorial .btn{font-size:16px;padding:12px 25px}.editorial-image{display:block;width:100%;height:auto;object-fit:contain}.editorial.image-first .editorial-image{grid-column:1;grid-row:1}.editorial.image-first .editorial-copy{grid-column:2;grid-row:1;padding-left:30px}.why-section{padding:70px 0}.why-section .section-title{font-size:30px;margin-bottom:50px}.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:35px;row-gap:45px}.why img{display:block;width:64px;height:64px;margin-bottom:23px}.why h3{font-size:18px;margin:0 0 20px}.why p{font-size:16px;color:var(--muted);line-height:1.5;margin:0}.blog-section{padding:70px 0}.blog-section .section-title{font-size:40px;margin-bottom:25px}.blog-section .section-sub{margin-bottom:35px}.articles-track>.card{flex-basis:calc((100% - 60px)/3);background:transparent}.post-card .thumb{aspect-ratio:490/368}.post-card .thumb img{object-fit:cover}.post-card .body{padding:25px 0 0}.post-card .title{font-size:22px;font-weight:700}.post-card .meta{font-size:15px;color:var(--muted)}.post-category{font-size:13px;color:var(--muted)}.post-card .meta{font-size:15px;line-height:1.4}.post-card .date{font-size:13px;color:var(--muted);margin:0}.reviews-section{padding:70px 0}.review{max-width:1240px;text-align:center}.review>.section-sub{font-size:13px;text-transform:uppercase;margin-bottom:60px}.review-slide{margin:0;min-height:160px;text-align:left}.review blockquote{font-size:29px;line-height:1.3;font-weight:700;margin:0 0 24px}.review figcaption{font-size:14px}.review-dots{display:flex;justify-content:center;gap:18px;margin:32px 0}.review-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d1d1d1}.review-dots button[aria-pressed=true]{background:#777}.reviews-link{display:inline-flex;align-items:center;gap:6px;font-size:13px}.reviews-link .ui-icon{color:#00a884;width:18px;height:18px}.cta-band{padding:40px 20px;background:var(--navy);color:white;text-align:center}.cta-band h2{font-size:25px;margin:0 0 25px;color:inherit}.cta-band .btn{border-radius:3px;font-size:16px;padding:11px 15px}
.site-footer{background:white;padding:40px 0 30px;font-size:13px}.site-footer .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.25fr;gap:40px;min-height:370px}.site-footer h2{font-size:15px;line-height:1.5;margin:0 0 12px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0 0 8px}.site-footer .support{text-align:right}.site-footer .support .btn{white-space:nowrap;font-size:16px;padding:10px 18px;border-radius:3px}.footer-lower{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:30px}.footer-lower p{font-size:12px;color:#999;margin:18px 0 0}.footer-payments{text-align:right}.footer-payments>img{width:389px;max-width:100%;height:auto}.social{display:flex;align-items:center;gap:9px}.social a{display:inline-flex;align-items:center;justify-content:center;font-size:13px}.social img{width:24px;height:24px}.page{max-width:960px;padding:45px 20px;margin:auto}.page h1{font-size:38px;line-height:1.2}.page h2{font-size:28px;line-height:1.3}.page p,.page li{line-height:1.7}.page a:not(.btn){color:var(--brand)}.page .lead{font-size:20px}.page-header{background:var(--bg-soft);padding:44px 20px;text-align:center}.page-header h1{font-size:40px;margin:0;line-height:1.25}.crumbs{color:var(--muted);font-size:13px;margin:15px 0 35px}.article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:10px;margin:0 0 30px}.empty{padding:40px;border:1px solid var(--line);border-radius:var(--radius);text-align:center;color:var(--muted)}
@media(min-width:1600px){.hero-art{width:786px}.hero-copy{padding-top:65px}.hero h1{max-width:560px}}
@media(max-width:1199px){.site-header .bar{gap:20px}.header-links{gap:14px}.hero-copy{padding-left:45px;padding-right:10px}.hero h1{font-size:34px}.hero p{font-size:16px}.hero-actions{gap:12px;flex-wrap:wrap}.hero-art{max-width:52%;object-fit:cover;object-position:left}.logos{gap:18px}.editorial-copy{padding:20px}.why p{font-size:14px}.why h3{font-size:16px}.wish-form{top:calc((100vw - 130px)/4 * 425/360 - 45px)}.site-footer .cols{gap:25px}.site-footer .support .btn{white-space:normal}.section-title{font-size:32px}}
@media(max-width:900px){.site-header .bar{height:auto;min-height:85px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.logo{font-size:29px}.menu-toggle{display:inline-flex}.header-links{margin-left:auto}.search{order:4;width:100%}.main-nav{display:none}.main-nav.is-open{display:block}.main-nav>.wrap>ul{display:block}.nav-label{justify-content:space-between}.nav-label>a{padding:14px 0;flex:1}.submenu-toggle{display:block}.main-nav .submenu{position:static;box-shadow:none;border:0;border-left:2px solid var(--line);max-height:50vh}.nav-item:hover>.submenu,.nav-item:focus-within>.submenu{display:none}.nav-item.is-open>.submenu{display:block}.hero{min-height:400px}.hero h1{font-size:30px}.hero-copy{padding:25px;width:52%}.hero-art{max-width:48%;object-fit:cover;object-position:35% center}.hero-secondary{font-size:13px}.hero .btn{font-size:14px;padding:12px 20px}.strip{font-size:12px;min-height:60px;padding:16px 22px;gap:15px;margin-top:-25px}.strip a+a{padding-left:15px}.value-section{padding:60px 0}.props h2{font-size:29px}.props p{font-size:13px}.logos{gap:15px}.grid-4,.grid-5,.why{grid-template-columns:repeat(2,minmax(0,1fr))}.carousel-track>.card{flex-basis:calc((100% - 30px)/2)}.why{gap:30px}.why img{width:50px;height:50px}.editorial h2{font-size:24px}.editorial p{font-size:14px}.editorial-copy,.editorial.image-first .editorial-copy{padding:15px}.review blockquote{font-size:23px}.review{padding:0 50px}.articles-track>.card{flex-basis:calc((100% - 30px)/2)}.site-footer .cols{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.site-footer .support{text-align:left}.footer-lower{align-items:flex-start}.wish-form{top:calc((100vw - 70px)/2 * 425/360 - 45px)}}
@media(max-width:600px){.wrap{padding:0 18px}.announce{font-size:10px;line-height:17px;padding:7px 14px}.site-header .bar{gap:10px}.logo{font-size:26px;letter-spacing:-1px}.header-links{gap:8px}.header-links .currency-menu,.account-link span{display:none}.header-links .ui-icon{width:20px;height:20px}.search{margin:0}.hero{display:flex;flex-direction:column;min-height:0;border-radius:0 0 20px 20px}.hero-art{position:static;order:0;width:100%;max-width:none;height:auto;object-fit:contain}.hero-copy{order:1;width:100%;padding:30px 24px 45px;text-align:center}.hero h1{font-size:29px;margin-bottom:18px}.hero p{font-size:15px}.hero-actions{justify-content:center;gap:16px}.hero-secondary{font-size:13px}.strip{display:none}.value-section{padding:42px 0}.props{gap:16px}.props h2{font-size:21px;margin-bottom:14px}.props p{font-size:11px;line-height:1.6}.section-title{font-size:27px}.section-sub{font-size:13px}.categories-section{padding-bottom:22px}.categories-section .grid{gap:24px 15px}.cat-tile .thumb{aspect-ratio:1;margin-bottom:10px}.cat-tile .name{font-size:12px}.collection-banners{gap:10px;grid-template-columns:1fr}.integrations-section{padding:42px 0}.integrations-section .section-title{font-size:25px}.integrations-section .section-sub{font-size:13px}.logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.logo-box{aspect-ratio:2}.best-sellers-section{padding-bottom:38px}.best-sellers-section .section-title{font-size:25px}.carousel-track{gap:15px}.carousel-track>.card{flex-basis:calc((100% - 15px)/2)}.carousel-arrow{width:24px;height:38px}.carousel-arrow.previous{left:-8px}.carousel-arrow.next{right:-8px}.card .thumb{aspect-ratio:4/5}.card .title{font-size:12px}.card .body{padding:12px 2px}.card .meta{font-size:10px}.card .price{font-size:11px}.card .price small{font-size:9px}.card .core-tag{font-size:11px;right:10px;top:10px}.product-tags{font-size:10px}.product-swatch{width:12px;height:12px}.product-swatch-more{font-size:11px}.wish-form{top:calc((100vw - 51px)/2 * 5/4 - 38px)}.more-link{margin-top:22px;font-size:12px}.promo-mosaic{gap:0 12px}.promotions-section{padding:0 0 24px}.editorial-section{padding:20px 0}.editorial{grid-template-columns:1fr;gap:10px}.editorial-image{grid-row:1}.editorial-copy,.editorial.image-first .editorial-copy{padding:16px 10px 30px;grid-column:1;grid-row:2}.editorial.image-first .editorial-image{grid-column:1;grid-row:1}.editorial h2{font-size:23px;margin:16px 0}.editorial p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:3px}.why-section{padding:35px 0}.why-section .section-title{font-size:25px;margin-bottom:35px}.why{gap:30px 20px}.why img{width:44px;height:44px;margin-bottom:15px}.why h3{font-size:13px;margin-bottom:10px}.why p{font-size:12px}.blog-section{padding:42px 0}.blog-section .section-title{font-size:28px}.articles-track>.card{flex-basis:85%}.post-card .title{font-size:18px}.post-card .meta{font-size:13px}.reviews-section{padding:45px 0}.review{padding:0 28px}.review>.section-sub{font-size:11px;margin-bottom:30px}.review blockquote{font-size:20px}.review-slide{min-height:170px}.review figcaption{font-size:12px}.cta-band{padding:30px 20px}.cta-band h2{font-size:19px}.site-footer{padding:30px 0}.site-footer .cols{gap:28px 20px;font-size:12px}.site-footer h2{font-size:14px}.site-footer .support .btn{font-size:12px;padding:12px}.footer-lower{display:flex;flex-direction:column;gap:25px}.footer-payments{text-align:left}.footer-payments>img{width:330px}.grid-2,.grid-3{grid-template-columns:1fr}.page-header h1{font-size:30px}.page{padding:30px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* forms, notices, account */
.form label{display:block;margin:0 0 14px;font-weight:600;font-size:14px}.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400}
.form label.inline{display:flex;gap:8px;align-items:center;font-weight:400}.form .btn{margin-top:6px}.form .meta{color:var(--muted);font-size:13px;margin-top:14px}
.notice{border-radius:6px;padding:10px 14px;margin:0 0 16px;font-size:14px}.notice.ok{background:#ecfdf5;color:#065f46}.notice.err{background:#fef2f2;color:#991b1b}
.account{display:grid;grid-template-columns:220px 1fr;gap:34px}.account-nav{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius)}.account-nav li a,.account-nav li button{display:block;padding:10px 14px;border-bottom:1px solid var(--line);width:100%;text-align:left;background:none;border-left:0;border-right:0;border-top:0;font:inherit;cursor:pointer}.account-nav li:last-child a,.account-nav li:last-child button{border-bottom:0}.account-nav a.active{font-weight:700;color:var(--brand)}
.badge-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font-size:11px;text-align:center;vertical-align:top;margin-left:2px}
@media (max-width:760px){.account{grid-template-columns:1fr}}

/* Product actions stay attached to the image at every card width. */
.product-image{position:relative}.product-card .wish-form{top:auto;bottom:12px;right:10px}.product-card .thumb img{object-fit:cover}

/* Catalogue details, basket and customer orders. */
.storefront-notices{padding-top:18px}.storefront-notices ul{margin:0;padding-left:18px}.product-detail{gap:65px;align-items:start}.product-detail h1{font-size:38px;line-height:1.2;margin:12px 0 16px}.product-detail .meta{color:var(--muted);font-size:14px}.product-detail-image{background:var(--bg-soft);display:grid;place-items:center;border-radius:12px;overflow:hidden;aspect-ratio:1}.product-detail-image img{width:100%;height:100%;object-fit:cover}.product-price{font-size:30px;font-weight:700;margin:24px 0}.product-price small{font-size:14px;font-weight:400}.product-purchase{margin:28px 0 16px}.product-purchase>label{display:block;margin-bottom:10px;font-weight:600}.purchase-actions{display:flex;gap:15px;align-items:center}.purchase-actions input,.quantity-form input{width:78px;padding:11px;border:1px solid #ccc;border-radius:6px}.text-button{display:inline-flex;align-items:center;gap:8px;padding:8px 0;border:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-size:14px}.text-button:hover{color:var(--brand)}.product-help{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.product-help .ui-icon:not(:first-child){margin-left:12px}.product-description{max-width:100%;padding-left:0;padding-right:0;overflow:auto}.product-description img{max-width:100%;height:auto}.product-description table{border-collapse:collapse;max-width:100%;font-size:14px}.product-description td,.product-description th{padding:8px;border:1px solid var(--line)}.shopping-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:50px}.basket-line{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:start;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.basket-line:first-child{padding-top:0}.basket-image{display:block;width:110px;height:130px;object-fit:cover;background:var(--bg-soft);border-radius:8px;overflow:hidden}.basket-image img{width:100%;height:100%;object-fit:cover}.basket-line h2{font-size:18px;margin:0 0 10px}.basket-line p{font-size:13px;color:var(--muted);margin:0 0 14px}.quantity-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px}.quantity-form input{width:68px;padding:7px}.quantity-form button{border:0;background:transparent;font-size:13px}.order-summary{background:var(--bg-soft);border-radius:12px;padding:30px;height:max-content;position:sticky;top:24px}.order-summary h2,.checkout-form h2{font-size:24px;margin:0 0 25px}.order-summary p{font-size:13px;color:var(--muted);line-height:1.6}.order-summary>.btn{width:100%;margin:12px 0}.order-summary>.btn-link{display:inline-block;margin:18px 0;font-size:14px}.summary-total{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid #ddd;font-size:17px}.summary-row{display:flex;justify-content:space-between;gap:20px;font-size:14px;margin:20px 0}.order-summary address{font-style:normal;font-size:15px;line-height:1.8;margin-bottom:25px}.clear-basket{margin-top:24px}.order-list-item{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}.order-list-item>div{flex:1}.order-list-item p{font-size:13px;color:var(--muted)}
@media(max-width:900px){.product-detail{gap:30px}.product-detail h1{font-size:30px}.shopping-layout{grid-template-columns:1fr;gap:30px}.order-summary{position:static}.product-help{line-height:1.8}}
@media(max-width:600px){.product-detail{grid-template-columns:1fr}.product-detail h1{font-size:27px}.product-price{font-size:25px}.basket-line{grid-template-columns:70px minmax(0,1fr);gap:16px}.basket-line>strong{grid-column:2}.basket-image{width:70px;height:90px}.basket-line h2{font-size:16px}.order-summary{padding:24px}.order-list-item{gap:15px;flex-wrap:wrap}.checkout-form .grid{gap:0}.product-help .ui-icon:not(:first-child){margin-left:0}}

.pagination{display:flex;justify-content:center;gap:28px;align-items:center;margin:35px 0;font-size:14px}.pagination a{display:inline-flex;gap:8px;align-items:center;padding:10px 15px;border:1px solid var(--line);border-radius:5px}.pagination [aria-disabled]{color:#aaa}.category-links{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px}.category-links a{padding:9px 18px;border:1px solid var(--line);border-radius:24px;font-size:14px}.category-links a:hover{border-color:var(--brand)}.post-card .thumb img{object-fit:contain}.page img{height:auto;max-width:100%}.page iframe{max-width:100%}.page table{max-width:100%;border-collapse:collapse}.page th,.page td{padding:10px;border:1px solid var(--line)}
.content-form{margin:40px 0;padding:35px;background:var(--bg-soft);border-radius:12px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.help-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}.help-links a{display:block;border:1px solid var(--line);padding:24px;border-radius:10px;font-weight:600}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:600;cursor:pointer}.review-quote{margin:25px 0;padding:24px;background:var(--bg-soft);border-radius:10px}.review-quote p{font-size:18px}.review-quote cite{font-style:normal;font-size:13px}.service-cover{width:100%;border-radius:15px;margin:25px 0}.site-map-tree{list-style:none;padding:0;margin:0 0 30px;columns:2;column-gap:40px}.site-map-tree>li{break-inside:avoid;margin:0 0 14px;font-weight:600}.site-map-tree ul{list-style:none;padding:0 0 0 14px;margin:6px 0 0;border-left:1px solid var(--line)}.site-map-tree ul li{font-weight:400;margin:4px 0}@media(max-width:600px){.site-map-tree{columns:1}}.download-link{display:flex;align-items:center;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:10px;margin:18px 0}@media(max-width:600px){.content-form{padding:22px}.help-links{grid-template-columns:1fr}}
@media(min-width:1200px){.site-header .bar{height:86px}.value-section{padding:67px 0 70px}.props p{max-width:none;padding:0 10%}}
@media(max-width:600px){.promo-mosaic{grid-template-columns:1fr;gap:16px}.promo-tile:first-child{grid-row:auto}}

.announcement-star{color:#ffe48c;font-size:19px;vertical-align:-1px;line-height:20px}

/* Structured navigation: the same menu content supports simple dropdowns and grouped mega menus. */
.main-nav > .wrap { position: relative; }
.nav-item--mega { position: static; }
.nav-label { position: relative; }
.nav-label > a { flex: 1; text-align: center; border-bottom: 1px solid transparent; margin-bottom: -1px; }
.nav-item.is-open > .nav-label > a { color: var(--brand); border-bottom-color: var(--brand); }
.menu-panel { display: none; position: absolute; top: 100%; left: var(--panel-shift, 0px); z-index: 40; width: 325px; max-width: calc(100vw - 36px); max-height: var(--panel-height, 75vh); overflow-y: auto; overscroll-behavior: contain; padding: 30px 36px; color: #111; background: #fff; box-shadow: 0 7px 12px #0003; font-family: Arial, "Helvetica Neue", sans-serif; font-size: 16px; line-height: 1.5; }
.menu-panel--mega { left: 20px; right: 20px; width: auto; max-width: none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.menu-panel--compact { width: 610px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.nav-item.is-open > .menu-panel { display: grid; }
.main-nav:not([data-enhanced]) .nav-item:hover > .menu-panel,
.main-nav:not([data-enhanced]) .nav-item:focus-within > .menu-panel { display: grid; }
.menu-column { min-width: 0; }
.menu-column > .menu-entry + .menu-entry { margin-top: 22px; }
.menu-entry-link { display: block; padding: 0; min-height: 24px; }
.menu-entry-title { display: inline; }
.menu-entry-children { margin-top: 8px !important; }
.menu-entry-children > .menu-entry + .menu-entry { margin-top: 7px; }
.menu-entry--heading > .menu-entry-link,
.menu-entry--feature > .menu-entry-link,
.menu-entry--badge > .menu-entry-link,
.menu-entry.has-children > .menu-entry-link { font-weight: 700; }
.menu-entry-description { display: block; color: #888; font-size: 14px; line-height: 1.5; font-weight: 400; }
.menu-entry-description.is-caption { margin-top: 3px; font-size: 12px; letter-spacing: .045em; text-transform: uppercase; }
.menu-entry-image { display: block; width: 100%; height: auto; margin-bottom: 9px; border-radius: 8px; }
.menu-entry--badge > .menu-entry-link { color: #1d9bf1; }
.menu-entry--badge .menu-entry-image { display: inline-block; vertical-align: -1px; width: 64px; height: 18px; object-fit: contain; border-radius: 0; margin: 0 0 0 -3px; }
/* Breadcrumb and title of a page sit in one block a site can band across the page; the eyebrow is for such sites. */
.page-heading{display:block}.page-eyebrow{display:none}
/* A featured top-level entry is the menu's call to action: a button at the end of the row on a desktop. */
@media (min-width: 901px) {
    .main-nav .nav-item-style--feature { flex: 0 0 auto; margin-left: auto; display: flex; align-items: center; }
    .main-nav .nav-item-style--feature > .nav-label > a { padding: 10px 24px; border-radius: 26px; background: var(--brand); color: #fff; border: 0; margin: 0; }
    .main-nav .nav-item-style--feature > .nav-label > a:hover { background: var(--brand-dark); color: #fff; }
}
@media (min-width: 901px) {
    .nav-label > .submenu-toggle { display: flex; position: absolute; right: 0; opacity: 0; padding: 10px 4px; }
    .nav-label > .submenu-toggle:focus-visible { opacity: 1; }
}
@media (min-width: 901px) and (hover: none) {
    .nav-label > .submenu-toggle { opacity: 1; }
}
@media (min-width: 901px) and (max-width: 1199px) {
    .menu-panel { padding: 24px; font-size: 14px; }
    .menu-entry-link { padding: 3px 0; }
    .menu-panel--mega { gap: 24px; }
    .menu-entry-description { font-size: 12px; }
    .menu-entry-description.is-caption { font-size: 10px; }
}
@media (max-width: 900px) {
    .nav-item--mega { position: relative; }
    .icon-button, .menu-toggle, .account-link { min-width: 44px; min-height: 44px; }
    .menu-panel, .menu-panel--mega, .menu-panel--compact { position: static; width: 100%; max-width: none; max-height: 65vh; padding: 20px; border: 1px solid var(--line); box-shadow: none; font-size: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
    .menu-panel--dropdown { grid-template-columns: 1fr; }
    .menu-entry-children > .menu-entry + .menu-entry { margin-top: 10px; }
    .menu-entry-link { padding: 3px 0; }
    .nav-label > a { padding-left: 0; text-align: left; }
    .nav-label > .submenu-toggle { display: flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
    .main-nav:not([data-enhanced]) .nav-item:hover > .menu-panel { display: none; }
    .main-nav:not([data-enhanced]) .nav-item:focus-within > .menu-panel { display: grid; }
}
@media (max-width: 600px) {
    .menu-panel, .menu-panel--mega, .menu-panel--compact { grid-template-columns: 1fr; padding: 18px; }
    .menu-entry-link { min-height: 32px; }
    .menu-entry-description { font-size: 13px; }
    .menu-entry-description.is-caption { font-size: 11px; }
    .menu-entry-image { max-width: 360px; }
}
/* order lifecycle: status badge, delivery choice, progress list */
.status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-soft);color:var(--ink);border:1px solid var(--line)}
.status-badge.status-paid,.status-badge.status-completed{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.status-badge.status-shipped,.status-badge.status-in_production{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
.status-badge.status-on_hold,.status-badge.status-pending,.status-badge.status-demo{background:#fffbeb;color:#92400e;border-color:#fde68a}
.status-badge.status-cancelled{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.order-status{margin:10px 0 0;color:var(--muted);font-size:14px}
.delivery-options{display:grid;gap:10px;margin:0 0 18px}
.delivery-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer}
.delivery-option:hover{border-color:var(--brand)}.delivery-option span{flex:1}.delivery-option small{display:block;color:var(--muted);font-weight:400}
.order-history{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);max-width:640px}
.order-history li{position:relative;padding:0 0 18px 22px}
.order-history li::before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--brand)}
.order-history time{display:block;font-size:12px;color:var(--muted)}
.order-history strong{display:block}.order-history span{color:var(--muted);font-size:14px}

/* Wallet: credit account pages and the account-page panels modules add. */
.wallet-page { display: grid; gap: 24px; }
.wallet-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.wallet-stat { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
.wallet-stat span { display: block; color: var(--muted); font-size: 13px; }
.wallet-stat strong { display: block; font-size: 22px; margin-top: 4px; }
.wallet-stat a { font-size: 13px; }
.wallet-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.wallet-card { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; }
.wallet-card h2 { margin-top: 0; font-size: 18px; }
.wallet-card-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.wallet-mode { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.wallet-mode input { width: auto; }
.wallet-inline-balance { font-size: 18px; margin: 4px 0; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.data-table th, .data-table td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table th { color: var(--muted); font-weight: 600; }
.data-table .num { text-align: right; white-space: nowrap; }
.data-table .pos { color: #15803d; }
.data-table .neg { color: #b91c1c; }
.account-panel { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 18px; }
.account-panel h2 { font-size: 18px; margin: 0 0 10px; }
.account-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.account-list li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.account-list-meta { color: var(--muted); font-size: 13px; display: block; }
.notice.warn { background: #fef3c7; border: 1px solid #fcd34d; color: #92400e; border-radius: 8px; padding: 10px 12px; }

/* Storefront: shared helpers the module pages rely on. */
.muted { color: var(--muted); font-size: 14px; }
.order-status { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 8px 0 0; color: var(--muted); }
.order-status-part::before { content: '·'; margin-right: 10px; }
.order-progress-heading { margin-top: 32px; }
.order-totals { margin: 18px 0; padding: 0; }
.order-totals div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.order-totals dt { color: var(--muted); }
.order-totals dd { margin: 0; font-weight: 500; text-align: right; }
.order-totals .order-totals-grand { border-bottom: 0; border-top: 2px solid var(--line); margin-top: 4px; padding-top: 10px; font-size: 16px; }
.order-totals .order-totals-grand dd { font-weight: 700; }
.status-badge.status-draft, .status-badge.status-received, .status-badge.status-requested { background: #f3f4f6; color: #374151; }
.status-badge.status-ready, .status-badge.status-imported, .status-badge.status-fulfilled { background: #dbeafe; color: #1e40af; }
.status-badge.status-in_progress, .status-badge.status-assigned, .status-badge.status-accepted { background: #ede9fe; color: #5b21b6; }
.status-badge.status-failed, .status-badge.status-rejected { background: #fee2e2; color: #991b1b; }
.seller-sell { margin: 18px 0; padding: 14px 16px; border: 1px dashed var(--line); border-radius: 12px; display: grid; gap: 10px; }
.seller-sell label { display: grid; gap: 6px; font-size: 14px; }
.seller-sell .btn { justify-self: start; }
.wallet-stat small { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.wallet-card h2 + p.muted { margin-top: -6px; }
.wallet-card ul { padding-left: 18px; line-height: 1.6; }
.btn-link { background: none; border: 0; padding: 0; color: var(--brand, #d33); cursor: pointer; font: inherit; text-decoration: underline; }

.form label.wallet-mode { display: flex; flex-direction: row; align-items: center; gap: 10px; font-weight: 400; margin: 0 0 10px; }
.form label.wallet-mode input { width: auto; margin: 0; order: -1; accent-color: var(--brand); }
.form input[type="number"] { max-width: 240px; }
.form input[readonly] { background: var(--bg-soft); }

/* Promotion code panel in the basket (promotions module) */
.promo-panel { margin: 0 0 16px; padding: 12px 0; border-bottom: 1px solid var(--line, #e5e7eb); }
.promo-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.promo-row { display: flex; gap: 8px; }
.promo-row input { flex: 1 1 auto; min-width: 0; padding: 8px 10px; border: 1px solid var(--line, #d1d5db); border-radius: 6px; text-transform: uppercase; }
.promo-row .btn { flex: 0 0 auto; }
.promo-form .notice { margin: 8px 0 0; }
.promo-applied { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.summary-discount strong { color: var(--success, #15803d); }

/* Profile: e-mail notification switches */
.form fieldset.notify-prefs { border: 1px solid var(--line, #e5e7eb); border-radius: 8px; padding: 14px 16px 6px; margin: 4px 0 18px; }
.form fieldset.notify-prefs legend { font-weight: 700; padding: 0 6px; }
.form fieldset.notify-prefs label.inline { margin: 0 0 8px; }
.form fieldset.notify-prefs label.inline input { width: auto; margin: 0; accent-color: var(--brand); }
.form fieldset.notify-prefs > label:not(.inline) { margin-top: 12px; }
.summary-discount strong, .summary-total strong { white-space: nowrap; }

/* Banners (the legacy ads system) */
.site-banner { display: flex; align-items: center; gap: 20px; margin: 20px 0; padding: 12px 16px; border: 1px solid var(--line, #e5e7eb); border-radius: 10px; text-decoration: none; color: inherit; background: var(--bg-soft, #f9fafb); }
.site-banner img { width: 160px; max-height: 96px; object-fit: contain; border-radius: 6px; flex: 0 0 auto; }
.site-banner-copy { display: flex; flex-direction: column; gap: 4px; }
.site-banner-copy strong { font-size: 18px; }
.site-banner-copy small { color: var(--muted); }
.site-banner:hover strong { color: var(--brand); }
@media (max-width: 640px) { .site-banner { flex-direction: column; align-items: flex-start; } .site-banner img { width: 100%; max-height: 160px; } }

/* Blog categories and tags */
.post-terms { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.post-terms a { display: inline-block; padding: 3px 10px; border: 1px solid var(--line, #e5e7eb); border-radius: 999px; font-size: 13px; text-decoration: none; color: inherit; }
.post-terms a:hover, .post-terms a.active { border-color: var(--brand); color: var(--brand); }
.post-terms .term-kind { color: var(--muted); font-size: 13px; align-self: center; }
.preview-bar { background: #fef3c7; color: #78350f; padding: 10px 16px; text-align: center; font-weight: 600; }

/* Checkout payment choice and order-page actions */
.pay-options { display: flex; flex-direction: column; gap: 10px; margin: 8px 0 18px; }
.form label.pay-option, .order-actions label.pay-option { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid var(--line, #e5e7eb); border-radius: 8px; font-weight: 400; margin: 0; cursor: pointer; }
.form label.pay-option input, .order-actions label.pay-option input { width: auto; margin: 4px 0 0; accent-color: var(--brand); }
.pay-option span { display: flex; flex-direction: column; gap: 2px; } .pay-option small { color: var(--muted); }
.pay-slot { margin: 4px 0 0; }
.order-actions { margin: 18px 0; padding: 14px 16px; border: 1px solid var(--line, #e5e7eb); border-radius: 8px; background: #fff; }
.order-actions h3, .order-actions summary { font-size: 15px; font-weight: 700; margin: 0 0 8px; cursor: pointer; }
.order-actions .form label { margin-bottom: 10px; } .order-actions .btn { margin-top: 4px; }
.bank-details-box { white-space: pre-wrap; background: var(--bg-soft, #f9fafb); border-radius: 6px; padding: 10px 12px; font-family: inherit; margin: 0 0 12px; }
.order-cancel { margin: 8px 0 16px; } .btn-link.danger { color: #b91c1c; }
.tracking-form { max-width: 520px; }
.notice.warn { background: #fef3c7; color: #78350f; }

/* Currency switcher */
.language-switcher { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.language-switcher a, .language-switcher span { padding: 2px 4px; }
.language-switcher a:hover { color: var(--brand); }
.language-switcher .language-current { font-weight: 700; }
.language-switcher > * + *::before { content: "|"; margin-right: 6px; color: var(--muted, #888); font-weight: 400; }
.currency-menu > div { min-width: 220px; }
.currency-list { list-style: none; margin: 6px 0; padding: 0; }
.currency-list a { display: flex; justify-content: space-between; gap: 10px; padding: 6px 8px; border-radius: 6px; text-decoration: none; color: inherit; }
.currency-list a:hover, .currency-list a.active { background: var(--bg-soft, #f3f4f6); color: var(--brand); }
.currency-list small { color: var(--muted); }

/* Product sets, recommendations and stock */
.product-set-block { padding: 28px 0 8px; border-top: 1px solid var(--line, #e5e7eb); }
.product-set-block h2 { margin: 0 0 12px; font-size: 22px; } .product-set-block h2 a { color: inherit; text-decoration: none; } .product-set-block h2 a:hover { color: var(--brand); }
.set-description { max-width: 720px; color: var(--muted); } .set-image { max-width: 100%; border-radius: 10px; margin: 8px 0 20px; }
.product-stock { margin: 6px 0 10px; font-size: 14px; } .product-stock.in-stock strong { color: #15803d; } .product-stock.made-to-order strong { color: var(--muted); }

/* Address book, personal data, impersonation */
.account-main { max-width: 640px; }

/* Saved catalogue lists share the account shell without stretching a single product across it. */
.account > * { min-width: 0; }
.account-navigation { border: 0; padding: 0; }
.account-navigation > summary { display: none; cursor: pointer; font-weight: 600; padding: 14px; border: 1px solid var(--line); border-radius: 6px; }
.saved-products-main h1 { font-size: 32px; line-height: 1.2; margin: 0 0 12px; }
.saved-products-main > .meta { margin: 0 0 28px; }
.saved-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 24px; }
.saved-products-grid .product-card .thumb { aspect-ratio: 4 / 5; height: auto; }
.saved-products-grid .product-card .thumb img { width: 100%; height: 100%; object-fit: cover; }
.wish-form button[aria-pressed="true"], .product-wish[aria-pressed="true"] { color: var(--brand); }
.icon-button { position: relative; }
.icon-button .badge-count { position: absolute; top: -8px; right: -8px; }
.page-header:has(+ section .account) { text-align: left; padding: 28px 0; background: var(--bg); border-bottom: 1px solid var(--line); }
.page-header:has(+ section .account) h1 { font-size: 32px; line-height: 1.2; }
@media (max-width: 1100px) { .saved-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
@media (max-width: 760px) {
    .account-navigation > summary { display: list-item; list-style-position: inside; }
    .account-navigation[open] > summary { margin-bottom: 10px; }
    .account { gap: 24px; }
    .saved-products-page { padding-top: 24px; }
    .saved-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .saved-products-main h1, .page-header:has(+ section .account) h1 { font-size: 28px; }
}
.address-card { display: flex; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid var(--line, #e5e7eb); border-radius: 8px; margin: 0 0 12px; }
.address-card.is-default { border-color: var(--brand); }
.address-card p { margin: 0 0 6px; } .address-kind { font-weight: 700; } .badge-default { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--brand); color: #fff; font-size: 12px; font-weight: 600; }
.address-actions { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.address-form { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line, #e5e7eb); }
.pd-card { padding: 16px 18px; border: 1px solid var(--line, #e5e7eb); border-radius: 8px; margin: 0 0 16px; }
.pd-card.danger { border-color: #fca5a5; background: #fff7f7; } .pd-card h2 { margin: 0 0 8px; font-size: 18px; } .pd-card p { margin: 0 0 12px; }
.btn-danger { background: #b91c1c; color: #fff; border: 0; padding: 10px 18px; border-radius: 6px; font-weight: 700; cursor: pointer; } .btn-danger:hover { background: #991b1b; }
.pd-list { list-style: none; padding: 0; margin: 0; color: var(--muted); font-size: 14px; } .pd-list li { padding: 4px 0; }
.impersonation-bar { background: #fde68a; color: #78350f; padding: 8px 16px; text-align: center; font-size: 14px; } .impersonation-bar form { display: inline; } .impersonation-bar .btn-link { color: #78350f; font-weight: 700; margin-left: 8px; }
.account-nav a.active { font-weight: 700; color: var(--brand); }
.social-sign-in { margin: 18px 0 8px; } .social-sign-in .muted { margin: 0 0 8px; color: var(--muted); font-size: 14px; } .social-buttons { display: flex; flex-wrap: wrap; gap: 10px; } .social-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 6px; border: 1px solid var(--line); background: #fff; font-weight: 600; text-decoration: none; color: var(--text, #222); } .social-btn::before { content: ""; width: 18px; height: 18px; border-radius: 50%; display: inline-block; } .social-google::before { background: conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0); } .social-facebook { background: #1877f2; color: #fff; border-color: #1877f2; } .social-facebook::before { background: #fff; } .social-links { list-style: none; padding: 0; margin: 0; } .social-links li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); } .inline-form { display: inline; } .account-card { border: 1px solid var(--line); border-radius: var(--radius, 8px); padding: 18px 20px; margin: 24px 0; } .account-card h2 { margin: 0 0 6px; font-size: 18px; }

.blog-streams { display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 22px; } .blog-streams a { padding: 7px 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; text-decoration: none; color: inherit; } .blog-streams a.active { background: var(--brand); border-color: var(--brand); color: #fff; }

/* Home headings sized as the legacy stylesheet did: display headings 38px, plain section headings 30px, the hero title 44px. */
.section-title{font-size:30px}.section-title.display{font-size:38px;line-height:1.2}.hero h1{font-size:44px;line-height:1.1}.best-sellers-grid{margin-bottom:8px}.regular-v-margin{margin:26px 0 0}.text-center{text-align:center}.best-sellers-section .more-link{text-align:right;font-size:13px;margin:8px 0 0}
@media (max-width:1100px){.section-title.display{font-size:32px}.hero h1{font-size:36px}}@media (max-width:700px){.section-title{font-size:27px}.section-title.display{font-size:28px}.hero h1{font-size:30px}}
.stock-request { margin: 14px 0; padding: 12px 14px; border: 1px dashed var(--line); border-radius: 8px; background: var(--bg-soft); } .stock-request p { margin: 0 0 8px; } .stock-request-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .stock-request-form input[type=email] { flex: 1 1 220px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; } .product-personalise input { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; } .checkout-consent { margin: 14px 0 6px; }
.error-page { max-width: 640px; margin: 0 auto; padding: 72px 20px 88px; text-align: center; } .error-page .error-code { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; } .error-page h1 { font-size: 34px; line-height: 1.2; margin: 0 0 12px; } .error-page .lead { color: var(--muted); margin: 0 0 26px; } .error-search { display: flex; gap: 8px; justify-content: center; margin: 0 0 26px; } .error-search input { flex: 1 1 280px; max-width: 360px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 6px; font-size: 15px; } .error-links { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; padding: 0; margin: 0; } .error-links a { font-weight: 600; }
@media (max-width: 640px) { .error-page { padding: 48px 20px 64px; } .error-page h1 { font-size: 27px; } .error-search { flex-wrap: wrap; } }
/* Account and seller pages on a phone: an auto-fit track whose minimum is a fixed width makes the
   grid wider than the screen, so the minimum is capped at the container and items may shrink. */
.wallet-page { min-width: 0; } .wallet-page > * { min-width: 0; } .wallet-card { min-width: 0; }
.wallet-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.wallet-columns { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.wallet-card code, .wallet-card pre, .wallet-page code { overflow-wrap: anywhere; white-space: normal; }
.account-panel { min-width: 0; } .account-panel code { overflow-wrap: anywhere; }
.empty-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 6px; } .basket-empty.empty { max-width: 520px; margin: 24px auto 40px; }
/* Refine-by: a Filter button on the listing toolbar opens a panel of the groups and options that
   match something in the listing. Measured from the reference shop's own panel. */
.listing-toolbar .filter-toggle,.filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:90px;padding:6px 12px;font-size:16px;font-weight:700;line-height:24px;color:#333;background:#f0f0f0;border:1px solid transparent;border-radius:6px}
.listing-toolbar .filter-toggle:hover,.filter-toggle:hover{background:#e6e6e6;color:#333}
dialog.filter-modal{width:450px;max-width:calc(100vw - 20px);max-height:calc(100vh - 60px);margin:30px auto;padding:0;border:1px solid rgba(0,0,0,.2);border-radius:0;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.5);color:var(--text,var(--ink));overflow:auto}
dialog.filter-modal::backdrop{background:rgba(0,0,0,.5)}
.filter-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e5e5e5}
.filter-modal .modal-header strong{font-size:19px;font-weight:700;line-height:1.3}
.filter-modal .modal-close{border:0;background:none;padding:0;font-size:24px;font-weight:700;line-height:24px;color:#000;opacity:.2}
.filter-modal .modal-close:hover{opacity:.5}
.filter-modal .modal-body{padding:20px}
.filter-modal .modal-footer{padding:20px;border-top:1px solid #e5e5e5;text-align:right}
.filter-modal .modal-footer .btn{padding:6px 12px;font-size:16px;font-weight:700;line-height:24px;border:1px solid transparent;border-radius:6px;color:#333;background:#f0f0f0}
.filter-modal .modal-footer .btn:hover{background:#e6e6e6;color:#333}
.filter-heading-row,.filter-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:13px}
.filter-heading strong{font-weight:400;font-size:16px;line-height:24px;text-transform:uppercase}
.filter-reset{font-size:13px;font-weight:300;line-height:19.5px;color:rgba(0,0,0,.5);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .1s,visibility .1s}
.filter-reset.is-visible{opacity:1;visibility:visible}
.filter-reset a{color:inherit;text-decoration:none}
.filter-reset a:hover,.filter-reset a:focus{color:var(--brand)}
.filter-section{margin-top:24px}
.filter-section-title strong{font-size:17px;font-weight:600;line-height:25.5px;color:var(--brand);border-bottom:1px solid transparent}
.filter-section-items{font-size:15px;line-height:22.5px}
.filter-section-items label{display:flex;align-items:flex-start;gap:6px;cursor:pointer}
.filter-section-items input[type=checkbox]{width:13px;height:13px;margin:4px 0 0;flex-shrink:0}
.filter-price-group{display:flex;align-items:center;font-size:15px;line-height:22.5px}
.filter-price-group label{flex:1;min-width:0}
.filter-price-group input{width:100%;min-height:1.8em;padding:0 .5em;font-size:15px}
.filter-price-group>span{min-width:1.5em;text-align:center;opacity:.8}

/* Menu entries meant for one kind of screen (MenuItem::devices); the navigation switches at 901 px. */
@media (min-width:901px){.nav-item--only-mobile,.menu-entry--only-mobile{display:none!important}}
@media (max-width:900px){.nav-item--only-desktop,.menu-entry--only-desktop{display:none!important}}
