/* CECIL Official v1.0.90 — reservation page refinements */
/* =========================================================
   v1.0.50 — /reservation/ 店舗予約
========================================================= */
.reservation-page{background:#F7F3EA;color:#756A5D}
.reservation-page .container{width:min(calc(100% - 34px),1180px)}
.reservation-narrow{width:min(100%,940px);margin-inline:auto}
.reservation-hero-media img{object-position:center 42%!important;filter:saturate(.84) brightness(.68)}
.reservation-intro .cecil-hero-detail-lead{max-width:760px!important}

/* v1.0.81 reservation phone recommendation */
.reservation-phone-recommend{display:flex;align-items:center;justify-content:center;gap:10px;width:min(100%,620px);margin:20px auto 0;padding:13px 18px;border:1px solid rgba(201,216,166,.55);background:linear-gradient(135deg,#FAF7EF,#F7F3EA);box-shadow:0 10px 28px rgba(75,66,56,.07);color:#756A5D;text-align:center}
.reservation-phone-recommend svg{width:19px;height:19px;flex:0 0 auto;color:#C9D8A6}
.reservation-phone-recommend strong{font-size:.88rem;line-height:1.55;letter-spacing:.02em}
.reservation-phone-recommend:hover{border-color:#C9D8A6;background:#FAF7EF}
@media(max-width:760px){.reservation-phone-recommend{margin-top:17px;padding:12px 13px;gap:8px}.reservation-phone-recommend strong{font-size:.78rem}}
.reservation-dispatch-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:min(100%,820px);margin:28px auto 0;padding:16px 18px;border:1px solid rgba(201,216,166,.35);background:#FAF7EF;text-align:left}
.reservation-dispatch-note>span{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:7px 9px;background:#756A5D;color:#EAE2D3;font-size:.62rem;letter-spacing:.16em}
.reservation-dispatch-note p{margin:0;color:#4B4238;font-size:.8rem;line-height:1.75}
.reservation-dispatch-note a{display:inline-flex;align-items:center;gap:8px;color:#C9D8A6;font-size:.78rem;font-weight:700;white-space:nowrap}
.reservation-form-section{padding:82px 0 92px;background:linear-gradient(180deg,#F7F3EA 0%,#F7F3EA 100%)}
.reservation-section-head{text-align:center;max-width:760px;margin:0 auto 34px}
.reservation-section-head>span{display:block;color:#C9D8A6;font-size:.72rem;letter-spacing:.22em;margin-bottom:10px}
.reservation-section-head h2{margin:0;color:#756A5D;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,3.1vw,3rem);font-weight:500;line-height:1.4}
.reservation-section-head p{margin:14px auto 0;color:#4B4238;font-size:.9rem;line-height:1.9}
.reservation-form-shell{position:relative;padding:34px 34px 38px;border:1px solid rgba(117,106,93,.14);background:#FAF7EF;box-shadow:0 24px 60px rgba(102,93,82,.08)}
.reservation-form-shell:before{content:"";display:block;width:46px;height:1px;margin:0 auto 28px;background:#C9D8A6}
.reservation-form-shell form{margin:0!important}.reservation-form-shell label{color:#756A5D;font-weight:600;line-height:1.6}
.reservation-form-shell input[type="text"],.reservation-form-shell input[type="email"],.reservation-form-shell input[type="tel"],.reservation-form-shell input[type="date"],.reservation-form-shell input[type="time"],.reservation-form-shell input[type="number"],.reservation-form-shell select,.reservation-form-shell textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(117,106,93,.22);border-radius:0;background:#FAF7EF;color:#756A5D;font:inherit;box-shadow:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.reservation-form-shell textarea{min-height:130px;resize:vertical}.reservation-form-shell input:focus,.reservation-form-shell select:focus,.reservation-form-shell textarea:focus{border-color:#C9D8A6;box-shadow:0 0 0 3px rgba(201,216,166,.12)}
.reservation-form-shell button,.reservation-form-shell input[type="submit"],.reservation-form-shell .button{min-height:54px;padding:13px 26px;border:1px solid #C9D8A6;border-radius:0;background:#C9D8A6;color:#FAF7EF;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.reservation-form-shell button:hover,.reservation-form-shell input[type="submit"]:hover,.reservation-form-shell .button:hover{transform:translateY(-1px);background:#C9D8A6;border-color:#C9D8A6}
.reservation-form-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.reservation-form-help>div{padding:16px 14px;border:1px solid rgba(117,106,93,.1);background:#FAF7EF;text-align:center}.reservation-form-help svg{width:22px;height:22px;color:#C9D8A6}.reservation-form-help strong{display:block;margin-top:8px;color:#756A5D;font-size:.84rem}.reservation-form-help small{display:block;margin-top:5px;color:#736C62;font-size:.7rem;line-height:1.7}
.reservation-before{padding:82px 0;background:#FAF7EF}.reservation-location-section{padding-top:0}.reservation-before-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.reservation-before-grid article{position:relative;padding:26px 22px;border:1px solid rgba(117,106,93,.12);background:#FAF7EF}.reservation-before-grid b{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(201,216,166,.5);border-radius:50%;color:#C9D8A6;font-size:.72rem}.reservation-before-grid h3{margin:18px 0 8px;color:#756A5D;font-family:Georgia,"Yu Mincho",serif;font-size:1.2rem;font-weight:500}.reservation-before-grid p{margin:0;color:#4B4238;font-size:.82rem;line-height:1.85}
.reservation-access-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid rgba(117,106,93,.12);background:#FAF7EF;box-shadow:0 20px 48px rgba(102,93,82,.06)}.reservation-access-copy{padding:34px 30px;display:flex;flex-direction:column;justify-content:center}.reservation-access-copy>span{font-size:.7rem;letter-spacing:.2em;color:#C9D8A6}.reservation-access-copy h2{margin:10px 0 16px;color:#756A5D;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.7rem,2.6vw,2.5rem);font-weight:500}.reservation-access-copy dl{margin:0;display:grid;gap:10px}.reservation-access-copy dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(117,106,93,.09)}.reservation-access-copy dt{color:#C9D8A6;font-size:.75rem;font-weight:700}.reservation-access-copy dd{margin:0;color:#4B4238;font-size:.82rem;line-height:1.75}.reservation-access-copy a.reservation-access-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:13px 15px;border:1px solid rgba(117,106,93,.16);color:#756A5D;font-size:.8rem}.reservation-access-visual{min-height:360px}.reservation-access-visual img{width:100%;height:100%;object-fit:cover}
.reservation-final{padding:80px 0;background:linear-gradient(180deg,#665D52 0%,#665D52 100%);color:#FAF7EF;text-align:center}.reservation-final>div>span{font-size:.7rem;letter-spacing:.24em;color:#C9D8A6}.reservation-final h2{margin:12px 0 14px;color:#FAF7EF;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2rem,3vw,3rem);font-weight:500;line-height:1.45}.reservation-final p{margin:0 auto;color:rgba(250,247,239,.82);font-size:.9rem;line-height:1.9}.reservation-final-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:26px}.reservation-final-actions .btn{min-width:220px}
@media(max-width:900px){.reservation-before-grid{grid-template-columns:1fr}.reservation-access-card{grid-template-columns:1fr}.reservation-access-visual{min-height:280px}.reservation-form-help{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.reservation-page .container{width:calc(100% - 24px)}.reservation-form-section,.reservation-before{padding:50px 0}.reservation-location-section{padding-top:0}.reservation-section-head{margin-bottom:24px}.reservation-section-head h2{font-size:1.55rem}.reservation-section-head p{font-size:.75rem}.reservation-dispatch-note{grid-template-columns:1fr;gap:8px;padding:14px;text-align:center}.reservation-dispatch-note>span{justify-self:center}.reservation-dispatch-note a{justify-content:center}.reservation-form-shell{padding:24px 16px 28px}.reservation-form-help{grid-template-columns:1fr}.reservation-before-grid article{padding:22px 18px}.reservation-access-copy{padding:28px 20px}.reservation-access-copy h2{font-size:1.45rem}.reservation-access-copy dl>div{grid-template-columns:70px 1fr}.reservation-access-visual{min-height:220px}.reservation-final{padding:54px 0}.reservation-final-actions{flex-direction:column}.reservation-final-actions .btn{width:100%;min-width:0}}



.reservation-final-flow-link{display:inline-flex;margin-top:18px;color:#C9D8A6;font-size:.78rem;font-weight:700;letter-spacing:.025em;text-decoration:none}
.reservation-final-flow-link:hover{color:#F7F3EA}
@media(max-width:760px){.reservation-final-flow-link{margin-top:16px;font-size:.74rem}}
