/* Раздел стилей: 03-sections.css */
.gallery figcaption{position:absolute;inset:auto 0 0;min-height:100px;padding:38px 18px 17px;background:linear-gradient(transparent,rgba(4,10,16,.9));color:white;display:flex;flex-direction:column;gap:2px}
.gallery figcaption strong{font-weight:800;font-size:13px}
.gallery figcaption span{font-size:11px;color:#c5ced8}
.steps-section{background:#14202b;color:white;padding:72px 0}
.steps-section .section-title>p{color:#aeb9c5}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.steps article{border-top:2px solid var(--orange);padding:19px 18px 10px;background:#192936}
.steps b{font:600 36px var(--display);color:var(--orange)}
.steps h3{font:700 17px var(--font);margin:11px 0}
.steps p{font-size:12px;color:#b2bfcc;line-height:1.7;max-width:320px}
.faq-list{border-top:1px solid var(--line);max-width:900px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{font-size:15px;font-weight:800;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--orange2);font-size:23px;font-weight:400}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0 0 21px;font-size:12px;color:var(--muted);max-width:690px}
.booking-section{background:#111b25;color:#fff;padding:83px 0}
.booking-grid{display:grid;grid-template-columns:.82fr 1.1fr;gap:75px;align-items:start}
.booking-copy h2{font-size:clamp(46px,4.9vw,69px);line-height:1.05;text-transform:uppercase}
.booking-copy h2 span{color:var(--orange)}
.booking-copy>p:not(.overline){max-width:380px;color:#aebac7;font-size:13px;line-height:1.8}
.booking-info{display:grid;gap:18px;margin-top:34px}
.booking-info>div{display:flex;gap:17px;align-items:start}
.booking-info b{font-size:19px;color:var(--orange);width:24px;text-align:center}
.booking-info span{display:flex;flex-direction:column}
.booking-info strong{font-size:12px}
.booking-info small{max-width:310px;color:#9eabb7;font-size:11px}
.booking-form{background:#fff;color:#111b25;padding:35px 36px;box-shadow:0 22px 65px rgba(0,0,0,.12)}
.form-badge{color:var(--orange2);letter-spacing:.15em;font-size:9px;font-weight:800;margin-bottom:12px}
.booking-form h3{font:600 32px var(--display);text-transform:uppercase;margin-bottom:22px}
.booking-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;margin-bottom:13px}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #dfe4e8;background:#f8f9fa;color:#14202b;border-radius:0;padding:13px 14px;font-weight:500;font-size:12px;min-width:0}
.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{background:#fff;border-color:var(--orange)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.submit{width:100%;min-height:50px;margin-top:8px}
.form-hint{color:#798690;font-size:10px;line-height:1.6;margin:14px 0 0}
.feedback{margin-top:14px;padding:12px;background:#e9f7ef;color:#20623d;font-size:12px}
.footer{background:#0b141c;color:#fff;border-top:1px solid rgba(255,255,255,.1);padding:26px 0}
.footer-layout{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-layout>p{color:#aab6c3;font-size:10px;margin:0;max-width:380px}
.footer-layout>a{font-size:11px;color:#f6a476}
.footer-layout>a:hover{text-decoration:underline}
