.bgl-booking-app{
    --bgl-navy:#0B416C;
    --bgl-navy-dark:#072f4f;
    --bgl-gold:#b5955b;
    --bgl-paper:#f5f1e8;
    --bgl-paper-2:#ece5d8;
    --bgl-border:#d5ccbc;
    --bgl-text:#1f2933;
    --bgl-muted:#66717b;
    color:var(--bgl-text);
    font-family:"Segoe UI",Arial,sans-serif;
}
.bgl-booking-app *{box-sizing:border-box}
.bgl-booking-shell{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--bgl-border);overflow:hidden}
.bgl-booking-head{padding:34px 38px 28px;border-bottom:1px solid var(--bgl-border);background:#fff}
.bgl-booking-kicker{display:block;margin-bottom:9px;color:var(--bgl-navy);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.bgl-booking-head h2,.bgl-booking-month-label,.bgl-booking-process h3{font-family:"Yeseva One",Georgia,serif;font-weight:400}
.bgl-booking-head h2{margin:0 0 10px;font-size:clamp(29px,3.2vw,43px);line-height:1.12;color:var(--bgl-navy)}
.bgl-booking-head p{max-width:780px;margin:0;color:var(--bgl-muted);font-size:16px;line-height:1.7}
.bgl-booking-layout{display:block}
.bgl-booking-form-panel{padding:34px 38px;background:#fff}
.bgl-calendar-step{background:var(--bgl-paper)}
.bgl-booking-calendar-inner{width:100%;max-width:680px;margin:0 auto}
.bgl-booking-calendar-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid var(--bgl-border)}
.bgl-booking-calendar-nav button{height:42px;border:1px solid var(--bgl-navy);border-radius:0;background:transparent;color:var(--bgl-navy);font-size:25px;line-height:1;cursor:pointer;transition:background .16s ease,color .16s ease}
.bgl-booking-calendar-nav button:hover:not(:disabled){background:var(--bgl-navy);color:#fff}
.bgl-booking-calendar-nav button:disabled{opacity:.28;cursor:not-allowed}
.bgl-booking-month-label{text-align:center;font-size:21px;color:var(--bgl-navy);text-transform:capitalize}
.bgl-booking-weekdays,.bgl-booking-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bgl-booking-weekdays{margin-bottom:6px}
.bgl-booking-weekdays span{text-align:center;color:var(--bgl-muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.bgl-booking-day{position:relative;aspect-ratio:1/1;min-height:47px;border:1px solid var(--bgl-border);border-radius:0;background:#fff;color:var(--bgl-text);font:inherit;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.bgl-booking-day:hover:not(:disabled){border-color:var(--bgl-navy);color:var(--bgl-navy)}
.bgl-booking-day.is-selected{background:var(--bgl-navy);color:#fff;border-color:var(--bgl-navy)}
.bgl-booking-day.is-today:not(.is-selected){border:2px solid var(--bgl-navy)}
.bgl-booking-day.is-other,.bgl-booking-day:disabled{background:transparent;color:#aaa;cursor:not-allowed}
.bgl-booking-day.is-busy:not(.is-other){background:#eef0f2;color:#7a8087;border-color:#cbd0d5}
.bgl-booking-day.has-space:after{content:"";position:absolute;left:50%;bottom:5px;width:6px;height:6px;background:#2f8f4e;transform:translateX(-50%)}
.bgl-booking-day.is-selected:after{background:#fff}
.bgl-booking-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;color:var(--bgl-muted);font-size:12px}
.bgl-booking-legend span{display:flex;align-items:center;gap:7px}
.bgl-booking-legend i{width:10px;height:10px;background:#2f8f4e}
.bgl-booking-legend i.busy{background:#9ca3aa}
.bgl-booking-process{margin-top:30px;padding:25px 24px;background:var(--bgl-paper);border:1px solid var(--bgl-border)}
.bgl-booking-process h3{margin:0 0 15px;color:var(--bgl-navy);font-size:23px}
.bgl-booking-process-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;counter-reset:bgl-process}
.bgl-booking-process-list li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:0 0 16px;counter-increment:bgl-process;color:var(--bgl-muted);font-size:14px;line-height:1.55}
.bgl-booking-process-list li:not(:last-child):before{content:"";position:absolute;left:16px;top:31px;bottom:0;width:1px;background:var(--bgl-border)}
.bgl-booking-process-list li:after{content:counter(bgl-process);display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1;width:32px;height:32px;background:var(--bgl-navy);color:#fff;font-weight:700}
.bgl-booking-process-list li>div{grid-column:2;grid-row:1;padding-top:2px}
.bgl-booking-process-list strong{display:block;margin-bottom:2px;color:var(--bgl-text);font-size:14px}
.bgl-booking-process-note{margin:2px 0 0;padding:13px 14px;border-left:3px solid var(--bgl-gold);background:#fff;color:var(--bgl-text);font-size:13px;line-height:1.55}
.bgl-booking-form{display:flex;flex-direction:column;gap:18px}
.bgl-booking-step{border:1px solid var(--bgl-border);border-radius:0;padding:18px;background:#fff;transition:opacity .18s ease,background .18s ease}
.bgl-booking-step.is-disabled{opacity:.45;pointer-events:none;background:#f7f7f5}
.bgl-booking-step-title{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.bgl-booking-step-title>span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bgl-navy);color:#fff;font-size:13px;font-weight:800;flex:0 0 auto}
.bgl-booking-step-title div{display:flex;flex-direction:column}
.bgl-booking-step-title strong{font-family:"Yeseva One",Georgia,serif;color:var(--bgl-navy);font-size:17px;font-weight:400}
.bgl-booking-step-title small{color:var(--bgl-muted);margin-top:2px;font-size:12px}
.bgl-booking-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bgl-booking-slot{border:1px solid var(--bgl-navy);border-radius:0;background:#fff;color:var(--bgl-navy);padding:12px 8px;text-align:center;font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}
.bgl-booking-slot:hover:not(:disabled){background:#edf3f7}
.bgl-booking-slot.is-selected{background:var(--bgl-navy);border-color:var(--bgl-navy);color:#fff}
.bgl-booking-slot:disabled{border-color:#d2d2d2;background:#ededeb;color:#999;cursor:not-allowed;text-decoration:line-through}
.bgl-booking-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.bgl-booking-choice-grid label{position:relative;cursor:pointer}
.bgl-booking-choice-grid input{position:absolute;opacity:0;pointer-events:none}
.bgl-booking-choice-grid span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px;border:1px solid var(--bgl-navy);border-radius:0;text-align:center;font-weight:700;background:#fff;color:var(--bgl-navy);transition:background .15s ease,color .15s ease}
.bgl-booking-choice-grid input:checked+span{background:var(--bgl-navy);border-color:var(--bgl-navy);color:#fff}

.bgl-booking-addons{grid-template-columns:1fr}
.bgl-booking-addons span{justify-content:flex-start;min-height:50px;padding:12px 14px;text-align:left;line-height:1.45}
.bgl-booking-none-option span{border-style:dashed}
.bgl-pilgrimage-option{display:none}
.bgl-options-step.is-pilgrimage .bgl-pilgrimage-option{display:block}
.bgl-booking-fieldset{display:flex;flex-direction:column;gap:15px}
.bgl-booking-fields-two{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.bgl-booking-fieldset label:not(.bgl-booking-consent):not(.bgl-booking-honeypot){display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:var(--bgl-text)}
.bgl-booking-fieldset input[type=text],.bgl-booking-fieldset input[type=email],.bgl-booking-fieldset input[type=tel],.bgl-booking-fieldset input[type=number],.bgl-booking-fieldset textarea{width:100%;border:1px solid var(--bgl-border);border-radius:0;padding:12px 13px;background:#fff;color:var(--bgl-text);font:inherit;font-size:14px}
.bgl-booking-fieldset input:focus,.bgl-booking-fieldset textarea:focus{outline:2px solid rgba(11,65,108,.13);outline-offset:0;border-color:var(--bgl-navy)}
.bgl-booking-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;cursor:pointer}
.bgl-booking-consent input{margin-top:3px;accent-color:var(--bgl-navy)}
.bgl-booking-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bgl-booking-submit{border:1px solid var(--bgl-navy);border-radius:0;background:var(--bgl-navy);color:#fff;padding:15px 21px;font:inherit;font-weight:750;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.bgl-booking-submit:hover:not(:disabled){background:var(--bgl-navy-dark);border-color:var(--bgl-navy-dark)}
.bgl-booking-submit:disabled{opacity:.42;cursor:not-allowed}
.bgl-booking-message{display:none;padding:13px 15px;border-radius:0;font-size:14px;line-height:1.55;border-left:4px solid transparent}
.bgl-booking-message.is-visible{display:block}
.bgl-booking-message.is-error{background:#fbeaec;color:#861f2a;border-left-color:#861f2a}
.bgl-booking-message.is-success{background:#e9f3eb;color:#205f2b;border-left-color:#2d7b3c}
.bgl-booking-message.is-info{background:#edf3f8;color:#174a73;border-left-color:var(--bgl-navy)}
.bgl-booking-load-error{grid-column:1/-1;text-align:center;padding:22px;color:var(--bgl-muted)}
.bgl-booking-app.is-loading .bgl-booking-calendar-grid{opacity:.55;pointer-events:none}

@media(max-width:900px){
    .bgl-booking-process{margin-top:24px}
    .bgl-booking-process-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
    .bgl-booking-process-list li{display:block;padding:14px 12px 14px 48px;background:#fff;border:1px solid var(--bgl-border);min-height:95px}
    .bgl-booking-process-list li:before{display:none}
    .bgl-booking-process-list li:after{position:absolute;left:10px;top:12px;width:28px;height:28px}
    .bgl-booking-process-list li>div{display:block}
}

@media(max-width:600px){
    .bgl-booking-head,.bgl-booking-form-panel{padding:24px 16px}
    .bgl-booking-head h2{font-size:31px}
    .bgl-booking-head p{font-size:14px}
    .bgl-booking-day{min-height:40px;font-size:13px}
    .bgl-booking-weekdays,.bgl-booking-calendar-grid{gap:3px}
    .bgl-booking-calendar-nav{grid-template-columns:40px 1fr 40px}
    .bgl-booking-month-label{font-size:18px}
    .bgl-booking-process-list{grid-template-columns:1fr}
    .bgl-booking-process-list li{min-height:auto;padding:13px 12px 13px 47px}
    .bgl-booking-slots{grid-template-columns:1fr}
    .bgl-booking-fields-two{grid-template-columns:1fr}
    .bgl-booking-choice-grid{grid-template-columns:1fr}
    .bgl-booking-step{scroll-margin-top:20px}
}
