/* MAKI V61 — Inline appointment flow + doctor portrait gallery */
:root{
  --maki-v61-ink:#20251d;
  --maki-v61-green:#334e22;
  --maki-v61-green-2:#49623a;
  --maki-v61-soft:#f5f4ee;
  --maki-v61-paper:#fbfaf6;
  --maki-v61-line:rgba(51,78,34,.16);
  --maki-v61-muted:#6c7168;
}

.maki-inline-booking{position:relative;padding:112px 0;background:#f7f6f1;overflow:hidden;isolation:isolate}
.maki-inline-booking:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 6% 18%,rgba(85,110,66,.11),transparent 32%),radial-gradient(circle at 92% 82%,rgba(179,166,132,.12),transparent 30%);pointer-events:none;z-index:-1}
.maki-inline-booking .container{max-width:1500px}
.maki-inline-booking-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(640px,1.08fr);gap:34px;align-items:stretch}
.maki-inline-booking-visual{position:relative;min-height:760px;border-radius:34px;overflow:hidden;background:#e8e8e1;box-shadow:0 26px 70px rgba(40,48,34,.11)}
.maki-inline-booking-image{position:absolute;margin:0;overflow:hidden}
.maki-inline-booking-image img{display:block;width:100%;height:100%;object-fit:cover}
.maki-inline-booking-image.is-main{inset:0}
.maki-inline-booking-image.is-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,35,16,.06) 10%,rgba(21,35,16,.12) 45%,rgba(21,35,16,.7) 100%)}
.maki-inline-booking-image.is-detail{right:30px;bottom:30px;width:38%;height:190px;border:7px solid rgba(250,249,244,.94);border-radius:24px;box-shadow:0 18px 44px rgba(20,29,17,.2);z-index:2}
.maki-inline-booking-image.is-detail-two{right:32px;top:32px;width:30%;height:150px;border:6px solid rgba(250,249,244,.92);border-radius:20px;box-shadow:0 14px 34px rgba(20,29,17,.16);z-index:2;transform:rotate(1.3deg)}
.maki-inline-booking-copy{position:absolute;left:46px;right:46px;bottom:47px;z-index:3;color:#fff;padding-right:38%}
.maki-inline-booking-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.13em}
.maki-inline-booking-eyebrow:before{content:"";width:28px;height:1px;background:rgba(255,255,255,.72)}
.maki-inline-booking-copy h2{max-width:620px;margin:0 0 18px;color:#fff;font-size:clamp(38px,3.35vw,58px);line-height:1.02;font-weight:500;letter-spacing:-.035em}
.maki-inline-booking-copy p{max-width:585px;margin:0;color:rgba(255,255,255,.84);font-size:16px;line-height:1.65;font-weight:400}

.maki-inline-booking-panel{background:rgba(255,255,252,.92);border:1px solid rgba(51,78,34,.12);border-radius:34px;padding:34px 38px 32px;box-shadow:0 26px 70px rgba(40,48,34,.10);backdrop-filter:blur(18px)}
.maki-inline-booking-panel form{height:100%;display:flex;flex-direction:column}
.maki-inline-booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.maki-inline-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--maki-v61-line)}
.maki-inline-booking-head span{display:block;margin-bottom:5px;color:var(--maki-v61-green);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.maki-inline-booking-head h3{margin:0;color:var(--maki-v61-ink);font-size:25px;line-height:1.18;font-weight:600;letter-spacing:-.02em}
.maki-inline-booking-head>small{max-width:180px;color:#777b74;font-size:12px;line-height:1.5;text-align:right}

.maki-inline-booking-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none!important;padding:22px 0 23px!important;margin:0!important;border-bottom:1px solid var(--maki-v61-line)}
.maki-inline-booking-progress li{position:relative;list-style:none!important}
.maki-inline-booking-progress li:not(:last-child):after{content:"";position:absolute;top:17px;left:61%;right:-39%;height:1px;background:#dedfd9}
.maki-inline-booking-progress li.is-complete:not(:last-child):after{background:rgba(51,78,34,.55)}
.maki-inline-booking-progress button{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:transparent;color:#90938d;cursor:pointer;text-align:left;font:inherit}
.maki-inline-booking-progress button span{position:relative;z-index:2;display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border:1px solid #dedfd9;border-radius:50%;background:#f6f5f0;font-size:11px;font-weight:700;color:#898d85;transition:.25s ease}
.maki-inline-booking-progress button strong{font-size:12px;font-weight:600;color:inherit}
.maki-inline-booking-progress li.is-active button,.maki-inline-booking-progress li.is-complete button{color:var(--maki-v61-green)}
.maki-inline-booking-progress li.is-active button span{border-color:var(--maki-v61-green);background:var(--maki-v61-green);color:#fff;box-shadow:0 5px 14px rgba(51,78,34,.18)}
.maki-inline-booking-progress li.is-complete button span{border-color:rgba(51,78,34,.34);background:#e9eee5;color:var(--maki-v61-green)}

.maki-inline-booking-stage{padding-top:28px;animation:makiV61Fade .26s ease}
.maki-inline-booking-stage[hidden]{display:none!important}
@keyframes makiV61Fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.maki-inline-stage-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:23px}
.maki-inline-stage-heading>span{display:none}
.maki-inline-stage-heading strong{display:block;color:var(--maki-v61-ink);font-size:18px;line-height:1.35;font-weight:600}
.maki-inline-stage-heading p{margin:4px 0 0;color:var(--maki-v61-muted);font-size:13px;line-height:1.5}

.maki-inline-select-field{display:block}
.maki-inline-select-field>span,.maki-inline-contact-fields label>span{display:block;margin-bottom:8px;color:#343a31;font-size:12px;font-weight:600}
.maki-inline-select-field>div{position:relative}
.maki-inline-select-field>div>i:first-child{position:absolute;left:17px;top:50%;transform:translateY(-50%);z-index:2;color:var(--maki-v61-green)}
.maki-inline-select-field>div>i:last-child{position:absolute;right:17px;top:50%;transform:translateY(-50%);z-index:2;color:#7f847a;font-size:11px;pointer-events:none}
.maki-inline-select-field select{appearance:none;width:100%;height:58px;padding:0 48px;border:1px solid #dfe1da;border-radius:15px;background:#fff;color:#2d3329;font-size:14px;font-weight:500;outline:none;transition:.2s ease}
.maki-inline-select-field select:focus{border-color:rgba(51,78,34,.54);box-shadow:0 0 0 4px rgba(51,78,34,.07)}

.maki-inline-doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.maki-inline-doctor-choice{display:block;margin:0;cursor:pointer}
.maki-inline-doctor-choice>input{position:absolute;opacity:0;pointer-events:none}
.maki-inline-doctor-card{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:82px;padding:10px 13px;border:1px solid #e0e2dc;border-radius:17px;background:#fff;transition:.22s ease}
.maki-inline-doctor-card img{width:62px;height:62px;object-fit:cover;object-position:center 19%;border-radius:13px;background:#eee}
.maki-inline-doctor-card strong{display:block;margin-bottom:3px;color:#292f26;font-size:13px;line-height:1.25;font-weight:600}
.maki-inline-doctor-card small{display:block;color:#7b8077;font-size:11.5px;line-height:1.35}
.maki-inline-doctor-card>i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ecefe9;color:transparent;font-size:9px}
.maki-inline-doctor-choice:hover .maki-inline-doctor-card{border-color:rgba(51,78,34,.3);transform:translateY(-1px)}
.maki-inline-doctor-choice>input:checked+.maki-inline-doctor-card{border-color:var(--maki-v61-green);box-shadow:0 0 0 3px rgba(51,78,34,.07);background:#fbfcf9}
.maki-inline-doctor-choice>input:checked+.maki-inline-doctor-card>i{background:var(--maki-v61-green);color:#fff}
.maki-inline-doctor-monogram{display:grid;place-items:center;width:62px;height:62px;border-radius:13px;background:#ebeee8;color:var(--maki-v61-green);font-weight:700}
.maki-inline-booking-empty{margin:0;padding:20px;border:1px dashed #d9ddd4;border-radius:15px;color:#777;font-size:13px}

.maki-inline-calendar{border:1px solid #e0e2dc;border-radius:20px;background:#fff;padding:17px 18px 18px}
.maki-inline-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:14px}
.maki-inline-calendar-head strong{text-align:center;color:#2d3329;font-size:14px;font-weight:650}
.maki-inline-calendar-head button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e5e6e1;border-radius:50%;background:#fafaf7;color:var(--maki-v61-green);cursor:pointer}
.maki-inline-calendar-head button:disabled{opacity:.35;cursor:not-allowed}
.maki-inline-calendar-week,.maki-inline-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.maki-inline-calendar-week{margin-bottom:6px}
.maki-inline-calendar-week span{text-align:center;color:#9a9d96;font-size:10px;font-weight:650}
.maki-inline-calendar-day{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:#555b52;font-size:12px;font-weight:500;cursor:pointer;transition:.18s ease}
.maki-inline-calendar-day:not(:disabled):hover{background:#eef1ea;color:var(--maki-v61-green)}
.maki-inline-calendar-day.is-selected{background:var(--maki-v61-green)!important;color:#fff!important;box-shadow:0 5px 12px rgba(51,78,34,.18)}
.maki-inline-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px rgba(51,78,34,.45);color:var(--maki-v61-green)}
.maki-inline-calendar-day:disabled{color:#c7c9c3;cursor:not-allowed}
.maki-inline-calendar-day.is-blank{visibility:hidden}

.maki-inline-slot-status{display:flex;align-items:center;gap:10px;min-height:40px;margin-bottom:13px;color:#72776e;font-size:12px}
.maki-inline-slot-status i{color:var(--maki-v61-green)}
.maki-inline-slot-status.is-error{color:#a14848}
.maki-inline-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.maki-inline-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;padding:7px;border:1px solid #dfe2da;border-radius:13px;background:#fff;color:#2e342a;font:inherit;cursor:pointer;transition:.18s ease}
.maki-inline-slot strong{font-size:13px;font-weight:650;line-height:1.15}
.maki-inline-slot small{margin-top:3px;color:#7d8378;font-size:9.5px;font-weight:500}
.maki-inline-slot.is-available:hover{border-color:rgba(51,78,34,.45);background:#f5f8f2}
.maki-inline-slot.is-selected{border-color:var(--maki-v61-green);background:var(--maki-v61-green);color:#fff;box-shadow:0 5px 14px rgba(51,78,34,.16)}
.maki-inline-slot.is-selected small{color:rgba(255,255,255,.75)}
.maki-inline-slot.is-busy,.maki-inline-slot:disabled{border-color:#ecece8;background:#f2f2ef;color:#aaa;cursor:not-allowed;text-decoration:none}
.maki-inline-slot.is-busy small{color:#b3b4af}
.maki-inline-contact-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:19px;padding-top:18px;border-top:1px solid var(--maki-v61-line)}
.maki-inline-contact-fields[hidden],.maki-inline-privacy[hidden]{display:none!important}
.maki-inline-contact-fields input{width:100%;height:52px;padding:0 15px;border:1px solid #dfe1db;border-radius:13px;background:#fff;color:#2f342b;font-size:13px;outline:none}
.maki-inline-contact-fields input:focus{border-color:rgba(51,78,34,.54);box-shadow:0 0 0 4px rgba(51,78,34,.07)}
.maki-inline-privacy{display:flex;align-items:flex-start;gap:9px;margin-top:12px;color:#787d74;font-size:10.5px;line-height:1.45}
.maki-inline-privacy i{margin-top:2px;color:var(--maki-v61-green)}
.maki-inline-privacy p{margin:0}
.maki-inline-privacy a{color:var(--maki-v61-green);text-decoration:underline;text-underline-offset:2px}

.maki-inline-stage-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.maki-inline-stage-actions.is-end{justify-content:flex-end}
.maki-inline-stage-actions .btn-default,.maki-inline-submit{min-height:48px!important;padding:12px 22px!important;border-radius:999px!important;background:var(--maki-v61-green)!important;color:#fff!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:0!important;box-shadow:none!important}
.maki-inline-stage-actions .btn-default:before{display:none!important}
.maki-inline-stage-actions .btn-default:hover{background:#253b19!important;transform:translateY(-1px)}
.maki-inline-back{min-height:46px;padding:0 13px;border:0;background:transparent;color:#747970;font-size:12px;font-weight:600;cursor:pointer}
.maki-inline-submit:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important}
.maki-inline-booking-note{margin:15px 0 0;color:#8b8e87;font-size:10.5px;line-height:1.45;text-align:center}
.maki-inline-booking-status{min-height:0;margin-top:0;font-size:12px;line-height:1.5}
.maki-inline-booking-status:not(:empty){margin-top:13px;padding:11px 14px;border-radius:12px;background:#edf3e9;color:#345027}
.maki-inline-booking-status.is-error:not(:empty){background:#f8eceb;color:#963e39}

/* Doctor galleries — centered cover portrait + left/right look alternatives */
.maki-doctor-portrait-gallery{position:relative;max-width:680px;margin:0 auto;padding:28px 68px 28px}
.maki-doctor-portrait-gallery .maki-doctor-portrait-card.is-main{position:relative;z-index:2;min-width:0;margin:0}
.maki-doctor-portrait-side{position:absolute;z-index:1;bottom:70px;width:142px;height:230px;overflow:hidden;border:1px solid rgba(51,78,34,.13);border-radius:22px;background:#eee;box-shadow:0 16px 38px rgba(37,49,31,.12);opacity:.9;transition:.3s ease}
.maki-doctor-portrait-side.is-left{left:0;transform:rotate(-2.2deg)}
.maki-doctor-portrait-side.is-right{right:0;transform:rotate(2.2deg)}
.maki-doctor-portrait-side .maki-doctor-portrait-media{position:absolute;inset:0;width:100%;height:100%;margin:0}
.maki-doctor-portrait-side img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.maki-doctor-portrait-gallery:hover .maki-doctor-portrait-side.is-left{transform:translateX(-7px) rotate(-1.2deg)}
.maki-doctor-portrait-gallery:hover .maki-doctor-portrait-side.is-right{transform:translateX(7px) rotate(1.2deg)}
.maki-doctor-portrait-gallery .maki-doctor-portrait-card.is-main .maki-doctor-portrait-media img{object-position:center 17%}
.maki-doctor-portrait-label small{display:block;margin-top:2px;opacity:.7;font-size:11px;font-weight:500}
.team-item-image img{object-position:center 18%}

@media (max-width:1199px){
  .maki-inline-booking{padding:88px 0}
  .maki-inline-booking-shell{grid-template-columns:.85fr 1.15fr;gap:24px}
  .maki-inline-booking-visual{min-height:720px}
  .maki-inline-booking-copy{left:32px;right:32px;bottom:34px;padding-right:0;padding-bottom:190px}
  .maki-inline-booking-image.is-detail{left:32px;right:auto;width:48%;height:160px}
  .maki-inline-booking-image.is-detail-two{right:28px;top:28px;width:36%;height:135px}
  .maki-inline-booking-panel{padding:28px 27px}
  .maki-inline-slot-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:991px){
  .maki-inline-booking-shell{grid-template-columns:1fr}
  .maki-inline-booking-visual{min-height:610px}
  .maki-inline-booking-copy{padding-bottom:0;padding-right:42%;bottom:36px}
  .maki-inline-booking-image.is-detail{right:28px;left:auto;bottom:28px;width:35%;height:170px}
  .maki-inline-booking-image.is-detail-two{display:none}
  .maki-inline-booking-panel{padding:31px}
  .maki-doctor-portrait-gallery{padding-left:58px;padding-right:58px}
  .maki-doctor-portrait-side{width:124px;height:205px;bottom:60px}
}

@media (max-width:767px){
  .maki-inline-booking{padding:64px 0}
  .maki-inline-booking .container{padding-left:16px;padding-right:16px}
  .maki-inline-booking-shell{gap:16px}
  .maki-inline-booking-visual{min-height:500px;border-radius:24px}
  .maki-inline-booking-image.is-detail,.maki-inline-booking-image.is-detail-two{display:none}
  .maki-inline-booking-copy{left:24px;right:24px;bottom:25px;padding:0}
  .maki-inline-booking-copy h2{font-size:34px;line-height:1.04}
  .maki-inline-booking-copy p{font-size:14.5px;line-height:1.6}
  .maki-inline-booking-panel{padding:24px 18px;border-radius:24px}
  .maki-inline-booking-head{display:block;padding-bottom:18px}
  .maki-inline-booking-head h3{font-size:21px}
  .maki-inline-booking-head>small{display:block;max-width:none;margin-top:6px;text-align:left}
  .maki-inline-booking-progress{padding:18px 0!important}
  .maki-inline-booking-progress button{justify-content:center}
  .maki-inline-booking-progress button strong{display:none}
  .maki-inline-booking-progress li:not(:last-child):after{left:62%;right:-38%;top:15px}
  .maki-inline-booking-progress button span{width:31px;height:31px;flex-basis:31px}
  .maki-inline-booking-stage{padding-top:22px}
  .maki-inline-stage-heading strong{font-size:16px}
  .maki-inline-doctor-grid{grid-template-columns:1fr}
  .maki-inline-doctor-card{grid-template-columns:56px minmax(0,1fr) 22px;min-height:76px}
  .maki-inline-doctor-card img,.maki-inline-doctor-monogram{width:56px;height:56px}
  .maki-inline-calendar{padding:15px 12px}
  .maki-inline-slot-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .maki-inline-slot{min-height:55px}
  .maki-inline-contact-fields{grid-template-columns:1fr}
  .maki-inline-stage-actions{margin-top:18px}
  .maki-inline-stage-actions .btn-default,.maki-inline-submit{padding:11px 18px!important;font-size:12px!important}
  .maki-doctor-portrait-gallery{padding:14px 34px 18px}
  .maki-doctor-portrait-side{width:82px;height:145px;bottom:46px;border-radius:15px}
  .maki-doctor-portrait-side.is-left{left:0;transform:rotate(-2deg)}
  .maki-doctor-portrait-side.is-right{right:0;transform:rotate(2deg)}
}

@media (max-width:420px){
  .maki-inline-booking-visual{min-height:455px}
  .maki-inline-booking-copy h2{font-size:31px}
  .maki-inline-slot-grid{grid-template-columns:repeat(2,1fr)}
  .maki-inline-stage-actions{align-items:stretch;flex-wrap:wrap}
  .maki-inline-stage-actions .btn-default,.maki-inline-submit{flex:1}
}
