/* Versioned Safari-safe catalog reset.  Keep this URL versioned whenever the
   card geometry changes so a browser can never revive an older emergency fix. */
.product-grid,.home-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; }
.product-card:not(.product-card--brand) { display:block !important; min-width:0 !important; min-height:0 !important; overflow:hidden; border:1px solid #e5dbe2; border-radius:18px; background:#fff; }
.product-card:not(.product-card--brand) .product-card-link { display:flex !important; width:100% !important; min-width:0 !important; min-height:0 !important; flex-direction:column !important; }
.product-card:not(.product-card--brand) .product-shot { display:grid !important; width:100% !important; min-width:0 !important; min-height:0 !important; height:240px !important; padding:12px !important; place-items:center !important; overflow:hidden; border:0 !important; border-bottom:1px solid #eee5e9 !important; border-radius:0 !important; background:#fff !important; }
.product-card:not(.product-card--brand) .product-image { display:grid !important; width:100% !important; height:100% !important; place-items:center !important; }
.product-card:not(.product-card--brand) .product-image>img { display:block !important; width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; object-fit:contain !important; object-position:center center !important; }
.product-card:not(.product-card--brand) .product-image.is-placeholder { gap:0; background:#fcfafb !important; }
.product-card:not(.product-card--brand) .product-image.is-placeholder::after { display:none !important; }
.product-card:not(.product-card--brand) .product-card-copy { display:block !important; min-width:0 !important; padding:18px !important; }
.product-card:not(.product-card--brand) .product-card-main { min-height:0 !important; }
.product-card:not(.product-card--brand) .product-brand-label>span,.product-card:not(.product-card--brand) h3 { overflow:visible !important; text-overflow:clip !important; white-space:normal !important; }
.product-card:not(.product-card--brand) h3 { display:-webkit-box !important; margin:5px 0 8px !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.15; }
.product-card:not(.product-card--brand) .review-rating--compact { margin:0 0 12px !important; }
.product-card:not(.product-card--brand) .evidence-metrics--compact { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; width:100% !important; margin-top:0 !important; }
.product-card:not(.product-card--brand) .evidence-metrics--compact .metric { display:grid !important; min-width:0 !important; min-height:48px; padding:9px 5px 0 0 !important; grid-template-columns:15px minmax(0,1fr) !important; column-gap:5px !important; }
.product-card:not(.product-card--brand) .evidence-metrics--compact .metric em { overflow:visible !important; font-size:11px !important; text-overflow:clip !important; white-space:normal !important; }

.brand-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; }
.brand-directory-card { display:grid !important; min-width:0 !important; min-height:164px !important; padding:18px 20px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:72px auto !important; gap:12px 16px !important; text-align:left !important; align-items:center !important; }
.brand-directory-logo { display:grid; width:100%; height:72px; min-width:0; place-items:center start; overflow:visible; }
.brand-directory-card .brand-mark { display:grid; width:min(100%,210px) !important; max-width:100% !important; height:64px !important; place-items:center start; overflow:visible !important; }
.brand-directory-card .brand-mark img { display:block !important; width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; padding:0 8px !important; box-sizing:border-box; object-fit:contain !important; object-position:center center !important; transform:none !important; }
.brand-directory-card .brand-mark-fallback { display:grid; width:100%; min-height:56px; place-items:center start; overflow-wrap:anywhere; font-size:18px !important; line-height:1.1; }
.brand-directory-copy { min-width:0; }
.brand-directory-card>.brand-directory-copy { grid-column:1 / -1; grid-row:2; align-self:end !important; }
.brand-directory-card h3 { overflow-wrap:anywhere; margin:0 0 6px !important; font-size:clamp(20px,1.65vw,25px) !important; line-height:1.08 !important; }
.brand-directory-card p { display:block; margin:0; color:#756a76; font-size:13px; line-height:1.45; }
.brand-directory-action { grid-column:2; grid-row:1; justify-self:end; align-self:center; margin:0 !important; color:#795c73 !important; font-size:13px !important; font-weight:850; white-space:nowrap; }

.admin-table { table-layout:fixed; }
.admin-table--brands { min-width:1040px; }
.admin-table--brands th:first-child,.admin-table--brands td:first-child { width:280px; }
.admin-table--products th:first-child,.admin-table--products td:first-child { width:340px !important; }
.admin-table td { overflow-wrap:anywhere; }
.admin-table td:first-child:has(.admin-asset-preview) { min-width:0; }
.admin-asset-preview { display:grid !important; width:124px !important; height:92px !important; flex:0 0 124px !important; padding:10px !important; place-items:center; overflow:hidden; background:#fff !important; }
.admin-asset-preview img { display:block !important; width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; object-fit:contain !important; object-position:center center !important; }
.admin-brand-records { display:grid; min-width:1040px; grid-template-columns:1fr; gap:0; padding:0; background:#fff; }
.admin-brand-record { display:grid; min-width:0; min-height:92px; padding:12px 16px; grid-template-columns:180px minmax(0,1fr) auto; gap:16px; align-items:center; border:0; border-bottom:1px solid #e7dfe4; border-radius:0; background:#fff; }
.admin-brand-record:last-child { border-bottom:0; }
.admin-brand-record .admin-asset-preview { width:164px !important; height:64px !important; padding:0 !important; overflow:visible; border:0 !important; border-radius:0 !important; background:transparent !important; }
.admin-brand-record .admin-asset-preview img { object-position:left center !important; }
.admin-brand-record-copy { display:grid; min-width:0; grid-template-columns:170px 220px minmax(0,1fr); gap:16px; align-items:center; }
.admin-brand-record h3 { margin:0; overflow-wrap:anywhere; color:var(--ink); font-size:16px; line-height:1.2; }
.admin-brand-record .admin-brand-status { display:block; min-width:0; }
.admin-brand-record-links { display:grid; min-width:0; gap:4px; margin:0; }
.admin-brand-record .admin-raw-url,.admin-brand-record code { max-width:100%; overflow-wrap:anywhere; font-size:11px; line-height:1.35; }
.admin-brand-record .admin-edit { justify-self:end; align-self:center; }
@media (max-width:1100px) { .product-grid,.home-product-grid,.brand-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:700px) { .product-grid,.home-product-grid,.brand-directory-grid { grid-template-columns:1fr !important; } .product-card:not(.product-card--brand) .product-shot { height:230px !important; padding:10px !important; } .product-card:not(.product-card--brand) .product-card-copy { padding:16px !important; } .brand-directory-card { min-height:154px !important; padding:16px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:68px auto !important; gap:10px 14px !important; } .brand-directory-logo { height:68px; } .brand-directory-card .brand-mark { width:min(100%,205px) !important; height:60px !important; } .admin-table-wrap { border-radius:12px; } .admin-asset-preview { width:106px !important; height:80px !important; flex-basis:106px !important; } }
