/* SPA R7L detail page: visual only; Vue bindings untouched */
body{background:#f9faf9;color:#1a2d34}
.spa-container{max-width:1260px!important;margin:auto!important;padding:22px 20px 90px!important}
.r7l-breadcrumb{display:flex;gap:12px;align-items:center;font-size:13px;color:#74828a;margin:20px 0 22px}
.r7l-breadcrumb a{color:#24875b;text-decoration:none;font-weight:700}
.r7l-section-title{display:flex;align-items:center;justify-content:space-between;margin:12px 0 18px;font-weight:800;color:#182f32;font-size:19px}
.r7l-section-title a{font-size:13px;color:#23885b;text-decoration:none;border:1px solid #b7dac8;border-radius:9px;padding:9px 14px}
.spa-header{background:white!important;border:1px solid #e7ece9!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 8px 26px #173b2610!important;gap:25px!important;padding:18px!important}
.spa-cover{border-radius:15px!important;overflow:hidden!important;min-height:270px}
.spa-cover img{width:100%!important;height:100%!important;min-height:270px;max-height:470px;object-fit:cover!important}
.spa-info{padding:12px!important;min-width:0}
.spa-info h1{font-size:clamp(26px,3vw,36px)!important;line-height:1.25!important;color:#142b31!important;margin:0 0 18px!important}
.spa-info>div{margin:9px 0;color:#586973;line-height:1.65}
.spa-info p{color:#43545b;line-height:1.85;overflow-wrap:anywhere}
.spa-gallery{margin:20px 0 28px!important}.spa-gallery-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.spa-gallery-grid a{aspect-ratio:1.5;display:block;overflow:hidden;border-radius:13px!important;background:#e9efeb}
.spa-gallery-grid img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .25s}.spa-gallery-grid a:hover img{transform:scale(1.05)}
.r7l-intro-note{display:flex;gap:14px;align-items:center;background:#edf7f0;border:1px solid #d6eadc;border-radius:15px;padding:20px 24px;margin:20px 0 24px;color:#37634b;line-height:1.7}
.r7l-intro-note strong{font-size:17px;white-space:nowrap;color:#21774e}.r7l-intro-note span{font-size:14px}
.calendar-box{max-width:950px!important;margin:0 auto!important;display:grid!important;gap:16px!important}
.booking-card{border:1px solid #e5ede8!important;border-radius:17px!important;background:white!important;box-shadow:0 7px 25px #173b260b!important;padding:24px!important;margin:0!important}
.booking-card h2{font-size:20px!important;color:#182e33!important}
.booking-field input,.booking-field select,.time-select{min-height:46px!important;border:1px solid #dce7e1!important;border-radius:10px!important;background:white!important}
.booking-field input:focus,.booking-field select:focus{outline:2px solid #a5d6b8!important;border-color:#23875b!important}
.fee-total{background:#edf8f1!important;border-radius:12px!important;padding:16px!important;color:#167a4d!important;font-weight:800!important}
.reserve-btn{background:#21875a!important;border-radius:12px!important;min-height:52px!important;font-weight:800!important;box-shadow:0 8px 18px #2084552a!important}
.reserve-btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.spa-container{padding:12px 14px 70px!important}.spa-header{display:block!important}.spa-cover{min-height:210px}.spa-cover img{min-height:210px}.spa-info{padding:15px 5px!important}.spa-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.r7l-intro-note{display:block;padding:16px}.r7l-intro-note strong{display:block;margin-bottom:6px}.booking-card{padding:18px!important}.r7l-section-title{font-size:16px}}
