/* Store-specific catalogue. Shared navigation and other pages retain their styles. */
.store-page { --store-ink:#172d4a; --store-muted:#56677e; --store-blue:#075fc8; --store-line:#dce5ef; --store-surface:#f4f7fb; color:var(--store-ink); }
.store-page .container { max-width:1244px; }
.store-page :is(a,button,input,select):focus-visible { outline:3px solid #c48514; outline-offset:4px; }
.store-hero { background:#edf4fc; overflow:hidden; border-bottom:1px solid var(--store-line); }
.store-hero .container { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:70px; padding-top:26px; padding-bottom:42px; }
.store-breadcrumb { font-size:12px; color:var(--store-muted); margin-bottom:29px; display:flex; gap:12px; }
.store-breadcrumb a { color:var(--store-muted); }
.store-hero h1 { font-size:clamp(36px,4vw,54px); line-height:1.12; font-weight:700; letter-spacing:-.045em; max-width:580px; margin:0 0 20px; }
.store-hero p { max-width:490px; color:var(--store-muted); font-size:16px; line-height:1.75; margin-bottom:24px; }
.store-actions { display:flex; gap:12px; flex-wrap:wrap; }
.store-page .store-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:11px 20px; border-radius:6px; font-size:13px; font-weight:600; border:1px solid var(--store-blue); background:var(--store-blue); color:#fff; }
.store-page .store-button:hover { background:#034eaa; }
.store-page .store-button--secondary { background:transparent; border-color:#becce0; color:var(--store-ink); }
.store-page .store-button--secondary:hover { background:#dfeaf7; }
.store-art { position:relative; height:305px; margin-top:30px; }
.store-art::before { content:''; position:absolute; width:290px; height:290px; border:1px solid #d4e2f3; border-radius:50%; left:105px; top:0; }
.store-art::after { content:''; position:absolute; width:345px; height:345px; border:1px solid #dfe9f5; border-radius:50%; left:77px; top:-28px; }
.store-document { position:absolute; z-index:1; background:#fff; border:1px solid #dbe4f0; border-radius:8px; width:225px; height:267px; left:174px; top:9px; padding:25px 24px; transform:rotate(6deg); box-shadow:0 12px 28px #264b7812; }
.store-document .document-top { display:flex; align-items:center; justify-content:space-between; font-size:9px; color:#6a7990; border-bottom:1px solid #e4eaf2; padding-bottom:14px; margin-bottom:17px; }
.document-pdf { color:#c73e3c; border:1px solid #edcfce; padding:3px 6px; border-radius:3px; font-size:9px; font-weight:700; }
.store-document strong { font-size:16px; letter-spacing:-.04em; }
.document-lines { margin-top:16px; display:grid; gap:9px; }
.document-lines i { height:4px; background:#e8edf4; display:block; border-radius:3px; }
.document-lines i:nth-child(3n) { width:66%; }
.document-lines i.highlight { background:#bfd7f5; height:8px; width:87%; }
.document-stamp { position:absolute; bottom:27px; right:20px; border:1px solid #97bbaf; color:#34725f; font-size:10px; padding:4px 8px; transform:rotate(-12deg); border-radius:3px; }
.store-toolbox { position:absolute; z-index:2; top:64px; left:2px; width:227px; background:#fff; border:1px solid #d3dfed; box-shadow:0 14px 36px #1f49771c; border-radius:9px; overflow:hidden; }
.toolbox-title { font-size:12px; font-weight:600; padding:13px 16px; background:#f8fafd; border-bottom:1px solid #e5ebf3; display:flex; align-items:center; gap:8px; }
.toolbox-title span { width:7px; height:7px; background:#126ad1; border-radius:50%; }
.toolbox-row { display:flex; gap:10px; align-items:center; padding:10px 14px; font-size:11px; }
.toolbox-row + .toolbox-row { border-top:1px solid #f0f3f8; }
.toolbox-row b { display:block; font-size:11px; font-weight:600; }
.toolbox-row small { font-size:9px; color:#6e7e93; }
.toolbox-row .tool-check { margin-left:auto; color:#2b886b; font-size:14px; }
.store-icon { display:inline-flex; width:40px; height:40px; background:#eaf2fd; color:#1765bd; align-items:center; justify-content:center; border-radius:9px; flex-shrink:0; }
.store-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.toolbox-row .store-icon { height:29px; width:29px; border-radius:6px; }
.toolbox-row .store-icon svg { height:17px; width:17px; }
.store-art-note { position:absolute; z-index:3; bottom:0; left:97px; display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #d9e5f2; border-radius:20px; padding:8px 14px; color:#465d78; font-size:10px; box-shadow:0 4px 12px #294b6e08; }
.store-art-note span { color:#24816b; }
.store-hero .document-top p { font-size:9px; margin:0; }
.store-hero .document-heading { line-height:1.4; margin:0; color:#172d4a; }
.store-hero .document-stamp { font-size:10px; margin:0; color:#34725f; }
.store-hero .toolbox-title { font-size:12px; margin:0; color:#172d4a; }
.store-hero .toolbox-caption { font-size:11px; margin:0; line-height:1.6; color:#172d4a; }
.store-sidebar .store-help-title { margin:0; font-size:12px; }
.store-results-toolbar p { margin:0; }
.store-page .store-card-top .store-badge { font-size:9px; margin:0; line-height:1.6; flex:0 0 auto; }
.store-page .store-products .product-card > p { flex:0 0 auto; }
.store-page .store-products[hidden] { display:none; }
.store-assurances { border-bottom:1px solid var(--store-line); }
.store-assurances .container { display:flex; justify-content:space-between; gap:20px; padding-top:18px; padding-bottom:18px; }
.store-assurances p { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--store-muted); margin:0; }
.store-assurances svg { width:18px; height:18px; stroke:#5d789b; fill:none; stroke-width:1.6; }
.store-catalog { padding:46px 0 60px; background:var(--store-surface); }
.store-catalog-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; gap:20px; }
.store-catalog-heading h2 { font-size:26px; letter-spacing:-.035em; line-height:1.3; margin:0 0 6px; }
.store-catalog-heading p { color:var(--store-muted); font-size:13px; margin:0; }
.store-search { width:295px; position:relative; }
.store-search svg { position:absolute; width:17px; height:17px; top:14px; left:14px; stroke:#73849b; fill:none; stroke-width:1.8; }
.store-search input { width:100%; height:44px; border:1px solid #d4deea; border-radius:6px; padding:0 14px 0 41px; background:#fff; color:var(--store-ink); font:inherit; font-size:12px; }
.store-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:30px; align-items:start; }
.store-sidebar { padding-top:8px; }
.store-sidebar h3 { font-size:12px; font-weight:600; margin:0 0 12px 12px; }
.store-categories { display:grid; gap:4px; }
.store-category { border:0; border-radius:6px; font:inherit; font-size:12px; padding:11px 12px; cursor:pointer; background:transparent; color:var(--store-muted); display:flex; align-items:center; text-align:left; justify-content:space-between; gap:8px; }
.store-category:hover { background:#e7edf5; }
.store-category[aria-pressed="true"] { background:#e0edff; color:#0758b4; font-weight:600; }
.store-category span { font-size:10px; opacity:.8; }
.store-free { display:flex; gap:9px; align-items:center; padding:18px 12px 22px; margin-top:15px; border-top:1px solid var(--store-line); font-size:12px; cursor:pointer; }
.store-free input { accent-color:var(--store-blue); width:15px; height:15px; }
.store-sidebar-help { padding:18px 14px; border:1px solid var(--store-line); border-radius:7px; }
.store-sidebar-help strong { font-size:12px; }
.store-sidebar-help p { font-size:11px; line-height:1.7; color:var(--store-muted); margin:7px 0 11px; }
.store-sidebar-help a { font-size:11px; font-weight:600; }
.store-results-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; color:var(--store-muted); font-size:11px; min-height:28px; gap:10px; }
.store-results-toolbar select { padding:6px 24px 6px 8px; background:transparent; color:var(--store-ink); font:inherit; border:0; cursor:pointer; }
.store-page .store-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.store-page .store-products .product-card { display:flex; flex-direction:column; padding:22px; background:#fff; border:1px solid var(--store-line); border-radius:9px; box-shadow:none; transform:none; min-width:0; }
.store-page .store-products .product-card[hidden] { display:none; }
.store-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:17px; }
.store-badge { font-size:9px; background:#edf3fd; color:#2265b1; padding:4px 7px; border-radius:4px; font-weight:600; }
.store-badge--free { color:#2d755d; background:#ecf6f1; }
.store-page .store-products h3 { font-size:18px; letter-spacing:-.035em; margin:0 0 8px; line-height:1.3; }
.store-page .store-products .product-card > p:not(.product-card__price):not(.store-bonus) { color:var(--store-muted); font-size:11px; line-height:1.8; margin:0 0 16px; }
.store-page .store-products .product-card__price { order:3; margin:auto 0 15px; padding-top:16px; font-size:24px; line-height:1.25; color:var(--store-ink); letter-spacing:-.04em; }
.store-page .store-products .product-card__price span { display:block; font-size:10px!important; letter-spacing:0; opacity:1!important; color:var(--store-muted); font-weight:400; margin-top:4px; }
.store-page .store-products .store-bonus { color:#2d6c5d; font-size:11px; margin:0 0 10px; }
.store-bonus a { color:inherit; text-decoration:underline; }
.store-page .store-products .product-card__links { order:4; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; border-top:0; padding:0; margin:0; align-items:center; }
.store-page .store-products .product-card__links a { font-size:10px; font-weight:600; }
.store-page .store-products .product-card__links .btn { width:100%; background:var(--store-blue); color:#fff; border:1px solid var(--store-blue); padding:9px 10px; border-radius:5px; font-size:11px; min-height:36px; box-shadow:none; text-align:center; }
.store-page .store-products .product-card__links .btn:hover { background:#034eaa; }
.store-page .store-products .product-card__links .store-subscribe { width:auto; background:transparent; border:0; color:var(--store-blue); min-height:0; padding:0; font-size:10px; }
.store-empty { text-align:center; padding:70px 20px; background:#fff; border:1px dashed var(--store-line); border-radius:8px; }
.store-empty p { color:var(--store-muted); margin:10px 0 20px; }
.store-empty button { cursor:pointer; }
.store-page .section { padding:55px 0; }
.store-page .section-title { font-size:28px; letter-spacing:-.035em; }
.store-page .section-subtitle { font-size:14px; }
.store-page .store-bundles { background:#eaf2fb; }
.store-page .store-bundles .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1000px; margin:0 auto; }
.store-page .store-bundles .product-card { border:1px solid #ccdced; border-radius:9px; box-shadow:none; padding:28px; }
.store-page .store-bundles .product-card h3 { font-size:19px; }
.store-page .store-bundles .product-card h3 span { display:inline-block; font-size:10px; font-weight:600; margin-left:8px; background:#eaf4ee; color:#2c7356; border-radius:4px; padding:4px 7px; }
.store-page .store-bundles .product-card p { font-size:13px; }
.store-page .store-bundles .product-card__price { font-size:27px!important; }
.store-page .content-block { font-size:14px; }
.store-page .cta { background:#153b6a; overflow-x:clip; } /* hidden button tooltips must not widen the page on phones */
[data-theme="dark"] .store-page { --store-ink:#e0eafb; --store-muted:#acbdd3; --store-line:#32465f; --store-surface:#132237; --store-blue:#1971d9; background:#132237; }
[data-theme="dark"] .store-page .store-hero,[data-theme="dark"] .store-page .store-bundles { background:#192e48; }
[data-theme="dark"] .store-page :is(.store-products .product-card,.store-search input,.store-empty) { background:#1d3049; }
[data-theme="dark"] .store-page .store-art { color:#172d4a; }
[data-theme="dark"] .store-page .store-category[aria-pressed="true"] { background:#244b7b; color:#e1eeff; }
[data-theme="dark"] .store-page .store-category:hover { background:#24405e; }
[data-theme="dark"] .store-page .store-bonus { color:#8dd0b7; }
@media(min-width:1000px) { .store-products .product-card:nth-child(3n+2) .store-icon { background:#f0edfb; color:#7a5bb4; } .store-products .product-card:nth-child(3n+3) .store-icon { background:#e8f3ef; color:#377c64; } }
@media(max-width:1100px) { .store-layout { grid-template-columns:160px minmax(0,1fr); gap:20px; } .store-page .store-products .product-card { padding:18px; } .store-hero .container { gap:25px; } .store-document { left:130px; } .store-art-note { left:55px; } }
@media(max-width:900px) { .store-page .store-products { grid-template-columns:repeat(2,minmax(0,1fr)); } .store-hero h1 { font-size:40px; } .store-art { transform:scale(.85); transform-origin:center right; } .store-hero .container { grid-template-columns:1.1fr 1fr; gap:0; } .store-assurances .container { flex-wrap:wrap; justify-content:center; gap:15px 30px; } }
@media(max-width:700px) { .store-hero .container { display:block; padding-top:22px; padding-bottom:30px; } .store-breadcrumb { margin-bottom:22px; } .store-hero h1 { font-size:38px; max-width:440px; } .store-hero p { font-size:14px; } .store-art { display:none; } .store-catalog { padding-top:30px; } .store-catalog-heading { display:block; } .store-search { width:100%; margin-top:20px; } .store-layout { display:block; } .store-sidebar { padding-top:0; } .store-sidebar h3,.store-sidebar-help { display:none; } .store-categories { display:flex; overflow-x:auto; gap:5px; padding-bottom:5px; } .store-category { white-space:nowrap; flex-shrink:0; padding:10px; } .store-free { margin:10px 0; padding:12px 0; } .store-page .store-bundles .card-grid { grid-template-columns:1fr; } .store-assurances p { font-size:10px; } .store-assurances .container { gap:10px 20px; } }
@media(max-width:560px) { .store-page .store-products { grid-template-columns:1fr; } .store-page .store-products .product-card { padding:22px; } .store-page .store-products .product-card > p:not(.product-card__price):not(.store-bonus) { font-size:13px; } .store-page .store-products .product-card__links a { font-size:12px; } .store-page .store-products .product-card__links .btn { font-size:13px; } .store-assurances .container { justify-content:flex-start; } }
@media(prefers-reduced-motion:reduce) { .store-page *, .store-page *::before,.store-page *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
