/* Bath offer: one price overview on the home page and a compact booking form. */
.kv-bath-teaser{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:center;gap:clamp(28px,4vw,70px);padding:clamp(28px,4vw,52px);background:#e9eee8}
.kv-bath-teaser h3{font-size:clamp(36px,3.2vw,54px);line-height:1.05;letter-spacing:-.045em;margin:14px 0 16px}
.kv-bath-teaser p{font-size:clamp(15px,1.2vw,18px);line-height:1.55;max-width:660px}
.kv-bath-teaser-action{gap:0;align-self:stretch;justify-content:center}
.kv-bath-teaser-action>div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;width:100%;padding:12px 0;border-bottom:1px solid #cad5c8}
.kv-bath-teaser-action>div span{font-size:15px;color:#425a47}
.kv-bath-teaser-action>div strong{font-size:19px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.kv-bath-teaser-action a{display:inline-block;margin-top:21px;font-size:15px}

.kv-bath-section{padding:clamp(30px,4vw,56px);background:#f1f3ee}
.kv-bath-heading{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:end;gap:32px}
.kv-bath-heading h2{font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-.055em}
.kv-bath-lead p{font-size:16px;line-height:1.6}
.kv-bath-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:43px 0 0}
.kv-bath-menu-card{min-width:0;padding:28px 30px 12px;border:1px solid #dce4da;border-radius:17px;background:#fff}
.kv-bath-menu-card h3{font-size:clamp(26px,2.5vw,34px);line-height:1.1;letter-spacing:-.04em;margin:12px 0 21px}
.kv-bath-menu-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:15px 0;border-top:1px solid #e9ede7;font-size:15px;line-height:1.35}
.kv-bath-menu-row strong{flex:0 0 auto;color:#244231;white-space:nowrap;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.kv-bath-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:45px;padding:37px 0;border-top:1px solid #d9e1d7}
.kv-bath-notes h3{font-size:clamp(25px,2.7vw,37px);line-height:1.14;letter-spacing:-.04em;margin:13px 0}
.kv-bath-notes p{max-width:510px;color:#607061;font-size:15px;line-height:1.6}
.kv-bath-notes .kv-bath-menu-row{max-width:470px;padding:10px 0;font-size:14px}
.kv-bath-arrival{margin:0;padding:30px 34px;align-items:center}
.kv-bath-arrival h3{font-size:clamp(27px,3vw,37px)}
.kv-bath-arrival p{font-size:15px;line-height:1.5}

/* Group headings sit above their choices; fieldset borders never cross the legend. */
.bk-extras.is-bath-menu{gap:22px}
.bk-option-group{border:0;border-radius:0;background:transparent;overflow:visible;padding:0;margin:0;min-inline-size:0}
.bk-option-group legend{display:block;float:none;width:auto;margin:0 0 10px;padding:0;color:#546d59;font-size:12px;line-height:1.4;letter-spacing:.07em}
.bk-option-subtitle{margin:20px 0 8px;padding:0;color:#708271;font-size:11px;line-height:1.4}
.bk-extras.is-bath-menu label.bk-offer-row{gap:15px;margin-top:-1px;padding:15px 17px;border:1px solid #dfe7dc;background:#fff;min-height:60px}
.bk-extras.is-bath-menu label.bk-offer-row:first-of-type,.bk-option-subtitle+label.bk-offer-row{border-radius:12px 12px 0 0}
.bk-extras.is-bath-menu label.bk-offer-row:last-child{border-radius:0 0 12px 12px}
.bk-extras.is-bath-menu label.bk-offer-row:has(input:checked){position:relative;z-index:1;background:#eaf1e8;border-color:#9db69e}
.bk-extras.is-bath-menu label.bk-offer-row:has(input:focus-visible){outline:2px solid #3f6b47;outline-offset:2px;z-index:2}
.bk-extras.is-bath-menu .bk-offer-row b{font-size:14px;font-weight:500}
.bk-offer-price{margin-left:auto;font-size:14px;font-weight:600}
.bk-extras.is-bath-menu label.bk-prep-row{margin-top:0;padding:18px;border-radius:12px}
.bk-extras.is-bath-menu label.bk-prep-row b{font-size:15px}
.bk-extras.is-bath-menu label.bk-prep-row small{font-size:12px}
.bk-pet-section{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:26px;padding:22px 23px;border:1px solid #dce5da;border-radius:13px;background:#eef3ec}
.bk-pet-section h3{font-size:22px;line-height:1.15;margin:8px 0}
.bk-pet-section p{max-width:370px;color:#627463;font-size:13px;line-height:1.5}
.bk-pet-section label{display:flex;flex-direction:column;gap:9px;flex:0 0 130px;color:#546b59;font-size:12px;font-weight:600}
.bk-pet-section input{width:100%;height:48px;border:1px solid #bfcebf;border-radius:9px;background:#fff;padding:0 14px;color:#223c2b;font-family:inherit;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.bk-pet-section input:focus-visible{outline:2px solid #4d7755;outline-offset:2px}
.bk-service-total>div{font-size:13px}
.bk-service-total b{font-size:19px}

@media(max-width:780px){
  .kv-bath-teaser,.kv-bath-heading{display:block}
  .kv-bath-teaser-action{margin-top:25px}
  .kv-bath-section{padding:31px 23px}
  .kv-bath-lead{margin-top:20px}
  .kv-bath-menu-grid,.kv-bath-notes{grid-template-columns:1fr;gap:13px}
  .kv-bath-menu-grid{margin-top:29px}
  .kv-bath-notes{gap:28px;margin-top:33px}
  .kv-bath-arrival{margin-top:0}
}
@media(max-width:480px){
  .kv-bath-menu-card{padding:23px 21px 10px}
  .kv-bath-menu-row{font-size:13px;gap:11px}
  .kv-bath-menu-row strong{font-size:14px}
  .kv-bath-teaser-action>div span{font-size:13px}
  .kv-bath-teaser-action>div strong{font-size:16px}
  .bk-offer-price{font-size:13px}
  .bk-extras.is-bath-menu label.bk-offer-row{padding:13px 12px;gap:10px}
  .bk-extras.is-bath-menu .bk-offer-row b{font-size:13px}
  .bk-pet-section{display:block;padding:20px}
  .bk-pet-section label{margin-top:16px;max-width:150px}
}
.kv-bath-menu-card p{font-size:16px;line-height:1.55;color:#677768;margin:0 0 20px}
.kv-bath-menu-row small{display:block;font-size:12px;line-height:1.4;color:#758375;margin-top:4px}
