:root{--g:#C9A84C;--dk:#2C2416;--sand:#FAF8F5;--br:#E8DFD0;--avail:#16A34A;--busy:#DC2626;--avail-bg:#F0FDF4;--busy-bg:#FEF2F2}
.abp{font-family:"Plus Jakarta Sans",sans-serif}
.abp-sec{padding:48px 20px}
.abp-inner{max-width:980px;margin:0 auto}
.abp-cal-sec{background:var(--sand)}
.abp-form-sec{background:#fff}
.abp-h2{font-size:1.4rem!important;font-weight:700!important;color:var(--dk)!important;text-align:center!important;margin:0 0 6px!important;line-height:1.3!important}
.abp-sub{text-align:center;color:#8B7355;font-size:.9rem;margin:0 0 24px}

/* Nav */
.abp-cal-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:20px}
.abp-nav{background:#fff;border:2px solid var(--br);border-radius:50%;width:38px!important;height:38px!important;font-size:1.3rem!important;cursor:pointer;color:var(--dk);display:flex!important;align-items:center!important;justify-content:center!important;transition:all .15s;line-height:1!important;padding:0!important}
.abp-nav:hover{border-color:var(--g);color:var(--g)}
.abp-cal-label{font-weight:700;font-size:1rem!important;color:var(--dk);min-width:180px;text-align:center;text-transform:capitalize}

/* 3-col grid */
.abp-cal-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;justify-items:center}
.abp-month{background:#fff;border-radius:12px;border:1px solid var(--br);padding:16px!important;box-shadow:0 2px 10px rgba(0,0,0,.06);width:100%!important;box-sizing:border-box!important}
.abp-mth-title{text-align:center;font-weight:700;font-size:.9rem!important;color:var(--dk);margin-bottom:10px;text-transform:capitalize;line-height:1.2!important}
.abp-month table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
.abp-month th{font-size:9px!important;color:#9B876A;text-align:center!important;padding:4px 0!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.abp-day{text-align:center!important;padding:2px 0!important}
.abp-dc{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;margin:1px auto!important;border-radius:8px;cursor:default;transition:background .12s,transform .1s;font-size:12px!important;font-weight:600}
.abp-avail .abp-dc{background:var(--avail-bg);color:var(--avail);cursor:pointer}
.abp-avail .abp-dc:hover{background:#DCFCE7;transform:scale(1.1)}
.abp-busy .abp-dc{background:var(--busy-bg);color:var(--busy);opacity:.7}
.abp-busy .abp-dc span:first-child{text-decoration:line-through}
.abp-past .abp-dc{color:#D1C4B0;background:transparent}
.abp-price{font-size:7px!important;font-weight:700;color:inherit;line-height:1;margin-top:1px}
.abp-avail.abp-sel .abp-dc{background:var(--g)!important;color:#fff!important;transform:scale(1.1)}
.abp-avail.abp-sel .abp-price{color:rgba(255,255,255,.85)!important}
.abp-avail.abp-range .abp-dc{background:#FEF3C7!important;color:#92400E!important}

/* Hide calc button */
.abp-calc-btn{display:none!important}
/* Hide old pay-wrap */
.abp-pay-wrap{display:none!important}

/* Form */
.abp-card{background:var(--sand);border:1px solid var(--br);border-radius:14px;padding:28px 32px}
.abp-row{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap;align-items:flex-end}
.abp-field{flex:1;min-width:130px}
.abp-lbl{display:block;font-size:11px;font-weight:700;color:#8B7355;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.abp-input,.abp-select{width:100%;padding:11px 13px;border:2px solid var(--br);border-radius:8px;font-size:15px!important;font-family:inherit;color:var(--dk);background:#fff;outline:none;transition:border-color .2s;box-sizing:border-box}
.abp-input:focus,.abp-select:focus{border-color:var(--g)}
.abp-arr{font-size:1.3rem!important;color:var(--g);align-self:flex-end;padding-bottom:8px}
.abp-max-note{width:100%;font-size:12px!important;color:#92400E;background:#FFFBEB;border-left:3px solid var(--g);padding:6px 10px;border-radius:4px;margin:0}
.abp-extras-t{font-size:12px!important;font-weight:700;color:var(--dk);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}
.abp-extra{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--br);border-radius:10px;margin-bottom:8px;cursor:pointer;background:#fff;transition:all .15s;user-select:none}
.abp-extra:hover{border-color:var(--g)}
.abp-extra:has(input:checked){border-color:var(--g);background:#FFFBEB}
.abp-extra input{display:none}
.abp-eico{font-size:20px!important}
.abp-etxt{flex:1;display:flex;flex-direction:column}
.abp-etxt b{font-size:13px!important;color:var(--dk)}
.abp-etxt small{font-size:11px!important;color:#8B7355}
.abp-ep{font-weight:700;font-size:14px!important;color:var(--g)}

/* Result */
.abp-result{margin-top:20px;border-radius:14px;overflow:hidden;box-shadow:0 6px 28px rgba(44,36,22,.18)}
.abp-res-head{background:var(--dk);padding:18px 26px}
.abp-res-head h3{color:#FAF8F5!important;margin:0!important;font-size:1.05rem!important;font-weight:600!important;line-height:1.4!important}
.abp-res-rows{background:var(--sand);padding:0 26px}
.abp-res-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--br);font-size:13px!important;color:#5C4B35}
.abp-res-row:last-child{border:none}
.abp-res-row.abp-disc-line{color:var(--avail);font-weight:700}
.abp-res-row.abp-disc-line span:last-child{color:var(--avail)}
.abp-res-totals{background:var(--dk);padding:18px 26px 22px}
.abp-tot-row{display:flex;justify-content:space-between;font-size:1.15rem!important;font-weight:700;color:#fff;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.15)}
.abp-tot-val{color:var(--g)}
.abp-sub-row{display:flex;justify-content:space-between;font-size:12px!important;color:rgba(255,255,255,.6);padding-top:6px}
.abp-sub-row span:last-child{color:var(--g);font-weight:600}

/* Discount code section */
.abp-disc-wrap{padding:14px 26px 16px;background:var(--sand);border-top:1px solid var(--br)}
.abp-disc-row{display:flex;gap:8px;align-items:center}
.abp-disc-input{flex:1;padding:9px 12px;border:2px solid var(--br);border-radius:8px;font-size:13px!important;font-family:inherit;color:var(--dk);background:#fff;outline:none;transition:border-color .2s;text-transform:uppercase;letter-spacing:.06em}
.abp-disc-input::placeholder{text-transform:none;letter-spacing:normal}
.abp-disc-input:focus{border-color:var(--g)}
.abp-disc-btn{padding:9px 16px;background:var(--dk);color:#fff;border:none;border-radius:8px;font-size:13px!important;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:opacity .2s}
.abp-disc-btn:hover{opacity:.8}
.abp-disc-msg{margin-top:7px;font-size:12px!important;padding:5px 10px;border-radius:6px}
.abp-disc-ok{background:#F0FDF4;color:#16A34A;border:1px solid #BBF7D0}
.abp-disc-err{background:#FEF2F2;color:#DC2626;border:1px solid #FECACA}

/* Continue button — warm amber-brown, outside dark area */
.abp-btn-area{background:var(--sand);padding:20px 26px 26px;border-top:1px solid var(--br)}
.abp-cont-btn{display:flex!important;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:var(--dk);color:var(--g)!important;font-weight:700;font-size:1rem!important;border-radius:10px;text-decoration:none!important;transition:all .2s;border:2px solid var(--g);letter-spacing:.04em}
.abp-cont-btn:hover{background:var(--g);color:var(--dk)!important}
.abp-cont-btn svg path{fill:currentColor}
.abp-legend{display:none}

@media(max-width:760px){.abp-cal-wrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.abp-cal-wrap{grid-template-columns:1fr}.abp-card{padding:18px 14px}.abp-disc-wrap,.abp-btn-area,.abp-res-head,.abp-res-rows,.abp-res-totals{padding-left:14px;padding-right:14px}}

/* ── PAYMENT PAGE ── */
.apay{font-family:"Plus Jakarta Sans",sans-serif;max-width:560px;margin:0 auto;padding:40px 20px}
.apay-title{font-size:1.4rem!important;font-weight:700;color:var(--dk);margin:0 0 24px!important;line-height:1.3!important}
.apay-card{background:#fff;border:1px solid var(--br);border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(44,36,22,.1);margin-bottom:20px}
.apay-head{background:var(--dk);padding:16px 22px}
.apay-head h3{color:#FAF8F5!important;margin:0!important;font-size:1rem!important;font-weight:600!important;line-height:1.4!important}
.apay-rows{background:var(--sand);padding:0 22px}
.apay-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--br);font-size:13px!important;color:#5C4B35}
.apay-row:last-child{border:none}
.apay-total-row{background:var(--dk);padding:14px 22px;display:flex;justify-content:space-between;align-items:center}
.apay-total-row span:first-child{color:rgba(255,255,255,.7);font-size:13px!important}
.apay-total-val{color:var(--g);font-size:1.3rem!important;font-weight:700}
.apay-methods-title{font-size:11px!important;font-weight:700;color:#8B7355;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.apay-method{display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px solid var(--br);border-radius:10px;margin-bottom:10px;cursor:pointer;background:#fff;transition:all .15s;user-select:none}
.apay-method:has(input:checked){border-color:var(--g);background:#FFFBEB}
.apay-method input{width:16px;height:16px;accent-color:var(--g);flex-shrink:0}
.apay-method-ico{width:42px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.apay-ico-sepa{background:#1a3a6b;font-size:13px!important;color:#fff;font-weight:700}
.apay-ico-bizum{background:#582EA2}
.apay-ico-card{background:#1c1c2e;font-size:16px!important}
.apay-method-info{flex:1}
.apay-method-name{font-size:13px!important;font-weight:700;color:var(--dk)}
.apay-method-desc{font-size:11px!important;color:#8B7355;margin-top:2px}
.apay-surcharge{font-size:11px!important;font-weight:700;color:#DC2626;background:#FEF2F2;border-radius:20px;padding:2px 8px;white-space:nowrap}
.apay-card-note{font-size:11px!important;color:#DC2626;background:#FEF2F2;border:1px solid #FECACA;border-radius:6px;padding:8px 12px;margin-top:6px;display:none}
.apay-method:has(input[value="card"]:checked) ~ .apay-card-note{display:block}
.apay-pay-btn{width:100%;padding:17px;background:var(--dk);color:var(--g)!important;font-weight:700;font-size:1rem!important;border:2px solid var(--g);border-radius:10px;cursor:pointer;font-family:inherit;letter-spacing:.04em;transition:all .2s;margin-top:4px}
.apay-pay-btn:hover{background:var(--g);color:var(--dk)!important}
