/*
Theme Name: TIMSTORE
Author: TIMSTORE project team
Description: Custom WooCommerce theme for the TIMSTORE local demonstration catalog.
Version: 0.4.0
Requires at least: 7.0
Requires PHP: 8.3
Text Domain: timstore
*/
:root {
  --ts-bg:#f6f5f2;
  --ts-surface:#fff;
  --ts-surface-raised:#eeede9;
  --ts-border:#dcdad4;
  --ts-text:#242522;
  --ts-muted:#66675f;
  --ts-accent:#f28b4b;
  --ts-ink:#242522;
  --ts-radius-sm:10px;
  --ts-radius-md:20px;
  --ts-content:1320px;
  --ts-shadow:0 20px 60px #24252212;
  --ts-display:'Inter Tight',sans-serif
}

*,*::before,*::after {
  box-sizing:border-box
}

html {
  color-scheme:light;
  scroll-behavior:smooth;
  scroll-padding-top:100px
}

body {
  margin:0;
  background:var(--ts-bg);
  color:var(--ts-text);
  font:16px/1.6 var(--ts-display);
  text-rendering:optimizeLegibility
}

body.menu-open,body.modal-open,body.catalog-filters-open {
  overflow:hidden
}

img {
  display:block;
  max-width:100%
}

.standard-page__content img,
.standard-page .wp-block-image img {
  height:auto
}

[hidden] {
  display:none!important
}

a {
  color:inherit;
  text-decoration:none
}

button,input,textarea,select {
  font:inherit
}

button {
  color:inherit;
  cursor:pointer
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button:disabled {
  cursor:not-allowed;
  opacity:.5
}

a,button {
  touch-action:manipulation
}

:focus-visible {
  outline:3px solid #a44816;
  outline-offset:4px
}

h1,h2,h3,p {
  margin-top:0
}

h1,h2,h3 {
  font-family:var(--ts-display);
  line-height:1.1;
  letter-spacing:-.035em
}

h1 {
  font-size:clamp(40px,5.2vw,72px)
}

h2 {
  font-size:clamp(30px,3.4vw,46px)
}

h3 {
  font-size:24px
}

p {
  max-width:65ch
}

.ts-container {
  width:min(100% - 80px,var(--ts-content));
  margin-inline:auto
}

main {
  min-height:60dvh
}

.screen-reader-text,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.skip-link:focus {
  position:fixed;
  z-index:2000;
  top:12px;
  left:12px;
  padding:12px;
  background:#fff;
  color:var(--ts-ink)
}

.site-topbar {
  background:var(--ts-ink);
  color:#dadad3;
  font-size:12px
}

.site-topbar__inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:36px;
  gap:16px
}

.site-topbar__item {
  display:inline-flex;
  align-items:center;
  gap:8px
}

.site-topbar .dashicons {
  font-size:16px;
  width:16px;
  height:16px
}

.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:var(--ts-ink);
  color:#fff;
  border-bottom:1px solid #42433e
}

.site-header__inner {
  display:flex;
  align-items:center;
  gap:28px;
  min-height:82px
}

.site-brand {
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  font-family:var(--ts-display);
  font-size:25px;
  font-weight:750;
  letter-spacing:-1.1px;
  line-height:1.1
}

.site-brand b {
  color:var(--ts-accent);
  font-weight:inherit
}

.catalog-trigger {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 18px;
  border:1px solid #5b5c55;
  border-radius:8px;
  font-size:14px
}

.site-nav {
  flex:1
}

.site-nav ul {
  display:flex;
  justify-content:center;
  gap:clamp(15px,1.8vw,29px);
  margin:0;
  padding:0;
  list-style:none
}

.site-nav a {
  display:block;
  padding:18px 0;
  font-size:14px;
  color:#e7e7e0
}

.site-nav a:hover,.site-nav a[aria-current] {
  color:var(--ts-accent)
}

.header-actions {
  display:flex;
  gap:8px;
  margin-left:auto
}

.header-icon,.menu-toggle {
  position:relative;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#fff
}

.header-icon:hover,.menu-toggle:hover,.catalog-trigger:hover {
  background:#42433e
}

.cart-count {
  position:absolute;
  top:1px;
  right:0;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:50%;
  background:var(--ts-accent);
  color:var(--ts-ink);
  font-size:10px;
  font-weight:800;
  line-height:17px
}

.menu-toggle {
  display:none
}

.site-search {
  padding:16px 0;
  background:#33342f;
  color:#fff
}

.site-search form {
  display:flex;
  gap:12px;
  max-width:780px
}

.site-search input {
  min-width:0;
  flex:1;
  padding:12px 16px;
  border:1px solid #797a72;
  border-radius:8px;
  background:#fff;
  color:var(--ts-ink)
}

.mobile-menu {
  position:fixed;
  z-index:300;
  inset:0;
  visibility:hidden;
  opacity:0;
  transition:opacity .2s
}

.mobile-menu.is-open {
  visibility:visible;
  opacity:1
}

.mobile-menu__backdrop,.request-modal__backdrop {
  position:absolute;
  inset:0;
  border:0;
  background:#191a1770
}

.mobile-menu__panel {
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(88vw,400px);
  padding:24px;
  overflow:auto;
  background:var(--ts-bg);
  transform:translateX(100%);
  transition:transform .24s
}

.mobile-menu.is-open .mobile-menu__panel {
  transform:translateX(0)
}

.mobile-menu__head {
  display:flex;
  justify-content:space-between;
  align-items:center
}

.mobile-menu__close,.request-modal__close {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--ts-border);
  border-radius:50%;
  background:transparent
}

.mobile-menu__links {
  display:grid;
  margin:24px 0
}

.mobile-menu__links a {
  padding:10px 0;
  border-bottom:1px solid var(--ts-border);
  font-size:20px
}

.mobile-menu__contacts {
  display:grid;
  gap:14px;
  font-size:14px;
  color:var(--ts-muted)
}

.mobile-menu__contacts a,.mobile-menu__contacts>span {
  display:flex;
  gap:8px;
  align-items:center
}

.ts-button {
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 22px;
  border:1px solid var(--ts-border);
  border-radius:8px;
  background:transparent;
  font-size:14px;
  font-weight:650;
  line-height:1.3;
  transition:transform .18s
}

.ts-button--primary {
  background:var(--ts-accent);
  border-color:var(--ts-accent);
  color:var(--ts-ink)
}

.ts-button--primary:hover {
  background:#efa06f;
  border-color:#efa06f
}

.ts-button--secondary:hover {
  background:var(--ts-surface-raised)
}

.ts-button:active,button:active:not(:disabled) {
  transform:translateY(1px)
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:44px;
  border-bottom:1px solid currentColor;
  font-size:14px;
  font-weight:600
}

.eyebrow {
  font:600 11px/1.5 var(--ts-display);
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--ts-muted);
  margin-bottom:18px
}

.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:32px
}

.section-heading h2 {
  margin:0
}

.section-heading .eyebrow {
  margin-bottom:10px
}

.home-hero {
  padding:44px 0 0
}

.home-hero__inner {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  min-height:510px;
  gap:40px
}

.home-hero__content {
  align-self:center;
  padding:28px 0 48px
}

.home-hero h1 {
  font-weight:600;
  line-height:1.02;
  margin:0 0 24px;
  max-width:620px
}

.home-hero h1 span {
  color:#9a4b23
}

.home-hero__lead {
  max-width:440px;
  color:var(--ts-muted);
  font-size:17px;
  margin-bottom:30px
}

.home-hero__actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}

.home-hero__footnote {
  font-size:12px;
  color:var(--ts-muted);
  margin:20px 0 0
}

.home-hero__visual {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  background:#e9e8e3;
  border-radius:24px;
  overflow:hidden
}

.home-hero__visual img {
  width:100%;
  height:390px;
  object-fit:contain;
  flex:1;
  padding:34px 60px;
  mix-blend-mode:multiply
}

.home-hero__caption {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:18px;
  padding:0 30px 24px;
  font-size:13px
}

.home-hero__caption strong {
  display:block;
  font:500 24px/1.3 var(--ts-display)
}

.home-hero__caption span {
  color:var(--ts-muted);
  font-size:12px
}

.home-ribbon {
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:26px 0;
  border-bottom:1px solid var(--ts-border);
  margin-top:24px;
  color:var(--ts-muted);
  font-size:13px
}

.home-ribbon span {
  display:flex;
  align-items:center;
  gap:10px
}

.home-ribbon .dashicons {
  color:#9a4b23
}

.home-categories,.home-selection,.home-how,.home-store,.home-services {
  padding:68px 0
}

.home-categories__grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px
}

.category-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:20px 16px 16px;
  border:1px solid var(--ts-border);
  border-radius:14px;
  background:#fff;
  transition:transform .2s
}

.category-card:hover {
  transform:translateY(-4px)
}

.category-card img {
  width:100%;
  height:128px;
  object-fit:contain;
  margin-bottom:18px
}

.category-card h3 {
  font-size:18px;
  margin:0 0 4px;
  letter-spacing:-.02em
}

.category-card p {
  font-size:12px;
  color:var(--ts-muted);
  margin:0
}

.category-card__arrow {
  position:absolute;
  right:14px;
  bottom:19px;
  font-size:18px
}

.home-selection {
  padding-top:4px
}

.home-selection ul.products {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  list-style:none;
  padding:0;
  margin:0
}

.home-how {
  background:var(--ts-ink);
  color:#f6f5f2
}

.home-how__grid {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:90px
}

.home-how .eyebrow,.home-how p {
  color:#c4c5bc
}

.home-how h2 {
  max-width:400px
}

.home-how ol {
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:steps
}

.home-how li {
  display:grid;
  grid-template-columns:46px 1fr;
  gap:22px;
  padding:22px 0;
  border-top:1px solid #51524a;
  counter-increment:steps
}

.home-how li::before {
  content:'0' counter(steps);
  color:var(--ts-accent);
  font:24px var(--ts-display)
}

.home-how h3 {
  font-size:22px;
  margin:0 0 9px
}

.home-how li p {
  font-size:14px;
  margin:0
}

.home-services__grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:24px
}

.service-feature {
  padding:34px;
  background:#e9e8e3;
  border-radius:18px;
  display:flex;
  gap:24px;
  align-items:center
}

.service-feature img {
  width:36%;
  height:230px;
  object-fit:contain;
  mix-blend-mode:multiply
}

.service-feature h3 {
  font-size:32px
}

.service-feature p {
  font-size:14px;
  color:var(--ts-muted)
}

.service-list {
  display:grid
}

.service-list a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:20px 4px;
  border-bottom:1px solid var(--ts-border)
}

.service-list strong {
  font:24px var(--ts-display)
}

.service-list p {
  font-size:14px;
  color:var(--ts-muted);
  margin:8px 0 0
}

.home-store {
  padding-top:0
}

.home-store__grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  border:1px solid var(--ts-border);
  border-radius:20px;
  overflow:hidden;
  background:#fff
}

.home-store__image {
  width:100%;
  height:100%;
  min-height:400px;
  object-fit:cover
}

.home-store__copy {
  padding:48px
}

.home-store h2 {
  font-size:38px
}

.home-store__details {
  display:grid;
  gap:14px;
  margin:24px 0;
  color:var(--ts-muted)
}

.home-store__details a {
  font-size:22px;
  color:var(--ts-text)
}

.site-footer {
  background:var(--ts-ink);
  color:#fff;
  padding:52px 0 22px
}

.site-footer__grid {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1.2fr;
  gap:40px
}

.site-footer p {
  font-size:13px;
  color:#c4c5bc;
  margin:18px 0
}

.site-footer h2 {
  font:600 13px var(--ts-display);
  letter-spacing:0;
  margin:0 0 18px;
  color:#c4c5bc
}

.site-footer nav {
  display:grid;
  gap:9px;
  font-size:14px
}

.site-footer nav a:hover {
  color:var(--ts-accent)
}

.site-footer__bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:24px;
  margin-top:40px;
  border-top:1px solid #51524a;
  font-size:12px;
  color:#c4c5bc
}

.request-modal {
  position:fixed;
  z-index:400;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  visibility:hidden;
  opacity:0
}

.request-modal.is-open {
  visibility:visible;
  opacity:1
}

.request-modal__dialog {
  position:relative;
  width:min(100%,480px);
  max-height:90dvh;
  overflow:auto;
  border-radius:20px;
  background:var(--ts-bg);
  padding:32px
}

.request-modal__close {
  position:absolute;
  right:16px;
  top:16px
}

.request-modal__eyebrow {
  color:var(--ts-muted);
  font-size:12px
}

.request-modal h2 {
  font-size:32px;
  margin-top:20px
}

.request-modal__lead {
  font-size:14px;
  color:var(--ts-muted)
}

.request-modal .request-form {
  border:0;
  padding:0;
  background:transparent
}

.request-form__error {
  color:#a72d28;
  font-size:14px
}

.request-success {
  padding-top:20px
}

.request-success h3 {
  margin:20px 0 12px
}

.request-success p {
  font-size:14px
}

.request-success>.dashicons {
  font-size:40px;
  width:40px;
  height:40px;
  color:#356744
}

.standard-page {
  padding:40px 0 80px
}

.standard-page__content {
  max-width:960px;
  margin:40px 0 48px
}

.standard-page__content p {
  color:var(--ts-muted);
  line-height:1.65
}

.standard-page__content .standard-page__lead {
  max-width:800px;
  font-size:clamp(20px, 2.1vw, 28px);
  line-height:1.4;
  color:var(--ts-text)
}

.standard-page__content h2 {
  margin:48px 0 16px;
  font-size:clamp(26px, 3vw, 38px)
}

.standard-page__content ul,
.standard-page__content ol {
  display:grid;
  gap:12px;
  margin:20px 0 32px;
  padding-left:26px;
  line-height:1.55
}

.standard-page__content li::marker {
  color:var(--ts-accent)
}

.standard-page__content strong {
  color:var(--ts-text)
}

.standard-page__content a {
  text-decoration:underline
}

.standard-page__notice {
  padding:24px 28px;
  border:1px solid var(--ts-border);
  border-radius:14px;
  background:#f5f5f3
}

.standard-page .catalog-breadcrumbs {
  font-size:13px;
  margin-bottom:32px;
  color:var(--ts-muted)
}

.standard-page--warranty-and-returns .standard-page__content {
  max-width:1120px
}

.warranty-intro {
  max-width:830px;
  margin-bottom:64px
}

.warranty-intro .standard-page__lead {
  margin:12px 0 20px
}

.warranty-kicker,
.standard-page__content .warranty-kicker {
  margin:0;
  color:var(--ts-accent);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}

.warranty-section {
  padding:40px 0 52px;
  border-top:1px solid var(--ts-border)
}

.warranty-section h2 {
  margin-top:0
}

.warranty-section > p {
  max-width:830px
}

.warranty-grid {
  display:grid;
  gap:16px;
  margin:28px 0
}

.warranty-grid--three {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.warranty-grid--two {
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.warranty-card {
  padding:28px;
  border:1px solid var(--ts-border);
  border-radius:20px;
  background:#f7f7f5
}

.warranty-card__value {
  display:block;
  margin-bottom:28px;
  color:#b95f28;
  font-size:14px;
  font-weight:700
}

.warranty-card h3 {
  margin:0 0 12px;
  font-size:23px;
  line-height:1.2
}

.warranty-card p {
  margin:0
}

.standard-page__content .warranty-points {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 36px;
  max-width:1000px;
  padding-left:22px
}

.warranty-points li {
  padding:12px 0;
  border-bottom:1px solid var(--ts-border)
}

.standard-page__content .warranty-steps {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  padding:0;
  list-style:none;
  counter-reset:warranty-step
}

.warranty-steps li {
  counter-increment:warranty-step;
  padding:26px 28px;
  border:1px solid var(--ts-border);
  border-radius:20px
}

.warranty-steps li::before {
  content:counter(warranty-step, decimal-leading-zero);
  display:block;
  margin-bottom:24px;
  color:#b95f28;
  font-size:22px;
  font-weight:700
}

.warranty-steps h3 {
  margin:0 0 10px;
  font-size:22px
}

.warranty-steps p {
  margin:0
}

@media (max-width:760px) {
  .warranty-intro {
    margin-bottom:36px
  }

  .warranty-section {
    padding:32px 0 36px
  }

  .warranty-grid--three,
  .warranty-grid--two,
  .standard-page__content .warranty-points,
  .standard-page__content .warranty-steps {
    grid-template-columns:1fr
  }

  .warranty-card,
  .warranty-steps li {
    padding:22px
  }
}

.empty-page {
  max-width:720px;
  text-align:center;
  padding:80px 24px;
  margin:auto
}

.empty-page p {
  margin:20px auto 28px;
  color:var(--ts-muted)
}

.empty-page__number {
  font:80px var(--ts-display);
  color:#9a4b23
}

.site-content {
  padding-block:36px 72px
}

.site-content>.woocommerce {
  min-height:45dvh
}

@media(max-width:1100px) {
  .site-nav {
    display:none
  }

  .menu-toggle {
    display:grid
  }

  .home-hero__inner {
    gap:28px
  }

  .home-hero__visual img {
    padding:30px
  }

  .home-categories__grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .home-selection ul.products {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .home-how__grid {
    gap:40px
  }

  .site-footer__grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

}

@media(max-width:760px) {
  .ts-container {
    width:calc(100% - 36px)
  }

  .site-header__inner {
    min-height:68px;
    gap:14px
  }

  .site-brand {
    font-size:22px
  }

  .site-topbar__inner {
    min-height:32px;
    font-size:10px
  }

  .site-topbar__item:nth-child(2) {
    display:none
  }

  .site-topbar .dashicons {
    display:none
  }

  .catalog-trigger {
    display:none
  }

  .header-actions {
    gap:2px
  }

  .home-hero {
    padding-top:26px
  }

  .home-hero__inner {
    grid-template-columns:1fr;
    gap:20px
  }

  .home-hero__content {
    padding:10px 0 0
  }

  .home-hero h1 {
    font-size:clamp(40px,10vw,60px);
    max-width:540px
  }

  .home-hero__lead {
    font-size:16px;
    margin-bottom:22px
  }

  .home-hero__visual {
    min-height:320px
  }

  .home-hero__visual img {
    height:270px;
    max-height:320px;
    padding:20px 55px
  }

  .home-hero__caption {
    padding:0 24px 20px
  }

  .home-ribbon {
    flex-wrap:wrap;
    gap:12px;
    margin-top:12px;
    padding:20px 0;
    font-size:12px
  }

  .home-ribbon span {
    flex-basis:100%
  }

  .home-categories,.home-how,.home-services {
    padding:44px 0
  }

  .section-heading {
    align-items:start;
    gap:20px
  }

  .section-heading .text-link {
    flex-shrink:0;
    font-size:12px
  }

  .home-categories__grid {
    gap:10px
  }

  .category-card {
    padding:14px 10px
  }

  .category-card img {
    height:90px;
    margin-bottom:16px
  }

  .category-card h3 {
    font-size:15px
  }

  .category-card p {
    font-size:11px
  }

  .category-card__arrow {
    display:none
  }

  .home-selection {
    padding:0 0 44px
  }

  .home-how__grid,.home-services__grid,.home-store__grid {
    grid-template-columns:1fr;
    gap:26px
  }

  .home-how h2 {
    margin-bottom:16px
  }

  .home-how__grid>div>p {
    font-size:14px
  }

  .home-store__grid {
    gap:0
  }

  .home-store__image {
    min-height:240px;
    height:280px
  }

  .home-store__copy {
    padding:28px
  }

  .home-store h2 {
    font-size:32px
  }

  .home-store {
    padding-bottom:44px
  }

  .service-feature {
    padding:24px;
    gap:16px
  }

  .service-feature h3 {
    font-size:26px
  }

  .service-feature img {
    height:180px
  }

  .site-footer__grid {
    gap:32px 22px
  }

  .site-footer__bottom {
    flex-direction:column;
    gap:10px
  }

  .site-search form {
    gap:8px
  }

  .site-search .ts-button {
    padding-inline:14px
  }

  .request-modal__dialog {
    padding:28px 22px
  }

  .standard-page {
    padding-top:24px
  }

  .standard-page h1 {
    font-size:clamp(30px, 8.5vw, 44px);
    overflow-wrap:anywhere
  }

}

/* Catalog landing card titles. */
.catalog-categories .category-card h2 {
  font-size:32px;
}
@media(max-width:760px) {
  .catalog-categories .category-card h2 {
    font-size:28px;
  }
}

/* Catalog and carousel refinements. */
.hits-tabs button { font-weight:500 }
.hit-card__price { display:flex;align-items:baseline;gap:10px;font-weight:400 }
.hit-card__price del { color:#9a9b97;font-size:.72em;font-weight:400 }
.category-card--iphone { background:#fff;color:var(--ts-ink) }
.category-card:hover,.category-card:focus-visible { background:#171717;color:#fff }
.category-card:hover .category-card__copy p,.category-card:focus-visible .category-card__copy p { color:#aaa }
.category-card__overlay { top:auto;display:grid;min-height:132px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:end;gap:7px 24px;padding:25px 30px;background:#171717 }
.category-card__overlay span { max-width:none;font-size:15px;line-height:1.25 }
.category-card:hover img,.category-card:focus-visible img { filter:brightness(.62) }
.reviews-slider__arrow:active:not(:disabled) { transform:translateY(-50%) }
.home-reviews { padding-bottom:calc(80px + var(--ts-section-space,80px)) }
@media(max-width:760px) {
  .category-card__overlay { min-height:108px;gap:5px 16px;padding:20px;font-size:13px }
  .home-reviews { padding-bottom:100px }
}

.catalog-product-card__colors { display:flex;min-height:30px;align-items:center;gap:8px;margin:2px 0 14px }
.catalog-product-card__colors button { width:24px;height:24px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #c9c9c3;cursor:pointer;transition:box-shadow .18s ease,transform .18s ease }
.catalog-product-card__colors button:hover { transform:scale(1.08) }
.catalog-product-card__colors button[aria-pressed=true] { box-shadow:0 0 0 2px var(--ts-accent) }

@media(max-width:380px) {
  .home-categories__grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .home-hero__actions {
    display:grid
  }

  .site-topbar__item:first-child {
    font-size:9px
  }

  .home-selection ul.products {
    grid-template-columns:1fr
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }

}

/* Homepage structure — September 2026 */
.home-section {
  padding:72px 0
}

.home-slider {
  padding:34px 0 0
}

.home-slider__viewport {
  position:relative;
  min-height:520px;
  overflow:hidden;
  border:1px solid var(--ts-border);
  border-radius:28px;
  background:#ebe9e4
}

.home-slider__slide {
  position:absolute;
  inset:0;
  color:var(--slide-text);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .45s ease,visibility .45s ease
}

.home-slider__slide--light {
  --slide-text:#fff;
  --slide-lead:#fff;
  --slide-shade:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.05) 76%)
}

.home-slider__slide--dark {
  --slide-text:#11120f;
  --slide-lead:#242522;
  --slide-shade:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.62) 42%,rgba(255,255,255,.05) 76%)
}

.home-slider__slide.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto
}

.home-slider__link {
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  color:inherit;
  text-decoration:none
}

.home-slider__link::after {
  position:absolute;
  z-index:1;
  inset:0;
  background:var(--slide-shade);
  content:"";
  pointer-events:none
}

.home-slider__link:focus-visible {
  outline:3px solid var(--ts-accent);
  outline-offset:-5px
}

.home-slider__content {
  position:relative;
  z-index:2;
  display:flex;
  width:min(62%,720px);
  min-height:520px;
  box-sizing:border-box;
  flex-direction:column;
  justify-content:center;
  padding:64px 72px 72px;
  pointer-events:none
}

.home-slider h1,.home-slider h2 {
  max-width:620px;
  margin:0 0 24px;
  color:var(--slide-text);
  font-size:clamp(48px,4.7vw,72px);
  line-height:.98
}

.home-slider__lead {
  max-width:520px;
  margin:0;
  color:var(--slide-lead);
  font-size:17px
}

.home-slider__media {
  position:absolute;
  inset:0
}

.home-slider__image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}

.home-slider__arrow {
  position:absolute;
  z-index:4;
  top:50%;
  display:grid;
  width:46px;
  height:46px;
  border:1px solid #d2d0ca;
  border-radius:50%;
  background:#fffffff2;
  place-items:center;
  transform:translateY(-50%);
  box-shadow:0 8px 24px #24252212
}

.home-slider__arrow:hover {
  border-color:var(--ts-accent);
  color:#9a4b23
}

.home-slider__arrow--prev {
  left:18px
}

.home-slider__arrow--next {
  right:18px
}

.home-slider__dots {
  position:absolute;
  z-index:4;
  bottom:22px;
  left:50%;
  display:flex;
  gap:8px;
  transform:translateX(-50%)
}

.home-slider__dots button {
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#bdbbb5
}

.home-slider__dots button.is-active {
  width:26px;
  border-radius:20px;
  background:var(--ts-accent)
}

.home-stories {
  padding:28px 0 20px
}

.home-stories__heading h2 {
  margin:0 0 16px;
  font-size:22px
}

.home-stories__track {
  display:grid;
  grid-template-columns:repeat(9,minmax(92px,1fr));
  gap:18px;
  overflow-x:auto;
  padding:2px 2px 10px;
  scrollbar-width:thin
}

.story-card {
  display:flex;
  min-width:92px;
  flex-direction:column;
  align-items:center;
  gap:9px;
  text-align:center
}

.story-card__media {
  display:block;
  width:88px;
  height:88px;
  padding:3px;
  border:2px solid var(--ts-accent);
  border-radius:50%;
  background:#fff
}

.story-card__media img {
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover
}

.story-card__title {
  max-width:128px;
  font-size:13px;
  font-weight:600;
  line-height:1.25
}

a.story-card:hover .story-card__media {
  transform:translateY(-2px);
  box-shadow:0 8px 20px #24252218
}

.home-selection.home-section {
  padding-top:42px
}

.home-selection ul.products {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  overflow:visible
}

.home-categories {
  padding-top:28px
}

.home-categories__grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(2,250px);
  gap:16px
}

.category-card {
  position:relative;
  display:flex;
  min-height:0;
  flex-direction:row;
  align-items:stretch;
  justify-content:space-between;
  overflow:hidden;
  padding:30px;
  border:1px solid var(--ts-border);
  border-radius:22px;
  background:#eeede9
}

.category-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--ts-shadow)
}

.category-card div {
  position:relative;
  z-index:2;
  width:48%
}

.category-card h3 {
  margin:0 0 9px;
  font-size:clamp(24px,2.2vw,34px)
}

.category-card h3 span {
  font-size:.65em
}

.category-card p {
  font-size:14px
}

.category-card img {
  align-self:flex-end;
  width:52%;
  height:100%;
  margin:0 -14px -20px 0;
  object-fit:contain;
  mix-blend-mode:multiply
}

.category-card--iphone {
  grid-column:span 7
}

.category-card--mac {
  grid-column:span 5
}

.category-card--ipad,.category-card--apple-watch {
  grid-column:span 4
}

.category-card--airpods,.category-card--accessories {
  grid-column:span 2;
  padding:24px 20px
}

.category-card--airpods div,.category-card--accessories div {
  width:100%
}

.category-card--airpods img,.category-card--accessories img {
  position:absolute;
  right:0;
  bottom:0;
  width:80%;
  height:66%;
  margin:0;
  opacity:.92
}

.category-card--airpods h3,.category-card--accessories h3 {
  font-size:22px
}

.category-card--airpods p,.category-card--accessories p {
  display:none
}

.home-how {
  padding:82px 0
}

.home-how h2 {
  font-size:clamp(42px,4vw,62px);
  line-height:1.02
}

.home-services__grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}

.service-card {
  position:relative;
  display:grid;
  grid-template-columns:1fr .92fr;
  min-height:360px;
  overflow:hidden;
  border:1px solid var(--ts-border);
  border-radius:22px;
  background:#eeede9
}

.service-card__copy {
  position:relative;
  z-index:2;
  align-self:center;
  padding:40px 0 40px 40px
}

.service-card h3 {
  margin:0 0 14px;
  font-size:36px
}

.service-card p {
  margin:0 0 24px;
  color:var(--ts-muted);
  font-size:15px
}

.service-card img {
  align-self:end;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  mix-blend-mode:multiply
}

.service-card--tradein {
  background:#252622;
  color:#fff
}

.service-card--tradein p {
  color:#c4c5bc
}

.service-card--tradein .ts-button--secondary {
  border-color:#64655e;
  color:#fff
}

.home-store {
  padding-top:14px
}

.home-reviews {
  padding-top:18px;
  padding-bottom:38px
}

.home-reviews__empty {
  display:flex;
  min-height:190px;
  align-items:center;
  gap:26px;
  padding:38px 42px;
  border:1px solid var(--ts-border);
  border-radius:20px;
  background:#fff
}

.home-reviews__empty>.dashicons {
  display:grid;
  width:64px;
  height:64px;
  flex:0 0 64px;
  border-radius:50%;
  background:#f7e6d8;
  color:#a44816;
  font-size:34px;
  line-height:64px;
  text-align:center
}

.home-reviews__empty h3 {
  margin:0 0 8px
}

.home-reviews__empty p {
  margin:0;
  color:var(--ts-muted)
}

.home-faq {
  padding-top:20px
}

.home-faq__list {
  overflow:hidden;
  border:1px solid var(--ts-border);
  border-radius:20px;
  background:#fff
}

.home-faq details+details {
  border-top:1px solid var(--ts-border)
}

.home-faq summary {
  display:flex;
  min-height:72px;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 26px;
  cursor:pointer;
  font-weight:600;
  list-style:none
}

.home-faq summary::-webkit-details-marker {
  display:none
}

.home-faq summary span {
  display:grid;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
  background:#efede8;
  place-items:center;
  transition:transform .2s ease
}

.home-faq details[open] summary span {
  transform:rotate(45deg)
}

.home-faq details p {
  max-width:920px;
  margin:0;
  padding:0 72px 24px 26px;
  color:var(--ts-muted)
}

.home-final {
  padding:0 0 72px
}

.home-final__inner {
  position:relative;
  display:flex;
  min-height:220px;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  overflow:hidden;
  padding:44px 52px;
  border:1px solid var(--ts-border);
  border-radius:24px;
  background:linear-gradient(110deg,#ebe9e4,#f6eee8)
}

.home-final h2 {
  margin:0 0 10px
}

.home-final p {
  margin-bottom:0;
  color:var(--ts-muted)
}

.home-final .eyebrow {
  margin-bottom:10px
}

@media(max-width:1100px) {
  .home-slider__content {
    width:68%;
    padding:52px 56px 64px
  }

  .home-stories__track {
    grid-template-columns:repeat(9,104px)
  }

  .home-categories__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none
  }

  .category-card,.category-card--iphone,.category-card--mac,.category-card--ipad,.category-card--apple-watch,.category-card--airpods,.category-card--accessories {
    grid-column:auto;
    min-height:230px
  }

  .category-card--airpods div,.category-card--accessories div {
    width:48%
  }

  .category-card--airpods img,.category-card--accessories img {
    position:static;
    width:52%;
    height:100%
  }

  .category-card--airpods p,.category-card--accessories p {
    display:block
  }
}

@media(max-width:760px) {
  .home-section {
    padding:48px 0
  }

  .home-slider {
    padding-top:18px
  }

  .home-slider__viewport {
    height:clamp(600px,calc((100vw - 36px)*1.7),760px);
    min-height:0;
    border-radius:20px
  }

  .home-slider__slide--light {
    --slide-shade:none;
    background:#201d1a
  }

  .home-slider__slide--dark {
    --slide-shade:none;
    background:#f7f2e9
  }

  .home-slider__content {
    width:100%;
    min-height:0;
    justify-content:flex-start;
    padding:36px 28px 0
  }

  .home-slider__image {
    object-fit:contain;
    object-position:center bottom
  }

  .home-slider h1,.home-slider h2 {
    font-size:clamp(38px,11vw,54px)
  }

  .home-slider__lead {
    max-width:430px;
    font-size:16px
  }

  .home-slider__arrow {
    top:auto;
    bottom:16px;
    width:40px;
    height:40px
  }

  .home-slider__arrow--prev {
    left:18px
  }

  .home-slider__arrow--next {
    right:18px
  }

  .home-slider__dots {
    bottom:30px
  }

  .home-stories {
    padding:24px 0 8px
  }

  .home-stories__track {
    grid-template-columns:repeat(9,88px);
    gap:12px;
    margin-right:-18px
  }

  .story-card__media {
    width:74px;
    height:74px
  }

  .story-card__title {
    font-size:12px
  }

  .home-selection.home-section {
    padding-top:36px
  }

  .home-selection ul.products {
    display:flex;
    gap:12px;
    overflow-x:auto;
    margin-right:-18px;
    padding-right:18px;
    scroll-snap-type:x mandatory
  }

  .home-selection ul.products>li {
    width:min(78vw,310px);
    flex:0 0 min(78vw,310px);
    scroll-snap-align:start
  }

  .home-categories {
    padding-top:12px
  }

  .home-categories__grid {
    grid-template-columns:1fr;
    gap:12px
  }

  .category-card,.category-card--iphone,.category-card--mac,.category-card--ipad,.category-card--apple-watch,.category-card--airpods,.category-card--accessories {
    min-height:200px;
    padding:24px
  }

  .category-card div,.category-card--airpods div,.category-card--accessories div {
    width:52%
  }

  .category-card img,.category-card--airpods img,.category-card--accessories img {
    position:static;
    width:48%;
    height:100%;
    margin:0
  }

  .category-card h3,.category-card--airpods h3,.category-card--accessories h3 {
    font-size:24px
  }

  .home-how {
    padding:58px 0
  }

  .home-services__grid {
    grid-template-columns:1fr
  }

  .service-card {
    min-height:330px
  }

  .service-card__copy {
    padding:30px 0 30px 28px
  }

  .service-card h3 {
    font-size:30px
  }

  .home-reviews__empty {
    align-items:flex-start;
    padding:28px
  }

  .home-faq summary {
    min-height:64px;
    padding:16px 18px
  }

  .home-faq details p {
    padding:0 56px 20px 18px
  }

  .home-final {
    padding-bottom:48px
  }

  .home-final__inner {
    align-items:flex-start;
    flex-direction:column;
    padding:34px 28px
  }
}

@media(max-width:430px) {
  .home-slider__image {
    object-fit:cover
  }
}

/* Homepage interaction refinements: stable controls, story viewer and product carousel. */
.home-slider__slide.is-active { position:absolute;inset:0 }
.home-slider__arrow { top:calc(50% - 23px);transform:none }
.home-slider__arrow:active:not(:disabled) { transform:none }
.story-viewer__nav:active:not(:disabled),.hits-slider__arrow:active:not(:disabled) { transform:translateY(-50%) }

.story-card { padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit }
.story-card:hover .story-card__media,.story-card:focus-visible .story-card__media { transform:translateY(-2px);box-shadow:0 8px 20px #24252218 }

.story-viewer { position:fixed;z-index:1000;inset:0;display:grid;visibility:hidden;opacity:0;place-items:center;transition:opacity .2s ease,visibility .2s ease }
.story-viewer.is-open { visibility:visible;opacity:1 }
.story-viewer__backdrop { position:absolute;inset:0;border:0;background:#11120fed;cursor:pointer }
.story-viewer__dialog { position:relative;width:min(420px,calc(100vw - 36px));aspect-ratio:9/16;overflow:hidden;border-radius:24px;background:#111;box-shadow:0 30px 80px #0009;color:#fff }
.story-viewer__video,.story-viewer__fallback { width:100%;height:100%;object-fit:cover }
.story-viewer__fallback { position:relative;overflow:hidden }
.story-viewer__fallback img { width:100%;height:100%;object-fit:cover;animation:story-zoom 5s linear both }
.story-viewer__fallback::after { position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000c);content:"" }
.story-viewer__fallback span { position:absolute;z-index:2;right:28px;bottom:34px;left:28px;font-size:32px;font-weight:750 }
.story-viewer__progress { position:absolute;z-index:4;top:14px;right:16px;left:16px;display:flex;height:3px;gap:3px }
.story-viewer__progress > span { height:100%;min-width:0;flex:1;overflow:hidden;border-radius:3px;background:#ffffff59 }
.story-viewer__progress i { display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left }
.story-viewer__progress .is-complete i { transform:scaleX(1) }
.story-viewer__progress .is-current i.is-running { animation:story-progress var(--story-duration,5s) linear forwards }
.story-viewer__topbar { position:absolute;z-index:5;top:26px;right:16px;left:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-shadow:0 1px 8px #000 }
.story-viewer__topbar button { display:grid;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#16171399;color:#fff;font-size:26px;line-height:1;place-items:center }
.story-viewer__nav { position:absolute;z-index:5;top:50%;display:grid;width:42px;height:42px;padding:0;border:1px solid #ffffff52;border-radius:50%;background:#16171399;color:#fff;place-items:center;transform:translateY(-50%) }
.story-viewer__nav--prev { left:14px }
.story-viewer__nav--next { right:14px }
@keyframes story-progress { to { transform:scaleX(1) } }
@keyframes story-zoom { to { transform:scale(1.08) } }

.hits-tabs { display:flex;gap:10px;overflow-x:auto;margin:-10px 0 22px;padding:4px 1px 8px;scrollbar-width:thin }
.hits-tabs button { min-height:46px;flex:0 0 auto;padding:0 22px;border:1px solid var(--ts-border);border-radius:12px;background:#fff;color:var(--ts-ink);font-size:15px;font-weight:650 }
.hits-tabs button[aria-selected="true"] { border-color:var(--ts-ink);background:var(--ts-ink);color:#fff }
.hits-slider { position:relative }
.hits-slider__panels { overflow:hidden }
.hits-slider__panel[hidden] { display:none }
.hits-slider__track { display:flex;gap:18px;overflow-x:auto;padding:8px 1px 28px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none }
.hits-slider__track::-webkit-scrollbar { display:none }
.hits-slider__track.is-dragging,.reviews-slider__track.is-dragging { cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none }
.hits-slider__track.is-dragging *,.reviews-slider__track.is-dragging * { cursor:grabbing;user-select:none }
.hit-card { display:flex;width:calc((100% - 54px)/4);min-width:calc((100% - 54px)/4);min-height:470px;flex-direction:column;overflow:hidden;border:1px solid var(--ts-border);border-radius:20px;background:#fff;scroll-snap-align:start;transition:transform .22s ease,box-shadow .22s ease }
.hit-card:hover,.hit-card:focus-within { transform:translateY(-4px);box-shadow:0 18px 44px #292a2514 }
.hit-card__link { display:flex;flex:1;min-width:0;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer }
.hit-card__media { display:grid;min-height:318px;padding:24px;background:#f4f3ef;place-items:center }
.hit-card__media img { width:100%;height:270px;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s ease }
.hit-card:hover .hit-card__media img,.hit-card:focus-within .hit-card__media img { transform:scale(1.035) }
.hit-card__body { display:flex;flex:1;flex-direction:column;padding:23px 22px 22px }
.hit-card h3 { margin:0 0 22px;font-size:21px;line-height:1.2 }
.hit-card__footer { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto }
.hit-card__price { font-size:20px;font-weight:750;white-space:nowrap }
.hit-card__button { display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:0 17px;border-radius:11px;background:var(--ts-accent);color:#171713;font-size:14px;font-weight:750 }
.hits-slider__arrow { position:absolute;z-index:4;top:44%;display:grid;width:48px;height:48px;padding:0;border:1px solid #d2d0ca;border-radius:50%;background:#fffffff2;place-items:center;transform:translateY(-50%);box-shadow:0 8px 24px #24252212 }
.hits-slider__arrow--prev { left:-24px }
.hits-slider__arrow--next { right:-24px }
.hits-slider__arrow:disabled { visibility:hidden;opacity:0 }
.home-reviews__empty { border-radius:24px;background:#f1f1f5 }

@media(max-width:1100px) {
  .hit-card { width:calc((100% - 36px)/3);min-width:calc((100% - 36px)/3) }
}

@media(max-width:760px) {
  .home-slider__arrow { top:auto;bottom:16px;transform:none }
  .hits-tabs { margin-right:-18px;padding-right:18px }
  .hit-card { width:min(78vw,310px);min-width:min(78vw,310px);min-height:430px }
  .hit-card__media { min-height:280px }
  .hit-card__media img { height:235px }
  .hits-slider__arrow { top:45%;width:42px;height:42px }
  .hits-slider__arrow--prev { left:-8px }
  .hits-slider__arrow--next { right:-8px }
  .story-viewer__dialog { width:100vw;height:100dvh;border-radius:0 }
}

/* Reference-led four-card services composition. */
.home-services.home-section {
  padding:78px 0 86px;
  background:#f1f1f5
}

.home-services .section-heading h2 {
  font-size:clamp(42px,4vw,64px)
}

.home-services__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}

.service-tile {
  display:flex;
  min-width:0;
  min-height:600px;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  color:var(--ts-ink);
  transition:transform .22s ease,box-shadow .22s ease
}

.service-tile:hover {
  color:var(--ts-ink);
  transform:translateY(-4px);
  box-shadow:0 18px 44px #292a2514
}

.service-tile__media {
  display:grid;
  min-height:315px;
  flex:1 1 55%;
  overflow:hidden;
  background:#f7f6f2;
  place-items:center
}

.service-tile__media img {
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
  transition:transform .28s ease
}

.service-tile:hover .service-tile__media img {
  transform:scale(1.035)
}

.service-tile:last-child .service-tile__media img {
  object-fit:cover;
  mix-blend-mode:normal
}

.service-tile__copy {
  display:flex;
  min-height:280px;
  flex:0 0 45%;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:34px 28px;
  text-align:center
}

.service-tile__copy strong {
  display:block;
  margin-bottom:24px;
  font-size:clamp(25px,2.1vw,34px);
  line-height:1.12
}

.service-tile__copy>span:not(.service-tile__link) {
  max-width:260px;
  color:#41423d;
  font-size:17px;
  line-height:1.45
}

.service-tile__link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:28px;
  color:#9b9c98;
  font-size:16px;
  font-weight:650
}

.service-tile__link span {
  font-size:25px;
  transition:transform .2s ease
}

.service-tile:hover .service-tile__link {
  color:var(--ts-accent-dark)
}

.service-tile:hover .service-tile__link span {
  transform:translateX(4px)
}

@media(max-width:1100px) {
  .home-services__grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .service-tile { min-height:560px }
}

@media(max-width:760px) {
  .home-services.home-section { padding:54px 0 60px }
  .home-services__grid { display:flex;gap:14px;overflow-x:auto;margin-right:-18px;padding-right:18px;scroll-snap-type:x mandatory }
  .service-tile { width:min(82vw,330px);min-width:min(82vw,330px);min-height:520px;scroll-snap-align:start }
  .service-tile__media { min-height:270px }
  .service-tile__copy { min-height:250px;padding:28px 24px }
}

/* September revision: navigation, catalog bento, compact advantages and reviews. */
html,body,button,input,select,textarea { font-family:'Inter Tight',sans-serif }
.site-topbar { background:#f2f1ed;color:#242522 }
.site-topbar__inner { min-height:44px;gap:18px }
.site-topbar__nav { display:flex;min-width:0;align-items:center;gap:18px;white-space:nowrap }
.site-topbar__nav a { color:#5e5f5a;font-size:12px;font-weight:600 }
.site-topbar__nav a:hover { color:var(--ts-accent-dark) }
.site-topbar__contacts { display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap }
.site-topbar__phone { margin-right:3px;color:#242522;font-size:13px;font-weight:700 }
.social-icon { display:grid;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-items:center;padding:0;border:1px solid #d7d5cf;border-radius:50%;background:#fff;color:#242522;font:700 12px/1 'Inter Tight',sans-serif }
.social-icon svg { width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8 }
.social-icon:first-of-type svg,.social-icon svg path,.social-icon__fill { fill:currentColor;stroke:none }
button.social-icon { cursor:pointer }
.social-icon:hover { border-color:var(--ts-accent);background:var(--ts-accent);color:#fff }
.catalog-menu-wrap { position:relative;align-self:stretch;display:flex;align-items:center }
.catalog-mega { position:absolute;z-index:90;top:calc(100% - 1px);left:0;display:grid;visibility:hidden;width:min(1200px,calc(100vw - 242px));grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;padding:32px;border:1px solid var(--ts-border);border-radius:0 0 22px 22px;background:#fff;color:var(--ts-ink);box-shadow:0 28px 60px #1717132b;opacity:0;transform:translateY(-7px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease }
.catalog-menu-wrap:hover .catalog-mega,.catalog-menu-wrap:focus-within .catalog-mega { visibility:visible;opacity:1;transform:none }
@media (min-width:761px) and (max-width:1100px) { .catalog-mega { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px;max-height:calc(100dvh - 140px);overflow-y:auto } }
.catalog-mega>div { display:flex;min-width:0;flex-direction:column;gap:8px }
.catalog-mega h2 { margin:0 0 7px;font-size:20px }
.catalog-mega h2:not(:first-child) { margin-top:18px }
.catalog-mega a { color:#454640;font-size:14px }
.catalog-mega h2 a { color:var(--ts-ink) }
.catalog-mega a:hover { color:var(--ts-accent-dark) }
.home-slider h1,.home-slider h2 { font-size:56px }
.hit-card { min-height:435px }
.hit-card__media { min-height:300px;background:#fff }
.hit-card__media img { height:255px;mix-blend-mode:normal }
.hit-card__body { padding:20px 22px 24px }
.hit-card h3 { margin-bottom:16px }
.hit-card__price { margin-top:auto;font-size:22px }
.home-categories { background:#f1f1f5 }
.home-categories__grid { grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:245px 245px;gap:18px }
.category-card,.category-card--iphone,.category-card--mac,.category-card--ipad,.category-card--apple-watch,.category-card--airpods,.category-card--accessories { position:relative;display:block;min-height:0;overflow:hidden;padding:30px;border:0;border-radius:24px;background:#fff }
.category-card--iphone { grid-column:span 3;grid-row:span 2;background:#24201f;color:#fff }
.category-card--mac,.category-card--airpods,.category-card--ipad,.category-card--apple-watch { grid-column:span 3 }
.category-card--accessories { grid-column:span 6 }
.category-card__copy { position:relative;z-index:2;width:auto!important }
.category-card h3,.category-card--airpods h3,.category-card--accessories h3 { margin:0 0 4px;font-size:27px;line-height:1.1 }
.category-card p,.category-card--airpods p,.category-card--accessories p { display:block;margin:0;color:#8b8c88;font-size:17px }
.category-card img,.category-card--airpods img,.category-card--accessories img { position:absolute;z-index:1;right:-9%;bottom:-22%;width:86%;height:78%;margin:0;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s ease,filter .3s ease }
.category-card--iphone img { right:-15%;bottom:-8%;width:125%;height:78%;mix-blend-mode:normal }
.category-card--airpods img { right:-5%;bottom:-38%;width:64%;height:110% }
.category-card:hover img { transform:scale(1.04);filter:brightness(.55) }
.category-card__overlay { position:absolute;z-index:4;inset:0;display:flex;visibility:hidden;flex-direction:column;justify-content:flex-end;gap:10px;padding:30px;background:linear-gradient(180deg,#1516131f 15%,#191a17e8 74%);color:#fff;opacity:0;transition:opacity .22s ease,visibility .22s ease }
.category-card:hover .category-card__overlay,.category-card:focus-visible .category-card__overlay { visibility:visible;opacity:1 }
.category-card__overlay strong { font-size:25px }
.category-card__overlay span { max-width:300px;line-height:1.45 }
.category-card__overlay b { color:#ff975a;font-size:14px }
.home-services.home-section { padding:58px 0 64px }
.home-price-banner { margin:64px 0;padding:0;background:var(--ts-bg) }
.price-banner { position:relative;min-height:527px;overflow:hidden;border-radius:24px;background:#171815;color:#fff;isolation:isolate }
.price-banner__background { position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover }
.price-banner__intro { position:absolute;z-index:2;top:54px;left:74px;width:43% }
.price-banner__intro h2 { margin:0 0 20px;font-size:54px;line-height:1;letter-spacing:-.04em }
.price-banner__intro p { margin:0;color:#fff;font-size:19px;line-height:1.08;letter-spacing:-.025em }
.price-banner__illustration { position:absolute;z-index:1;left:-8px;bottom:-62px;width:52%;height:auto;max-width:none;pointer-events:none }
.price-banner__reasons { position:absolute;z-index:2;top:61px;right:60px;left:calc(50% + 40px);display:grid;width:auto;gap:58px;padding:0;margin:0;list-style:none }
.price-banner__reasons li { display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:29px }
.price-banner__reasons li>img { width:52px;height:52px }
.price-banner__reasons h3 { margin:0 0 5px;color:#fff;font-size:27px;line-height:1.1;letter-spacing:-.02em }
.price-banner__reasons p { width:min(100%,353px);margin:0;color:#8b8c88;font-size:17px;font-weight:500;line-height:1.18;letter-spacing:-.01em }
.home-services__grid { gap:16px }
.service-tile { height:440px;min-height:440px;border-radius:22px }
.service-tile__media { min-height:0;flex:0 0 49% }
.service-tile__copy { min-height:0;flex:0 0 51%;padding:14px 18px }
.service-tile__copy strong { margin-bottom:7px;font-size:21px }
.service-tile__copy>span:not(.service-tile__link) { font-size:13px;line-height:1.3 }
.service-tile__link { margin-top:9px;font-size:12px }
.home-reviews { overflow:hidden;background:#f1f1f5 }
.home-reviews .section-heading h2 { max-width:940px;font-size:clamp(40px,4vw,62px) }
.reviews-slider { position:relative }
.reviews-slider__track { display:flex;gap:18px;overflow-x:auto;padding:2px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none }
.reviews-slider__track::-webkit-scrollbar { display:none }
.review-card { width:calc((100% - 36px)/3);min-width:calc((100% - 36px)/3);min-height:310px;padding:26px;border-radius:22px;background:#fff;scroll-snap-align:start }
.review-card__head { display:flex;align-items:center;gap:15px;margin-bottom:24px }
.review-card__avatar { display:grid;width:64px;height:64px;flex:0 0 64px;border:0;border-radius:50%;background:var(--ts-ink);color:var(--ts-accent);font-weight:800;place-items:center }
.review-card h3 { margin:0 0 5px;font-size:22px }
.review-card__date { display:block;color:#8b8c88;font-size:14px;font-weight:500;line-height:1.25 }
.review-card>p { min-height:165px;margin:0;padding:0;background:transparent;font-size:17px;line-height:1.55 }
.reviews-slider__arrow { position:absolute;z-index:5;top:50%;display:grid;width:48px;height:48px;padding:0;border:1px solid #d2d0ca;border-radius:50%;background:#fffffff2;color:var(--ts-ink);box-shadow:0 8px 24px #24252212;place-items:center;transform:translateY(-50%) }
.reviews-slider__arrow--prev { left:-24px }.reviews-slider__arrow--next { right:-24px }
.reviews-slider__arrow:disabled { visibility:hidden;opacity:0 }
.site-footer__bottom nav { display:flex;flex-direction:row;gap:24px }
.callback-modal { position:fixed;z-index:1200;inset:0;display:grid;visibility:hidden;opacity:0;place-items:center;transition:opacity .2s ease,visibility .2s ease }
.callback-modal.is-open { visibility:visible;opacity:1 }
.callback-modal__backdrop { position:absolute;inset:0;border:0;background:#111b }
.callback-modal__dialog { position:relative;width:min(620px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow:auto;padding:48px;border-radius:28px;background:#fff }
.callback-modal__close { position:absolute;top:18px;right:22px;padding:0;border:0;background:transparent;font-size:38px;line-height:1 }
.callback-modal h2 { margin:0 0 28px;text-align:center;font-size:44px }
.callback-form { display:grid;gap:14px }
.callback-form input[type=text],.callback-form input[type=tel] { width:100%;height:68px;padding:0 20px;border:1px solid #dddde5;border-radius:14px;font:inherit;font-size:18px }
.callback-form fieldset { padding:8px 0;border:0 }.callback-form legend { margin-bottom:12px;font-size:18px;font-weight:650 }.callback-form fieldset>div { display:flex;gap:18px }.callback-form fieldset label { display:flex;align-items:center;gap:10px;font-size:18px }.callback-form select { min-width:130px;height:52px;padding:0 14px;border:0;border-radius:12px;background:#f1f1f5;font:inherit }
.callback-form__consent { display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.45 }.callback-form__consent input { width:22px;height:22px;flex:0 0 22px }.callback-form__consent a { color:var(--ts-accent-dark) }
.callback-form__submit { min-height:60px;border:0;border-radius:14px;background:var(--ts-accent);color:#fff;font:700 18px/1 'Inter Tight',sans-serif }
.callback-form__error { min-height:20px;margin:0;color:#a5261d }.callback-form__success { text-align:center }
.catalog-section-heading--category>div:empty { display:none }

@media(max-width:1180px) {
  .site-topbar__nav { gap:11px }.site-topbar__nav a { font-size:11px }.site-topbar__phone { display:none }
  .site-nav li:nth-child(n+5) { display:none }
  .home-categories__grid { grid-template-rows:220px 220px }
  .price-banner { min-height:470px }
  .price-banner__intro { top:46px;left:50px }
  .price-banner__intro h2 { font-size:46px }
  .price-banner__intro p { font-size:17px }
  .price-banner__illustration { bottom:-50px }
  .price-banner__reasons { top:48px;right:5%;left:52%;gap:46px }
  .price-banner__reasons li { grid-template-columns:46px minmax(0,1fr);gap:20px }
  .price-banner__reasons li>img { width:46px;height:46px }
  .price-banner__reasons h3 { font-size:22px }
  .price-banner__reasons p { font-size:15px }
}
@media(max-width:760px) {
  .site-topbar { display:none }.catalog-menu-wrap { position:static }.catalog-mega { display:none }
  .home-slider h1,.home-slider h2 { font-size:clamp(38px,11vw,54px) }
  .home-categories__grid { display:grid;grid-template-columns:1fr;grid-template-rows:none }
  .category-card,.category-card--iphone,.category-card--mac,.category-card--ipad,.category-card--apple-watch,.category-card--airpods,.category-card--accessories { grid-column:auto;grid-row:auto;min-height:220px }
  .category-card__copy { width:58%!important }.category-card img,.category-card--airpods img,.category-card--accessories img { right:-8%;bottom:-16%;width:60%;height:82% }
  .home-price-banner { margin:48px 0 }
  .price-banner { display:flex;min-height:0;flex-direction:column;padding:34px 24px 28px;border-radius:20px }
  .price-banner__background { object-position:center }
  .price-banner__intro { position:relative;top:auto;left:auto;width:100% }
  .price-banner__intro h2 { margin-bottom:14px;font-size:40px }
  .price-banner__intro p { font-size:16px;line-height:1.2 }
  .price-banner__illustration { position:relative;left:auto;bottom:auto;order:2;width:calc(100% + 56px);margin:22px -30px 12px;align-self:center }
  .price-banner__reasons { position:relative;top:auto;right:auto;left:0;order:3;width:100%;gap:24px }
  .price-banner__reasons li { grid-template-columns:42px minmax(0,1fr);gap:16px }
  .price-banner__reasons li>img { width:42px;height:42px }
  .price-banner__reasons h3 { font-size:21px }
  .price-banner__reasons p { font-size:15px;line-height:1.25 }
  .home-services__grid { display:flex }.service-tile { height:360px;min-height:360px }.service-tile__media { min-height:0 }.service-tile__copy { min-height:0 }
  .review-card { width:min(85vw,360px);min-width:min(85vw,360px) }.reviews-slider__arrow--prev { left:-8px }.reviews-slider__arrow--next { right:-8px }
  .callback-modal__dialog { padding:42px 22px 26px }.callback-modal h2 { font-size:34px }.callback-form fieldset>div { gap:10px }.callback-form select { min-width:100px }
  .site-footer__bottom nav { flex-direction:column;gap:8px }
}

/* Final homepage interaction refinements. */
.hits-tabs button{font-weight:500}
.hit-card__price{font-weight:400}
.hit-card__price del{margin-left:9px;color:#9a9b97;font-size:.72em;font-weight:400;text-decoration-thickness:1.5px}
.category-card--iphone{background:#fff;color:var(--ts-ink)}
.category-card:hover,.category-card:focus-visible{background:#171717;color:#fff}
.category-card:hover .category-card__copy h2,.category-card:hover .category-card__copy h3,.category-card:focus-visible .category-card__copy h2,.category-card:focus-visible .category-card__copy h3{color:#fff}
.category-card__overlay{top:auto;display:grid;min-height:132px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:end;gap:7px 24px;padding:25px 30px;background:#171717}
.category-card__overlay span{margin:0;color:#fff;font-size:15px;line-height:1.3}
.reviews-slider__arrow:active:not(:disabled){transform:translateY(-50%)}
.home-reviews{padding-bottom:calc(80px + var(--ts-section-space,80px))}

@media(max-width:760px){
  .category-card__overlay{min-height:112px;padding:20px;gap:6px 16px}
  .home-reviews{padding-bottom:100px}
}

/* Unified homepage section titles and persistent back-to-top control. */
main .section-heading h2,
.home-stories__heading h2 {
  font-size:48px;
  line-height:1.05;
  letter-spacing:-.035em
}
.scroll-to-top{position:fixed;z-index:80;bottom:24px;left:24px;display:grid;width:50px;height:50px;padding:0;border:1px solid #ffffff36;border-radius:50%;background:#22231f;color:#fff;font:500 24px/1 var(--ts-display);opacity:0;cursor:pointer;pointer-events:none;place-items:center;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,background-color .2s ease}
.scroll-to-top:hover,.scroll-to-top:focus-visible{background:var(--ts-accent)}
.scroll-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}
@media(max-width:760px){
  main .section-heading h2,.home-stories__heading h2{font-size:36px}
  .scroll-to-top{bottom:16px;left:16px;width:44px;height:44px;font-size:21px}
}

/* Brand assets, unified homepage rhythm and direct iPhone-series links. */
.site-brand {
  width:153px;
  height:24px;
}
.site-brand img {
  width:153px;
  height:24px;
  object-fit:contain;
}
.mobile-menu__head .site-brand {
  box-sizing:content-box;
  padding:8px 10px;
  border-radius:8px;
  background:var(--ts-ink);
}
.story-viewer.is-paused .story-viewer__progress .is-current i.is-running,
.story-viewer.is-paused .story-viewer__fallback img {
  animation-play-state:paused;
}
main .section-heading,
.home-stories__heading {
  margin-bottom:24px;
}
main .section-heading h1,
main .section-heading h2,
.home-stories__heading h2,
.home-services .section-heading h2,
.home-reviews .section-heading h2 {
  max-width:none;
  margin:0;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.home-stories,
.home-selection.home-section,
.home-categories.home-section,
.catalog-categories.home-categories.home-section,
.home-services.home-section,
.home-reviews.home-section {
  padding:64px 0;
  background:var(--ts-bg);
}
.home-stories {
  padding-top:36px;
}
.home-selection.home-section {
  padding-top:36px;
}
.category-card,
.hit-card,
.service-tile,
.review-card {
  border:1px solid var(--ts-border);
  background:#fff;
  box-shadow:none;
}
.category-card__primary-link {
  position:absolute;
  z-index:3;
  inset:0;
}
.category-card__overlay {
  pointer-events:none;
}
.category-card__overlay a,
.category-card__overlay span {
  position:relative;
  z-index:6;
  color:#fff;
  font-size:15px;
  line-height:1.3;
}
.category-card__overlay a {
  pointer-events:auto;
}
.category-card__overlay a:hover,
.category-card__overlay a:focus-visible {
  color:var(--ts-accent);
}
.category-card:focus-within {
  background:#171717;
  color:#fff;
}
.category-card:focus-within .category-card__copy h2,
.category-card:focus-within .category-card__copy h3 {
  color:#fff;
}
.category-card:focus-within img {
  filter:brightness(.55);
}
.category-card:focus-within .category-card__overlay {
  visibility:visible;
  opacity:1;
}
.home-reviews.home-section {
  padding-bottom:128px;
}

@media(max-width:760px) {
  main .section-heading h1,
  main .section-heading h2,
  .home-stories__heading h2,
  .home-services .section-heading h2,
  .home-reviews .section-heading h2 {
    font-size:32px;
  }
  .home-stories,
  .home-selection.home-section,
  .home-categories.home-section,
  .catalog-categories.home-categories.home-section,
  .home-services.home-section,
  .home-reviews.home-section {
    padding:48px 0;
  }
  .home-reviews.home-section {
    padding-bottom:96px;
  }
}

/* Product and catalog card spacing. */
@media(min-width:761px) {
  .hit-card {
    min-height:419px;
  }

  .hit-card h3 {
    display:flex;
    min-height:50px;
    align-items:flex-start;
    margin-bottom:0;
  }

  .hit-card__price {
    margin-top:19px;
  }
}

.catalog-categories .category-card__copy h2 {
  margin-bottom:7px;
}

/* Promotions directory and its six detail pages. */
.stock-page{padding:42px 0 96px;background:var(--ts-bg)}
.stock-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:42px;color:var(--ts-muted);font-size:14px}
.stock-breadcrumbs a{color:inherit;text-decoration:none}
.stock-breadcrumbs a:hover{color:var(--ts-accent-dark)}
.stock-eyebrow,.stock-card__eyebrow{margin:0;color:var(--ts-accent-dark);font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.stock-heading{max-width:850px;margin-bottom:44px}
.stock-heading h1{margin:0 0 18px;color:var(--ts-ink);font-size:clamp(34px,4vw,54px);font-weight:650;line-height:1.05;letter-spacing:-.04em}
.stock-detail h1{margin:12px 0 22px;color:var(--ts-ink);font-size:clamp(58px,7vw,96px);line-height:.95;letter-spacing:-.055em}
.stock-heading>p:last-child{max-width:620px;margin:0;color:var(--ts-muted);font-size:16px;line-height:1.4}
.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stock-card{display:flex;min-width:0;min-height:470px;flex-direction:column;overflow:hidden;border-radius:22px;background:#fff;color:var(--ts-ink);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}
.stock-card:hover,.stock-card:focus-visible{color:var(--ts-ink);transform:translateY(-4px);box-shadow:0 18px 44px #292a2514}
.stock-card:focus-visible{outline:3px solid var(--ts-accent);outline-offset:3px}
.stock-card__media{display:block;height:245px;overflow:hidden;background:#f3f2ee}
.stock-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.stock-card:hover .stock-card__media img,.stock-card:focus-visible .stock-card__media img{transform:scale(1.04)}
.stock-card--cash-price .stock-card__media img,.stock-card--trade-in .stock-card__media img,.stock-card--airpods-gifts .stock-card__media img{object-fit:contain}
.stock-card__copy{display:flex;min-height:225px;box-sizing:border-box;flex:1;flex-direction:column;align-items:flex-start;padding:26px 28px 25px}
.stock-card__copy strong{display:block;margin:10px 0 12px;font-size:clamp(24px,2.1vw,32px);line-height:1.08;letter-spacing:-.035em}
.stock-card__excerpt{color:#62645f;font-size:16px;line-height:1.4}
.stock-card__more{margin-top:auto;padding-top:24px;color:var(--ts-accent-dark);font-size:15px;font-weight:700}
.stock-card__more span{display:inline-block;margin-left:8px;transition:transform .2s ease}
.stock-card:hover .stock-card__more span{transform:translate(3px,-3px)}
.stock-detail__hero{display:grid;min-height:550px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);overflow:hidden;border-radius:24px;background:#fff}
.stock-detail__intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:56px clamp(36px,5vw,74px)}
.stock-detail h1{font-size:clamp(48px,5vw,75px);overflow-wrap:anywhere}
.stock-detail__intro>p:not(.stock-eyebrow){max-width:640px;margin:0 0 34px;color:var(--ts-muted);font-size:20px;line-height:1.5}
.stock-detail__media{min-height:500px;background:#f3f2ee}
.stock-detail__media img{display:block;width:100%;height:100%;object-fit:cover}
.stock-detail--cash-price .stock-detail__media img,.stock-detail--trade-in .stock-detail__media img,.stock-detail--airpods-gifts .stock-detail__media img{object-fit:contain}
.stock-detail__section{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.4fr);gap:60px;padding:82px 0;border-bottom:1px solid var(--ts-border)}
.stock-detail__section h2{margin:12px 0 0;font-size:clamp(34px,4vw,55px);line-height:1.04;letter-spacing:-.04em}
.stock-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.stock-steps li{min-width:0;padding:28px 25px;border-radius:18px;background:#fff}
.stock-steps__number{color:var(--ts-accent-dark);font-size:16px;font-weight:800}
.stock-steps h3{margin:27px 0 11px;font-size:23px;line-height:1.12}
.stock-steps p,.stock-detail__terms p{margin:0;color:var(--ts-muted);font-size:16px;line-height:1.5}
.stock-detail__terms ul{display:grid;gap:17px;margin:0 0 29px;padding-left:23px;color:var(--ts-ink);font-size:18px;line-height:1.45}
.stock-detail__terms li::marker{color:var(--ts-accent)}
.stock-detail__terms a{color:var(--ts-accent-dark);text-decoration:underline}
.stock-detail__bottom{display:flex;justify-content:space-between;gap:20px;padding:34px 0}
@media(max-width:1100px){.stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-detail__section{grid-template-columns:1fr;gap:30px;padding:64px 0}}
@media(max-width:760px){.stock-page{padding:28px 0 64px}.stock-breadcrumbs{margin-bottom:30px}.stock-heading{margin-bottom:30px}.stock-grid{grid-template-columns:1fr;gap:16px}.stock-card{min-height:0}.stock-card__media{height:240px}.stock-card__copy{min-height:0;padding:24px}.stock-detail__hero{grid-template-columns:1fr}.stock-detail__intro{padding:38px 28px}.stock-detail__intro>p:not(.stock-eyebrow){font-size:17px}.stock-detail__media{min-height:0;height:270px}.stock-detail__section{padding:48px 0}.stock-steps{grid-template-columns:1fr}.stock-steps li{padding:24px}.stock-steps h3{margin-top:16px}.stock-detail__bottom{flex-wrap:wrap}}

/* Borderless white surfaces and controls on neutral section backgrounds. */
.category-card,
.hit-card,
.service-tile,
.review-card,
.service-card,
.home-store__grid,
.home-reviews__empty,
.home-faq__list,
.standard-page__notice,
.catalog-mega {
  border:0;
}

.hits-tabs button,
.ts-button,
.mobile-menu__close,
.request-modal__close,
.social-icon,
.scroll-to-top {
  border:0;
}

/* Compact touch layouts keep category navigation direct and scroll rails invisible. */
.mobile-menu__contacts svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
.mobile-menu__contacts svg circle:last-child{fill:currentColor;stroke:none}
@media(max-width:1100px){
  .home-categories__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:14px}
  .home-categories__grid .category-card{grid-column:auto;grid-row:auto}
  .home-categories__grid .category-card{height:138px;min-height:138px;padding:18px}
  .home-categories__grid .category-card h2,.home-categories__grid .category-card h3{font-size:23px}
  .home-categories__grid .category-card p{font-size:15px}
  .category-card:hover,.category-card:focus-within,.category-card:focus-visible{background:#fff;color:var(--ts-ink);box-shadow:none;transform:none}
  .category-card:hover .category-card__copy h2,.category-card:hover .category-card__copy h3,.category-card:focus-within .category-card__copy h2,.category-card:focus-within .category-card__copy h3{color:var(--ts-ink)}
  .category-card:hover .category-card__copy p,.category-card:focus-within .category-card__copy p{color:#8b8c88}
  .category-card:hover img,.category-card:focus-within img{filter:none;transform:none}
  .category-card:hover .category-card__overlay,.category-card:focus-within .category-card__overlay,.category-card:focus-visible .category-card__overlay{visibility:hidden;opacity:0;pointer-events:none}
  .category-card__primary-link:focus-visible{outline:3px solid var(--ts-accent);outline-offset:-3px;border-radius:24px}
  .home-stories__track,.hits-tabs,.hits-slider__track,.home-selection ul.products,.home-services__grid,.reviews-slider__track{scrollbar-width:none;-ms-overflow-style:none}
  .home-stories__track::-webkit-scrollbar,.hits-tabs::-webkit-scrollbar,.hits-slider__track::-webkit-scrollbar,.home-selection ul.products::-webkit-scrollbar,.home-services__grid::-webkit-scrollbar,.reviews-slider__track::-webkit-scrollbar{display:none;width:0;height:0}
}
@media(max-width:760px){
  .home-categories__grid{grid-template-columns:1fr}
  .home-categories__grid .category-card{height:132px;min-height:132px}
}

/* One size for the primary page title across theme and WooCommerce templates. */
main h1{font-size:64px!important}
@media(max-width:760px){main h1{font-size:clamp(36px,9vw,42px)!important}}

.site-footer__social{display:flex;gap:10px;margin-top:18px}
.site-footer__social .social-icon{width:36px;height:36px;flex-basis:36px;background:#fff}
.site-footer__social .social-icon svg{width:18px;height:18px}
.site-footer__social .social-icon:hover{border-color:var(--ts-accent);background:var(--ts-accent);color:#fff}
.site-footer__brand{display:flex;flex-direction:column;align-items:flex-start}
.site-footer .site-footer__disclaimer{max-width:34ch;margin:auto 0 0;padding-top:18px;color:#a5a69f;font-size:10px;line-height:1.25}
.site-footer__bottom{margin-top:40px}
.site-footer{padding-bottom:76px}
@media(max-width:760px){.site-footer__brand > p:not(.site-footer__disclaimer){margin-bottom:0}.site-footer .site-footer__disclaimer{padding-top:8px;line-height:1.15}}

.cookie-notice{position:fixed;z-index:900;right:20px;bottom:20px;left:20px;display:flex;align-items:center;gap:24px;max-width:1320px;margin:0 auto;padding:24px 28px;border:1px solid var(--ts-border);border-radius:24px;background:#fff;box-shadow:0 18px 55px #24252226;color:var(--ts-text)}
.cookie-notice__icon{flex:none;font-size:44px;line-height:1}
.cookie-notice p{flex:1;max-width:none;margin:0;font-size:15px;line-height:1.5}
.cookie-notice p a{color:#a44d1a;text-decoration:underline;text-underline-offset:3px}
.cookie-notice__accept{flex:none;min-width:132px;min-height:52px;padding:10px 20px;border:0;border-radius:12px;background:var(--ts-accent);color:var(--ts-ink);font-weight:700;cursor:pointer}
.cookie-notice__accept:hover{background:#e57537}
@media(max-width:760px){.cookie-notice{right:12px;bottom:12px;left:12px;flex-wrap:wrap;gap:12px;padding:18px;border-radius:18px}.cookie-notice__icon{font-size:32px}.cookie-notice p{flex-basis:calc(100% - 52px);font-size:13px}.cookie-notice__accept{width:100%;min-height:46px}}
