/* MacVault product studio: the selected device gets the whole canvas. */
.ns-desktop.ns-product .product{max-width:1920px;padding-top:34px}
.ns-desktop.ns-product .layout{grid-template-columns:minmax(0,1.3fr) minmax(370px,.9fr);gap:clamp(45px,6vw,110px);margin-top:30px}
.ns-desktop.ns-product .product-gallery{top:28px}
.ns-desktop.ns-product .visual.pg-studio{border:0;border-radius:24px;background:#10161b;min-height:470px;height:clamp(470px,calc(100svh - 320px),770px);isolation:isolate}
.ns-desktop.ns-product .visual.pg-studio[data-surface=light]{background:#fff}
.ns-desktop.ns-product .visual.pg-studio.mac-product[data-surface=light],.ns-desktop.ns-product:has(.mac-product) :is(.pg-thumb,.pg-dialog)[data-surface=light]{background:#f6f5f9}
.ns-desktop.ns-product .visual.pg-studio[data-surface=dark]{background:#080b0d}
.ns-desktop.ns-product .visual.pg-studio img{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0 20px 35px;max-width:100%;object-fit:contain;transform:none!important;border-radius:0}
.ns-desktop.ns-product .visual.pg-studio .product-image-fallback{max-width:320px;margin:0;font-size:14px;line-height:1.8;color:#8a9ba8}
.ns-desktop.ns-product .visual.pg-studio[data-surface=light] .product-image-fallback{color:#63717b}
.pg-zoom{position:absolute;right:22px;top:22px;border:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9edf0;color:#1d2a34;cursor:pointer}
.pg-zoom svg{width:22px;height:22px}.pg-zoom:disabled{opacity:.4;cursor:wait}
.pg-view-nav{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;color:#a0b3c2;font-size:12px;white-space:nowrap}
.pg-view-nav button,.pg-dialog-toolbar button{border:0;width:38px;height:38px;border-radius:50%;background:#e9edf0;color:#20303b;font-size:23px;line-height:1;cursor:pointer}
.pg-studio[data-surface=light] .pg-view-nav{color:#586974}
.pg-thumbnails{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:19px 0 0}
.pg-thumb{display:grid;place-items:center;width:78px;height:78px;border:1px solid #ffffff25;border-radius:12px;background:#10161b;padding:8px;cursor:pointer;transition:border-color .16s}
.pg-thumb[data-surface=light]{background:#fff}.pg-thumb[data-surface=dark]{background:#080b0d}
.pg-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.pg-thumb[aria-pressed=true]{outline:2px solid #c4d7e3;outline-offset:3px;border-color:transparent}
.ns-desktop.ns-product .gallery-caption{text-align:center;font-size:12px;min-height:20px;max-width:none;margin:16px 0 0;color:#a0b3c2}
.ns-desktop.ns-product .details h1{font-size:clamp(39px,4vw,64px);font-weight:500;letter-spacing:-.06em;margin:12px 0 18px}
.ns-desktop.ns-product .summary{font-size:15px;line-height:1.8;max-width:450px;margin-bottom:32px}
.ns-desktop.ns-product .brandline{font-size:11px;letter-spacing:.15em}
.ns-desktop.ns-product .colour-options{gap:10px}.ns-desktop.ns-product .colour-choice{min-height:44px;padding:8px 13px 8px 8px;font-size:12px;background:transparent;border-color:#a6c4d335}
.ns-desktop.ns-product .colour-choice[aria-pressed=true]{background:#1a2730;border-color:#c2d6e2}
.ns-desktop.ns-product .swatch{height:21px;width:21px}
.ns-desktop.ns-product .pricebox{background:transparent;border-radius:16px;padding:20px}
.ns-desktop.ns-product .price-label,.ns-desktop.ns-product .price-heading{font-size:11px}
.ns-desktop.ns-product .price-note,.ns-desktop.ns-product .colour-status{font-size:12px;line-height:1.7}
.ns-desktop.ns-product .buy-panel{margin-top:32px}
.pg-dialog{width:calc(100vw - 40px);height:calc(100svh - 40px);max-width:none;max-height:none;inset:20px;margin:0;border:0;border-radius:28px;padding:0;background:#10161b;overflow:hidden;color:#e9edf0}
.pg-dialog[data-surface=light]{background:#fff;color:#263944}.pg-dialog[data-surface=dark]{background:#080b0d}
.pg-dialog::backdrop{background:#05090dbb;backdrop-filter:blur(14px)}
.pg-dialog>img{display:block;position:absolute;inset:25px 50px 90px;width:calc(100% - 100px);height:calc(100% - 115px);object-fit:contain}
.pg-close{position:absolute;z-index:2;top:22px;right:22px;width:42px;height:42px;border:0;border-radius:50%;font-size:27px;background:#e9edf0;color:#253540;cursor:pointer}
.pg-dialog-toolbar{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:30px;width:max-content;max-width:90%}
.pg-dialog-toolbar p{font-size:13px;line-height:1.6;text-align:center;margin:0}
.has-gallery-dialog{overflow:hidden}
.ic-model-image[data-surface=transparent]{background:#11191f}.ic-rail-picture[data-surface=transparent]{background:#0c1013}
.ic-range .ic-model{border-radius:18px;overflow:hidden}
.ns-desktop.ns-catalogue .ns-family-filter button{border-radius:25px}
.ic-model-image[data-surface=light],.ic-rail-picture[data-surface=light]{background:#fff}
.ic-model-image[data-surface=dark],.ic-rail-picture[data-surface=dark]{background:#080b0d}
.ic-rail-picture[data-surface] img{width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}
/* One card surface and one ink palette per collection; no inherited mixed themes. */
.ns-desktop.ns-catalogue{--collection-canvas:#0c1013;--collection-card:#11181d;--collection-ink:#edf2f3;--collection-muted:#a0b3c2;--collection-rule:#ffffff30;--collection-control:#10171c;--collection-control-border:#8296a5;--collection-selected:#e1e9ed;--collection-selected-ink:#17232b}
.ns-desktop.ns-catalogue[data-studio-theme=light]{--collection-canvas:#f4f4f6;--collection-card:#fff;--collection-ink:#17232b;--collection-muted:#5b6872;--collection-rule:#cbd2d7;--collection-control:#fff;--collection-control-border:#788995;--collection-selected:#172a36;--collection-selected-ink:#fff}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-collection-range{background:var(--collection-canvas);color:var(--collection-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;border:0;margin-top:24px}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-row{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 28px;min-height:0;border:0;background:var(--collection-card);color:var(--collection-ink);border-radius:20px;overflow:hidden;transition:none}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-row:hover{background:var(--collection-card)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-photo{position:relative;display:block;aspect-ratio:1.2;background:var(--collection-card);margin-bottom:28px;overflow:hidden}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-photo[data-surface=light]{background:#fff}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-photo[data-surface=dark]{background:#080b0d}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;padding:24px 28px}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-row[data-product-id^=macbook-] .ns-model-photo{background:#f6f5f8;aspect-ratio:1.3}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-row[data-product-id^=macbook-] .ns-model-photo img{inset:-6.5% -17.5%;width:135%;height:113%;max-width:none;padding:0;transform:none}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-row[data-product-id=macbook-macbook-neo-13-inch-a18-pro] .ns-model-photo img{inset:-17% -30%;width:160%;height:134%}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-name,.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-options,.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-price,.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-open{margin-inline:30px}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-name h3{font-size:clamp(24px,1.7vw,28px);line-height:1.25;min-height:2.5em;color:var(--collection-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-family{color:var(--collection-muted);font-size:11px;letter-spacing:.12em;margin-bottom:12px}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-options{margin-top:13px;margin-bottom:24px;max-width:none;min-height:3.6em;font-size:13px;color:var(--collection-muted)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-price{margin-top:auto;margin-bottom:16px;color:var(--collection-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-price>span:first-child{font-size:18px;color:var(--collection-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-price>span:last-child{color:var(--collection-muted)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-open{justify-content:start;gap:22px;width:max-content;font-size:13px;font-weight:600;color:var(--collection-ink);border-color:var(--collection-control-border)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-open:hover{border-color:currentColor}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) :is(.ns-range-heading .ns-kicker,.ns-range-heading>p,.ns-range-comparison>p,.ns-result-count,.ns-control-label,.ns-guide-note,.ns-empty p){color:var(--collection-muted)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) :is(.ns-range-heading h2,.ns-range-compare,.ns-empty h3){color:var(--collection-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-range-compare{border-color:var(--collection-control-border)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-range-tools{border-color:var(--collection-rule)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-range-tools :is(input,select){background:var(--collection-control);color:var(--collection-ink);border-color:var(--collection-control-border)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-range-tools input::placeholder{color:var(--collection-muted);opacity:1}
.ns-desktop.ns-catalogue[data-studio-theme=light] .ns-range-tools :is(input,select){color-scheme:light}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-family-filter button{border-color:var(--collection-control-border);color:var(--collection-muted);border-radius:25px}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-family-filter button:hover{border-color:var(--collection-ink);color:var(--collection-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-family-filter button[aria-pressed=true]{background:var(--collection-selected);border-color:var(--collection-selected);color:var(--collection-selected-ink)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-empty .ns-cat-button{background:var(--collection-selected);border-color:var(--collection-selected);color:var(--collection-selected-ink)!important}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-guide-note>a{color:var(--collection-ink);border-color:var(--collection-control-border)}
.ns-desktop.ns-catalogue:not(.ns-iphone-collection) :is(.ns-guide-note strong,.ns-guide-mark){color:var(--collection-ink)}
@media(max-width:1100px){.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ns-desktop.ns-catalogue:not(.ns-iphone-collection) .ns-model-list{grid-template-columns:1fr}}
.pg-thumb:focus-visible,.pg-zoom:focus-visible,.pg-view-nav button:focus-visible,.pg-dialog button:focus-visible{outline:3px solid #5f91b3;outline-offset:5px}
.ns-desktop.ns-catalogue[data-studio-theme=light] :is(input,select,button,a):focus-visible{outline:3px solid #497d9e;outline-offset:4px}
@media(min-width:821px) and (max-height:850px){.ns-desktop.ns-product .product{padding-top:26px}.ns-desktop.ns-product .layout{margin-top:22px}.ns-desktop.ns-product .visual.pg-studio{min-height:410px;height:calc(100svh - 280px)}.ns-desktop.ns-product .summary{font-size:14px;margin-bottom:23px}.pg-thumbnails{margin-top:15px}.pg-thumb{width:65px;height:65px}.ns-desktop.ns-product .details h1{font-size:clamp(35px,3.9vw,55px)}}
@media(max-width:1100px){.ns-desktop.ns-product .layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr);gap:32px}.ns-desktop.ns-product .visual.pg-studio img{padding:28px 38px 65px}.ns-desktop.ns-product .colour-choice{font-size:11px;padding-right:10px}}
@media(max-width:820px){.ns-desktop.ns-product .layout{grid-template-columns:1fr;gap:40px}.ns-desktop.ns-product .product-gallery{position:static}.ns-desktop.ns-product .visual.pg-studio{height:490px;min-height:0}.ns-desktop.ns-product .details h1{font-size:44px}.pg-dialog>img{inset:55px 15px 110px;width:calc(100% - 30px);height:calc(100% - 165px)}}
@media(prefers-reduced-motion:reduce){.pg-thumb{transition:none}}
