/* One elevated surface contains the image, product information and action. */
:root{--card-shadow:0 4px 10px #255da014,0 16px 28px -12px #1f5ea552;--card-shadow-active:0 5px 12px #ed792224,0 22px 38px -12px #ed792257;--card-shadow-focus:0 5px 12px #255da01f,0 20px 34px -12px #1f5ea561}
.product-grid{align-items:stretch;gap:28px 24px}
.product-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce4ee;border-radius:20px;box-shadow:var(--card-shadow);transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s;position:relative}
.product-card:has(.select-product.selected){border-color:#eeb17e;box-shadow:var(--card-shadow-active)}
.product-card:focus-within{border-color:#abc4df;box-shadow:var(--card-shadow-focus)}
.product-grid .product-card .product-stage{aspect-ratio:1.08;margin:10px 10px 0;border-radius:13px;background:linear-gradient(145deg,#f5f7f9,#fbfcfc);overflow:hidden;flex-shrink:0}
.product-card .product-view{display:block;padding:0;min-width:0;min-height:0}
/* Bound both image dimensions independently of its intrinsic (often portrait) size. */
.product-image-frame{position:absolute;inset:58px 22px 22px;min-width:0;min-height:0;pointer-events:none}
.product-card .product-view img,.product-card:hover .product-view img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;mix-blend-mode:multiply;transform:none}
.product-card .product-brand,.catalog-grid .product-card .product-brand{left:12px;top:14px;max-width:calc(100% - 65px);font-size:8px;line-height:1.5;letter-spacing:.55px;font-weight:750;color:#274d73;background:#e9eef5;border:1px solid #e0e7f0;border-radius:7px;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card .select-product{width:35px;height:35px;right:9px;top:9px;border:1px solid #e0e6e8;background:#fff;box-shadow:0 2px 5px #14233007}
.product-card .select-product svg{width:17px;height:17px}
.product-card .select-product:hover,.product-card .select-product.selected{background:var(--orange);color:var(--night);border-color:var(--orange)}
.product-card .product-info{display:flex;flex-direction:column;flex:1;min-width:0;padding:19px 20px 18px}
.product-card .product-info>.product-category,.catalog-grid .product-card .product-info>.product-category{display:block;font-size:10px;line-height:1.6;font-weight:500;color:#70808c;white-space:normal;overflow-wrap:anywhere;letter-spacing:0}
.product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:13px;font-weight:750;line-height:1.55;letter-spacing:-.15px;margin-top:8px;margin-bottom:0;min-height:4.65em}
.product-card .product-info h3 button{font:inherit;line-height:inherit;display:block;width:100%;overflow-wrap:anywhere;padding:0;text-align:left;color:#1d3549}
.product-card .product-info h3 button:hover{text-decoration:none;color:#a5561c}
.product-card-footer{margin-top:auto;padding-top:14px;border-top:1px solid #edf0f1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.product-card .product-info h3{margin-bottom:19px}
.product-model{min-width:0;flex:1}
.product-model small{display:block;font-size:7px;line-height:1.5;letter-spacing:1px;font-weight:650;color:#89969e}
.product-card .product-model p{font-size:11px;line-height:1.6;letter-spacing:.2px;font-weight:650;color:#3f5666;margin-top:3px;overflow-wrap:anywhere;white-space:normal}
.product-details{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;border-radius:9px;background:#f1f4f5;color:#29475b;padding:10px 12px;font-size:10px;font-weight:700;line-height:1.4;min-height:37px;transition:background .25s,color .25s}
.product-details svg{height:15px;width:15px;transition:transform .25s}
.product-details:hover{background:var(--orange);color:var(--night)}
.product-details:hover svg{transform:translate(2px,-2px)}
@media(hover:hover) and (pointer:fine){.product-card:hover{transform:translateY(-6px);border-color:#edc6a7;box-shadow:var(--card-shadow-active)}.product-card:hover .product-details{background:#fff0e3;color:#99511b}}
@media(max-width:1150px){.product-grid{gap:25px 20px}.product-card .product-info{padding:17px 17px 16px}.product-card-footer{gap:8px}.product-details{padding:9px 10px;font-size:9px}.product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:12px}.product-card .product-brand,.catalog-grid .product-card .product-brand{font-size:7px}}
@media(max-width:900px){.home-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:13px}.product-card .product-brand,.catalog-grid .product-card .product-brand{font-size:8px}.product-details{font-size:10px}}
@media(max-width:700px){.product-grid,.catalog-grid{gap:20px 13px}.product-card{border-radius:16px;box-shadow:var(--card-shadow)}.product-grid .product-card .product-stage{aspect-ratio:1;margin:7px 7px 0;border-radius:10px}.product-card .product-brand,.catalog-grid .product-card .product-brand{font-size:6px;left:6px;top:11px;max-width:calc(100% - 47px);padding:4px 5px;border-radius:5px;letter-spacing:.15px}.product-card .select-product{width:36px;height:36px;right:3px;top:3px;box-shadow:0 2px 4px #14233005}.product-card .select-product svg{width:16px;height:16px}.product-card .product-info{padding:14px 13px 13px}.product-card .product-info>.product-category,.catalog-grid .product-card .product-info>.product-category{font-size:9px;line-height:1.6}.product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:11px;line-height:1.6;min-height:4.8em;letter-spacing:-.1px;margin-top:7px}.product-card-footer{padding-top:11px;gap:5px}.product-model small{font-size:6px;letter-spacing:.5px}.product-card .product-model p{font-size:9px;letter-spacing:0;margin-top:3px}.product-details{min-height:34px;font-size:9px;padding:8px 7px;gap:4px;border-radius:7px}.product-details svg{width:12px;height:12px}}
@media(max-width:360px){.product-grid,.catalog-grid{gap:17px 10px}.product-card .product-info{padding-inline:10px}.product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:10px}.product-details{padding-inline:5px;font-size:8px}.product-card .product-model p{font-size:8px}.product-card .product-info>.product-category,.catalog-grid .product-card .product-info>.product-category{font-size:8px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-card *{transition:none!important}.product-card:hover{transform:none}}

/* Keep usable card widths at every breakpoint, including narrow phones and split windows. */
.product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))}
.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1150px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.product-image-frame{inset:55px 20px 21px}}
@media(max-width:700px){
  .product-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  .product-card .product-view{padding:0}
  .product-image-frame{inset:51px 15px 17px}
  .product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:13px;line-height:1.55;margin-bottom:16px}
  .product-card .product-info>.product-category,.catalog-grid .product-card .product-info>.product-category{font-size:10px}
  .product-card-footer{margin-top:auto;flex-wrap:wrap;gap:10px}
  .product-details{min-height:44px;min-width:72px;font-size:11px}
  .product-card .product-model p{font-size:11px}
  .product-model small{font-size:8px}
  .product-card .select-product{width:44px;height:44px}
  .product-card .product-brand,.catalog-grid .product-card .product-brand{font-size:8px;max-width:calc(100% - 59px);top:12px}
}
@media(max-width:440px){
  .product-grid,.catalog-grid,.home-products .product-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .product-grid .product-card .product-stage{aspect-ratio:1.12;margin:9px 9px 0}
  .product-image-frame{inset:56px 23px 22px}
  .product-card .product-info{padding:18px 19px}
  .product-card .product-info h3,.catalog-grid .product-card .product-info h3{font-size:15px;min-height:0;line-height:1.55}
  .product-card .product-info>.product-category,.catalog-grid .product-card .product-info>.product-category{font-size:11px}
  .product-card .product-brand,.catalog-grid .product-card .product-brand{font-size:9px;left:12px;top:14px;padding:5px 8px}
  .product-card .select-product{right:6px;top:6px}
  .product-card .product-model p{font-size:12px}
  .product-details{font-size:12px;padding-inline:14px}
}

/* Brand cards share the same blue elevation and warm interaction color. */
.brand-card{border:1px solid #dce4ee;box-shadow:var(--card-shadow);transition:background .3s,transform .4s,box-shadow .3s var(--ease),border-color .3s}
.brand-card:focus-visible{border-color:#abc4df;box-shadow:var(--card-shadow-focus)}
@media(hover:hover) and (pointer:fine){.brand-card:hover{background:#fff;border-color:#edc6a7;box-shadow:var(--card-shadow-active)}}
@media(prefers-reduced-motion:reduce){.brand-card:hover{transform:none}}
