/* Catalogue renovation: products.html and product-detail.html.
   The shell renovation never covered these two pages, so their dark-theme text
   survived onto the light ground and rendered white on white. Same tokens,
   radii and spacing as dc-shell.css; the page structure and URLs are unchanged. */

body.products-page[data-renovation]{background:#fcfcfb;color:var(--dc-ink)}

/* --- Product cards shared by product pages ("More in" grid) --------- */
body.products-page[data-renovation] .category-title{font:500 clamp(27px,3.1vw,36px)/1.2 var(--dc-font);letter-spacing:-1px;color:var(--dc-ink);border-bottom:1px solid var(--dc-line);padding-bottom:16px;margin-bottom:26px}

body.products-page[data-renovation] .products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:22px}
body.products-page[data-renovation] .product-card{background:#fff;border:1px solid var(--dc-line);border-radius:20px;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
body.products-page[data-renovation] .product-card:hover{border-color:#ffc9a8;box-shadow:0 12px 32px #152b3a14;transform:translateY(-3px)}
/* The legacy rule pins this to 120px, which crops every casting photo. */
body.products-page[data-renovation] .product-thumbnail{background:#f2f4f5;height:auto;aspect-ratio:1/1;border-radius:0;margin-bottom:0;display:grid;place-items:center;padding:14px}
body.products-page[data-renovation] .product-thumbnail img{width:100%;height:100%;object-fit:contain;padding:0;mix-blend-mode:multiply}
body.products-page[data-renovation] .coming-soon-placeholder{min-height:0;background:none;border:0;border-radius:0;font:400 14px/1.5 var(--dc-font);color:#93a0a8;text-align:center}
body.products-page[data-renovation] .product-code{display:block;font:600 13px/1.5 var(--dc-font);letter-spacing:.4px;color:#b94808;padding:15px 17px 0}
body.products-page[data-renovation] .product-card h3,
body.products-page[data-renovation] .product-card h4{font:500 16px/1.4 var(--dc-font);color:#25353f;padding:5px 17px 17px;margin:0}

/* --- Product detail --------------------------------------------------- */
body.products-page[data-renovation] .product-detail-section{padding-block:34px 70px}
body.products-page[data-renovation] .back-link{display:inline-flex;align-items:center;gap:8px;font:500 15px/1.4 var(--dc-font);color:#5d707c;text-decoration:none;margin-bottom:24px}
body.products-page[data-renovation] .back-link:hover{color:#b94808}
body.products-page[data-renovation] .product-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,62px);align-items:start}
body.products-page[data-renovation] .product-image-container{background:#f2f4f5;border:1px solid var(--dc-line);border-radius:25px;padding:34px;display:grid;place-items:center;aspect-ratio:1/1}
body.products-page[data-renovation] .product-image-container img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
body.products-page[data-renovation] .product-image-placeholder{font:400 15px/1.6 var(--dc-font);color:#93a0a8;text-align:center}
body.products-page[data-renovation] .product-sku{display:block;font:600 14px/1.5 var(--dc-font);letter-spacing:.5px;color:#b94808;margin-bottom:9px}
body.products-page[data-renovation] .product-title{font:500 clamp(31px,3.7vw,45px)/1.14 var(--dc-font);letter-spacing:-1.4px;color:var(--dc-ink);margin:0 0 18px}
body.products-page[data-renovation] .product-description{font:400 18px/1.68 var(--dc-font);color:var(--dc-muted);margin-bottom:28px;max-width:560px}
body.products-page[data-renovation] .product-specs{border-top:1px solid var(--dc-line);margin-bottom:30px}
body.products-page[data-renovation] .spec-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid var(--dc-line)}
body.products-page[data-renovation] .spec-label{font:400 15px/1.5 var(--dc-font);color:#5f6b73}
body.products-page[data-renovation] .spec-value{font:500 15px/1.5 var(--dc-font);color:#25353f;text-align:right}
body.products-page[data-renovation] .status-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font:600 13px/1.4 var(--dc-font)}
body.products-page[data-renovation] .status-badge.in-stock{background:#e7f6ec;color:#1a6b34}
body.products-page[data-renovation] .product-actions{display:flex;flex-wrap:wrap;gap:13px}
body.products-page[data-renovation] .product-actions .btn{display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:13px 25px;border-radius:999px;font:600 16px/1.4 var(--dc-font);text-decoration:none;border:1px solid transparent}
body.products-page[data-renovation] .product-actions .btn-primary{background:var(--dc-orange);color:#172127}
body.products-page[data-renovation] .product-actions .btn-primary:hover{background:#ff8345}
body.products-page[data-renovation] .product-actions .btn-secondary{background:#fff;border-color:var(--dc-line);color:#2b404d}
body.products-page[data-renovation] .product-actions .btn-secondary:hover{border-color:#c4ced4}

@media(max-width:860px){
  body.products-page[data-renovation] .product-detail-grid{grid-template-columns:1fr;gap:26px}
  body.products-page[data-renovation] .products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
}

/* --- /products catalogue (assets/dc-catalogue.js) ---------------------
   Port of the approved preview catalogue (website-design-preview styles.css,
   refinements.css and dc-shell.css overrides, flattened to final values).
   Own dcc- class names so the legacy .product-card / .btn / section rules in
   styles.css and script.js never reach it. */
body.products-page[data-renovation]:has(.dcc-page){background:#fff}
.dcc-page{width:min(1240px,calc(100% - 72px));margin-inline:auto;color:var(--dc-ink)}
.dcc section{padding:0;scroll-margin-top:0}
.dcc h1,.dcc h2,.dcc h3,.dcc p{margin:0}
.dcc a{color:inherit;text-decoration:none}
.dcc button{cursor:pointer;color:inherit}
.dcc :is(a,button,select):focus-visible{outline:3px solid #b95522;outline-offset:4px}
.dcc-icon{width:18px;height:18px;display:inline-block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

.dcc-top{padding:42px 0 28px}
.dcc-breadcrumb{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.65;color:#6f746b;margin-bottom:28px;flex-wrap:wrap}
.dcc-breadcrumb a:hover{color:var(--dc-ink)}
.dcc-breadcrumb .dcc-icon{width:12px;height:12px}
.dcc-title-row{display:flex;justify-content:space-between;align-items:end;gap:40px}
.dcc-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;line-height:1.65;font-weight:650;letter-spacing:1.2px;text-transform:uppercase;color:#6b7169}
.dcc-eyebrow:before{content:'';width:6px;height:6px;border-radius:100%;background:#ed6a25}
.dcc-title-row h1{font-size:42px;line-height:1.13;font-weight:600;letter-spacing:-1.4px;margin-top:14px;color:var(--dc-ink)}
.dcc-title-row p{font-size:16px;line-height:1.6;color:#566a77;margin-top:15px;max-width:550px}
.dcc-chip{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#f0f3f2;padding:6px 11px;font-size:12px;line-height:1.65;font-weight:500;color:#68716d;white-space:nowrap}

.dcc-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;padding-bottom:60px}
.dcc-rail{align-self:start;position:sticky;top:112px;border:1px solid #e6e8ea;padding:20px 12px;border-radius:18px;background:#fff}
.dcc-rail h2{font-size:10px;line-height:1.13;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;margin:6px 0 18px;padding-left:12px;color:#60686b}
.dcc-category-buttons{display:flex;flex-direction:column;gap:4px}
.dcc-category-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:none;text-align:left;font-size:15px;line-height:1.45;font-weight:400;color:#697162!important}
.dcc-category-btn:hover:not(.is-active){background:#f4f5f6}
.dcc-category-btn.is-active{background:#fff0e6;color:#a34317!important;font-weight:600}
.dcc-count{font-size:12px}
.dcc-rail-help{border-top:1px solid #e6e8ea;margin-top:18px;padding:19px 12px 2px}
.dcc-rail-help p{font-size:11px;line-height:1.8;color:#676d70}
.dcc-rail-help a{display:inline-flex;align-items:center;gap:8px;margin-top:13px;font-size:11px;line-height:1.65;color:#bd4611!important}

.dcc-mobile-categories{display:none}
.dcc-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.dcc-search{display:flex;align-items:center;gap:11px;flex:1 1 100%;min-width:0;min-height:51px;padding:12px 18px;border:1px solid #e2e5db;border-radius:999px;background:#fff}
.dcc-search:focus-within{outline:2px solid #d88960;outline-offset:2px}
.dcc-search .dcc-icon{width:17px;color:#8b927f}
.dcc-search input{-webkit-appearance:none;appearance:none;width:100%;min-width:0;border:0;outline:0!important;background:none;padding:1px 2px;font-size:15px;line-height:1.65;color:#252a29}
.dcc-search input::placeholder{color:#72766b;opacity:1}
.dcc-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.dcc-sort-label{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.65;color:#676d70;white-space:nowrap}
.dcc-tools select{max-width:180px;padding:12px;border:1px solid #e6e8ea;border-radius:999px;background-color:#fff;font-size:15px;color:var(--dc-ink)}

.dcc-results-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 20px;font-size:15px;line-height:1.65;color:#6c7479}
.dcc-results-bar button{border:0;background:none;padding:0;font-size:inherit;color:#bd4611;text-decoration:underline}
.dcc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}
.dcc-card{display:flex;flex-direction:column;min-width:0}
.dcc-photo{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:15px;background:#f2f4f5;overflow:hidden}
.dcc-photo img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s}
.dcc-card:hover .dcc-photo img{transform:scale(1.025)}
.dcc-pending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:14px;color:#6b6f63;text-align:center}
.dcc-pending .dcc-icon{width:33px;height:33px;stroke-width:1}
.dcc-card-info{display:flex;flex-direction:column;flex:1;padding:13px 2px 5px}
.dcc-sku{font-size:14px;line-height:1.65;font-weight:600;letter-spacing:.2px;color:#33393b}
.dcc-card h3{font-size:16px;line-height:1.5;font-weight:500;letter-spacing:0;margin:4px 0 7px;color:var(--dc-ink)}
.dcc-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;font-size:14px;line-height:1.65;color:#52636e}
.dcc-card-bottom .dcc-icon{width:14px;height:14px;color:#656d71}

.dcc-grid.is-list{grid-template-columns:1fr}
.is-list .dcc-card{display:grid;grid-template-columns:128px 1fr;gap:18px;padding-bottom:16px;border-bottom:1px solid #e6e8ea}
.is-list .dcc-photo{aspect-ratio:auto;height:132px;border-radius:14px}
.is-list .dcc-photo img{inset:19px;width:calc(100% - 38px);height:calc(100% - 38px)}
.is-list .dcc-pending{font-size:12px;gap:6px}
.is-list .dcc-pending .dcc-icon{width:26px;height:26px}
.is-list .dcc-card-info{padding:12px 4px}
.is-list .dcc-card h3{margin:3px 0 8px}
.is-list .dcc-card-bottom{justify-content:flex-start;gap:14px}

.dcc-empty{grid-column:1/-1;padding:60px 20px;text-align:center;border:1px dashed #d8dfcf;border-radius:25px}
.dcc-empty h3{font-size:20px;line-height:1.13;margin-bottom:12px}
.dcc-empty p{font-size:14px;color:#676d70}
.dcc-load-more{display:flex;justify-content:center;margin:30px 0}
.dcc-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:47px;padding:12px 23px;border:1px solid #e6e8ea;border-radius:999px;background:#fff;font-size:16px;line-height:1.4;font-weight:600;transition:background .2s,transform .2s}
.dcc-btn:hover{background:#f2f3ef;transform:translateY(-1px)}
.dcc-load-error{padding:80px 0;font-size:16px;color:#566a77}

@media(max-width:1100px){
  .dcc-sort-label{margin-left:auto}
}
@media(max-width:930px){
  .dcc-layout{grid-template-columns:1fr}
  .dcc-rail{display:none}
  .dcc-mobile-categories{display:block;margin-bottom:18px}
  .dcc-mobile-categories select{display:block;width:100%;padding:12px;border:1px solid #e6e8ea;border-radius:12px;background-color:#f5f6f7;font-size:16px;color:var(--dc-ink)}
}
@media(max-width:650px){
  .dcc-page{width:calc(100% - 36px)}
  .dcc-top{padding-top:30px}
  .dcc-breadcrumb{font-size:13px;margin-bottom:24px}
  .dcc-title-row{display:block}
  .dcc-title-row h1{font-size:36px;letter-spacing:-1.6px}
  .dcc-title-row .dcc-chip{margin-top:15px}
  .dcc-tools{gap:8px}
  .dcc-search{padding:12px 14px;gap:8px}
  .dcc-search input{font-size:16px}
  .dcc-sort-label{margin-left:0;margin-right:auto;font-size:14px}
  .dcc-tools select{max-width:165px;font-size:14px}
  .dcc-results-bar{align-items:start;margin-top:15px;font-size:13px}
  .dcc-results-bar>span:last-child{max-width:125px;text-align:right}
  .dcc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
  .dcc-photo{border-radius:12px}
  .dcc-pending{font-size:12px;padding:0 8px}
  .dcc-card-info{padding:10px 0 3px}
  .dcc-card h3{font-size:15px}
  .dcc-card-bottom{font-size:13px}
  .dcc-card-bottom .dcc-icon{display:none}
  .is-list .dcc-card{grid-template-columns:110px 1fr}
  .is-list .dcc-photo{height:120px}
  .is-list .dcc-photo img{inset:13px;width:calc(100% - 26px);height:calc(100% - 26px)}
  .is-list .dcc-card-info{padding:12px 15px}
}
@media(prefers-reduced-motion:reduce){
  .dcc-card:hover .dcc-photo img,.dcc-btn:hover{transform:none}
}
