/* Kitchen and bathroom landing pages, comparisons and size guides.
   Extends room-layout-guide.css (rl-*); generated by scripts/generate-kitchen-bathroom-pages.ts. */
.kb-hero{padding-top:36px;padding-bottom:56px}
.kb-hero .rl-intro-grid{grid-template-columns:1.1fr 1fr;gap:48px}
.kb-hero h1{font-size:clamp(34px,3.9vw,52px);margin:14px 0 16px}
.kb-promise{font-size:20px;line-height:1.55;color:var(--rl-body);max-width:560px;margin:0 0 28px}
.rl-page .kb-cta{padding:17px 30px;font-size:17px;border-radius:14px;box-shadow:0 8px 22px rgb(13 148 136 / 24%)}
.kb-ticks{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:24px 0 0;font-size:14.5px;color:var(--rl-body)}
.kb-ticks li{display:flex;align-items:center;gap:8px}.kb-ticks li::before{content:'';width:16px;height:16px;flex:none;border-radius:50%;background:var(--rl-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.9' fill='none' stroke='%230d9488' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.kb-visual{position:relative;margin:0 0 44px}
.kb-visual .kb-render{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--rl-line);box-shadow:0 18px 50px rgb(15 23 42 / 12%);background:var(--rl-soft)}
.kb-visual .kb-sheet{position:absolute;left:-28px;bottom:-48px;width:36%;background:#fff;border:1px solid var(--rl-line);border-radius:10px;box-shadow:0 14px 34px rgb(15 23 42 / 16%);padding:6px}
.kb-visual .kb-sheet img{display:block;width:100%;height:auto;border-radius:6px}
.kb-visual .kb-sheet span{position:absolute;top:-12px;right:12px;background:var(--rl-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:999px}
.kb-visual figcaption{font-size:13.5px;line-height:1.55;color:var(--rl-muted);margin:60px 0 0 calc(36% - 8px)}
.kb-band{background:var(--rl-soft);border-top:1px solid var(--rl-line);border-bottom:1px solid var(--rl-line)}
.kb-band>.rl-section{border-top:0}
.rl-section .kb-lead{font-size:18px!important;line-height:1.65!important;max-width:760px}
.kb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px;padding:0;list-style:none;counter-reset:kb}
.kb-steps li{counter-increment:kb;background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:24px;margin:0!important}
.kb-steps li::before{content:counter(kb);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--rl-accent);color:#fff;font-weight:700;margin-bottom:14px}
.kb-steps h3{margin:0 0 8px;font-size:19px;line-height:1.3}.kb-steps p{margin:6px 0!important;font-size:15.5px!important;line-height:1.7!important}
.kb-split{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.kb-split.kb-flip{grid-template-columns:1fr 1.1fr}.kb-split.kb-flip>figure{order:2}
.kb-list{padding-left:22px}.kb-list li{margin:8px 0!important}
.kb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.kb-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kb-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:22px;text-decoration:none!important;color:var(--rl-ink)!important;transition:border-color .15s,box-shadow .15s}
a.kb-card:hover{border-color:var(--rl-accent);box-shadow:0 6px 18px rgb(15 23 42 / 7%)}
.kb-card b{font-size:17px;line-height:1.35}.kb-card small{display:block;font-size:14.5px;line-height:1.6;color:var(--rl-body);margin-top:6px}.kb-card em{font-style:normal;color:var(--rl-accent);font-weight:600;font-size:14px;margin-top:auto;padding-top:12px}
.kb-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;align-items:stretch}
.kb-plan{background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:26px;margin:0}
.kb-plan.kb-plus{background:linear-gradient(160deg,#f0fdfa,#fff 60%);border-color:#99f6e4}
.kb-plan h3{margin:0;font-size:22px}.kb-plan .kb-price{font-size:15px;color:var(--rl-muted);margin:4px 0 12px!important}
.kb-plan ul{padding-left:20px;margin:0}.kb-plan li{font-size:15.5px!important;line-height:1.65!important;margin:6px 0!important}
.kb-plan .rl-button{margin-top:18px}
.kb-compare td:first-child,.kb-compare th:first-child{font-weight:600}
.kb-compare td,.kb-compare th{white-space:normal!important;vertical-align:top;line-height:1.55;min-width:150px}
.kb-compare th:nth-child(3),.kb-compare td:nth-child(3){background:#f0fdfa}
.kb-diagram{margin:26px 0;background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:18px}
.kb-diagram img{display:block;width:100%;height:auto}
.kb-diagram figcaption{font-size:14px;line-height:1.6;color:var(--rl-muted);margin-top:10px}
.kb-final{text-align:center;background:var(--rl-ink);color:#cbd5e1;border-radius:22px;padding:56px 32px;margin:24px auto 0}
.kb-final h2{color:#fff!important;margin:0 0 10px!important;font-size:34px}
.kb-final p{color:#cbd5e1!important;margin:0 auto 24px!important;max-width:560px}
.kb-final .rl-button{background:#14b8a6}.kb-final .rl-button:hover{background:#0d9488}
.kb-legal{font-size:14px!important;color:var(--rl-muted)!important;border-left:3px solid var(--rl-line);padding-left:14px}
.kb-verdict{background:var(--rl-tint);border:1px solid #99f6e4;border-radius:var(--rl-radius);padding:22px 24px;margin:24px 0}
.kb-verdict p{margin:6px 0!important}
.kb-num{font-variant-numeric:tabular-nums}
@media(max-width:1050px){.kb-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .kb-hero .rl-intro-grid,.kb-split,.kb-split.kb-flip,.kb-plans{grid-template-columns:1fr}
  .kb-split.kb-flip>figure{order:0}
  .kb-steps,.kb-cards{grid-template-columns:1fr}
  .kb-visual{margin-bottom:0}
  .kb-visual .kb-sheet{left:auto;right:10px;bottom:-30px;width:38%}
  .kb-visual figcaption{margin:14px 0 0;max-width:56%}
}
@media(max-width:540px){
  .kb-hero{padding-top:20px}
  .kb-promise{font-size:18px}
  .rl-page .kb-cta{width:100%}
  .kb-cards-4{grid-template-columns:1fr}
  .kb-final{padding:40px 20px;border-radius:18px}.kb-final h2{font-size:28px}
  .kb-compare td,.kb-compare th{min-width:130px}
}
/* Size-guide pieces shared with /kitchen-island-dimensions (which inlines them). */
.sp-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 24px;margin:28px 0;border-radius:var(--rl-radius);background:var(--rl-tint);border:1px solid var(--rl-line)}
.sp-cta p{margin:0!important;max-width:620px}
.sp-fig{margin:28px 0;background:var(--rl-soft);border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:18px}
.sp-fig img{display:block;width:100%;height:auto;border-radius:10px}
.sp-fig figcaption{font-size:14px;line-height:1.6;color:var(--rl-muted);margin-top:12px}
.sp-fig-wide{max-width:760px}
.rl-section h3{font-size:19px;margin:26px 0 6px}
@media(max-width:540px){.rl-table td,.rl-table th{white-space:normal}.sp-fig{padding:10px}}
.kb-diagram img{max-width:780px;margin:0 auto}
.kb-chips{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0!important;margin:18px 0 22px}
.kb-chips li{margin:0!important;background:#fff;border:1px solid var(--rl-line);border-radius:12px;padding:10px 12px;line-height:1.3!important}
.kb-chips b{display:block;font-size:15.5px;color:var(--rl-ink)}.kb-chips small{display:block;font-size:13px;color:var(--rl-muted)}
@media(max-width:700px){.kb-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
  .kb-compare thead{display:none}
  .kb-compare,.kb-compare tbody,.kb-compare tr,.kb-compare td{display:block;width:100%;min-width:0!important}
  .kb-compare tr{border:1px solid var(--rl-line);border-radius:12px;margin:0 0 12px;overflow:hidden}
  .kb-compare td{border-bottom:1px solid var(--rl-line);padding:10px 14px!important}
  .kb-compare td:last-child{border-bottom:0}
  .kb-compare td:first-child{background:var(--rl-soft);font-size:15px}
  .kb-compare td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rl-muted);margin-bottom:2px}
}
