/* Only the 29 exact product detail page IDs in functions.php. */
body.tc-countertop-copy .tc-countertop-main,
body.tc-countertop-copy .tc-countertop-main > .wp-block-post-content { width:100%; max-width:none; margin:0!important; padding:0!important; }
body.tc-countertop-copy .tc-countertop { color:var(--tc-ink); background:var(--tc-paper); font-family:var(--tc-body); }
body.tc-countertop-copy .tc-countertop * { box-sizing:border-box; }
body.tc-countertop-copy .tc-countertop-container { width:min(calc(100% - 2 * var(--tc-gutter)),var(--tc-content)); margin-inline:auto; }
body.tc-countertop-copy .tc-countertop a:focus-visible,
body.tc-countertop-copy .tc-countertop summary:focus-visible { outline:3px solid var(--tc-focus); outline-offset:4px; }
body.tc-countertop-copy .tc-countertop p { margin:0; }
body.tc-countertop-copy .tc-countertop h1,
body.tc-countertop-copy .tc-countertop h2,
body.tc-countertop-copy .tc-countertop h3 { margin:0; font-family:var(--tc-display); font-weight:500; letter-spacing:-.035em; color:var(--tc-ink); }
body.tc-countertop-copy .tc-countertop h2 { font-size:clamp(2.1rem,3.2vw,3.2rem); line-height:1.1; }
body.tc-countertop-copy .tc-countertop h3 { font-size:clamp(1.22rem,1.7vw,1.55rem); line-height:1.2; }

body.tc-countertop-copy .tc-countertop-hero { position:relative; display:flex; align-items:center; min-height:645px; overflow:hidden; background:#f2eadd; isolation:isolate; }
body.tc-countertop-copy .tc-countertop-hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
body.tc-countertop-copy .tc-countertop-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(250,248,241,.97) 0%,rgba(250,248,241,.93) 26%,rgba(250,248,241,.66) 40%,rgba(250,248,241,0) 63%); }
body.tc-countertop-copy .tc-countertop-hero-content { padding-block:94px 102px; }
body.tc-countertop-copy .tc-countertop-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:24px; max-width:590px; color:#596359; font-size:12px; line-height:1.5; }
body.tc-countertop-copy .tc-countertop-breadcrumb a { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; }
body.tc-countertop-copy .tc-countertop-breadcrumb a:hover { text-decoration-color:currentColor; }
body.tc-countertop-copy .tc-countertop h1 { max-width:660px; font-size:clamp(3.25rem,5.4vw,5.7rem); line-height:1.01; }
body.tc-countertop-copy .tc-countertop-hero-content > p { max-width:530px; margin-top:24px; font-size:17px; line-height:1.65; color:#4d584e; }
body.tc-countertop-copy .tc-countertop-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
body.tc-countertop-copy .tc-countertop-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:13px 27px; border:1px solid transparent; border-radius:999px; font:700 13px/1.2 var(--tc-body); text-decoration:none; transition:background .2s ease,color .2s ease,transform .2s ease; }
body.tc-countertop-copy .tc-countertop-button:hover { transform:translateY(-2px); }
body.tc-countertop-copy .tc-countertop-button-primary { background:var(--tc-green); color:#fffdf8; }
body.tc-countertop-copy .tc-countertop-button-primary:hover { background:#1e3921; color:#fffdf8; }
body.tc-countertop-copy .tc-countertop-button-outline { border-color:#98a995; background:rgba(255,253,248,.72); color:var(--tc-green); }
body.tc-countertop-copy .tc-countertop-button-outline:hover { background:#fffdf8; }
body.tc-countertop-copy .tc-countertop-hero-credit { position:absolute; right:18px; bottom:14px; padding:6px 10px; border-radius:999px; background:rgba(255,253,248,.9); color:#405041; font-size:10px; font-weight:700; }

body.tc-countertop-copy .tc-countertop-section { margin-top:96px; }
body.tc-countertop-copy .tc-countertop-section-heading,
body.tc-countertop-copy .tc-countertop-close-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
body.tc-countertop-copy .tc-countertop-section-heading > a,
body.tc-countertop-copy .tc-countertop-close-head > a { flex:none; color:var(--tc-green); font-size:13px; font-weight:700; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; }
body.tc-countertop-copy .tc-countertop-section-heading > a:hover,
body.tc-countertop-copy .tc-countertop-close-head > a:hover { text-decoration-color:currentColor; }
body.tc-countertop-copy .tc-countertop-section > h2 { margin-bottom:24px; }
body.tc-countertop-copy .tc-countertop-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
body.tc-countertop-copy .tc-countertop-card { min-width:0; overflow:hidden; border:1px solid var(--tc-border); border-radius:15px; background:var(--tc-surface); }
body.tc-countertop-copy .tc-countertop-card figure { position:relative; margin:0; aspect-ratio:4/3; overflow:hidden; }
body.tc-countertop-copy .tc-countertop-card img { display:block; width:100%; height:100%; object-fit:cover; }
body.tc-countertop-copy .tc-countertop-card figcaption,
body.tc-countertop-copy .tc-countertop-customization-image figcaption { position:absolute; left:12px; bottom:12px; padding:5px 8px; border-radius:999px; background:rgba(255,253,248,.9); color:#344633; font:700 10px/1.1 var(--tc-body); }
body.tc-countertop-copy .tc-countertop-card-copy { padding:20px 19px 23px; min-height:122px; }
body.tc-countertop-copy .tc-countertop-card-copy p { margin-top:9px; color:var(--tc-muted); font-size:14px; line-height:1.5; }

body.tc-countertop-copy .tc-countertop-customization { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:stretch; gap:36px; }
body.tc-countertop-copy .tc-countertop-customization-image { position:relative; min-width:0; min-height:540px; margin:0; overflow:hidden; border-radius:16px; background:#ece8de; }
body.tc-countertop-copy .tc-countertop-customization-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:68% center; }
@media(min-width:901px){
  body.tc-countertop-copy .tc-countertop-customization { align-items:start; }
  body.tc-countertop-copy .tc-countertop-customization-image { height:540px; }
}
body.tc-countertop-copy .tc-countertop-accordions { display:flex; flex-direction:column; gap:10px; }
body.tc-countertop-copy .tc-countertop-accordions details { border:1px solid var(--tc-border); border-radius:13px; background:var(--tc-surface); }
body.tc-countertop-copy .tc-countertop-accordions details[open] { background:#f9faf3; }
body.tc-countertop-copy .tc-countertop-accordions summary { display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:89px; padding:16px 21px; cursor:pointer; list-style:none; }
body.tc-countertop-copy .tc-countertop-accordions summary::-webkit-details-marker,
body.tc-countertop-copy .tc-countertop-faq-grid summary::-webkit-details-marker { display:none; }
body.tc-countertop-copy .tc-countertop-accordions strong { display:block; font:500 1.23rem/1.2 var(--tc-display); letter-spacing:-.02em; }
body.tc-countertop-copy .tc-countertop-accordions small { display:block; margin-top:5px; color:var(--tc-muted); font-size:13px; line-height:1.4; }
body.tc-countertop-copy .tc-countertop-chevron { flex:none; width:8px; height:8px; border-right:1.5px solid var(--tc-green); border-bottom:1.5px solid var(--tc-green); transform:rotate(45deg); transition:transform .2s ease; }
body.tc-countertop-copy .tc-countertop-accordions details[open] .tc-countertop-chevron { transform:rotate(225deg); }
body.tc-countertop-copy .tc-countertop-accordions details > p { padding:0 21px 20px; color:#435047; font-size:15px; line-height:1.65; }

body.tc-countertop-copy .tc-countertop-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; }
body.tc-countertop-copy .tc-countertop-faq-grid details { border-top:1px solid var(--tc-border); }
body.tc-countertop-copy .tc-countertop-faq-grid details:last-child { border-bottom:1px solid var(--tc-border); }
body.tc-countertop-copy .tc-countertop-faq-grid summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:70px; padding:17px 4px; cursor:pointer; list-style:none; color:var(--tc-ink); font-size:16px; font-weight:600; line-height:1.45; }
body.tc-countertop-copy .tc-countertop-faq-grid summary::after { content:"+"; flex:none; color:var(--tc-green); font-size:22px; font-weight:400; line-height:1; }
body.tc-countertop-copy .tc-countertop-faq-grid details[open] summary::after { content:"−"; }
body.tc-countertop-copy .tc-countertop-faq-grid details > p { max-width:65ch; padding:0 36px 23px 4px; color:var(--tc-muted); font-size:15px; line-height:1.7; }
body.tc-countertop-copy .tc-countertop-section[aria-labelledby="faq-title"] { margin-bottom:58px; }

/* Page-only version of Home's Behind the Product card followed by its full-bleed CTA. */
body.tc-countertop-copy .tc-countertop-related-shell { width:min(1420px,calc(100% - 2 * clamp(18px,2.5vw,64px))); margin:96px auto 58px; }
body.tc-countertop-copy .tc-countertop-related { display:grid; grid-template-columns:minmax(270px,.82fr) minmax(0,2.05fr); align-items:stretch; gap:30px; padding:30px; border-radius:21px; background:#e9eddd; }
body.tc-countertop-copy .tc-countertop-related-intro { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:22px 6px 18px; }
body.tc-countertop-copy .tc-countertop-related-intro h2 { max-width:420px; font-size:clamp(2.2rem,3vw,3rem); }
body.tc-countertop-copy .tc-countertop-related-intro p { max-width:390px; margin-top:15px; color:var(--tc-muted); font-size:15px; line-height:1.55; }
body.tc-countertop-copy .tc-countertop-related-more { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; margin-top:25px; padding:11px 18px; border-radius:999px; background:var(--tc-green); color:#fffdf8; font-size:12px; font-weight:700; line-height:1.2; }
body.tc-countertop-copy .tc-countertop-related-more:hover { background:#1e3921; }
body.tc-countertop-copy .tc-countertop-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body.tc-countertop-copy .tc-countertop-related-grid :is(a, .tc-countertop-related-card) { display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:13px; background:var(--tc-surface); color:var(--tc-ink); }
body.tc-countertop-copy .tc-countertop-related-grid a:hover strong { text-decoration:underline; text-underline-offset:3px; }
body.tc-countertop-copy .tc-countertop-related-grid img { display:block; width:100%; aspect-ratio:1.45; object-fit:cover; }
body.tc-countertop-copy .tc-countertop-related-card-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; min-height:116px; padding:13px 14px 16px; }
body.tc-countertop-copy .tc-countertop-related-card-copy strong { font:500 1.12rem/1.18 var(--tc-display); letter-spacing:-.025em; }
body.tc-countertop-copy .tc-countertop-related-card-copy > span { margin-top:7px; color:var(--tc-muted); font-size:12px; line-height:1.42; }
body.tc-countertop-copy .tc-countertop-related-card-copy small { margin-top:auto; padding-top:10px; color:var(--tc-green); font-size:10px; line-height:1.3; }
body.tc-countertop-copy .tc-countertop-final-cta { position:relative; display:flex; align-items:center; isolation:isolate; width:100%; min-height:280px; margin:0; padding:48px max(36px,calc((100vw - 1280px) / 2)); overflow:hidden; border-radius:0; background:#e7eddd; }
body.tc-countertop-copy .tc-countertop-final-cta::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(235,239,218,.96) 0%,rgba(235,239,218,.78) 48%,rgba(235,239,218,.4) 100%); }
body.tc-countertop-copy .tc-countertop-final-cta > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
body.tc-countertop-copy .tc-countertop-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; width:100%; }
body.tc-countertop-copy .tc-countertop-cta-copy { max-width:850px; }
body.tc-countertop-copy .tc-countertop-final-cta h2 { max-width:780px; font-size:clamp(2.2rem,2.9vw,3rem); line-height:1.08; }
body.tc-countertop-copy .tc-countertop-final-cta p { margin-top:10px; color:#4d594c; font-size:14px; line-height:1.5; }
body.tc-countertop-copy .tc-countertop-final-cta .tc-countertop-button { flex:none; }
body.tc-countertop-copy .tc-countertop-final-cta > small { position:absolute; right:16px; bottom:52px; z-index:1; padding:5px 8px; border-radius:999px; background:rgba(255,253,248,.85); color:#344633; font-size:10px; font-weight:700; }
body.tc-countertop-copy .tc-footer { margin-top:-38px !important; }
body.tc-countertop-copy #product-types { scroll-margin-top:115px; }

@media(max-width:1100px){
  body.tc-countertop-copy .tc-countertop-card-grid { gap:16px; }
  body.tc-countertop-copy .tc-countertop-card-copy { padding:16px; }
  body.tc-countertop-copy .tc-countertop-customization { gap:22px; }
  body.tc-countertop-copy .tc-countertop-related { grid-template-columns:1fr; gap:21px; }
  body.tc-countertop-copy .tc-countertop-related-intro { padding:4px 4px 10px; }
}
@media(max-width:900px){
  body.tc-countertop-copy .tc-countertop-hero { min-height:590px; }
  body.tc-countertop-copy .tc-countertop-hero::before { background:linear-gradient(90deg,rgba(250,248,241,.98) 0%,rgba(250,248,241,.88) 39%,rgba(250,248,241,.1) 100%); }
  body.tc-countertop-copy .tc-countertop-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  body.tc-countertop-copy .tc-countertop-customization { grid-template-columns:1fr; }
  body.tc-countertop-copy .tc-countertop-customization-image { min-height:0; height:390px; }
  body.tc-countertop-copy .tc-countertop-faq-grid { column-gap:24px; }
}
@media(max-width:600px){
  body.tc-countertop-copy .tc-countertop-hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; }
  body.tc-countertop-copy .tc-countertop-hero::before { display:none; }
  body.tc-countertop-copy .tc-countertop-hero-image { position:relative; order:2; width:100%; height:280px; object-position:69% center; }
  body.tc-countertop-copy .tc-countertop-hero-content { order:1; padding-block:38px 35px; }
  body.tc-countertop-copy .tc-countertop-breadcrumb { margin-bottom:23px; font-size:11px; }
  body.tc-countertop-copy .tc-countertop h1 { font-size:clamp(2.65rem,11.5vw,3.8rem); }
  body.tc-countertop-copy .tc-countertop-hero-content > p { margin-top:19px; font-size:16px; line-height:1.6; }
  body.tc-countertop-copy .tc-countertop-actions { margin-top:24px; }
  body.tc-countertop-copy .tc-countertop-hero-credit { bottom:8px; right:8px; font-size:9px; }
  body.tc-countertop-copy .tc-countertop-section { margin-top:56px; }
  body.tc-countertop-copy .tc-countertop-section-heading { align-items:start; flex-direction:column; gap:9px; margin-bottom:18px; }
  body.tc-countertop-copy .tc-countertop-section > h2 { margin-bottom:18px; }
  body.tc-countertop-copy .tc-countertop-card-grid { grid-template-columns:1fr; gap:18px; }
  body.tc-countertop-copy .tc-countertop-card-copy { min-height:0; padding:16px 18px 19px; }
  body.tc-countertop-copy .tc-countertop-customization-image { height:300px; }
  body.tc-countertop-copy .tc-countertop-faq-grid { grid-template-columns:1fr; }
  body.tc-countertop-copy .tc-countertop-faq-grid > div:first-child details:last-child { border-bottom:0; }
  body.tc-countertop-copy .tc-countertop-section[aria-labelledby="faq-title"] { margin-bottom:45px; }
  body.tc-countertop-copy .tc-countertop-related-shell { margin-top:56px; margin-bottom:45px; }
  body.tc-countertop-copy .tc-countertop-related { padding:24px 18px; }
  body.tc-countertop-copy .tc-countertop-related-grid { grid-template-columns:1fr; gap:14px; }
  body.tc-countertop-copy .tc-countertop-related-grid img { aspect-ratio:1.8; }
  body.tc-countertop-copy .tc-countertop-related-card-copy { min-height:0; }
  body.tc-countertop-copy .tc-countertop-final-cta { min-height:0; padding:38px 22px 68px; }
  body.tc-countertop-copy .tc-countertop-final-cta::before { background:linear-gradient(90deg,rgba(235,239,218,.95),rgba(235,239,218,.77)); }
  body.tc-countertop-copy .tc-countertop-cta-inner { display:block; }
  body.tc-countertop-copy .tc-countertop-final-cta h2 { max-width:340px; font-size:clamp(2.15rem,9vw,2.55rem); }
  body.tc-countertop-copy .tc-countertop-final-cta .tc-countertop-button { margin-top:21px; }
  body.tc-countertop-copy .tc-countertop-final-cta > small { bottom:43px; }
  body.tc-countertop-copy .tc-footer { margin-top:-32px !important; }
}
@media(max-width:700px){
  body.tc-countertop-copy .tc-countertop-final-cta > img { object-position:58% center; }
  body.tc-countertop-copy .tc-countertop-final-cta::before { background:linear-gradient(90deg,rgba(235,239,218,.97),rgba(235,239,218,.83)); }
}
@media(prefers-reduced-motion:reduce){
  body.tc-countertop-copy .tc-countertop-button,
  body.tc-countertop-copy .tc-countertop-chevron { transition:none; }
}
