/* Automatic detail pages follow the site's About–Copy shell.
   Embedded Elementor widgets retain their own presentation controls. */
.kool-product.kp-shell{--ink:#004f6e;--accent:#004f6e;--muted:#426675;--surface:#f4f8fa;--line:#dbe7ec;--radius:28px;font-family:"Kumbh Sans",sans-serif;color:var(--ink);width:100%;max-width:none;margin:0}
.kp-shell .container{width:calc(100% - 140px);max-width:1200px;margin-inline:auto}
.kp-shell .kp-product-title{padding-top:50px;text-align:center}
.kp-shell .product-heading,.kp-shell .section-title,.kp-shell .card-heading,.kp-shell .benefit-heading,.kp-shell .kp-product-subtitle{font-family:"Bricolage Grotesque",sans-serif;color:var(--ink);font-weight:500;letter-spacing:-.035em}
.kp-shell .product-heading{font-size:clamp(36px,4.5vw,64px);line-height:1.08;margin:0}
.kp-shell .kp-catalog-back{width:calc(100% - 140px);max-width:1200px;padding:0;margin:28px auto 0;font-size:14px}
.kp-shell .kp-catalog-back a{color:var(--ink)}
.kp-shell .hero{grid-template-columns:minmax(0,0.5fr) minmax(0,0.5fr);gap:clamp(32px,4vw,56px);align-items:center;padding-top:28px;padding-bottom:32px}
.kp-shell .hero-copy{padding-top:0}
.kp-shell .kp-product-subtitle{font-size:clamp(30px,3.5vw,48px);line-height:1.15;margin:0 0 24px}
.kp-shell .manufacturer,.kp-shell .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}
.kp-shell .model{font-size:18px;font-weight:600;margin:0 0 16px;color:var(--ink)}
.kp-shell .hero-description{font-size:16px;line-height:1.7;max-width:none;margin-top:0;color:var(--ink)}
.kp-shell .product-stage{padding:20px;border:0;border-radius:24px;background:var(--surface);width:100%;min-width:0;overflow:hidden}
.kp-shell .hero .dimensioned-product{width:100%;max-width:100%;max-height:320px;height:auto;object-fit:contain}
.kp-shell .product-stage figcaption{font-size:12px;line-height:1.5;margin-top:12px;max-width:48ch}
.kp-shell .quick-specs{gap:20px;margin-top:26px;padding-block:24px}
.kp-shell .quick-specs dd{font-size:clamp(18px,1.65vw,24px);line-height:1.35;font-weight:600;letter-spacing:-.02em}
.kp-shell .quick-specs dt{font-size:13px}
.kp-shell .button{border-radius:999px;background:var(--accent);border-color:var(--accent);font-size:14px;min-height:48px;padding:13px 22px}
.kp-shell .button.secondary{background:transparent;border-color:var(--accent);color:var(--accent)}
.kp-shell .button:hover{background:#063e54;color:white}
.kp-shell .section{padding-block:32px 48px}
.kp-shell .section-title{font-size:clamp(30px,3.4vw,46px)}
.kp-shell .spec-card{padding:30px;border-radius:24px}
.kp-shell .spec-title{min-height:0;padding-bottom:22px}
.kp-shell .spec-list dt,.kp-shell .spec-list dd{font-size:15px;line-height:1.6}
.kp-shell .details-section{padding-top:0}
.kp-shell .quote{margin-bottom:48px;background:var(--surface);border-radius:28px}

/* Elementra's post template otherwise narrows products to a blog column.
   Keep its existing header/footer, but remove the blog-only post footer. */
body.kp-product-detail.wp-theme-elementra .page_content_wrap{padding-top:0;padding-bottom:0}
body.kp-product-detail.wp-theme-elementra .page_content_wrap>.content_wrap,
body.kp-product-detail.wp-theme-elementra .page_content_wrap>.content_wrap_fullscreen{width:100%;max-width:none;margin:0;padding:0}
body.kp-product-detail.wp-theme-elementra .page_content_wrap>.content_wrap>.content,
body.kp-product-detail.wp-theme-elementra .page_content_wrap>.content_wrap_fullscreen>.content{float:none;width:100%;max-width:none;margin:0;padding:0}
body.kp-product-detail.wp-theme-elementra .page_content_wrap>.content_wrap>.sidebar,
body.kp-product-detail.wp-theme-elementra article.post_type_kool_product>.post_footer,
body.kp-product-detail.wp-theme-elementra article.post_type_kool_product>.post_header,
body.kp-product-detail.wp-theme-elementra .related_wrap,
body.kp-product-detail.wp-theme-elementra .comments_wrap{display:none}
body.kp-product-detail.wp-theme-elementra article.post_type_kool_product{margin:0;padding:0;border:0}
/* Block themes: allow the product shell to use the page's wide layout. */
body.kp-product-detail .wp-block-post-content:has(>.kp-shell){max-width:none;width:100%}
body.kp-product-detail .wp-block-post-content>.kp-shell{max-width:none!important;width:100%}
body.kp-product-detail .wp-block-post-title{display:none}
@media(max-width:1024px){
 .kp-shell .container,.kp-shell .kp-catalog-back{width:calc(100% - 64px)}
 .kp-shell .hero{gap:36px}
 .kp-shell .quick-specs{grid-template-columns:1fr;gap:12px}
 .kp-shell .quick-specs>div{display:grid;grid-template-columns:1fr 2fr;gap:12px}
 .kp-shell .quick-specs dt{order:0;margin:0}
 .kp-shell .quick-specs dd{font-size:18px}
}
@media(max-width:760px){
 .kp-shell .container,.kp-shell .kp-catalog-back{width:calc(100% - 40px)}
 .kp-shell .kp-product-title{padding-top:32px}
 .kp-shell .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"image" "copy";gap:28px;padding-top:24px;padding-bottom:24px}
 .kp-shell .product-stage{border-radius:24px;padding:20px}
 .kp-shell .hero .dimensioned-product{max-height:280px}
 .kp-shell .section{padding-block:24px 32px}
 .kp-shell .details-section{padding-top:0}
 .kp-shell .spec-card{padding:22px}
 .kp-shell .quote{margin-bottom:40px}
}
@media print{.kp-shell .kp-catalog-back{display:none}.kp-shell .container{width:100%}.kp-shell .kp-product-title{padding-top:0}.kp-shell .hero{padding-block:20px;gap:24px}}

/* Compact, consistent detail-page rhythm. */
.kp-shell .kp-product-title{padding-top:36px}
.kp-shell .kp-catalog-back{margin-top:20px}
.kp-shell .hero{padding-top:24px;padding-bottom:28px}
.kp-shell .product-stage{border:1px solid var(--line);background:#f5f9fa}
.kp-shell .product-stage figcaption{color:#526f7b;max-width:42ch}
.kp-shell .section-heading{margin-bottom:22px}
.kp-shell .section-title{font-size:clamp(28px,3vw,38px);line-height:1.2}
.kp-shell .spec-grid{gap:20px;align-items:stretch}
.kp-shell .spec-card{padding:24px;border-radius:18px}
.kp-shell .spec-title{padding-bottom:18px;margin-bottom:0}
.kp-shell .card-heading{font-size:18px;line-height:1.35;letter-spacing:-.015em}
.kp-shell .spec-title p{font-size:12px;line-height:1.5;margin-top:6px}
.kp-shell .spec-list>div{gap:18px;padding-block:12px}
.kp-shell .spec-list dt{font-size:14px;font-weight:500}
.kp-shell .spec-list dd{font-size:14px;font-weight:500}
/* An odd final group becomes a compact full-width specifications strip. */
.kp-shell .spec-card:last-child:nth-child(odd):not(:first-child){grid-column:1/-1}
.kp-shell .spec-card:last-child:nth-child(odd):not(:first-child) .spec-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}
.kp-shell .spec-card:last-child:nth-child(odd):not(:first-child) .spec-list>div{display:flex;flex-direction:column;gap:6px;padding-block:16px;border-bottom:0}
.kp-shell .details-grid{gap:20px;align-items:start}
.kp-shell .detail-card{padding:24px;border-radius:18px}
.kp-shell .feature-list{margin-top:16px}
.kp-shell .feature-list li{padding-block:12px;font-size:14px;line-height:1.6}
.kp-shell .detail-card p{font-size:14px;line-height:1.7;max-width:none}
.kp-shell .detail-card p:first-child{margin-top:0}
.kp-shell .shipping-art{width:100%;max-width:480px;margin:20px auto 0}
.kp-shell .shipping-art:first-child{margin-top:0}
.kp-shell .sustainability{margin-top:24px;padding-top:20px}
.kp-shell .tags{gap:8px}
.kp-shell .tags span{font-size:12px;line-height:1.5;padding:7px 12px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:1024px){
 .kp-shell .spec-card:last-child:nth-child(odd):not(:first-child) .spec-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .kp-shell .kp-product-title{padding-top:28px}
 .kp-shell .spec-card,.kp-shell .detail-card{padding:20px}
 .kp-shell .spec-card:last-child:nth-child(odd):not(:first-child) .spec-list{display:block}
 .kp-shell .spec-card:last-child:nth-child(odd):not(:first-child) .spec-list>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;padding-block:12px;border-bottom:1px solid var(--line)}
 .kp-shell .spec-card:last-child:nth-child(odd):not(:first-child) .spec-list>div:last-child{border-bottom:0}
}
