/* i-Store retail design system · 2026-10-13.
   Purpose: quiet visual hierarchy and product clarity across the main storefront.
   Private iPhone 18 and iPhone Duo ordering funnels are intentionally excluded
   by the build pipeline. No product claims or inventory state is modified. */
:root{
 color-scheme:light;
 --clean-ink:#1d1d1f;
 --clean-muted:#6e6e73;
 --clean-background:#f5f5f7;
 --clean-border:#e5e5e7;
 --clean-control:#d2d2d7;
 --clean-blue:#0066cc;
 /* Preserve light navigation on phones with OS dark mode enabled. */
 --is-ink:#1d1d1f;
 --is-muted:#6e6e73;
 --is-surface:#f5f5f7;
 --is-glass-bg:rgba(255,255,255,.985);
 --is-glass-bg-strong:#fff;
 --clean-ease:cubic-bezier(.22,1,.36,1);
}
html{background:#fff;scroll-padding-top:72px}
body{
 color:var(--clean-ink);
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
 overflow-x:clip;
}
:where(.shell,.page-hero__grid,.section-heading__copy,.product-summary,.catalog-results){min-width:0}
:where(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word}
:where(p,small,li){line-height:1.55}
:where(button,input,select,textarea){font-family:inherit}
:where(input,select,textarea){font-size:max(16px,1rem)}
:where(button,a,summary,input,select,textarea):focus-visible{
 outline:3px solid rgba(0,113,227,.46);
 outline-offset:3px;
}
:where(button,.button,.filter-chip){touch-action:manipulation}
:where(.button,.filter-chip,.header-action,.menu-toggle,.catalog-filter-trigger){
 -webkit-tap-highlight-color:transparent;
}
:where(.button,.filter-chip,.header-action,.menu-toggle,.site-nav a){
 transition-duration:150ms;
}
/* 01 · Navigation should feel like a store, not a glass dashboard. */
.site-header{
 background:#fff;
 box-shadow:none;
 border-bottom:1px solid var(--clean-border);
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
}
.site-header__main{min-width:0}
.site-nav{
 background:#fff;
 border-top:1px solid #f1f1f2;
}
.site-nav .shell{gap:clamp(16px,2.5vw,30px)}
.site-nav a{
 font-size:clamp(.76rem,.85vw,.86rem);
 letter-spacing:-.01em;
 font-weight:590;
 color:#555559;
}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#000}
.brand img{object-fit:contain}
.header-search{min-width:0}
.header-search input{
 border-radius:13px;
 font-size:1rem;
}
.header-action,.menu-toggle{min-width:44px;min-height:44px}
.mobile-menu{
 background:#fff;
 overscroll-behavior:contain;
}
.mobile-menu nav a{
 color:#1d1d1f;
 line-height:1.3;
}
.announcement{background:#1d1d1f}
.announcement :is(span,a){color:#fff}
/* Simplify shared mobile navigation without affecting special private-order apps. */
.is-glass{
 background:rgba(255,255,255,.985);
 border:1px solid var(--clean-border);
 box-shadow:0 5px 23px rgba(20,20,22,.10);
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
}
.is-glass::before,.is-glass::after{content:none;display:none}
.is-mobile-dock{
 max-width:410px;
 border-radius:23px;
 padding:5px;
 gap:2px;
}
.is-mobile-dock__item{
 border-radius:17px;
 color:#747478;
}
.is-mobile-dock__item[aria-current="page"],.is-mobile-dock__item.is-active{
 color:#1d1d1f;
 background:#f5f5f7;
}
.is-mobile-dock__item[aria-current="page"]::after,.is-mobile-dock__item.is-active::after{
 width:15px;height:2px;background:var(--clean-blue);
}
.is-mobile-dock__label{font-weight:590;letter-spacing:0}
/* A stable dock is easier to learn than a jumping, shrinking one. */
.is-mobile-dock[data-condensed="true"]{
 width:min(calc(100% - 24px),410px);
 padding:5px;
}
.is-mobile-dock[data-condensed="true"] .is-mobile-dock__item{
 height:56px;
}
.is-mobile-dock[data-condensed="true"] .is-mobile-dock__label{
 max-height:16px;
 opacity:1;
 transform:none;
 overflow:visible;
}
body.menu-open .is-mobile-dock,
body.filters-open .is-mobile-dock,
body.sidecart-open .is-mobile-dock{
 opacity:0;
 visibility:hidden;
 pointer-events:none;
}

.is-search-sheet{background:rgba(22,22,25,.28)}
.is-search-panel{border-radius:21px;padding:10px}
.is-search-input-wrap{background:#f5f5f7;border-radius:14px}
.is-search-input{color:#1d1d1f;font-size:16px}
/* 02 · Editorial rhythm: one clear idea per section. */
.section{padding-block:clamp(38px,5.1vw,78px)}
.section--tight{padding-block:clamp(30px,4vw,58px)}
.section-heading{
 gap:clamp(12px,2vw,24px);
 margin-bottom:clamp(18px,2.4vw,28px);
}
.section-heading h2{
 font-size:clamp(1.75rem,3.15vw,2.85rem);
 line-height:1.08;
 font-weight:680;
 letter-spacing:-.046em;
}
.section-heading__copy>p:last-child{
 color:var(--clean-muted);
 font-size:clamp(.89rem,1.4vw,1rem);
 max-width:54ch;
}
.section-heading .eyebrow,.page-hero .eyebrow,.eyebrow{
 letter-spacing:.085em;
 font-weight:650;
}
.page-hero{
 padding-block:clamp(28px,4.2vw,58px);
 background:#fff;
}
.page-hero__grid{
 grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
 align-items:center;
 gap:clamp(18px,3vw,42px);
}
.page-hero h1{
 max-width:17ch;
 margin:0 0 13px;
 font-size:clamp(2.1rem,4.6vw,4.2rem);
 font-weight:680;
 letter-spacing:-.056em;
 line-height:1.04;
}
.page-hero__lede{
 max-width:56ch;
 margin:0;
 font-size:clamp(.94rem,1.6vw,1.06rem);
 color:var(--clean-muted);
 line-height:1.58;
}
.page-hero__aside{
 background:#f5f5f7;
 border:0;
 border-radius:18px;
 padding:clamp(16px,2vw,23px);
 box-shadow:none;
}
/* The real hero on the homepage uses approved official iPhone photography. */
.home-private-hero{overflow:clip}
.home-private-copy h1{
 font-weight:650;
 letter-spacing:-.06em;
}
.home-private-copy>p:not(.home-private-eyebrow){max-width:34rem;margin-inline:auto;text-align:center}
.home-private-cta{min-height:44px}
.home-page .home-stock-section{padding-block:clamp(42px,5vw,70px)}
.home-featured__heading>p{
 font-size:clamp(1.7rem,3vw,2.3rem);
 font-weight:680;
 letter-spacing:-.048em;
}
.home-featured-card{
 border-radius:23px;
 box-shadow:none;
 background:#f5f5f7;
}
.home-featured-card:hover{transform:none;box-shadow:none}
.home-featured-card--iphone18{position:relative;color:#fff;background:#050505}
.home-featured-card--iphone18 img{object-fit:cover;object-position:right center}
.home-featured-card--iphone18::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505 0 32%,rgb(5 5 5 / .78) 46%,transparent 64%);pointer-events:none}
.home-featured-card__story{position:absolute;z-index:1;left:7%;top:24%;display:grid;gap:8px;max-width:14ch;pointer-events:none}
.home-featured-card__story strong{font-size:clamp(1.55rem,2.2vw,2.35rem);font-weight:650;letter-spacing:-.045em;line-height:1.02}
.home-featured-card__story span{color:#d2d2d7;font-size:clamp(1rem,1.35vw,1.2rem);font-weight:450;line-height:1.25}
.product-card__media,.product-card__media-placeholder,.product-card__media-placeholder strong,.product-card__media-placeholder small{text-decoration:none}
.product-card__view{width:auto;min-height:0;justify-content:flex-start;gap:6px;padding:0;border-radius:0;background:transparent;color:#0066cc;font-size:.95rem;font-weight:590}
.product-card__view:hover,.product-card__view:focus-visible,.product-card__view:active{background:transparent;color:#004f9f;transform:none}
.home-featured__controls button{
 box-shadow:none;
 background:#fff;
 border:1px solid var(--clean-border);
}
.confidence-grid{
 border:1px solid var(--clean-border);
 border-radius:21px;
 box-shadow:none;
}
.confidence-grid h3{font-weight:650}
/* 03 · Cards: let approved product photography lead the sale. */
.product-card,.product-card--editorial,.home-page .product-card--editorial{
 min-height:0;
 background:#fff;
 border:1px solid #e8e8eb;
 border-radius:19px;
 box-shadow:none;
 overflow:hidden;
}
.product-card:hover{
 border-color:#d2d2d7;
 box-shadow:0 6px 18px rgba(30,30,36,.04);
 transform:none;
}
.product-card__media{
 background:#f7f7f8;
 min-height:0;
}
.product-card__media img{
 object-fit:contain;
 max-width:100%;
}
.product-card__content{min-width:0}
.product-card__content :is(h2,h3){font-weight:650;letter-spacing:-.025em}
.product-card__view{font-weight:630}
.product-card__price,.product-card__price strong{font-variant-numeric:tabular-nums}
.product-card__image-note{
 font-size:.7rem;
 color:#6e6e73;
 background:rgba(255,255,255,.9);
}
.product-rail,.home-featured__rail{
 overscroll-behavior-inline:contain;
 scroll-snap-type:x proximity;
 scrollbar-width:none;
}
.product-rail>*{scroll-snap-align:start}
/* Avoid shouting about missing imagery. Keep the correct item label readable. */
.product-card__media:has(.product-card__image-note):not(:has(img)){
 background:#f5f5f7;
}
.product-card__image-note{
 letter-spacing:0;
 font-weight:500;
}
:is(.product-card,.home-featured-card,.editorial-card) img{transition:none}
/* 04 · Search, product filters and sorting. */
.catalog-toolbar{
 top:var(--header-height);
 background:#fff;
 border-color:var(--clean-border);
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
}
.catalog-toolbar__inner{padding-block:12px}
.catalog-search{margin-bottom:10px}
.catalog-search input{
 min-height:50px;
 border-radius:13px;
 border-color:var(--clean-control);
 padding-inline:17px;
}
.filter-chip{
 min-height:42px;
 border:1px solid var(--clean-control);
 border-radius:999px;
 background:#fff;
 font-size:.79rem;
 font-weight:590;
 box-shadow:none;
}
.filter-chip[aria-pressed="true"]{
 background:#1d1d1f;
 border-color:#1d1d1f;
 color:#fff;
}
.catalog-filter-trigger{min-height:44px}
.catalog-results{
 padding-block:clamp(23px,3.5vw,42px) clamp(60px,7vw,95px);
}
.catalog-results__top{margin-bottom:20px}
.catalog-results__top h1{
 font-size:clamp(1.55rem,2.6vw,2.4rem);
 font-weight:670;
 letter-spacing:-.043em;
}
.catalog-link-index details{
 background:#fff;
 border:1px solid var(--clean-border);
 border-radius:17px;
}
.catalog-link-index summary{
 font-weight:640;
 min-height:58px;
}
/* 05 · Generic product details, including precise unit information. */
.product-detail-page .product-summary h1,
.product-group-page .product-summary h1{
 font-size:clamp(2rem,3.8vw,3.6rem);
 line-height:1.07;
 letter-spacing:-.055em;
 font-weight:680;
}
.product-detail-page .product-visual,
.product-group-page .product-group-visual{
 box-shadow:none;
 border-radius:19px;
}
.product-detail-page .product-device-details>div,
.product-group-summary .product-device-details>div{
 border-color:var(--clean-border);
}
.product-group-page .group-option button{
 min-height:51px;
 border-radius:12px;
 font-weight:600;
}
.product-group-page .product-media-thumbs button{
 border-radius:12px;
}
.product-group-page .product-media-thumbs button[aria-pressed="true"]{
 border-color:#1d1d1f;
 box-shadow:inset 0 0 0 1px #1d1d1f;
}
.product-buy-note,.product-detail-section{
 line-height:1.58;
}
.button{
 min-height:44px;
 border-radius:13px;
 font-weight:620;
 box-shadow:none;
}
.button:hover{box-shadow:none}
.button--secondary{
 border-color:#d2d2d7;
 background:#fff;
}
.button--whatsapp{box-shadow:none}
/* 06 · Bag, checkout request and service pages. */
.sidecart{
 background:#fff;
 width:min(100%,440px);
 box-shadow:-9px 0 38px rgba(0,0,0,.11);
}
.sidecart-root--open .sidecart-backdrop{
 background:rgba(15,15,18,.34);
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
}
.sidecart__header{border-color:var(--clean-border)}
.sidecart__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sidecart__footer{
 box-shadow:none;
 background:#fff;
 border-top:1px solid var(--clean-border);
 padding-bottom:max(16px,env(safe-area-inset-bottom));
}
.sidecart-item,.sidecart-upsell{border-color:var(--clean-border)}
.cart-page__hero{padding-bottom:clamp(22px,4vw,40px)}
.cart-page__hero .page-hero__aside{background:#f5f5f7}
.cart-summary,.cart-items{
 border-color:var(--clean-border);
 box-shadow:none;
}
.catalog-checkout{
 background:#fff;
}
.catalog-checkout__card{box-shadow:none}
.catalog-payment-method{border-color:var(--clean-control)}
/* Avoid the universal rounded-bubble / layered template aesthetic. */
:where(.policy-card,.repair-type,.trust-card,.category-card,.catalog-card){
 box-shadow:none;
}
.site-footer{background:#1d1d1f}
.footer-column h2{font-weight:630}
.footer-bottom{line-height:1.5}
@media(max-width:820px){
 .site-header{position:sticky;top:0;z-index:46}
 .site-header__main{width:min(100% - 30px,var(--content))}
 .brand img{width:108px}
 .site-nav{display:none}
 .page-hero{padding-block:24px 28px}
 .page-hero__grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .page-hero h1{max-width:22ch;margin-bottom:10px;font-size:clamp(2rem,7vw,3rem)}
 .page-hero__aside{padding:14px 16px}
 .section{padding-block:clamp(31px,6vw,49px)}
 .section-heading h2{font-size:clamp(1.7rem,5vw,2.3rem)}
 .home-featured-card{border-radius:19px}
 .product-card{border-radius:17px}
 .catalog-toolbar{top:var(--header-height)}
 .catalog-toolbar__inner{padding-block:9px}
 .catalog-search input{min-height:48px;font-size:16px}
 .filter-chip{min-height:42px}
 .catalog-results{padding-block:23px 68px}
 .sidecart{
  position:fixed;
  top:0;
  left:auto;
  right:0;
  bottom:0;
  height:100dvh;
  max-height:100dvh;
  min-height:0;
  border-radius:0;
 }
 .sidecart__header{min-height:70px}
 .sidecart__body{min-height:0;overflow-y:auto}
 .sidecart__footer{flex-shrink:0}
 .product-group-page .product-summary h1{font-size:clamp(2rem,8vw,2.9rem)}
}
@media(max-width:520px){
 .home-featured__heading{gap:10px}
 .home-featured__heading>p{font-size:1.7rem}
 .section-heading p:not(.eyebrow){font-size:.9rem}
 .catalog-results__top{gap:9px}
 .catalog-results__top h1{font-size:1.75rem}
 .product-card__content :is(h2,h3){font-size:.92rem}
 .sidecart{width:100vw}
 .cart-page__hero{padding-top:20px}
 .is-mobile-dock{bottom:max(9px,env(safe-area-inset-bottom));width:min(calc(100% - 24px),410px)}
 .is-mobile-dock__item{min-height:51px}
 .is-mobile-dock__label{font-size:10px}
 .is-search-sheet{padding:0;background:#fff}
 .is-search-panel{width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}
 .is-search-input-wrap{min-height:50px}
 .catalog-checkout__card{border-radius:20px 20px 0 0}
}
@media(max-width:350px){
 .is-mobile-dock{width:calc(100% - 12px);padding:4px}
 .is-mobile-dock__item{padding-inline:0}
 .is-mobile-dock__label{font-size:9px}
 .page-hero h1{font-size:1.95rem}
 .home-featured__heading>p{font-size:1.52rem}
}
@media(prefers-reduced-motion:reduce){
 .product-card,.home-featured-card,.is-mobile-dock,.is-mobile-dock__item{
  transform:none!important;transition:none!important;
 }
 html{scroll-behavior:auto!important}
}

/* Accurate missing-media placeholders: understated branding, no fictitious photos. */
.product-card__media-placeholder,
.product-group-visual__pending{
 background:#f5f5f7;
 box-shadow:none;
 border-color:#ededf0;
}
.product-card__media-placeholder>span,
.product-group-visual__pending>span{
 font-weight:620;
 font-size:clamp(1.05rem,2.2vw,1.3rem);
 letter-spacing:-.04em;
}
.product-group-visual__pending small{font-weight:450}
/* Product inquiry checkout remains truthful until a provider confirms payment. */
.cart-payment-choice,.cart-checkout-steps{border-color:#e5e5e7}
.cart-summary__note{color:#6e6e73;line-height:1.55}
@media(max-width:820px){
 .product-group-visual__pending{min-height:250px}
}
