.shop-page { background:#fff; }
.shop-page h1 { font-size:clamp(2.1rem,4.2vw,3.5rem); line-height:1.12; letter-spacing:-.045em; }
.shop-page .button { font-size:1rem; }
.shop-page .crumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:23px 0; font-size:.875rem; color:#52657a; }
.shop-page .crumb a { text-decoration:underline; text-underline-offset:4px; }
.shop-page .crumb span:last-child { overflow-wrap:anywhere; }
.shop-intro { background:linear-gradient(115deg,#eef6fc,#f8fbfd); border-bottom:1px solid var(--line); }
.shop-heading { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:18px 0 38px; }
.shop-heading h1 { margin-bottom:15px; }
.shop-heading p:last-child { margin:0; color:var(--muted); }
.intro-note { padding:18px 22px; border-left:3px solid var(--green); background:#ffffffb3; flex-shrink:0; }
.intro-note strong,.intro-note a { display:block; }
.intro-note strong { font-size:.875rem; color:var(--muted); font-weight:600; }
.intro-note a { color:#086aac; font-weight:750; font-size:1rem; }
.catalog-section { padding:36px 0 65px; }
.catalog-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:24px; }
.catalog-heading h2 { font-size:1.25rem; margin:0; }
.catalog-heading h2 span { margin-left:12px; font-size:.875rem; color:var(--muted); font-weight:500; }
.catalog-heading p { font-size:.875rem; color:var(--muted); margin:0; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.product-card { min-width:0; border:1px solid #dbe5ee; border-radius:18px; overflow:hidden; background:white; display:flex; flex-direction:column; transition:box-shadow .2s,border-color .2s; }
.product-card:hover { border-color:#a9cadf; box-shadow:0 12px 32px #19395510; }
.card-photo { position:relative; display:block; background:#f7f9fb; padding:14px; }
.card-photo img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:white; border-radius:8px; }
.voltage-tag { position:absolute; top:13px; left:13px; background:var(--night); color:white; border-radius:7px; font-size:.8125rem; font-weight:700; padding:3px 9px; }
.card-body { padding:21px 20px; flex:1; display:flex; flex-direction:column; }
.product-brand { font-size:.75rem; color:#0868a6; font-weight:800; letter-spacing:.12em; margin-bottom:8px; }
.product-card h2 { font-size:1.04rem; line-height:1.5; margin:0 0 17px; font-weight:700; }
.product-card h2 a:hover { color:var(--blue); }
.card-bottom { display:flex; align-items:baseline; gap:8px; margin-top:auto; margin-bottom:18px; flex-wrap:wrap; }
.price { font-size:1.45rem; letter-spacing:-.035em; }
.per-unit { color:var(--muted); font-size:.75rem; }
.card-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.card-actions .button { min-height:44px; padding:0 17px; font-size:.875rem; border-radius:10px; box-shadow:none; }
.details-link { font-size:.875rem; color:#0967a6; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.shop-help { margin-top:38px; padding:30px; display:flex; justify-content:space-between; align-items:center; gap:30px; border-radius:18px; background:var(--night); color:white; }
.shop-help h2 { font-size:1.4rem; margin-bottom:8px; }
.shop-help p { color:#c1d1df; margin:0; }
.shop-help .button { flex-shrink:0; background:transparent; color:white; }
.product-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; padding:25px 0 60px; align-items:start; }
.product-gallery { min-width:0; }
.main-product-photo { padding:24px; background:#f6f9fb; border:1px solid var(--line); border-radius:20px; }
.main-product-photo img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:white; }
.gallery-thumbs { display:flex; flex-wrap:wrap; gap:10px; margin-top:15px; }
.gallery-thumb { width:76px; padding:4px; border:2px solid #dce4eb; border-radius:10px; background:#fff; cursor:pointer; }
.gallery-thumb[aria-pressed="true"] { border-color:var(--blue); }
.gallery-thumb img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.product-summary { padding-top:12px; }
.product-summary h1 { font-size:clamp(1.85rem,3.2vw,2.8rem); line-height:1.25; margin-bottom:21px; }
.spec-pills { display:flex; flex-wrap:wrap; gap:10px; }
.spec-pills span { border:1px solid #d6e5ee; background:#f1f7fb; color:#204961; padding:6px 12px; border-radius:7px; font-size:.875rem; }
.detail-price { font-weight:800; font-size:2.2rem; margin:24px 0 10px; letter-spacing:-.04em; }
.detail-price span { font-size:.875rem; font-weight:400; letter-spacing:0; margin-left:10px; color:var(--muted); }
.order-note { color:var(--muted); margin-bottom:25px; }
.order-button { min-width:190px; border-radius:12px; }
.product-call { display:block; width:fit-content; font-size:.94rem; color:#086aac; margin-top:18px; text-decoration:underline; text-underline-offset:4px; }
.local-service { padding:22px 0 0; border-top:1px solid var(--line); margin-top:25px; display:grid; gap:5px; }
.local-service span { font-size:.875rem; color:var(--muted); }
.local-service [lang="ml"] { line-height:1.8; }
.product-description { display:grid; grid-template-columns:.7fr 1.3fr; gap:55px; border-top:1px solid var(--line); padding:48px 0; }
.details-heading h2 { font-size:2rem; line-height:1.2; letter-spacing:-.03em; }
.details-heading > p:last-child { color:var(--muted); }
.description-content { min-width:0; overflow-x:auto; color:#42566a; }
.description-content h2,.description-content h3,.description-content h4 { color:var(--ink); font-size:1.25rem; line-height:1.45; margin:28px 0 12px; }
.description-content > :first-child { margin-top:0; }
.description-content ul,.description-content ol { padding-left:23px; }
.description-content li { margin-bottom:7px; }
.description-content table { border-collapse:collapse; width:100%; font-size:.94rem; }
.description-content th,.description-content td { border:1px solid var(--line); padding:10px 14px; text-align:left; }
.description-content hr { border:0; border-top:1px solid var(--line); margin:24px 0; }
.description-content a { color:#086aac; text-decoration:underline; }
.product-end { display:flex; flex-wrap:wrap; gap:14px; padding-bottom:65px; }
.order-wrap { padding-bottom:70px; }
.order-heading { max-width:760px; padding:15px 0 22px; }
.order-heading h1 { font-size:clamp(2rem,4vw,3rem); margin-bottom:16px; }
.order-heading p:not(.section-kicker) { color:var(--muted); }
.order-heading [lang="ml"] { font-size:.94rem; line-height:1.9; }
.order-layout { display:grid; grid-template-columns:1.25fr .75fr; align-items:start; gap:45px; }
.order-layout form { min-width:0; }
.order-layout fieldset { border:0; border-top:1px solid var(--line); padding:22px 0 26px; margin:0; min-width:0; }
.order-layout legend { font-size:1.2rem; font-weight:750; padding:0 15px 0 0; }
.order-layout legend span { font-size:.875rem; color:var(--blue); margin-right:12px; }
.order-layout label { display:block; margin:16px 0 7px; font-size:.94rem; font-weight:650; }
.order-layout label span:not(.consent span) { font-weight:400; color:var(--muted); }
.order-layout input:not([type="checkbox"]):not([type="hidden"]),.order-layout select,.order-layout textarea { display:block; width:100%; min-width:0; font:inherit; font-size:1rem; border:1px solid #b9cbd9; padding:12px 13px; border-radius:9px; background:#fff; color:var(--ink); }
.order-layout input:focus,.order-layout textarea:focus,.order-layout select:focus { border-color:var(--blue); }
.order-layout textarea { resize:vertical; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.quantity-row { grid-template-columns:130px 1fr; align-items:end; }
.inline-estimate { padding-bottom:5px; text-align:right; }
.inline-estimate span,.inline-estimate strong { display:block; }
.inline-estimate span { color:var(--muted); font-size:.875rem; }
.inline-estimate strong { font-size:1.2rem; }
.order-layout .consent { display:flex; align-items:flex-start; gap:12px; font-size:.875rem; font-weight:400; color:#42566a; margin-bottom:22px; }
.consent input { width:19px; height:19px; flex-shrink:0; margin:4px 0 0; accent-color:var(--blue); }
.consent a,.narrow-page a:not(.button) { color:#0767a7; text-decoration:underline; text-underline-offset:3px; }
.submit-order { width:100%; border-radius:12px; }
.form-fine { color:var(--muted); font-size:.875rem; line-height:1.65; margin:18px 0 0; }
.order-layout .honeypot { display:none !important; }
.order-summary { background:#f1f6fa; border:1px solid #d4e3ee; border-radius:20px; padding:30px; position:sticky; top:112px; }
.order-summary h2 { font-size:1.3rem; line-height:1.5; }
.order-summary dl { margin:25px 0; }
.order-summary dl > div { display:flex; justify-content:space-between; gap:18px; margin:12px 0; }
.order-summary dt { color:var(--muted); }
.order-summary dd { margin:0; font-weight:750; text-align:right; }
.order-summary .summary-total { border-top:1px solid #cddde9; padding-top:16px; }
.order-summary .summary-total dt { color:var(--ink); }
.order-summary > p:not(.section-kicker) { color:var(--muted); font-size:.875rem; }
.summary-contact { display:grid; gap:3px; border-top:1px solid #cddde9; padding-top:20px; }
.summary-contact a { color:#086aac; font-size:1.15rem; font-weight:750; }
.summary-contact span { font-size:.875rem; color:var(--muted); }
.narrow-page { max-width:760px; padding-top:38px; padding-bottom:75px; min-height:65vh; }
.narrow-page h1 { font-size:clamp(2rem,5vw,3rem); }
.narrow-page h2 { margin-top:28px; font-size:1.3rem; }
.narrow-page p { color:var(--muted); }
.narrow-page li { margin:15px 0; }
.narrow-page a { overflow-wrap:anywhere; }
.notice-panel { padding:24px; border:1px solid #cee2d7; border-left:4px solid var(--green); background:#f4faf1; border-radius:12px; margin:28px 0; }
.notice-panel p { margin:10px 0; }
.shop-footer { padding:30px 0; }
.shop-footer p { margin:4px 0 0; }
.shop-footer .footer-small { margin-top:23px; color:var(--muted); font-size:.8125rem; }
@media(max-width:1050px) { .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-layout{gap:35px}.product-description{gap:35px}.order-layout{gap:25px}.order-summary{padding:24px} }
@media(max-width:760px) { .shop-heading{align-items:flex-start;flex-direction:column;gap:20px}.intro-note{padding:12px 17px}.catalog-heading{flex-direction:column;gap:8px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-layout,.product-description,.order-layout{grid-template-columns:1fr;gap:30px}.product-summary{padding-top:0}.product-layout{padding-top:8px;padding-bottom:35px}.product-description{padding-top:32px}.details-heading p:last-child{margin-bottom:0}.order-summary{position:static}.order-layout{gap:25px}.shop-help{flex-direction:column;align-items:flex-start}.shop-heading h1{font-size:2.5rem}.card-body{padding:16px}.main-product-photo{padding:18px} }
@media(max-width:480px) { .shop-header .brandmark{width:132px}.product-grid{gap:12px}.product-card{border-radius:13px}.card-photo{padding:6px}.card-body{padding:13px 11px}.product-card h2{font-size:.9375rem}.card-actions{flex-direction:column;align-items:stretch;gap:10px}.card-actions .details-link{text-align:center;padding:4px}.card-actions .button{padding:0 10px}.per-unit{font-size:.75rem}.price{font-size:1.3rem}.card-bottom{gap:4px;margin-bottom:12px}.product-brand{font-size:.75rem;letter-spacing:.06em}.voltage-tag{top:9px;left:9px;font-size:.75rem;padding:2px 7px}.form-grid{grid-template-columns:1fr}.quantity-row{grid-template-columns:105px 1fr;gap:15px}.shop-help{padding:24px}.gallery-thumb{width:62px}.order-heading{padding-top:8px}.order-summary{padding:24px}.shop-footer .footer-links{gap:12px 18px} }

/* Compact order form and catalog card actions. */
.shop-page .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.shop-page .order-layout { margin-top:22px; }
.shop-page .card-actions .button { width:100%; }
@media (max-width:760px) {
  .shop-page .shop-intro { display:none; }
  .shop-page .catalog-section { padding-top:24px; }
}
