/* ReHeart Booking Guide — scoped layout, 2026-11 */
.booking-page .lp-hero{padding:clamp(28px,3.2vw,40px)}
.booking-page .lp-hero h1{margin-bottom:13px;line-height:1.45}
.booking-page .lp-hero__aside{min-height:170px;padding:22px 26px}
.booking-page .lp-hero__aside p{font-size:clamp(17px,1.9vw,23px);line-height:1.7;margin:12px 0}
.booking-page .lp-page{max-width:1190px}
.booking-page .booking-intro{margin:32px auto 0;max-width:910px}
.booking-page .booking-intro__title{margin:0 0 9px;color:#294c39;font:600 clamp(21px,2.5vw,27px)/1.65 "Shippori Mincho",serif}
.booking-page .booking-intro__desc{margin:0 0 17px;font-size:13px;line-height:2;color:#687e6d}
.booking-page .booking-banners{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:17px 0 18px;align-items:stretch}
.booking-page .booking-banner{min-width:0;border-radius:19px;border:1px solid #dce3d6;box-shadow:0 11px 30px #254b3510;padding:26px 27px;position:relative;overflow:hidden}
.booking-page .booking-banner--web{display:flex;flex-direction:column;text-decoration:none;color:#fff!important;background:linear-gradient(130deg,#294c39,#3b684b);border-color:#315940}
.booking-page .booking-banner--web:after{content:"";position:absolute;right:-56px;top:-64px;width:240px;height:240px;border-radius:50%;border:1px solid #ffffff38;box-shadow:0 0 0 30px #ffffff0a,0 0 0 62px #ffffff0a;pointer-events:none}
.booking-page .booking-banner--line{background:linear-gradient(120deg,#f4f7ed,#fdfdf8);border-color:#cfdcca;display:flex;flex-direction:column}
.booking-page .booking-banner__eyebrow{font:600 11px/1.5 Georgia,serif;letter-spacing:.18em;margin-bottom:13px;color:inherit;opacity:.75}
.booking-page .booking-banner__title{display:block;color:inherit;font:600 clamp(22px,2.3vw,29px)/1.5 "Shippori Mincho",serif;letter-spacing:.02em;margin-bottom:7px}
.booking-page .booking-banner--line{text-decoration:none;color:#315642}
.booking-page .booking-banner--line:hover .booking-banner__cta{background:#e4eee0}
.booking-page .booking-banner--line .booking-banner__title{color:#315642}
.booking-page .booking-banner__text{font-size:12px;line-height:1.95;margin:0 0 17px;color:inherit}
.booking-page .booking-banner--line .booking-banner__text{color:#637e69}
.booking-page .booking-banner__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;align-self:flex-start;border-radius:999px;padding:10px 19px;background:#fffdf6;color:#2d563d;font-size:13px;font-weight:700;text-decoration:none}
.booking-page .booking-banner--web:hover .booking-banner__cta{background:#e9f2e4}
.booking-page .booking-banner:focus-within,.booking-page a.booking-banner:focus-visible{outline:3px solid #b09b69;outline-offset:3px}
.booking-page .booking-quick-note{margin:8px 0 0;color:#7a8d7c;font-size:11px;line-height:1.95}
.booking-page .booking-toc.lp-toc{max-width:900px;margin-top:31px}
.booking-page .booking-flow{counter-reset:booking;margin:28px 0}
.booking-page .booking-flow__item{display:grid;grid-template-columns:68px 1fr;gap:17px;margin-bottom:12px;padding:24px 24px;border:1px solid #dce6dc;border-radius:15px;background:#fffefa}
.booking-page .booking-flow__num{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #c8d6c7;border-radius:50%;background:#f3f7f1;font:600 20px Georgia,serif;color:#54715b}
.booking-page .booking-flow__body h3{margin:2px 0 9px;font:600 19px/1.6 "Shippori Mincho",serif;color:#30543f}
.booking-page .booking-flow__body p{font-size:13px;line-height:2.1;color:#637566;margin:0}
.booking-page .booking-flow__body p+p{margin-top:10px}
.booking-page .booking-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.booking-page .booking-select__card{padding:20px 21px;border-radius:12px;border:1px solid #e0e7dc;background:#f8faf6}
.booking-page .booking-select__card span{display:block;font:600 10px Georgia,serif;letter-spacing:.14em;color:#9e8866}
.booking-page .booking-select__card h4{font:600 16px/1.55 "Shippori Mincho",serif;margin:9px 0 8px;color:#325540}
.booking-page .booking-select__card p{font-size:12px;line-height:1.9;margin:0;color:#617568}
.booking-page .booking-select__card a{display:inline-block;margin-top:8px;color:#2d664b;text-underline-offset:4px;font-size:12px;font-weight:600}
.booking-page .booking-navi{position:relative;border:2px solid #9aaf95;border-radius:17px;padding:28px;margin:29px 0;background:linear-gradient(115deg,#f3f7ed,#fffdf7)}
.booking-page .booking-navi__eyebrow{display:inline-block;padding:5px 12px;border-radius:999px;background:#365b43;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:11px}
.booking-page .booking-navi h3{font:600 clamp(20px,2.3vw,25px)/1.6 "Shippori Mincho",serif;color:#2d513e;margin:0 0 12px}
.booking-page .booking-navi p{font-size:13px;line-height:2.05;color:#526b59;margin:0 0 14px}
.booking-page .booking-navi__choice{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;margin:16px 0;padding:14px 17px;border-radius:10px;border:1px solid #c4d4c1;background:#fffefa;font-size:12px;color:#315441}
.booking-page .booking-navi__choice span{display:inline-block;padding:6px 11px;border-radius:8px;background:#e7f0e3;font-weight:700}
.booking-page .booking-navi__choice strong{font-weight:800}
.booking-page .booking-navi__warning{border-left:4px solid #bb9e69;padding:12px 15px;background:#fff8e9;border-radius:0 8px 8px 0;color:#705939;font-size:13px;line-height:1.9}
.booking-page .booking-navi__warning strong{color:#6a4b22}
.booking-page .booking-navi__more{display:inline-block;margin-top:16px;color:#366047;font-size:12px;font-weight:700;text-underline-offset:4px}
.booking-page .booking-mini{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.booking-page .booking-mini span{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:#eef3eb;border:1px solid #d5e0d2;font-size:11px;color:#3d5c46}
.booking-page .booking-faq .lp-faq details{margin:0}
.booking-page .booking-bottom-cta{margin-top:30px}
.booking-page .booking-disclaimer{margin:10px 0 18px;color:#7c8f7e;font-size:11px;line-height:2}
@media(max-width:780px){.booking-page .lp-hero__aside{display:none}.booking-page .booking-banners{grid-template-columns:1fr}.booking-page .booking-banner{padding:23px 22px}.booking-page .booking-banner--web:after{width:170px;height:170px;right:-65px;top:-15px}}
@media(max-width:620px){.booking-page .booking-flow__item{grid-template-columns:1fr;gap:10px;padding:20px}.booking-page .booking-flow__num{width:43px;height:43px;font-size:17px}.booking-page .booking-select{grid-template-columns:1fr}.booking-page .booking-navi{padding:22px 18px}.booking-page .booking-navi__choice{padding:12px}.booking-page .booking-quick-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){a.booking-banner{transition:none}}
