.shop-page{background:#f4efe6}.shop-page .site-header{background:rgba(248,244,236,.95)}
[hidden]{display:none!important}
.catalogue-surface{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#f2eee4 0%,#eef1e7 54%,#e4ebdf 100%)}
.catalogue-surface::before{content:"";position:absolute;z-index:-1;inset:-3% -8%;background:url("assets/wanaka-topographic-contours.svg") center top/1600px auto repeat-y;opacity:.105;filter:sepia(.2) hue-rotate(70deg) saturate(.65)}
.shop-hero{padding:clamp(38px,5vw,70px) 0 clamp(24px,3vw,38px)}.shop-hero-copy{max-width:970px}.shop-hero-copy h1{max-width:940px;margin:.15em 0 .18em;font-size:clamp(3rem,6.2vw,6rem);line-height:.94}.shop-hero-copy>p:not(.eyebrow){max-width:720px;margin:0;color:var(--ink-soft);font-size:clamp(1.05rem,1.5vw,1.28rem)}
.shop-section{padding:clamp(52px,6vw,84px) 0}.catalogue-section{padding-top:18px}.catalogue-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:24px;padding-top:22px;border-top:1px solid rgba(14,52,43,.16)}.catalogue-heading h2{margin:0;font-size:clamp(2rem,3.6vw,3.35rem)}.catalogue-heading p{margin:6px 0 0;color:var(--ink-soft)}
.stock-key{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.stock-key span,.stock-pill{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.available{background:#d8edd8;color:#145226}.preparing{background:#fff0cb;color:#715009}.sold{background:#e1e4e4;color:#52606a}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.catalog-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(12,46,38,.14);border-radius:16px;background:rgba(255,253,248,.96);box-shadow:0 10px 28px rgba(14,43,34,.07);transition:transform .28s var(--ease),box-shadow .28s ease,border-color .28s ease}.catalog-card:hover{transform:translateY(-3px);border-color:rgba(19,91,70,.28);box-shadow:0 17px 38px rgba(14,43,34,.12)}.catalog-card-wide{grid-column:span 2;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)}
.card-media{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#eee8dc}.catalog-card-wide>.card-media{height:100%;min-height:430px;aspect-ratio:auto}.card-body{display:flex;flex:1;min-width:0;flex-direction:column;padding:22px}.card-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#5a6866;font-size:.7rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.card-body h3{margin:11px 0 8px;font-size:clamp(1.45rem,2vw,2rem);line-height:1.02;letter-spacing:-.035em}.card-body>p{margin:0;color:var(--ink-soft)}.small-note{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--line);font-size:.82rem}
.spec-list,.topic-list{display:grid;gap:6px;margin:16px 0 0;padding:0;list-style:none}.spec-list li,.topic-list li{position:relative;padding-left:18px;color:#3d494e;font-size:.9rem}.spec-list li::before,.topic-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--green)}
.card-action{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-top:auto;padding-top:22px}.card-action .button{flex:0 0 auto}.price{display:flex;min-width:0;flex-direction:column}.price small{color:#66716f;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.price strong{font-size:1.12rem;line-height:1.2}.price em{margin-top:3px;color:#68716f;font-size:.7rem;font-style:normal}.button-outline{border:1px solid rgba(18,92,68,.32);background:transparent;color:var(--green-deep)}
.laptop-photo-placeholder{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#dce6d7,#eee2cb)}.laptop-photo-placeholder::before{content:"";position:absolute;inset:0;background:url("assets/wanaka-topographic-contours.svg") center/cover;opacity:.08}.laptop-photo-placeholder.secondary{background:linear-gradient(145deg,#e8e3d7,#dbe8df)}.laptop-photo-placeholder.gaming{background:linear-gradient(145deg,#d7e9dd,#adcab7)}.laptop-screen{position:relative;z-index:1;display:grid;place-items:center;width:54%;aspect-ratio:1.52;border:7px solid #172126;border-radius:9px 9px 3px 3px;background:linear-gradient(145deg,#bce1bd,#f1dfb4);box-shadow:0 20px 36px rgba(0,0,0,.21);transform:translateY(-5px) perspective(800px) rotateY(5deg)}.laptop-screen i{color:#0b513f;font-family:Bahnschrift,sans-serif;font-size:clamp(2.1rem,3.3vw,3.2rem);font-style:normal;font-weight:900;letter-spacing:-.07em}.laptop-base{position:absolute;z-index:1;top:63%;width:65%;height:13px;border-radius:2px 2px 16px 16px;background:#aeb9ba;transform:perspective(400px) rotateX(55deg)}.laptop-photo-placeholder>small{position:absolute;z-index:2;right:13px;bottom:12px;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.84);color:#4f5d5c;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.enclosure-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.enclosure-options span{padding:12px;border:1px solid rgba(20,80,62,.15);border-radius:10px;background:#f4f4eb}.enclosure-options strong,.enclosure-options small{display:block}.enclosure-options strong{font-size:.82rem}.enclosure-options small{margin-top:3px;color:#586562;font-size:.72rem}.mini-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}.mini-steps li{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:start;padding:11px;border-radius:10px;background:#e4ece0}.mini-steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--green-deep);color:#fff;font-size:.75rem}.mini-steps strong,.mini-steps small{display:block}.mini-steps strong{font-size:.82rem}.mini-steps small{margin-top:2px;color:#5a6863;font-size:.68rem;line-height:1.35}.tuition-card .topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.reuse-visual{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;place-items:center;padding:22px;background:linear-gradient(145deg,#0b4b3a,#063126)}.reuse-visual::before{content:"";position:absolute;inset:0;background:url("assets/wanaka-topographic-contours.svg") center/cover;opacity:.11}.reuse-visual span{position:relative;z-index:1;display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.buying-section{background:#fffdf8}.buying-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,7vw,100px);align-items:start}.buying-layout>div>p:last-child{color:var(--ink-soft)}.buying-grid{display:grid;gap:0;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.buying-grid li{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.buying-grid span{color:var(--green);font-weight:900}.buying-grid h3{margin:0 0 3px}.buying-grid p{margin:0;color:var(--ink-soft)}
.shop-final{padding:72px 0;background:#0b2036;color:#fff}.shop-final-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.shop-final .eyebrow{color:#9ad69f}.shop-final p:last-child{color:rgba(255,255,255,.7)}
@media(max-width:1100px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-wide{grid-column:span 2}.shop-page .header-actions{display:none}}
@media(max-width:800px){.catalogue-heading{align-items:start;flex-direction:column}.stock-key{justify-content:flex-start}.catalog-card-wide{display:flex;grid-column:span 2}.catalog-card-wide>.card-media{height:auto;min-height:0;aspect-ratio:16/9}.buying-layout{grid-template-columns:1fr}.shop-final-inner{grid-template-columns:1fr}.enclosure-options,.mini-steps{grid-template-columns:1fr}.tuition-card .topic-list{grid-template-columns:1fr}}
@media(max-width:600px){.shop-hero{padding-top:32px}.shop-hero-copy h1{font-size:clamp(2.7rem,13vw,4.1rem)}.catalogue-grid{grid-template-columns:1fr}.catalog-card-wide{grid-column:auto}.card-action{align-items:stretch;flex-direction:column}.card-action .button{width:100%}.catalogue-surface::before{background-size:1050px auto}.shop-section{padding:48px 0}.reuse-visual{grid-template-columns:repeat(3,1fr)}.reuse-visual span{width:60px;height:60px;font-size:.6rem}.shop-final{padding:60px 0}}

.catalogue-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.catalogue-filters button{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid rgba(12,46,38,.2);border-radius:999px;background:rgba(255,253,248,.72);color:var(--ink-soft);font-weight:800;cursor:pointer}.catalogue-filters button span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:rgba(12,46,38,.08);font-size:.72rem}.catalogue-filters button.is-active{border-color:var(--green);background:var(--green);color:#fff}.catalogue-filters button.is-active span{background:rgba(255,255,255,.18)}.catalogue-products{display:contents}.catalogue-loading{grid-column:1/-1;min-height:220px;display:grid;place-content:center;gap:8px;text-align:center;color:var(--ink-soft);border:1px dashed rgba(12,46,38,.2);border-radius:16px}.catalogue-loading strong{color:var(--ink)}.catalog-product-media{position:relative;overflow:hidden;background:#e9e6db}.catalog-product-media .card-media{transition:transform .28s var(--ease)}.live-product:hover .card-media{transform:scale(1.018)}.product-quantity{position:absolute;top:12px;right:12px;padding:7px 9px;border-radius:999px;background:rgba(8,40,32,.9);color:#fff;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px)}.product-model{font-weight:750;color:#294a42!important}.live-product .spec-list{margin-top:16px}.live-product .spec-list li{padding:7px 0;border-bottom:1px solid rgba(12,46,38,.09);line-height:1.35}.live-product .spec-list li:last-child{border-bottom:0}.product-details{margin:14px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-details summary{padding:12px 0;color:var(--green);font-size:.82rem;font-weight:850;cursor:pointer}.product-details>p{margin:0 0 14px;color:var(--ink-soft);font-size:.84rem;line-height:1.55}.catalog-documents{display:grid;gap:7px;padding-bottom:14px}.catalog-documents>strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.catalog-documents a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:#edf2e8;color:#174f3e;font-size:.78rem;font-weight:750}.catalog-image-missing{width:100%;aspect-ratio:16/10;display:grid;place-content:center;justify-items:center;gap:8px;color:#587067;background:linear-gradient(145deg,#eef0e7,#e0e8dc)}.catalog-image-missing span{display:grid;place-items:center;width:46px;height:46px;border:2px solid currentColor;border-radius:50%;font-size:1.4rem;font-weight:900}.catalog-image-missing small{text-transform:uppercase;letter-spacing:.08em;font-weight:800}.stock-pill.preparing{background:#f4d9a6;color:#65430a}
@media(max-width:600px){.catalogue-filters{display:grid;grid-template-columns:1fr 1fr}.catalogue-filters button{justify-content:center;padding:0 10px}.product-quantity{top:9px;right:9px}.live-product .card-body{padding:18px}}

/* Compact, image-safe live catalogue */
@media(min-width:1321px){.catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.catalogue-grid{gap:14px}
.catalog-card{border-radius:14px;box-shadow:0 8px 24px rgba(14,43,34,.065)}
.catalog-card:hover{transform:translateY(-2px);box-shadow:0 14px 31px rgba(14,43,34,.105)}
.live-product .card-body{padding:18px}
.live-product .card-body h3{margin-top:9px;font-size:clamp(1.22rem,1.45vw,1.65rem)}
.live-product .card-body>p{font-size:.9rem}
.live-product .spec-list{margin-top:12px}
.live-product .spec-list li{padding:6px 0;font-size:.8rem}
.live-product .small-note{margin-top:11px!important;padding-top:9px;font-size:.75rem}
.catalog-product-media{display:grid;place-items:center;aspect-ratio:16/10;background:#fff}
.catalog-product-media .card-media{position:absolute;inset:0;display:block;width:100%;height:100%;box-sizing:border-box;aspect-ratio:auto;object-fit:contain;object-position:50% 50%;padding:clamp(14px,1.55vw,24px);background:#fff;transition:transform .3s var(--ease)}
.product-card-action .buy-button{min-width:118px;justify-content:center}
.service-catalogue{grid-column:1/-1;margin-top:24px;padding:clamp(24px,3.4vw,44px);border:1px solid rgba(12,46,38,.16);border-radius:20px;background:linear-gradient(145deg,rgba(218,232,216,.94),rgba(235,238,222,.96));box-shadow:0 18px 46px rgba(14,43,34,.1)}
.service-catalogue-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid rgba(12,46,38,.16)}
.service-catalogue-heading h2{max-width:720px;margin:.12em 0 0;font-size:clamp(2.1rem,4vw,3.8rem);line-height:.98}
.service-catalogue-heading>p{margin:0;color:#3e5b53;font-size:1rem;line-height:1.65}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.service-grid .catalog-card{border-width:1px;background:rgba(250,252,246,.9);box-shadow:0 14px 30px rgba(10,48,38,.08)}
.service-grid .service-group{min-width:0;border-radius:15px;overflow:hidden}
.service-grid .service-group-upgrades{border-color:#7aa38c;background:#f1f7ef}
.service-grid .service-group-drives{border-color:#9aaf74;background:#f5f7ec}
.service-grid .service-group-tuition{border-color:#729a93;background:#edf6f3}
.service-grid .service-group-making{border-color:#78966e;background:#f0f6ec}
.service-grid .service-group .card-media{height:clamp(190px,20vw,250px);object-fit:cover}
.service-grid .service-group-upgrades .card-media{object-position:center 55%}
.service-grid .service-group-making .card-media{object-position:center 48%}
.service-options{display:grid;gap:0;margin:16px 0 0;padding:0;list-style:none;border-top:1px solid rgba(12,46,38,.13)}
.service-options li{display:grid;gap:2px;padding:11px 0;border-bottom:1px solid rgba(12,46,38,.13)}
.service-options strong{color:var(--green-deep);font-size:.91rem}
.service-options span{color:#506a62;font-size:.79rem;line-height:1.4}
.live-product .catalog-product-media{min-height:250px;padding:0;border:0;border-radius:0}
.live-product .catalog-product-media .card-media{width:100%;height:100%;max-width:100%;max-height:100%;padding:0;object-fit:contain;object-position:50% 50%}
@media(max-width:800px){.service-catalogue-heading{grid-template-columns:1fr}}
@media(max-width:680px){.service-catalogue{padding:18px;border-radius:16px}.service-grid{grid-template-columns:1fr}.service-grid .service-group .card-media{height:220px}}
.live-product:hover .card-media{transform:scale(1.008)}
.product-quantity{display:none!important}
.product-card-action{display:grid;gap:11px;align-items:stretch;padding-top:16px}
.product-card-action .price{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 12px}
.product-card-action .price strong,.product-card-action .price del{text-align:right}
.product-card-action .price del{color:#7a817f;font-size:.78rem}
.product-card-action .price em{grid-column:1/-1;margin-top:3px}
.product-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.product-buttons .button{width:100%;min-height:40px;padding:9px 10px;font-size:.76rem;line-height:1.2;text-align:center}
.buy-button{border-color:var(--green-deep);background:var(--green-deep);color:#fff;cursor:pointer}
.buy-button:hover{background:#062d24}
.purchase-dialog{width:min(920px,calc(100% - 28px))}
.purchase-dialog .dialog-top{padding:13px 28px 10px}
.purchase-dialog .dialog-top h2{font-size:clamp(1.75rem,3vw,2.45rem)}
.purchase-dialog .request-form{padding:8px 28px 14px}
.purchase-dialog .form-intro{margin:0 0 10px;font-size:.9rem;line-height:1.45}
.purchase-dialog .request-form label{margin-bottom:5px}
.purchase-dialog .request-form input,.purchase-dialog .request-form select{min-height:41px;padding-block:7px}
.purchase-dialog .request-form textarea{min-height:62px;padding-block:7px}
.purchase-dialog .check-row{margin:1px 0 2px;font-size:.92rem;line-height:1.35}
.purchase-dialog .form-footer{margin-top:5px;padding-top:8px}
.purchase-context{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;margin-bottom:10px}
.purchase-summary{display:grid;grid-template-columns:92px 1fr;gap:13px;align-items:center;margin:0;padding:10px;border:1px solid rgba(12,46,38,.14);border-radius:12px;background:#f4f3eb}
.purchase-summary img{width:92px;height:68px;object-fit:contain;background:#fff;border-radius:8px}
.purchase-summary span,.purchase-summary strong,.purchase-summary small,.purchase-summary em{display:block}
.purchase-summary small{color:var(--green);font-size:.7rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.purchase-summary strong{margin-top:3px;font-size:1.18rem}
.purchase-summary em{margin-top:4px;color:var(--ink-soft);font-size:.82rem;font-style:normal}
.purchase-shipping-note{display:grid;gap:3px;align-content:center;margin:0;padding:10px 12px;border-left:4px solid var(--green);background:#e7efe4;color:#29483f;font-size:.8rem;line-height:1.4}
.purchase-shipping-note strong{color:#123d31}
.purchase-status{min-height:1.4em;margin:0;color:#a33931;font-weight:750}
.purchase-confirmation{display:grid;justify-items:center;gap:10px;padding:clamp(28px,6vw,68px);text-align:center}
.purchase-confirmation-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#dcebd8;color:var(--green-deep);font-size:1.7rem;font-weight:900}
.purchase-confirmation h3{max-width:620px;margin:0;font-size:clamp(1.75rem,3.8vw,3rem);line-height:1.05}
.purchase-confirmation>p:not(.eyebrow){max-width:620px;margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.65}
.purchase-confirmation-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}
.button-ghost{border-color:rgba(12,46,38,.24);background:transparent;color:var(--green-deep)}

/* Keep catalogue bullets in a dedicated gutter at every text size. */
.spec-list li,.topic-list li{padding-left:19px}
.spec-list li::before,.topic-list li::before{top:50%;transform:translateY(-50%)}
.live-product .spec-list li{min-height:32px;padding:6px 0 6px 19px;line-height:1.35}
.live-product .spec-list li::before{left:1px}
.solar-service-media svg{display:block;width:100%;height:100%}
@media(max-width:720px){.purchase-context{grid-template-columns:1fr}.purchase-summary{grid-template-columns:84px 1fr}.purchase-summary img{width:84px;height:70px}}
@media(max-width:600px){.product-buttons{grid-template-columns:1fr}}

/* Refined catalogue density and calm, stationary hover behaviour. */
.shop-hero{padding:30px 0 20px;text-align:center}
.shop-hero-copy{max-width:760px;margin-inline:auto}
.shop-hero-copy h1{max-width:760px;margin:.12em auto .16em;font-size:clamp(2.65rem,4.7vw,4.75rem)}
.shop-hero-copy>p:not(.eyebrow){max-width:680px;margin-inline:auto}
.catalogue-heading{margin-bottom:20px}
.catalogue-heading h2{font-size:clamp(1.7rem,2.6vw,2.45rem)}
.catalog-card{transition:box-shadow .55s ease,border-color .55s ease}
.catalog-card:hover{transform:none;border-color:rgba(31,122,72,.42);box-shadow:0 17px 38px rgba(14,43,34,.14),0 0 0 3px rgba(59,144,91,.07)}
.catalog-product-media .card-media,.service-grid .service-group .card-media{transition:transform .55s var(--ease),filter .55s ease}
.live-product:hover .card-media{transform:scale(1.018)}
.service-catalogue{padding:clamp(22px,2.6vw,34px);border-width:2px}
.service-catalogue-heading{margin-bottom:20px;padding-bottom:18px}
.service-catalogue-heading h2{font-size:clamp(1.95rem,3.2vw,3.15rem)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-grid .catalog-card,.service-grid .service-group-upgrades,.service-grid .service-group-drives,.service-grid .service-group-tuition,.service-grid .service-group-making{border:2px solid rgba(67,117,85,.42);background:rgba(244,248,239,.96);box-shadow:0 11px 26px rgba(10,48,38,.075)}
.service-grid .service-group .card-media{height:clamp(170px,15vw,215px)}
.service-grid .catalog-card:hover{transform:none;border-color:rgba(47,120,57,.68);box-shadow:0 17px 38px rgba(14,60,42,.15),0 0 0 4px rgba(66,147,87,.075)}
.service-grid .catalog-card:hover .card-media{transform:scale(1.025);filter:saturate(1.035) contrast(1.015)}
@media(min-width:1321px){.catalogue-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1320px) and (min-width:981px){.catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:801px){.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.shop-hero{padding:26px 0 16px}.service-grid{grid-template-columns:1fr}}
