/*
SONYYAR / editorial design system — independent electronics storefront.
Inspired by the visual principles of Sony Electronics and Sony Design:
product-led imagery, strong typography, generous whitespace, restrained
black/white/neutral palette and minimal blue as an interaction accent.
No Sony logo, imagery, font or proprietary source code is used.
Applies ONLY to body.tv-site, never to other shop presets.
Loaded after the legacy SONYYAR layer to resolve inherited specificity.
*/
body.storefront.tv-site {
  --sy-white: #fff;
  --sy-paper: #f7f7f7;
  --sy-ink: #111;
  --sy-secondary: #525252;
  --sy-divider: #d7d7d7;
  --sy-tile: #f1f1f1;
  --sy-accent: #005a9e;
  --sy-space: clamp(22px, 5.5vw, 100px);
  --sy-gutter: clamp(12px, 1.4vw, 22px);
}
body.storefront.tv-site:not([data-sonyyar-mode=day]) {
  --sy-white:#171717;
  --sy-paper:#080808;
  --sy-ink:#f7f7f7;
  --sy-secondary:#bdbdbd;
  --sy-divider:#393939;
  --sy-tile:#191919;
  --sy-accent:#90c9f1;
}
body.storefront.tv-site,
body.storefront.tv-site .tv-experience {
  font-feature-settings:"kern";
}
body.storefront.tv-site .tv-experience :is(h1,h2,h3),
body.storefront.tv-site :is(.section-heading h1,.product-information h1,.customer-heading h1) {
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.storefront.tv-site :is(p,.product-card p) {text-wrap:pretty;}

/* Better initial picture exposure. Preserve white text against a soft, dark
   screen scrim. These rules affect the screen picture, NOT backlight layers. */
body.storefront.tv-site .tv-experience .tv-glass img {
  filter:brightness(1.12) saturate(1.08) contrast(1.02);
  transition:filter .4s ease;
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-experience .tv-glass img {
  filter:brightness(1.18) saturate(1.1) contrast(1.01);
}
body.storefront.tv-site .tv-experience .tv-glass-copy {
  background:linear-gradient(180deg,rgba(0,0,0,.43),rgba(0,0,0,.60)) !important;
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-experience .tv-glass-copy {
  background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.60)) !important;
}
body.storefront.tv-site .tv-experience .tv-glass-copy :is(strong,small,span) {
  color:#fff !important;
  text-shadow:0 3px 11px #000a !important;
}
body.storefront.tv-site .tv-panel-frame {
  border-color:#8f9da8 !important;
  box-shadow:0 2px 0 #0e131a,0 14px 37px #0006,0 0 24px #97c7e81c !important;
}
body.storefront.tv-site .tv-experience .tv-glass-glow {
  background:linear-gradient(115deg,#ffffff1c,transparent 30%,transparent 72%,#e2f3ff0c);
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-sticky {
  background:linear-gradient(155deg,#f9f9f9,#eeeeee) !important;
}
body.storefront.tv-site:not([data-sonyyar-mode=day]) .tv-sticky {
  background:radial-gradient(ellipse at 51% 48%,#252c34,#050505 80%) !important;
}
body.storefront.tv-site .tv-sticky::before {
  opacity:.09 !important;
  filter:grayscale(1) blur(2px) !important;
}
body.storefront.tv-site .tv-sticky .tv-chapter-intro h1 {
  font-weight:800;
  line-height:1.18;
}
body.storefront.tv-site .tv-sticky .tv-orbit {opacity:.22;}

/* Header: visually recede in favor of product imagery. */
body.storefront.tv-site > .tv-global-header {
  height:76px;
  padding-inline:var(--sy-space);
  background:var(--sy-paper) !important;
  border-bottom:1px solid var(--sy-divider) !important;
  box-shadow:none !important;
  backdrop-filter:blur(12px);
}
body.storefront.tv-site .tv-global-logo {
  font-size:clamp(18px,1.45vw,22px);
  font-weight:900;
  letter-spacing:.11em;
  gap:8px;
}
body.storefront.tv-site .tv-global-logo small {
  font-weight:500;
  letter-spacing:0;
}
body.storefront.tv-site .tv-global-links {gap:clamp(12px,2vw,34px);}
body.storefront.tv-site .tv-global-links a {
  font-size:13px;
  font-weight:600;
  color:var(--sy-secondary) !important;
  transition:color .15s;
}
body.storefront.tv-site .tv-global-links a:hover {color:var(--sy-ink) !important;}
body.storefront.tv-site .tv-global-actions .tv-shop-link {
  border-radius:2px !important;
  padding:12px 20px;
  box-shadow:none;
}
body.storefront.tv-site .tv-theme-switch {
  border-radius:2px !important;
}
body.storefront.tv-site .tv-inner-page-meta {
  border-color:var(--sy-divider);
  color:var(--sy-secondary) !important;
  margin-bottom:38px;
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-inner-page-meta span:first-child {
  color:#333 !important;
}
/* Section transition and large editorial optical hardware photography. */
body.storefront.tv-site .tv-experience .tv-technology {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  grid-template-rows:repeat(2,minmax(315px,auto));
  gap:var(--sy-gutter);
  padding:clamp(40px,5vw,84px) var(--sy-space);
  background:var(--sy-paper) !important;
  border:0 !important;
}
body.storefront.tv-site .tv-experience .tv-tech-card {
  min-height:315px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  background:var(--sy-white) !important;
  color:var(--sy-ink) !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 0 18px !important;
  box-shadow:none !important;
}
body.storefront.tv-site .tv-experience .tv-tech-card:first-child {
  grid-row:span 2;
}
body.storefront.tv-site .tv-experience .tv-tech-art {
  margin:0 0 23px !important;
  width:100%;
  height:235px;
  background:var(--sy-tile) !important;
  border-radius:0 !important;
}
body.storefront.tv-site .tv-experience .tv-tech-card:first-child .tv-tech-art {
  height:min(47vw,530px);
  min-height:350px;
}
body.storefront.tv-site .tv-experience .tv-tech-art img {
  display:block;
  width:88%;
  height:88%;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 16px 18px #0002);
}
body.storefront.tv-site .tv-experience .tv-tech-number {
  font-size:11px;
  font-weight:700;
  color:var(--sy-secondary) !important;
  padding-inline:clamp(16px,2vw,31px);
}
body.storefront.tv-site .tv-experience .tv-tech-card h2 {
  font-size:clamp(24px,2.25vw,37px) !important;
  font-weight:800;
  line-height:1.36;
  margin:12px 0 7px;
  padding-inline:clamp(16px,2vw,31px);
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-tech-card p {
  font-size:13px !important;
  line-height:1.95;
  color:var(--sy-secondary) !important;
  padding-inline:clamp(16px,2vw,31px);
  margin:0 0 15px;
}
body.storefront.tv-site .tv-experience .tv-tech-card a {
  color:var(--sy-ink) !important;
  border:0 !important;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:6px;
  padding:0 0 5px;
  margin: auto clamp(16px,2vw,31px) 0;
}
body.storefront.tv-site .tv-experience .tv-tech-card::after {display:none !important;}

/* Remove ornamental card outlines, glows and excess gradients. */
body.storefront.tv-site .tv-experience .tv-after {
  max-width:none;
  padding:clamp(85px,9vw,155px) var(--sy-space) clamp(85px,9vw,155px);
  background:var(--sy-white) !important;
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-after-heading {
  max-width:900px;
}
body.storefront.tv-site .tv-experience .tv-after h2 {
  font-size:clamp(42px,5.7vw,86px);
  font-weight:800;
  line-height:1.15;
  color:var(--sy-ink) !important;
  margin:22px 0;
}
body.storefront.tv-site .tv-experience .tv-after h2 em {
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-after-heading p {
  color:var(--sy-secondary) !important;
  font-size:15px;
  max-width:590px;
  line-height:2;
}
body.storefront.tv-site .tv-experience .tv-benefit-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:65px;
  border-top:1px solid var(--sy-divider);
  border-bottom:1px solid var(--sy-divider);
  background:transparent !important;
}
body.storefront.tv-site .tv-experience .tv-benefit-grid article,
body.storefront.tv-site .tv-experience .tv-benefit-grid article:nth-child(odd),
body.storefront.tv-site .tv-experience .tv-benefit-grid article:nth-child(even) {
  min-height:235px;
  padding:28px clamp(15px,2.1vw,35px) 32px !important;
  background:transparent !important;
  border:0 !important;
  border-left:1px solid var(--sy-divider) !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-benefit-grid article:last-child {
  border-left:0 !important;
}
body.storefront.tv-site .tv-experience .tv-benefit-grid :is(h3,p) {
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-benefit-grid article p {
  color:var(--sy-secondary) !important;
  font-size:13px;
  line-height:1.9;
}
body.storefront.tv-site .tv-experience .tv-benefit-grid .tv-benefit-icon {
  color:var(--sy-accent) !important;
  font-size:24px;
}
body.storefront.tv-site .tv-experience :is(.tv-products,.tv-recommended) {
  padding:clamp(72px,8vw,122px) var(--sy-space);
  background:var(--sy-paper) !important;
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-recommended {
  background:var(--sy-white) !important;
}
body.storefront.tv-site .tv-experience :is(.tv-products-heading,.tv-recommended-heading) {
  margin-bottom:38px;
  gap:28px;
}
body.storefront.tv-site .tv-experience :is(.tv-products-heading h2,.tv-recommended-heading h2) {
  font-size:clamp(34px,4vw,60px);
  font-weight:800;
  line-height:1.25;
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-experience .tv-recommended-heading h2 em {color:var(--sy-ink) !important;}
body.storefront.tv-site .tv-experience :is(.tv-products-heading a,.tv-recommended-heading a) {
  text-decoration:underline;
  text-underline-offset:7px;
  border:0;
  font-weight:700;
  color:var(--sy-ink) !important;
  font-size:13px;
}
body.storefront.tv-site .tv-experience .tv-recommended-heading p {
  color:var(--sy-secondary) !important;
  line-height:2;
}
body.storefront.tv-site .tv-experience .studio-sections {
  padding-inline:var(--sy-space);
  background:var(--sy-white) !important;
}
/* Browsing: big art, minimal metadata, square editorial tiles. */
body.storefront.tv-site .tv-catalog-hero {
  min-height:410px;
  padding:clamp(32px,5vw,80px);
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(125deg,#191919,#454545) !important;
  box-shadow:none !important;
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-catalog-hero {
  background:linear-gradient(130deg,#dedede,#f5f5f5) !important;
}
body.storefront.tv-site .tv-catalog-hero::before {
  background:none !important;
  opacity:0 !important;
}
body.storefront.tv-site .tv-catalog-hero-copy h1 {
  font-size:clamp(43px,4.4vw,73px);
  font-weight:850;
  line-height:1.14;
}
body.storefront.tv-site .tv-catalog-screen,
body.storefront.tv-site .tv-catalog-component,
body.storefront.tv-site .tv-catalog-board {
  filter:drop-shadow(0 20px 21px #0002);
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-catalog-hero-copy :is(h1,h1 em) {
  color:#151515 !important;
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-catalog-hero-copy p {
  color:#444 !important;
}
body.storefront.tv-site[data-sonyyar-mode=day] .tv-catalog-hero-copy :is(.tv-global-eyebrow,.tv-catalog-hero-link) {
  color:#333 !important;
}
body.storefront.tv-site .catalog-layout {gap:32px;}
body.storefront.tv-site .catalog-sidebar,
body.storefront.tv-site .catalog-filter-dialog {
  border-radius:0 !important;
  box-shadow:none !important;
}
body.storefront.tv-site .catalog-sidebar {
  padding:28px;
}
body.storefront.tv-site .product-grid,
body.storefront.tv-site .tv-recommended .product-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--sy-gutter);
}
body.storefront.tv-site .product-card,
body.storefront.tv-site[data-sonyyar-mode=day] .product-card,
body.storefront.tv-site:not([data-sonyyar-mode=day]) .product-card {
  background:transparent !important;
  padding:0 0 22px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:none !important;
  min-width:0;
}
body.storefront.tv-site .product-card:hover {
  transform:none !important;
  box-shadow:none !important;
}
body.storefront.tv-site .product-card .product-media,
body.storefront.tv-site[data-sonyyar-mode=day] .product-card .product-media,
body.storefront.tv-site:not([data-sonyyar-mode=day]) .product-card .product-media {
  min-height:0;
  aspect-ratio:1.28;
  width:100%;
  padding:16px;
  background:var(--sy-tile) !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden;
}
body.storefront.tv-site .product-card .product-media::after {display:none;}
body.storefront.tv-site .product-card .product-media img {
  width:100%;height:100%;max-height:none;
  object-fit:contain;
  filter:drop-shadow(0 12px 15px #0002) !important;
  transition:transform .3s ease;
}
body.storefront.tv-site .product-card:hover .product-media img {transform:scale(1.025);}
body.storefront.tv-site .product-card .product-badge {
  background:#111 !important;
  color:#fff !important;
  border-radius:0 !important;
  padding:5px 9px;
  font-size:10px;
}
body.storefront.tv-site .product-card > small {margin:19px 0 7px;font-size:11px;}
body.storefront.tv-site .product-card h3 {
  font-size:clamp(14px,1.15vw,18px);
  font-weight:750;
  line-height:1.55;
  margin:0 0 8px;
}
body.storefront.tv-site .product-card > p {
  color:var(--sy-secondary) !important;
  font-size:12px;
  line-height:1.85;
  margin:0 0 20px;
}
body.storefront.tv-site .product-card .card-bottom {
  padding-top:15px;
  border-top:1px solid var(--sy-divider);
}
body.storefront.tv-site .product-card .product-price {
  font-size:19px;
  color:var(--sy-ink) !important;
  font-variant-numeric:tabular-nums;
}
body.storefront.tv-site .product-card .card-bottom .icon-button {
  border-radius:2px !important;
  width:39px;height:39px;min-width:39px;min-height:39px;
  background:var(--sy-ink) !important;
  color:var(--sy-paper) !important;
}
body.storefront.tv-site .product-card :is(.product-media,h3 a):focus-visible {
  outline:3px solid var(--sy-accent);
  outline-offset:4px;
}
/* Product detail gallery: large neutral stage + compact technical specifications. */
body.storefront.tv-site .product-experience .product-gallery,
body.storefront.tv-site[data-sonyyar-mode=day] .product-experience .product-gallery {
  background:var(--sy-tile) !important;
  border:0 !important;border-radius:0 !important;
  box-shadow:none !important;
  padding:28px !important;
}
body.storefront.tv-site .product-experience .product-gallery img {object-fit:contain;}
body.storefront.tv-site .product-information h1 {
  font-weight:850;
  line-height:1.22;
}
body.storefront.tv-site .purchase-panel,
body.storefront.tv-site[data-sonyyar-mode=day] .purchase-panel,
body.storefront.tv-site:not([data-sonyyar-mode=day]) .purchase-panel {
  background:var(--sy-paper) !important;
  border:1px solid var(--sy-divider) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.storefront.tv-site .product-content-section {
  border-radius:0 !important;
}
/* Shared journey: forms and account tiles become quiet and structural. */
body.storefront.tv-site :is(
 .customer-card,.form-card,.card,.cart-row,.cart-summary,
 .checkout-card,.customer-nav,.address-choice,.payment-choice
) {
  border-radius:0 !important;
  box-shadow:none !important;
}
body.storefront.tv-site .customer-heading,
body.storefront.tv-site .checkout-heading {border-color:var(--sy-divider);}
body.storefront.tv-site .customer-stats .customer-card {border-radius:0 !important;}
body.storefront.tv-site .tv-global-end {
  min-height:390px;
  padding:clamp(70px,8vw,135px) var(--sy-space);
  background:var(--sy-paper) !important;
  border-top:1px solid var(--sy-divider) !important;
  border-bottom:1px solid var(--sy-divider) !important;
}
body.storefront.tv-site .tv-global-end::before {display:none;}
body.storefront.tv-site .tv-global-end h2,
body.storefront.tv-site[data-sonyyar-mode=day] .tv-global-end h2 {
  color:var(--sy-ink) !important;
  font-size:clamp(44px,6vw,94px);
  line-height:1.13;
  letter-spacing:-.045em;
}
body.storefront.tv-site .tv-global-end h2 em,
body.storefront.tv-site[data-sonyyar-mode=day] .tv-global-end h2 em {
  color:var(--sy-ink) !important;
}
body.storefront.tv-site .tv-global-end p,
body.storefront.tv-site[data-sonyyar-mode=day] .tv-global-end p {
  color:var(--sy-secondary) !important;
}
body.storefront.tv-site .tv-global-end-link {
  border-radius:2px !important;
}
body.storefront.tv-site .store-footer {
  border-color:var(--sy-divider) !important;
}
@media (max-width:1300px) {
  body.storefront.tv-site .product-grid,
  body.storefront.tv-site .tv-recommended .product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:980px) {
  body.storefront.tv-site .tv-experience .tv-technology {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
  }
  body.storefront.tv-site .tv-experience .tv-tech-card:first-child {
    grid-row:auto;grid-column:span 2;
  }
  body.storefront.tv-site .tv-experience .tv-tech-card:first-child .tv-tech-art {
    min-height:0;height:340px;
  }
  body.storefront.tv-site .tv-experience .tv-benefit-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.storefront.tv-site .tv-experience .tv-benefit-grid article:nth-child(2n) {
    border-left:0 !important;
  }
  body.storefront.tv-site .product-grid,
  body.storefront.tv-site .tv-recommended .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:650px) {
  body.storefront.tv-site > .tv-global-header {height:64px;padding-inline:18px;}
  body.storefront.tv-site .tv-experience .tv-technology {
    display:grid;grid-template-columns:1fr;gap:34px;padding-block:55px;
  }
  body.storefront.tv-site .tv-experience .tv-tech-card:first-child {
    grid-column:auto;
  }
  body.storefront.tv-site .tv-experience .tv-tech-card:first-child .tv-tech-art {
    height:250px;
  }
  body.storefront.tv-site .tv-experience .tv-tech-art {height:220px;}
  body.storefront.tv-site .tv-experience .tv-after {
    padding-block:75px;
  }
  body.storefront.tv-site .tv-experience .tv-benefit-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.storefront.tv-site .tv-experience .tv-benefit-grid article {
    min-height:190px;padding:22px 14px !important;
  }
  body.storefront.tv-site .tv-experience :is(.tv-products,.tv-recommended) {
    padding-block:68px;
  }
  body.storefront.tv-site .product-grid,
  body.storefront.tv-site .tv-recommended .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  body.storefront.tv-site .product-card .product-media {padding:9px;}
  body.storefront.tv-site .product-card .product-price {font-size:15px;}
  body.storefront.tv-site .tv-global-end {min-height:320px;padding-block:65px;}
  body.storefront.tv-site .tv-global-end h2 {font-size:clamp(39px,9vw,58px);}
}
@media (max-width:390px) {
  body.storefront.tv-site .product-grid,
  body.storefront.tv-site .tv-recommended .product-grid {
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.storefront.tv-site .product-card .product-media img {transition:none;}
  body.storefront.tv-site .product-card:hover .product-media img {transform:none;}
}


/* SONYYAR original generated editorial photography: three component close-ups. */
body.storefront.tv-site .tv-experience .tv-technology .tv-tech-art img.tv-tech-photo {
  display:block;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center;
  filter:none !important;transform:none !important;
}
body.storefront.tv-site .tv-experience .tv-technology .tv-tech-art:has(img.tv-tech-photo) {
  background:#131b23 !important;overflow:hidden;
}
body.storefront.tv-site .tv-experience .tv-technology .tv-tech-card:first-child .tv-tech-art:has(img.tv-tech-photo) {
  background:#10151b !important;
}

/* Native vector iconography: no emoji fonts, predictable in both themes. */
body.storefront.tv-site .tv-theme-icon {width:18px;height:18px;flex:none;display:block;}
body.storefront.tv-site .tv-theme-switch[aria-pressed="true"] .tv-theme-icon-sun,
body.storefront.tv-site .tv-theme-switch[aria-pressed="false"] .tv-theme-icon-moon {display:none;}
body.storefront.tv-site .tv-menu-icon {width:21px;height:21px;flex:none;}
body.storefront.tv-site .tv-benefit-icon svg {width:24px;height:24px;display:block;}
