/* Shared content rows align naturally without clipping enlarged or spaced text. */
.product-grid .product-content{display:grid;grid-template-rows:auto auto auto auto auto auto auto auto;align-content:start;gap:12px;padding:18px;min-width:0}
.product-grid .product-content>*{min-width:0;margin-block:0}
.product-grid .product-category{font-size:calc(.8125rem * var(--text-scale,1));line-height:1.5;min-block-size:3em;color:#94380c;overflow-wrap:anywhere}
.product-grid .product-title{font-size:calc(1.125rem * var(--text-scale,1));line-height:1.5;min-block-size:4.5em;font-weight:700;overflow-wrap:anywhere}
.product-grid .product-description{font-size:calc(.9375rem * var(--text-scale,1));line-height:1.65;min-block-size:6.6em;color:var(--muted);overflow-wrap:anywhere}
.product-grid .card-badges{display:flex;align-content:start;align-items:start;flex-wrap:wrap;gap:8px;min-block-size:2.6em}
.product-grid .shipping-badge,.product-grid .coupon-summary{font-size:calc(.8125rem * var(--text-scale,1));line-height:1.5;padding:6px 9px;margin:0;border-radius:7px}
.product-grid .card-price{min-block-size:4.4em}
.product-grid .product-price{display:grid;gap:3px;line-height:1.5;margin:0;color:var(--ink)}
.product-grid .product-price strong{font-size:calc(1.375rem * var(--text-scale,1));font-weight:800;font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
.product-grid .product-price small{font-size:calc(.8125rem * var(--text-scale,1));line-height:1.6;font-weight:400;color:var(--muted)}
.product-grid .card-rating{min-block-size:2.5em;display:flex;flex-direction:column;gap:4px;justify-content:start}
.product-grid .rating-line,.product-grid .published-date{font-size:calc(.8125rem * var(--text-scale,1));line-height:1.5;margin:0;color:var(--muted)}
.product-grid .product-link{margin:0;min-height:48px;font-size:calc(.9375rem * var(--text-scale,1));line-height:1.5;padding:10px 12px;text-align:center;align-self:stretch}
.product-grid .card-share-slot{min-block-size:44px;display:grid}
.product-grid .card-share{font-size:calc(.875rem * var(--text-scale,1));line-height:1.5;margin:0}
.clear-search{min-width:44px;min-height:44px}
select:focus-visible,textarea:focus-visible{outline:3px solid #2670bd;outline-offset:3px}
.skip-link{z-index:150}
@supports(grid-template-rows:subgrid){
 .product-grid{row-gap:18px;grid-auto-flow:row}
 .product-grid .product-card{display:grid;grid-template-rows:subgrid;grid-row:span 9;row-gap:12px}
 .product-grid .product-content{grid-row:span 8;grid-template-rows:subgrid;row-gap:12px;padding-block:0 18px}
}
@media(max-width:600px){
 .product-grid{column-gap:12px}
 .product-grid .product-content{padding-inline:12px;gap:10px}
 .product-grid .product-title{font-size:calc(1rem * var(--text-scale,1));line-height:1.5}
 .product-grid .product-description{font-size:calc(.875rem * var(--text-scale,1));line-height:1.65}
 .product-grid .product-category{font-size:calc(.75rem * var(--text-scale,1));line-height:1.5}
 .product-grid .product-price strong{font-size:calc(1.25rem * var(--text-scale,1))}
 .product-grid .product-link{font-size:calc(.875rem * var(--text-scale,1));padding-inline:8px}
 .utility-tools{left:4px;gap:8px}
 .utility-tools button{width:48px;min-height:48px;padding:5px 2px}
 .utility-tools svg{width:22px;height:22px}
 .utility-tools .float-label{font-size:10px}
}
@media(max-width:359px){.product-grid{grid-template-columns:minmax(0,1fr)}}
html[data-text-enlarged] .product-grid{grid-template-columns:minmax(0,1fr)}
html[data-text-enlarged] .product-grid .product-title,html[data-text-enlarged] .product-grid .product-description,html[data-text-enlarged] .product-grid .product-category{min-block-size:0}
@media(prefers-reduced-motion:reduce){.product-card{transition:none}}
.brand-intro{max-width:1248px;margin:auto;padding:32px 24px 24px;background:linear-gradient(135deg,#fff8ef,#fff);border-bottom:1px solid var(--line)}
.intro-kicker{font-size:.875rem;font-weight:700;color:#94380c}
.brand-intro h1{font-size:calc(clamp(1.75rem,3vw,2.5rem) * var(--text-scale,1));line-height:1.3;margin:8px 0 12px;letter-spacing:-.02em}
.brand-intro p{max-width:760px;margin:0;color:var(--muted);line-height:1.8}
.intro-points{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0;margin:18px 0 0;list-style:none;font-size:.875rem;color:var(--muted)}
.intro-points li::before{content:'✓';color:#185a31;margin-inline-end:6px;font-weight:700}
.product-grid .price-check-date{display:block;font-size:calc(.75rem * var(--text-scale,1));line-height:1.6;color:var(--muted)}
.product-grid .card-price{min-block-size:6em}
.metric-compact{display:none}
@media(max-width:600px){.brand-intro{padding:24px 16px 20px}.intro-points{display:grid;gap:6px}.brand-intro p{font-size:calc(.9375rem * var(--text-scale,1))}}

/* Desktop cards follow their actual content instead of reserving empty rows. */
@media(min-width:601px){
 .product-grid{align-items:start}
 .product-grid .product-card{display:flex;flex-direction:column;grid-row:auto;grid-template-rows:none;gap:0}
 .product-grid .product-content{display:grid;grid-row:auto;grid-template-rows:none;grid-auto-rows:auto;align-content:start;flex:0 0 auto;padding:14px;gap:8px}
 .product-grid .product-category,.product-grid .product-title,.product-grid .product-description,.product-grid .card-badges,.product-grid .card-price,.product-grid .card-rating{min-block-size:0}
 .product-grid .product-category{line-height:1.4}
 .product-grid .product-title{line-height:1.4}
 .product-grid .product-description{line-height:1.5}
 .product-grid .card-badges:empty,.product-grid .card-price:empty,.product-grid .card-share-slot:empty{display:none}
 .product-grid .product-link{margin:0}
}

/* Mobile: large square photography and compact, honest product facts. */
@media(max-width:600px){
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;align-items:start}
 .product-grid .product-card{display:flex;flex-direction:column;grid-row:auto;grid-template-rows:none;gap:0}
 .product-grid .product-media{width:100%;height:auto;min-height:0;aspect-ratio:1/1;overflow:hidden}
 .product-grid .product-media>img{width:100%;height:100%;padding:0;object-fit:contain}
 .product-grid .product-content{display:grid;grid-row:auto;grid-template-rows:none;grid-auto-rows:auto;grid-template-columns:minmax(0,1fr) 44px;align-content:start;flex:none;padding:7px;gap:4px}
 .product-grid .product-content>*{grid-column:1/-1;min-block-size:0;margin:0}
 .product-grid .product-category,.product-grid .product-description,.product-grid .card-badges{display:none}
 .product-grid .product-title{font-size:calc(.875rem * var(--text-scale,1));line-height:1.35;min-block-size:2.7em;max-block-size:2.7em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .product-grid .card-price,.product-grid .card-rating{min-block-size:0}
 .product-grid .product-price{gap:0;line-height:1.3}
 .product-grid .product-price strong{font-size:calc(1.125rem * var(--text-scale,1));line-height:1.3}
 .product-grid .product-price small,.product-grid .price-check-date{display:none}
 .product-grid .card-rating{gap:2px}
 .product-grid .sales-line,.product-grid .rating-line{font-size:calc(.6875rem * var(--text-scale,1));line-height:1.35;margin:0}
 .product-grid .metric-full{display:none}.product-grid .metric-compact{display:inline}
 .product-grid .product-content .product-link{grid-column:1;font-size:0;min-height:44px;padding:6px 3px;line-height:1.35}
 .product-grid .product-link::after{font-size:13px}
 .product-grid .card-share-slot{grid-column:2;min-block-size:44px}
 .product-grid .card-share{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;font-size:14px;line-height:1}
 .product-grid .card-share-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .product-grid .card-share-icon{display:block}
}
html[data-text-enlarged] .product-grid .product-title{display:block;max-block-size:none;overflow:visible;-webkit-line-clamp:unset}

/* Keep content and actions aligned per catalog row, even when facts wrap.
   Empty slots must remain in the grid so supplier updates cannot shift rows. */
@media(min-width:601px){
 .product-grid{align-items:stretch}
 .product-grid .product-content{flex:1;grid-template-rows:auto auto auto auto auto 1fr auto auto}
 .product-grid .product-link{align-self:end}
 .product-grid .card-badges:empty,.product-grid .card-price:empty,.product-grid .card-share-slot:empty{display:block}
 @supports(grid-template-rows:subgrid){
  .product-grid .product-card{display:grid;grid-template-rows:subgrid;grid-row:span 9;row-gap:8px}
  .product-grid .product-content{grid-row:span 8;grid-template-rows:subgrid;row-gap:8px;padding:0 14px 14px}
 }
}
@media(max-width:600px){
 .product-grid{align-items:stretch}
 .product-grid .product-content{flex:1;grid-template-rows:auto auto 1fr auto}
 .product-grid .product-title{grid-row:1}
 .product-grid .card-price{grid-row:2}
 .product-grid .card-rating{grid-row:3}
 .product-grid .product-content .product-link,.product-grid .card-share-slot{grid-row:4;align-self:end}
}
/* Coupon notices reuse the existing badge / price rows and never expose long codes. */
.product-grid .coupon-available{padding:4px 8px;line-height:20px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;height:30px;box-sizing:border-box}
.product-grid .coupon-mobile-notice{display:none}
@media(max-width:600px){
 .product-grid .coupon-mobile-notice{display:block;padding:0;border:0;border-radius:0;background:transparent;color:var(--orange);font-size:calc(.6875rem * var(--text-scale,1));line-height:1.35;height:1.35em;margin:0 0 4px}
 .product-grid .has-active-coupon .product-title{min-block-size:1.35em;max-block-size:1.35em;-webkit-line-clamp:1}
}
html[data-text-enlarged] .product-grid .has-active-coupon .product-title{display:block;max-block-size:none;overflow:visible;-webkit-line-clamp:unset}
