@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700&family=Montserrat:wght@400;500;600&family=Open+Sans:wght@400;600;700&display=swap');

.cosco-catalog{--cosco-red:#e62410;--cosco-red-dark:#c81e0e;--cosco-ink:#121212;--cosco-muted:#696969;--cosco-line:#e5e5e5;color:var(--cosco-ink);background:#fff;font-family:'Open Sans',sans-serif;line-height:1.45;max-width:1380px;margin:0 auto;padding:26px 22px 64px;box-sizing:border-box}
.cosco-catalog *{box-sizing:border-box}
.cosco-hero{padding:12px 0 20px;margin-bottom:18px;border-bottom:1px solid var(--cosco-line)}
.cosco-eyebrow{color:var(--cosco-red);font:600 13px/1.2 'League Spartan',sans-serif;letter-spacing:.075em;text-transform:uppercase;margin:0 0 7px}
.cosco-hero h1,.cosco-detail h1{color:#000;font:700 clamp(30px,3.3vw,46px)/1.02 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:0;margin:0 0 10px}
.cosco-hero h1:after{content:'';display:block;width:108px;height:4px;background:var(--cosco-red);margin-top:11px}
.cosco-hero p:last-child{font:500 15px/1.45 Montserrat,sans-serif;color:var(--cosco-ink);margin:0}
.cosco-filters{display:grid;grid-template-columns:minmax(210px,1.8fr) repeat(3,minmax(140px,1fr));gap:12px 14px;align-items:end;padding:17px;border:1px solid var(--cosco-line);border-radius:10px;background:#fff}
.cosco-filters label{display:grid;gap:6px;color:#111;font:600 14px/1.2 'League Spartan',sans-serif}
.cosco-filters input,.cosco-filters select{height:39px;width:100%;min-width:0;border:1px solid #d5d5d5;border-radius:5px;background:#fff;color:#222;padding:0 10px;font:400 13px/1.2 'Open Sans',sans-serif}
.cosco-filters input:focus,.cosco-filters select:focus,.cosco-catalog a:focus-visible,.cosco-catalog button:focus-visible{outline:2px solid var(--cosco-red);outline-offset:2px}
.cosco-filters select:disabled{background:#f7f7f7;color:#888}
.cosco-actions{grid-column:1/-1;display:flex;align-items:center;gap:15px}
.cosco-actions button,.cosco-button,.cosco-inquiry button{border:1px solid var(--cosco-red-dark);border-radius:100px;padding:10px 18px 7px;background:var(--cosco-red);color:#fff;font:600 13px/1.2 'League Spartan',sans-serif;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.cosco-actions a,.cosco-back,.cosco-empty a{color:var(--cosco-red-dark);font:600 14px/1.2 'League Spartan',sans-serif;text-decoration:underline}
.cosco-count{font:600 13px/1.3 'Open Sans',sans-serif;color:var(--cosco-muted);margin:20px 0 12px}
.cosco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cosco-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--cosco-line);border-radius:10px;overflow:hidden}
.cosco-card-image{height:130px;width:100%;background:#f9f9f9;border-bottom:1px solid var(--cosco-line)}
.cosco-card-thumbnail{display:block;width:100%;height:100%}.cosco-card-title-link{color:inherit;font:inherit;text-decoration:none}.cosco-card-title-link:hover{color:inherit;text-decoration:underline}
.cosco-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.cosco-card-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:13px 14px 14px}
.cosco-card h2{color:#000;font:600 18px/1.12 'League Spartan',sans-serif;margin:0 0 6px;overflow-wrap:anywhere}
.cosco-sku{color:var(--cosco-muted);font:600 11px/1.35 'Open Sans',sans-serif;letter-spacing:.01em;margin:0 0 9px}
.cosco-presentation-count{color:var(--cosco-muted);font:400 11px/1.35 'Open Sans',sans-serif;margin:-5px 0 9px}
.cosco-facts{display:grid;gap:4px;margin:0 0 12px}
.cosco-facts>div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:3px;font:400 11px/1.35 'Open Sans',sans-serif;min-width:0}
.cosco-catalog .cosco-facts dt,.cosco-catalog .cosco-facts dd{display:block;float:none;clear:none;width:auto;max-width:100%;min-width:0;margin:0;white-space:normal;word-break:normal;overflow-wrap:anywhere}.cosco-facts dt{flex:0 1 auto;color:#666;font-weight:700}.cosco-facts dd{flex:1 1 12ch}
.cosco-facts a{color:var(--cosco-red-dark);text-decoration:underline;text-underline-offset:2px}.cosco-facts a:hover{color:#9e180b}
.cosco-term-separator{color:#777}
.cosco-card-link{align-self:flex-start;color:var(--cosco-red-dark);font:600 12px/1.2 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:.035em;text-decoration:none;margin-top:auto}.cosco-card-link:hover{text-decoration:underline}
.cosco-empty{border:1px solid var(--cosco-line);border-radius:10px;padding:28px;margin:20px 0}.cosco-empty h2{font:700 24px/1.1 'League Spartan',sans-serif;text-transform:uppercase;margin:0 0 7px}.cosco-empty p{font:400 14px/1.4 Montserrat,sans-serif}
.cosco-pagination ul{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:25px 0}.cosco-pagination a,.cosco-pagination span{display:inline-block;border:1px solid var(--cosco-line);border-radius:5px;padding:7px 11px;color:var(--cosco-red-dark);text-decoration:none}.cosco-pagination .current{background:var(--cosco-red);border-color:var(--cosco-red);color:#fff}
.cosco-detail{max-width:1120px;margin:0 auto}.cosco-back{display:inline-block;margin-bottom:20px}.cosco-detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:35px;align-items:start}.cosco-detail-image{height:390px;max-width:100%;border:1px solid var(--cosco-line);border-radius:10px;background:#f9f9f9;overflow:hidden}.cosco-sku-header .cosco-sku{font-size:13px}.cosco-detail-taxonomies{border-top:1px solid var(--cosco-line);border-bottom:1px solid var(--cosco-line);padding:17px 0;margin:20px 0}.cosco-detail-taxonomies>div{font-size:14px;column-gap:12px;row-gap:4px}
.cosco-inquiry{padding:17px;border:1px solid var(--cosco-line);border-radius:10px}.cosco-inquiry button:disabled{background:#e5e5e5;border-color:#d4d4d4;color:#686868;cursor:not-allowed}.cosco-inquiry p{font:400 12px/1.45 'Open Sans',sans-serif;color:#666;margin:9px 0 0}.cosco-taxonomy-page{max-width:100%;margin:0 auto}
@media(min-width:1180px){.cosco-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cosco-breadcrumb{margin:0 0 12px;color:var(--cosco-muted);font:500 13px/1.4 'League Spartan',sans-serif;text-transform:none}.cosco-breadcrumb ol{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:0;padding:0}.cosco-breadcrumb li{display:inline;margin:0;text-transform:none}.cosco-breadcrumb li+li:before{content:'›';margin-right:5px;color:#777}.cosco-breadcrumb a{color:var(--cosco-red-dark);text-decoration:underline}.cosco-breadcrumb [aria-current]{color:#555}
.cosco-sku-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.cosco-sku-header .cosco-sku{margin:0}.cosco-sku-value{user-select:all}.cosco-copy-sku{margin:0;border:1px solid var(--cosco-line);border-radius:5px;padding:6px 9px;background:#fff;color:var(--cosco-red-dark);font:600 12px/1.2 'Open Sans',sans-serif;text-transform:none;letter-spacing:0;cursor:pointer}.cosco-copy-status{flex-basis:100%;font:400 12px/1.4 'Open Sans',sans-serif;color:#555;text-transform:none}.cosco-copy-status:empty{display:none}
.cosco-detail-taxonomies{border:0!important;padding:0!important;margin:0 0 14px!important}.cosco-detail-taxonomies dt,.cosco-detail-taxonomies dd,.cosco-detail-taxonomies a{text-transform:none;font-weight:400}.cosco-detail-taxonomies dt{font-weight:600}
.cosco-detail-divider{height:0;margin:18px 0;border:0;border-top:1px solid var(--cosco-line)}.cosco-description{margin-bottom:20px}.cosco-description h2,.cosco-related>h2{color:var(--cosco-ink);font:600 23px/1.2 'League Spartan',sans-serif;text-transform:none;margin:0 0 10px}.cosco-description p,.cosco-description li{font:400 14px/1.6 'Open Sans',sans-serif;text-transform:none}.cosco-description p:last-child{margin-bottom:0}
.cosco-detail-info{display:grid;gap:18px;margin:0 0 24px}.cosco-info-field{min-width:0;margin:0}.cosco-detail-info dt,.cosco-detail-info dd{display:block;font:400 14px/1.5 'Open Sans',sans-serif;text-transform:none;letter-spacing:0;margin:0;overflow-wrap:anywhere}.cosco-detail-info dt{color:#666;font-weight:600;margin-bottom:3px}.cosco-detail-info dd{color:var(--cosco-ink)}.cosco-info-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cosco-order .cosco-button{display:inline-block;margin:0;text-align:center;text-transform:none;letter-spacing:0;font-size:15px}.cosco-related{margin-top:38px;padding-top:24px;border-top:1px solid var(--cosco-line)}
.cosco-presentations{margin:0 0 22px}.cosco-presentations h2{color:var(--cosco-ink);font:600 23px/1.2 'League Spartan',sans-serif;text-transform:none;margin:0 0 10px}.cosco-presentation-list{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--cosco-line)}.cosco-presentation-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--cosco-line);font:400 14px/1.4 'Open Sans',sans-serif}.cosco-presentation-list code{color:#555;font:600 13px/1.4 'Open Sans',sans-serif;white-space:nowrap}.cosco-presentation-select{display:grid;gap:6px;color:#222;font:600 14px/1.3 'Open Sans',sans-serif}.cosco-presentation-select select{width:100%;height:42px;border:1px solid #ccc;border-radius:5px;background:#fff;padding:0 10px;font:400 14px/1.3 'Open Sans',sans-serif}
@media(max-width:440px){.cosco-info-columns{grid-template-columns:1fr;gap:18px}.cosco-breadcrumb{font-size:12px}.cosco-order .cosco-button{width:100%}}
@media(max-width:440px){.cosco-presentation-list li{display:grid;gap:2px}.cosco-presentation-list code{white-space:normal}}
@media(max-width:850px){.cosco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cosco-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cosco-search-field{grid-column:1/-1}.cosco-detail-grid{gap:24px}}
@media(max-width:620px){.cosco-catalog{padding:15px 12px 40px}.cosco-hero{padding:4px 0 13px;margin-bottom:12px}.cosco-hero h1{font-size:30px}.cosco-hero p:last-child{font-size:12px}.cosco-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px}.cosco-filters label{font-size:11px}.cosco-filters input,.cosco-filters select{height:34px;font-size:10px}.cosco-actions{gap:10px}.cosco-actions button{padding:9px 13px 6px;font-size:11px}.cosco-actions a{font-size:12px}.cosco-count{margin:13px 0 9px}.cosco-grid{grid-template-columns:1fr;gap:9px}.cosco-card{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:118px}.cosco-card-image{width:92px;height:100%;min-height:118px;border-bottom:0;border-right:1px solid var(--cosco-line)}.cosco-card-body{padding:9px 11px;min-width:0}.cosco-card h2{font-size:15px;line-height:1.12;margin-bottom:3px}.cosco-sku{font-size:10px;margin-bottom:5px}.cosco-facts{margin-bottom:5px;gap:2px}.cosco-facts>div{flex-direction:column;align-items:stretch;font-size:10px;gap:2px}.cosco-facts dt,.cosco-facts dd{flex:none}.cosco-card-link{font-size:10px}.cosco-detail-grid{grid-template-columns:1fr;gap:19px}.cosco-detail-image{height:260px}.cosco-detail h1{font-size:28px}.cosco-detail-taxonomies>div{font-size:13px}}

/* Exploration landing only; approved product cards/details remain unchanged. */
.cosco-landing-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin:25px 0 34px}
.cosco-landing-search label{display:grid;gap:8px;font:600 18px/1.3 'League Spartan',sans-serif;color:var(--cosco-ink)}
.cosco-landing-search input{display:block;width:100%;min-width:0;height:52px;margin:0;border:1px solid #cfcfcf;border-radius:6px;padding:0 15px;background:#fff;color:#222;font:400 16px/1.3 'Open Sans',sans-serif}
.cosco-landing-search input:focus{outline:2px solid var(--cosco-red);outline-offset:2px}
.cosco-landing-search .cosco-button{margin:0;min-height:52px;padding:14px 26px;font-size:15px}
.cosco-lines{margin:0 0 28px}.cosco-lines h2{font:600 29px/1.2 'League Spartan',sans-serif;color:var(--cosco-ink);text-transform:none;margin:0 0 17px}
.cosco-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cosco-line-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:82px;padding:17px 18px;border:1px solid var(--cosco-line);border-radius:9px;background:#fff;color:var(--cosco-ink);font:600 20px/1.18 'League Spartan',sans-serif;text-decoration:none;text-transform:none;overflow-wrap:anywhere}
.cosco-line-card span{text-transform:none}.cosco-line-card [aria-hidden]{color:var(--cosco-red);flex-shrink:0}.cosco-line-card:hover{border-color:var(--cosco-red);background:#fff7f5;color:var(--cosco-red-dark)}
.cosco-all-products{display:inline-block;margin:5px 0 0;text-align:center;text-transform:none;letter-spacing:0;font-size:16px}
@media(max-width:1000px){.cosco-line-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.cosco-line-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cosco-line-card{min-height:88px;padding:14px 12px;font-size:17px;gap:8px}.cosco-lines h2{font-size:25px}.cosco-landing-search{gap:10px;margin:20px 0 28px}.cosco-landing-search label{font-size:16px}.cosco-landing-search input{font-size:14px}.cosco-landing-search .cosco-button{padding:12px 17px}}
@media(max-width:420px){.cosco-landing-search{grid-template-columns:1fr}.cosco-landing-search .cosco-button{justify-self:start;min-height:42px}.cosco-all-products{max-width:100%}}
