/* shop/p/fusionfinish-coat-rack.html, shop/p/fusionfinish-shoe-bench.html, shop/p/oakhaven-bar-cabinet.html, shop/p/oakhaven-chest-of-drawers.html, shop/p/oakhaven-vanity.html, shop/p/oakhaven-wardrobe.html, shop/p/urbanoak-dining-table.html, shop/p/urbanoak-display-unit.html, shop/p/urbanoak-nest-tables.html */
html.kw-page--product-page *, html.kw-page--product-page *::before, html.kw-page--product-page *::after{ box-sizing: border-box; margin: 0; padding: 0; }

  /* BREADCRUMB */
  html.kw-page--product-page .breadcrumb-bar{
    padding-top: 68px;
    padding-bottom: 0;
    border-bottom: 1px solid var(--light-rule);
    background: var(--warm-white);
  }
  html.kw-page--product-page .breadcrumb-inner{
    padding: 16px 56px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: var(--mid);
  }
  html.kw-page--product-page .breadcrumb-inner a{
    color: var(--mid);
    text-decoration: none;
    transition: color 0.2s;
  }
  html.kw-page--product-page .breadcrumb-inner a:hover{ color: var(--ink); }
  html.kw-page--product-page .breadcrumb-sep{ opacity: 0.4; }

  /* PRODUCT HERO — TWO COLUMN */
  html.kw-page--product-page .product-hero{
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    border-bottom: 1px solid var(--light-rule);
    min-height: 80vh;
  }

  /* IMAGE PANEL */
  html.kw-page--product-page .image-panel{
    position: relative;
    background: #2A2620;
    overflow: hidden;
  }
  html.kw-page--product-page .image-main{
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    display: block;
    opacity: 0.88;
    transition: opacity 0.4s;
  }
  html.kw-page--product-page .image-panel:hover .image-main{ opacity: 0.78; }

  /* Commission badge */
  html.kw-page--product-page .commission-badge{
    position: absolute;
    top: 28px;
    left: 28px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 56px;
  }
  html.kw-page--product-page .commission-badge-dot{
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--brass);
    flex-shrink: 0;
  }
  html.kw-page--product-page .commission-badge-text{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--image-label-text);
  }

  /* PRODUCT INFO PANEL */
  html.kw-page--product-page .info-panel{
    padding: 56px 64px 64px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .product-eyebrow{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 16px;
    display: block;
  }
  html.kw-page--product-page .product-name{
    font-family: var(--serif);
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 300;
    line-height: 1.08;
    color: var(--ink);
    margin-bottom: 12px;
    letter-spacing: -0.01em;
  }
  html.kw-page--product-page .product-tagline{
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 300;
    font-style: italic;
    color: var(--mid);
    line-height: 1.55;
    margin-bottom: 32px;
    max-width: 380px;
  }

  /* Price display */
  html.kw-page--product-page .price-block{
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 8px;
  }
  html.kw-page--product-page .price-from{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
  }
  html.kw-page--product-page .price-value{
    font-family: var(--serif);
    font-size: 40px;
    font-weight: 300;
    color: var(--ink);
    line-height: 1;
    letter-spacing: -0.01em;
  }
  html.kw-page--product-page .price-note{
    font-size: 12px;
    font-weight: 300;
    color: var(--mid);
    margin-bottom: 36px;
    line-height: 1.6;
  }

  /* Spec strip */
  html.kw-page--product-page .spec-strip{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--light-rule);
    border-bottom: 1px solid var(--light-rule);
    margin-bottom: 36px;
  }
  html.kw-page--product-page .spec-item{
    padding: 16px 0;
    border-right: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .spec-item:last-child{ border-right: none; }
  html.kw-page--product-page .spec-label{
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
    margin-bottom: 4px;
    display: block;
  }
  html.kw-page--product-page .spec-value{
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 400;
    color: var(--ink);
    line-height: 1.3;
  }
  html.kw-page--product-page .spec-item:not(:first-child){ padding-left: 16px; }

  /* CTA block */
  html.kw-page--product-page .cta-block{
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 28px;
  }
  html.kw-page--product-page .btn-enquire{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--warm-white);
    background: var(--ink);
    text-decoration: none;
    padding: 16px 32px;
    transition: background 0.2s;
    width: 100%;
    text-align: center;
  }
  html.kw-page--product-page .btn-enquire:hover{ background: #2e2c27; }
  html.kw-page--product-page .btn-enquire::after{ content: ' →'; }
  html.kw-page--product-page .btn-bespoke{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mid);
    text-decoration: none;
    padding: 14px 32px;
    border: 1px solid rgba(26,25,22,0.2);
    transition: border-color 0.2s, color 0.2s;
    width: 100%;
    text-align: center;
  }
  html.kw-page--product-page .btn-bespoke:hover{ border-color: var(--ink); color: var(--ink); }

  html.kw-page--product-page .cta-reassurance{
    font-size: 12px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.65;
    padding-top: 4px;
  }

  /* BESPOKE CALLOUT */
  html.kw-page--product-page .bespoke-callout{
    background: var(--parchment);
    border: 1px solid rgba(184,148,63,0.2);
    padding: 20px 20px 20px 24px;
    border-left: 3px solid var(--brass);
    margin-bottom: 0;
    margin-top: 20px;
  }
  html.kw-page--product-page .bespoke-callout-heading{
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 6px;
    display: block;
  }
  html.kw-page--product-page .bespoke-callout-text{
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.7;
  }

  /* FEATURES */
  html.kw-page--product-page .features-section{
    border-bottom: 1px solid var(--light-rule);
    background: var(--warm-white);
  }
  html.kw-page--product-page .features-header{
    padding: 80px 56px 52px;
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 80px;
    align-items: end;
    border-bottom: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .features-title{
    font-family: var(--serif);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 300;
    line-height: 1.12;
    color: var(--ink);
  }
  html.kw-page--product-page .features-title em{ font-style: italic; color: var(--mid); }
  html.kw-page--product-page .features-note{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.85;
    color: var(--mid);
  }
  html.kw-page--product-page .features-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  html.kw-page--product-page .feature-item{
    padding: 44px 40px 48px;
    border-right: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .feature-item:last-child{ border-right: none; }
  html.kw-page--product-page .feature-num{
    font-family: var(--serif);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.16em;
    color: var(--brass);
    margin-bottom: 14px;
    display: block;
  }
  html.kw-page--product-page .feature-title{
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 400;
    color: var(--ink);
    margin-bottom: 10px;
    line-height: 1.25;
  }
  html.kw-page--product-page .feature-body{
    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--mid);
  }

  /* SPEC DETAIL */
  html.kw-page--product-page .spec-section{
    background: var(--parchment);
    border-bottom: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .spec-inner{
    padding: 80px 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
  }
  html.kw-page--product-page .spec-left{}
  html.kw-page--product-page .spec-section-eyebrow{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 20px;
    display: block;
  }
  html.kw-page--product-page .spec-section-title{
    font-family: var(--serif);
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 300;
    line-height: 1.12;
    color: var(--ink);
    margin-bottom: 24px;
  }
  html.kw-page--product-page .spec-section-title em{ font-style: italic; color: var(--mid); }
  html.kw-page--product-page .spec-section-body{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.85;
    color: var(--mid);
  }
  html.kw-page--product-page .spec-right{}
  html.kw-page--product-page .spec-table-clean{
    width: 100%;
    border-collapse: collapse;
  }
  html.kw-page--product-page .spec-table-clean tr{
    border-bottom: 1px solid rgba(26,25,22,0.08);
  }
  html.kw-page--product-page .spec-table-clean tr:first-child{
    border-top: 1px solid rgba(26,25,22,0.08);
  }
  html.kw-page--product-page .spec-table-clean td{
    padding: 14px 0;
    vertical-align: top;
    font-size: 14px;
  }
  html.kw-page--product-page .spec-table-clean td:first-child{
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
    width: 40%;
    padding-right: 16px;
    padding-top: 17px;
  }
  html.kw-page--product-page .spec-table-clean td:last-child{
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 400;
    color: var(--ink);
    line-height: 1.4;
  }
  html.kw-page--product-page .spec-custom-note{
    margin-top: 20px;
    padding: 16px 20px;
    background: rgba(26,25,22,0.04);
    border-left: 2px solid var(--linen);
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.7;
  }

  /* BESPOKE OPTIONS */
  html.kw-page--product-page .bespoke-section{
    background: var(--ink);
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  html.kw-page--product-page .bespoke-inner{
    padding: 80px 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
  }
  html.kw-page--product-page .bespoke-heading{
    font-family: var(--serif);
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 300;
    line-height: 1.1;
    color: var(--parchment);
    margin-bottom: 16px;
  }
  html.kw-page--product-page .bespoke-heading em{ font-style: italic; color: var(--linen); }
  html.kw-page--product-page .bespoke-sub{
    font-size: 14px;
    font-weight: 300;
    color: rgba(200,184,154,0.65);
    line-height: 1.8;
  }
  html.kw-page--product-page .bespoke-options-list{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  html.kw-page--product-page .bespoke-option{
    display: grid;
    grid-template-columns: 16px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    align-items: baseline;
  }
  html.kw-page--product-page .bespoke-option:first-child{ border-top: 1px solid rgba(255,255,255,0.06); }
  html.kw-page--product-page .bespoke-dash{
    width: 8px;
    height: 1px;
    background: var(--brass);
    margin-top: 11px;
  }
  html.kw-page--product-page .bespoke-option-text{
    font-size: 14px;
    font-weight: 300;
    color: rgba(200,184,154,0.7);
    line-height: 1.7;
  }
  html.kw-page--product-page .bespoke-option-text strong{
    color: rgba(244,240,232,0.85);
    font-weight: 400;
  }

  /* PRICING TRANSPARENCY */
  html.kw-page--product-page .pricing-section{
    background: var(--warm-white);
    border-bottom: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .pricing-inner{
    padding: 80px 56px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
    align-items: start;
  }
  html.kw-page--product-page .pricing-title{
    font-family: var(--serif);
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 300;
    line-height: 1.12;
    color: var(--ink);
    margin-bottom: 16px;
  }
  html.kw-page--product-page .pricing-title em{ font-style: italic; color: var(--mid); }
  html.kw-page--product-page .pricing-intro{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.85;
    color: var(--mid);
  }
  html.kw-page--product-page .pricing-right{}
  html.kw-page--product-page .pricing-base{
    padding: 24px 0;
    border-top: 1px solid var(--light-rule);
    border-bottom: 1px solid var(--light-rule);
    margin-bottom: 24px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 20px;
  }
  html.kw-page--product-page .pricing-base-label{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
    margin-bottom: 4px;
    display: block;
  }
  html.kw-page--product-page .pricing-base-desc{
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.6;
  }
  html.kw-page--product-page .pricing-base-value{
    font-family: var(--serif);
    font-size: 36px;
    font-weight: 300;
    color: var(--ink);
    white-space: nowrap;
  }
  html.kw-page--product-page .affects-title{
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--mid);
    margin-bottom: 14px;
  }
  html.kw-page--product-page .affects-list{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  html.kw-page--product-page .affects-list li{
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.65;
    padding-left: 14px;
    position: relative;
  }
  html.kw-page--product-page .affects-list li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 1px;
    background: var(--linen);
  }

  /* FINAL CTA */
  html.kw-page--product-page .final-cta{
    background: var(--warm-white);
    border-bottom: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .final-cta-inner{
    padding: 100px 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
  }
  html.kw-page--product-page .final-cta-heading{
    font-family: var(--serif);
    font-size: clamp(30px, 3.5vw, 48px);
    font-weight: 300;
    line-height: 1.1;
    color: var(--ink);
  }
  html.kw-page--product-page .final-cta-heading em{ font-style: italic; color: var(--mid); }
  html.kw-page--product-page .final-cta-right{}
  html.kw-page--product-page .final-cta-body{
    font-size: 15px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.8;
    margin-bottom: 32px;
  }
  html.kw-page--product-page .final-cta-actions{
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  html.kw-page--product-page .btn-primary-large{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--warm-white);
    background: var(--ink);
    text-decoration: none;
    padding: 16px 40px;
    transition: background 0.2s;
  }
  html.kw-page--product-page .btn-primary-large:hover{ background: #2e2c27; }
  html.kw-page--product-page .btn-primary-large::after{ content: ' →'; }
  html.kw-page--product-page .final-contact-note{
    margin-top: 20px;
    font-size: 12px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.75;
  }
  html.kw-page--product-page .final-contact-note a{
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid rgba(26,25,22,0.2);
    padding-bottom: 1px;
    transition: border-color 0.2s;
  }
  html.kw-page--product-page .final-contact-note a:hover{ border-color: var(--ink); }

  /* SEO TEXT */
  html.kw-page--product-page .seo-text{
    padding: 56px 56px;
    background: var(--parchment);
    border-bottom: 1px solid var(--light-rule);
  }
  html.kw-page--product-page .seo-text-inner{ max-width: 720px; }
  html.kw-page--product-page .seo-text p{
    font-size: 13px;
    font-weight: 300;
    line-height: 1.85;
    color: var(--mid);
    margin-bottom: 12px;
  }
  html.kw-page--product-page .seo-text p:last-child{ margin-bottom: 0; }
  html.kw-page--product-page .seo-text a{ color: var(--ink); }

  /* CARE BANNER */
  html.kw-page--product-page .care-banner{
    text-align: center;
    padding: 32px 56px;
    border-bottom: 1px solid var(--light-rule);
    background: var(--parchment);
  }
  html.kw-page--product-page .care-banner p{
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.7;
  }
  html.kw-page--product-page .care-banner a{
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  html.kw-page--product-page .care-banner a:hover{ color: var(--brass); }

  /* WCAG 2.2 AA Contrast + Body Copy Overrides */
  html[class*="kw-page--"]{
    --mid: #4b4641;
    --linen: #d2bb8a;
  }

  html[class*="kw-page--"] p,
  html[class*="kw-page--"] li,
  html[class*="kw-page--"] td,
  html[class*="kw-page--"] label,
  html[class*="kw-page--"] input,
  html[class*="kw-page--"] textarea,
  html[class*="kw-page--"] select{
    font-size: 16px;
    line-height: 1.7;
  }

  html[class*="kw-page--"] .left-body,
  html[class*="kw-page--"] .left-footer-text,
  html[class*="kw-page--"] .step-label,
  html[class*="kw-page--"] .step-subheading,
  html[class*="kw-page--"] .step-counter,
  html[class*="kw-page--"] .choice-sub,
  html[class*="kw-page--"] .wood-sub,
  html[class*="kw-page--"] .budget-note,
  html[class*="kw-page--"] .confirm-body,
  html[class*="kw-page--"] .confirm-detail,
  html[class*="kw-page--"] .confirm-care,
  html[class*="kw-page--"] .timeline-label,
  html[class*="kw-page--"] .timeline-desc,
  html[class*="kw-page--"] .price-note,
  html[class*="kw-page--"] .spec-label,
  html[class*="kw-page--"] .spec-value,
  html[class*="kw-page--"] .cta-contact-note,
  html[class*="kw-page--"] .final-contact-note,
  html[class*="kw-page--"] .seo-text p,
  html[class*="kw-page--"] .hero-meta-label,
  html[class*="kw-page--"] .hero-meta-value,
  html[class*="kw-page--"] .sidebar-links a,
  html[class*="kw-page--"] .pp-body,
  html[class*="kw-page--"] .tc-body,
  html[class*="kw-page--"] .care-banner p{
    font-size: 16px;
    color: var(--mid);
  }

html.kw-page--studio .hero-sub,
html.kw-page--care-guide .hero-sub,
html.kw-page--privacy-policy .hero-sub,
html.kw-page--terms-and-conditions .hero-sub,
  html.kw-page--local-seo .hero-sub{
    color: rgba(244,240,232,0.86);
  }

  html.kw-page--studio .hero-sub{
    color: rgba(244,240,232,0.88);
  }
@media (max-width: 980px) {
  html.kw-page--product-page .product-hero,
  html.kw-page--product-page .features-header,
  html.kw-page--product-page .spec-inner,
  html.kw-page--product-page .bespoke-inner,
  html.kw-page--product-page .pricing-inner,
  html.kw-page--product-page .final-cta-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  html.kw-page--product-page .features-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  html.kw-page--product-page .breadcrumb-bar,
  html.kw-page--product-page .info-panel,
  html.kw-page--product-page .features-section,
  html.kw-page--product-page .spec-section,
  html.kw-page--product-page .bespoke-section,
  html.kw-page--product-page .pricing-section,
  html.kw-page--product-page .final-cta,
  html.kw-page--product-page .seo-text,
  html.kw-page--product-page .care-banner {
    padding: 32px 24px;
  }
  html.kw-page--product-page .breadcrumb-inner { flex-wrap: wrap; }
  html.kw-page--product-page .image-panel { min-width: 0; }
}
@media (max-width: 540px) {
  html.kw-page--product-page .features-grid { grid-template-columns: minmax(0, 1fr); }
  html.kw-page--product-page .spec-strip { grid-template-columns: minmax(0, 1fr); }
  html.kw-page--product-page .spec-item:not(:first-child) { padding-left: 0; }
  html.kw-page--product-page .spec-item { border-right: none; }
  html.kw-page--product-page .pricing-base { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 980px) {
  html.kw-page--product-page .breadcrumb-bar { padding: 100px 24px 16px; }
  html.kw-page--product-page .breadcrumb-inner { padding: 0; }
}
