.variant-picker { width: 100%; display: grid; gap: 10px; margin: 10px 0; }
.variant-picker label { display: grid; gap: 5px; color: #6e6e73; font-size: 11px; }
.variant-picker select { width: 100%; min-width: 0; padding: 12px 9px; border: 1px solid #d8d8dd; border-radius: 12px; background: #fff; font: inherit; font-size: 12px; color: #1d1d1f; }
.color-swatches { display: flex; gap: 7px; }
.color-swatches span { width: 14px; height: 14px; border: 1px solid #0002; border-radius: 50%; }
.sim-note { min-height: 65px; font-size: 11px; color: #747479; line-height: 1.5; }
.variant-label { font-size: 12px; color: #515156; }
.variant-stock, .palette-note { font-size: 11px; color: #7a7a80; }
.model-details-link { color: #0071e3; text-decoration: none; font-size: 12px; margin-top: 14px; }
.iphone-card .price { font-size: 18px; }
.iphone-card .product-desc { flex: none; margin-bottom: 0; }
.iphone-card .product-media { background: #f8f8fa; }
.iphone-card .product-img { object-fit: contain; padding: 0; }
.iphone-card-white .product-media { background: #fff; }
.iphone-card-white .product-img { width: 100%; height: 260px; object-fit: contain; object-position: center; padding: 12px; background: #fff; }
.model-page { background: #f5f5f7; }
.model-nav { display: flex; justify-content: space-between; padding-block: 24px; gap: 20px; font-size: 13px; }
.model-nav a { display:inline-flex;align-items:center;min-height:38px;color:#000;text-decoration:none;font-weight:600;line-height:1.2; }
.model-nav a:hover { color:#000;text-decoration:underline; }
.model-nav a:focus-visible { outline:2px solid #555;outline-offset:3px; }
.model-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; padding-block: 50px 70px; }
.model-hero h1 { font-size: clamp(38px,5vw,70px); line-height: 1.05; letter-spacing: -.05em; }
.model-hero p { color: #777; margin: 22px 0; }
.model-hero img { width: 100%; max-height: 420px; object-fit: contain; border-radius: 24px; }
.model-section { margin-bottom: 60px; }
.model-section h2 { text-align: left; font-size: 32px; margin-bottom: 24px; }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; background: #fff; border-radius: 24px; padding: 16px 30px; column-gap: 40px; }
.spec-grid div { padding: 17px 0; border-bottom: 1px solid #eee; }
.spec-grid dt { color: #777; font-size: 12px; margin-bottom: 7px; }
.spec-grid dd { margin: 0; font-size: 14px; }
.model-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.model-gallery figure { background: #fff; border-radius: 20px; padding: 18px; overflow: hidden; }
.model-gallery img { width: 100%; height: 300px; object-fit: contain; }
.model-gallery figcaption { font-size: 12px; color: #777; margin-top: 15px; }
.model-video { display: block; width: 100%; max-height: 600px; border-radius: 24px; background: #000; }
.sim-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.sim-cards article { background: #fff; border-radius: 20px; padding: 25px; }
.sim-cards p { font-size: 13px; line-height: 1.6; margin-top: 12px; color: #6e6e73; }
.model-sources { font-size: 13px; color: #666; line-height: 1.8; padding-bottom: 50px; }
.model-sources a { color: #0071e3; }
.model-sources ul { padding-left: 20px; }
@media(max-width:760px) { .model-hero, .spec-grid, .sim-cards, .model-gallery { grid-template-columns: 1fr; } .model-hero { gap: 20px; padding-top: 20px; } .model-gallery img { height: 240px; } }
@media(max-width:760px) { .model-nav a { min-height:32px;font-size:11px; } }

.product-page-link { color: inherit; text-decoration: none; }
.product-page-link:hover { color: #0071e3; }
.product-media > a { display: block; width: 100%; }
/* Shared tracks keep every section aligned across cards in the same catalog row. */
.products .product .product-media { height: 280px; width: 100%; flex: none; margin: 0; background: #fff; display: grid; place-items: center; }
.products .product .product-media > a { height: 256px; width: min(100%, 256px); display: grid; place-items: center; }
.products .product .product-img,
.products .product .product-icon { height: 256px; width: 100%; object-fit: contain; object-position: center; padding: 0; border-radius: 0; }
.products .product:hover .product-img { transform: none; }
.products .product .product-desc { flex: none; margin: 0; }
.products .product .price-row { margin: 0; }
.products .product .price { font-size: 20px; }
@supports (grid-template-rows: subgrid) {
  .products .product {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: subgrid;
    grid-row: span 11;
    row-gap: 9px;
    align-items: start;
  }
  .products .product > .product-media { grid-row: 1; }
  .products .product > .product-cat { grid-row: 2; }
  .products .product > h3 { grid-row: 3; margin: 0; }
  .products .product > .product-desc { grid-row: 4; }
  .products .product > .variant-picker { grid-row: 5; margin: 0; }
  .products .product > .variant-label { grid-row: 6; }
  .products .product > .price-row { grid-row: 7; }
  .products .product > .variant-stock { grid-row: 8; }
  .products .product > .btn-add { grid-row: 9; justify-self: start; align-self: start; }
  .products .product > .model-details-link { grid-row: 10; }
  .products .product > .palette-note { grid-row: 11; }
}
@media (max-width: 600px) {
  .products .product { display: flex; grid-row: auto; }
  .products .product .product-media { height: 280px; }
}
.products .catalog-preview { grid-row: span 4; }
.products .catalog-preview > .product-media { grid-row: 1; display: grid; place-items: center; }
.products .catalog-preview .product-img, .products .catalog-preview .product-icon { width: min(100%, 256px); height: 256px; }
.products .catalog-preview > h3 { grid-row: 2; }
.products .catalog-preview > .price-row { grid-row: 3; }
.products .catalog-preview > .catalog-details { grid-row: 4; justify-self: start; margin-top: 8px; }
.product-contact-fields { display: grid; gap: 16px; margin-block: 24px; }
.model-page #productPurchase .product-contact-fields { width: min(100%, 252px); }
.product-contact-fields > label { display: grid; gap: 8px; font-size: 14px; }
.product-contact-fields input, .product-contact-fields textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 12px; border: 1px solid #d2d2d7; border-radius: 12px; font: inherit; }
.product-contact-fields .phone-field input { border: 0; background: transparent; }
/* Компактная мобильная страница товара. */
@media(max-width:760px){
 .model-page main.container{padding-inline:12px}
 .model-nav{padding-block:12px;gap:12px;font-size:12px}
 .model-hero{gap:14px;padding-block:8px 24px;align-items:start}
 .model-hero > div{min-width:0}
 .model-hero img{display:block;height:220px;max-height:220px;border-radius:16px}
 .model-hero h1{font-size:clamp(25px,6.5vw,32px);line-height:1.12;letter-spacing:-.035em;margin:0}
 .model-hero p{font-size:13px;line-height:1.4;margin:8px 0 12px}
 #productPurchase .variant-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
 #productPurchase .variant-picker label{gap:4px;font-size:11px}
 #productPurchase .variant-picker label:last-child{grid-column:1/-1}
 #productPurchase .variant-picker select{height:44px;padding:8px 10px;font-size:16px;border-radius:10px}
 #productPurchase #purchasePrice{font-size:23px;font-weight:600;color:#1d1d1f;margin:10px 0 4px}
 #productPurchase #purchaseStock{font-size:12px;margin:0 0 10px}
 #productPurchase > label{display:flex;align-items:center;gap:10px;font-size:13px}
 #productPurchase input[name=quantity]{width:76px!important;height:44px;padding:8px!important;border:1px solid #d2d2d7;border-radius:10px;font:inherit;font-size:16px;background:#fff;box-sizing:border-box}
 .product-contact-fields{gap:9px;margin-block:12px}
 .product-contact-fields > label{gap:4px;font-size:12px}
 .product-contact-fields input{height:44px;padding:8px 10px;font-size:16px;border-radius:10px}
 .product-contact-fields textarea{height:64px;min-height:64px;padding:8px 10px;font-size:16px;border-radius:10px;resize:vertical}
 .product-contact-fields .phone-field{height:44px;border-radius:10px;padding-left:10px;font-size:16px;box-sizing:border-box}
 .product-contact-fields .phone-field input{height:42px}
 #productPurchase > .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;font-size:14px}
 #purchaseStatus:empty{display:none}
 .model-section{margin-bottom:24px}
 .model-section h2{font-size:23px;margin-bottom:12px}
 .model-section > div{font-size:14px;line-height:1.5!important}
 .spec-grid{gap:8px}
 .spec-grid > div{padding:12px}
}
#purchaseStatus{overflow-wrap:anywhere;margin:10px 0 0;font-size:14px;line-height:1.4}
#purchaseStatus:empty{display:none}
#purchaseStatus.cart-added{color:#1f7a46;font-weight:600}
@media(max-width:760px){#purchaseStatus{font-size:13px;margin-top:8px}}
.order-confirmation{position:fixed;inset:0;width:min(440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:26px;background:#fff;color:#1d1d1f;box-shadow:0 24px 70px rgba(0,0,0,.24);box-sizing:border-box}
.order-confirmation[open]{display:flex}
.order-confirmation:focus{outline:none}
.order-confirmation::backdrop{background:rgba(22,29,40,.6)}
.order-confirmation-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;padding:42px 30px 30px;text-align:center;box-sizing:border-box}
.order-confirmation-icon{display:grid;place-items:center;width:66px;height:66px;margin-bottom:8px;border-radius:50%;background:#21834c;color:#fff;font-size:40px;font-weight:700;line-height:1}
.order-confirmation h2{margin:0;font-size:clamp(24px,3vw,30px);line-height:1.15;letter-spacing:-.025em}
.order-confirmation .order-confirmation-number{margin:0;font-size:19px;font-weight:650;font-variant-numeric:tabular-nums;color:#1d4630}
.order-confirmation .order-confirmation-message{margin:0;font-size:16px;line-height:1.4;color:#555}
.order-confirmation-close{width:100%;min-height:48px;margin-top:22px;padding:12px 18px;border:0;border-radius:14px;background:#0071e3;color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.order-confirmation-close:hover{background:#0065ce}
.order-confirmation-close:focus-visible{outline:3px solid #80baff;outline-offset:3px}
@media(max-width:760px){.order-confirmation{width:min(360px,calc(100% - 32px));max-height:calc(100dvh - 32px);border-radius:22px;overflow-y:auto}.order-confirmation-content{gap:8px;padding:28px 22px 22px}.order-confirmation-icon{width:54px;height:54px;margin-bottom:4px;font-size:34px}.order-confirmation h2{font-size:23px}.order-confirmation .order-confirmation-number{font-size:17px}.order-confirmation .order-confirmation-message{font-size:14px}.order-confirmation-close{min-height:42px;margin-top:14px;font-size:15px}}
@media(max-width:390px){.order-confirmation-content{padding-inline:18px}.order-confirmation h2{font-size:22px}}
@media(max-width:760px){
 .model-page main.container{padding-inline:8px}
 .model-nav{padding-block:6px;gap:8px;font-size:11px}
 .model-hero{gap:7px;padding-block:4px 12px}
 .model-hero img{height:110px;max-height:110px;border-radius:10px}
 .model-hero h1{font-size:clamp(19px,5vw,23px);line-height:1.1}
 .model-hero p{font-size:11px;margin:4px 0 6px}
 #productPurchase .variant-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:6px 0}
 #productPurchase .variant-picker label{font-size:10px;gap:2px}
 #productPurchase .variant-picker label:last-child{grid-column:auto}
 #productPurchase .variant-picker select{padding:6px 3px;border-radius:8px}
 #productPurchase #purchasePrice{font-size:18px;margin:5px 0 2px}
 #productPurchase #purchaseStock{font-size:11px;margin:0 0 5px}
 #productPurchase > label{font-size:11px;gap:6px}
 #productPurchase input[name=quantity]{width:60px!important}
 .product-contact-fields{gap:5px;margin-block:6px}
 .product-contact-fields > label{font-size:11px;gap:2px}
 .product-contact-fields input{padding:6px 8px;border-radius:8px}
 .product-contact-fields textarea{height:44px;min-height:44px;padding:6px 8px;border-radius:8px}
 #productPurchase > .btn{padding:8px 12px;font-size:13px}
 .model-section{margin-bottom:12px}
 .model-section h2{font-size:18px;margin-bottom:6px}
 .model-section > div{font-size:12px;line-height:1.4!important}
 .spec-grid{gap:4px}
 .spec-grid > div{padding:6px;font-size:12px}
}
/* Характеристики в компактных строках. */
.model-page .spec-grid{padding:6px 12px;column-gap:20px;row-gap:0;border-radius:12px}
.model-page .spec-grid > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px;align-items:baseline;padding:7px 0;min-width:0}
.model-page .spec-grid dt{font-size:12px;line-height:1.35;margin:0}
.model-page .spec-grid dd{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:760px){
 .model-page .spec-grid{padding:4px 8px;column-gap:0}
 .model-page .spec-grid > div{padding:4px 0;gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
 .model-page .spec-grid dt,.model-page .spec-grid dd{font-size:11px;line-height:1.3}
}
.model-page .description-collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.model-page .spec-grid > div[hidden]{display:none}
.details-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:#000;padding:8px 0;min-height:44px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:left}
.details-toggle::after{content:"";flex:none;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.details-toggle[aria-expanded=true]::after{transform:translateY(2px) rotate(225deg)}
.details-toggle:hover{color:#000;text-decoration:underline}
.details-toggle:focus-visible{outline:2px solid #555;outline-offset:3px}
@media(max-width:760px){.details-toggle{font-size:12px;padding:4px 0}}
#productPurchase .product-color-label{grid-column:1/-1}
#productPurchase .product-color-label select[hidden]{display:none}
.product-color-picker{display:flex;flex-wrap:wrap;gap:8px;padding:4px}
.product-color-picker button{position:relative;width:40px;height:40px;border:0;border-radius:50%;padding:0;cursor:pointer;box-shadow:none;background:transparent}
.product-color-picker button::before{content:"";position:absolute;inset:6px;border:2px solid #dcdde2;border-radius:50%;background:var(--swatch-color)}
.product-color-picker button[aria-pressed=true]::before{border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}
@media(max-width:760px){#productPurchase .variant-picker .product-color-label{grid-column:1/-1;grid-row:2}.product-color-picker{gap:4px}.product-color-picker button{width:36px;height:36px}.product-color-picker button::before{inset:5px}}
#productPurchase .variant-picker .product-memory-label{grid-column:1/-1;grid-row:1}
#productPurchase .product-memory-label select[hidden]{display:none}
.product-memory-picker{display:flex;flex-wrap:wrap;gap:8px;padding:3px 0}
.product-memory-picker button{min-height:40px;padding:8px 13px;border:1px solid #dcdde2;border-radius:12px;background:#fff;color:#444;font:inherit;font-size:14px;cursor:pointer}
.product-memory-picker button[aria-pressed=true]{background:#edf5ff;color:#076bd7;border-color:#8bb7ff;font-weight:600}
@media(max-width:760px){.product-memory-picker{gap:6px}.product-memory-picker button{min-height:36px;padding:6px 10px;font-size:12px;border-radius:10px}}
#productPurchase.macbook-purchase .variant-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#productPurchase.macbook-purchase .variant-picker label{grid-column:auto;grid-row:auto}
#productPurchase.macbook-purchase .variant-picker .product-color-label{grid-column:1/-1}
#productPurchase.macbook-purchase select[hidden]{display:none}
@media(min-width:761px){#productPurchase.macbook-purchase .variant-picker:has(select[name=diagonal]):has(select[name=ram]){grid-template-columns:max-content max-content;column-gap:clamp(16px,calc(100% - 270px),90px);justify-content:start}}
@media(max-width:360px){#productPurchase.macbook-purchase .variant-picker{grid-template-columns:minmax(0,1fr)}}
/* Компактные контактные поля с комфортным вводом на телефоне. */
@media(max-width:760px){
 .product-contact-fields{gap:6px;margin-block:8px}
 .product-contact-fields > label{font-size:11px;gap:3px;line-height:1.2}
 .product-contact-fields input{height:44px;padding:8px 10px;font-size:16px;line-height:1.2;border-radius:9px}
 .product-contact-fields .phone-field{height:44px;gap:6px;padding-left:10px;border-radius:9px}
 .product-contact-fields .phone-field input{height:42px;padding:8px 4px}
}
/* Небольшой переключатель SIM с короткой подписью. */
#productPurchase .variant-picker select[name=simId]{width:fit-content;max-width:100%;height:34px;padding:5px 24px 5px 8px;font-size:12px;line-height:1.2;border-radius:8px}
#productPurchase .variant-picker label:has(select[name=simId]){justify-items:start;gap:3px}
#productPurchase .variant-picker select[name=simId]{height:28px;padding:3px 16px 3px 6px;font-size:11px;border-radius:6px}
@media(max-width:760px){
 .product-contact-fields{gap:5px;margin-block:6px}
 .product-contact-fields > label{gap:2px;font-size:10px}
 .product-contact-fields input{height:36px;padding:5px 8px;border-radius:8px;font-size:16px}
 .product-contact-fields .phone-field{height:36px;padding-left:8px;gap:4px;border-radius:8px}
 .product-contact-fields .phone-field input{height:34px;padding:5px 3px}
}
/* Боковые поля на мобильной странице товара. */
@media(max-width:760px){
 .model-page main.container{padding-inline:clamp(24px,7vw,36px)}
}
.model-page .spec-grid[hidden]{display:none}
@media(max-width:760px){.watch-model-hero #productColorPhoto{height:clamp(170px,45vw,210px);max-height:none}}
.model-page #productPurchase > .add-cart-button{display:inline-flex;width:auto;min-height:44px;margin-top:16px;padding:10px 22px;border-radius:12px;background:#000;color:#fff;font-size:14px;font-weight:600;white-space:nowrap}
.model-page #productPurchase > .add-cart-button:not(:disabled):hover{background:#242424;color:#fff}
.model-page #productPurchase > .add-cart-button:disabled{background:#c7c7cc;color:#fff}
.model-page #productPurchase > .add-cart-button:focus-visible{outline:2px solid #555;outline-offset:3px}
@media(max-width:760px){.model-page #productPurchase > .add-cart-button{width:auto;min-height:42px;margin-top:14px;padding:9px 17px;font-size:13px}.model-page .model-hero{margin-bottom:14px}}
