/* Johnny B's 2.0.12 | Scoped official LINE benefit panels. */
body.jb-design-v19 .jb-line-offer{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(22px,4vw,55px);max-width:1110px;margin-inline:auto;padding:clamp(20px,3vw,38px);border:2px solid #efe4db;border-radius:23px;background:#fff;box-shadow:0 12px 34px rgba(30,30,30,.06)}
body.jb-design-v19 .jb-line-offer-art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:14px;display:block;box-shadow:0 7px 20px rgba(32,40,48,.13)}
body.jb-design-v19 .jb-line-art-note{font-size:11px;line-height:1.7;color:#667078;margin:10px 0 0;text-align:center}
body.jb-design-v19 .jb-line-offer-info{min-width:0}
body.jb-design-v19 .jb-line-offer-info>.jb-script{font-size:clamp(25px,2.9vw,35px);margin:0 0 3px;color:#247cbd}
body.jb-design-v19 .jb-line-offer h2{color:#d20d43;font:900 clamp(38px,4.7vw,64px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:.015em;margin:0 0 16px}
body.jb-design-v19 .jb-line-offer h2 span{display:block;font-size:clamp(27px,3.05vw,43px);margin-top:10px}
body.jb-design-v19 .jb-line-offer-lead{font-weight:800;font-size:clamp(14px,1.45vw,18px);line-height:1.65;color:#202830;margin:0 0 18px}
body.jb-design-v19 .jb-line-plan-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 20px}
body.jb-design-v19 .jb-line-plan-values>div{border:1.5px solid #e8dfe0;border-radius:12px;padding:12px 9px 10px;background:#f8f7ed;text-align:center;min-width:0}
body.jb-design-v19 .jb-line-plan-values span{display:block;font-size:12px;font-weight:900;color:#202830}
body.jb-design-v19 .jb-line-plan-values small{display:block;margin-top:5px;font-size:11px;text-decoration:line-through;color:#6f7376}
body.jb-design-v19 .jb-line-plan-values strong{display:block;color:#d20d43;font:900 clamp(29px,3.25vw,43px)/1.1 'Barlow Condensed',Impact,sans-serif;margin-top:4px}
body.jb-design-v19 .jb-line-steps{counter-reset:steps;list-style:none!important;padding:0;margin:0 0 20px;display:grid;gap:10px}
body.jb-design-v19 .jb-line-steps li{position:relative;padding:0 0 0 39px;margin:0;font-size:13px;line-height:1.55;color:#333}
body.jb-design-v19 .jb-line-steps li::before{counter-increment:steps;content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;background:#247cbd;color:#fff;width:29px;height:29px;border-radius:50%;text-align:center;line-height:29px;font:bold 12px/29px 'DM Sans',sans-serif}
body.jb-design-v19 .jb-line-main-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 12px;min-height:54px;background:#06c755;color:#fff!important;border-radius:999px;font-size:clamp(12px,1.4vw,16px);font-weight:900;text-decoration:none;transition:filter .2s,transform .2s}
body.jb-design-v19 .jb-line-main-btn:hover{filter:brightness(.92);transform:translateY(-1px)}
body.jb-design-v19 .jb-line-main-btn:focus-visible{outline:3px solid #247cbd;outline-offset:3px}
body.jb-design-v19 .jb-line-offer-terms{font-size:11px;line-height:1.75;color:#5b6469;margin:14px 0 0}
body.jb-design-v19 .jb-line-offer-terms strong{color:#202830}
body.jb-design-v19 .jb-course-booking-cta.jb-line-course-wrapper{max-width:none;background:transparent;border:none;margin:40px auto 0;padding:0;text-align:left}
body.jb-design-v19 .jb-line-home-section{padding-top:70px;padding-bottom:70px}
body.jb-design-v19 .jb-line-booking-section .jb-line-offer{max-width:1040px}
@media(max-width:760px){
 body.jb-design-v19 .jb-line-offer{grid-template-columns:1fr;gap:23px;padding:17px;border-radius:16px}
 body.jb-design-v19 .jb-line-offer-art{max-width:540px;margin:auto;width:100%}
 body.jb-design-v19 .jb-line-offer h2{font-size:clamp(36px,9.2vw,51px)}
 body.jb-design-v19 .jb-line-offer h2 span{font-size:clamp(27px,6.9vw,37px)}
 body.jb-design-v19 .jb-line-plan-values strong{font-size:clamp(31px,7.6vw,42px)}
 body.jb-design-v19 .jb-line-steps li{font-size:12px}
 body.jb-design-v19 .jb-line-home-section{padding-top:40px;padding-bottom:40px}
}
@media(max-width:370px){body.jb-design-v19 .jb-line-plan-values span{font-size:11px}body.jb-design-v19 .jb-line-main-btn{font-size:12px}}

/* v2.0.13 dual-channel reservation buttons (same coupon conditions). */
body.jb-design-v19 .jb-booking-choice-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:8px}
body.jb-design-v19 .jb-booking-choice-actions>a{min-width:0;min-height:55px;padding:13px 12px;white-space:normal;line-height:1.3;text-align:center}
body.jb-design-v19 .jb-booking-choice-actions .jb-web-main-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:#d20d43;color:#fff;text-decoration:none;border-radius:99px;font-size:clamp(12px,1.4vw,16px);font-weight:900;transition:filter .2s,transform .2s}
body.jb-design-v19 .jb-booking-choice-actions .jb-web-main-btn:hover{filter:brightness(.9);transform:translateY(-1px)}
body.jb-design-v19 .jb-web-unavailable{display:flex;align-items:center;justify-content:center;text-align:center;background:#e5e6e8;border-radius:99px;color:#667078;font-size:12px;font-weight:700;padding:10px}
body.jb-design-v19 .jb-booking-embedded{max-width:1060px;margin:26px auto 0}
body.jb-design-v19 .jb-booking-embedded .jblr-wrap{max-width:100%}
@media (max-width:630px){body.jb-design-v19 .jb-booking-choice-actions{grid-template-columns:1fr}}
