.cone-booker{border:1px solid #e3e8ef;border-radius:12px;padding:20px;max-width:480px;font-size:15px;}
.cone-booker h3{margin:0 0 14px;font-size:18px;}
.cone-booker label{display:block;margin:10px 0;font-weight:600;}
.cone-booker select,.cone-booker input{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-weight:400;}
.cone-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.cone-slot{padding:8px 12px;border:1px solid #2563eb;background:#fff;color:#2563eb;border-radius:8px;cursor:pointer;font-size:14px;}
.cone-slot:hover{background:#2563eb;color:#fff;}
.cone-slot.cone-taken{border-color:#e5e7eb;color:#cbd5e1;cursor:not-allowed;text-decoration:line-through;}
.cone-chosen{font-weight:600;background:#f1f5f9;padding:10px;border-radius:8px;}
.cone-timer{color:#b45309;font-size:13px;margin:6px 0;}
.cone-pay{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.cone-confirm{flex:1;padding:11px 14px;border:0;border-radius:8px;background:#0f766e;color:#fff;font-weight:600;cursor:pointer;}
.cone-confirm.cone-online{background:#2563eb;}
.cone-back{margin-top:12px;background:none;border:0;color:#64748b;cursor:pointer;}
.cone-error{color:#dc2626;margin-top:10px;}
.cone-hidden{display:none;}
.cone-result{background:#dcfce7;padding:14px;border-radius:8px;}

/* Consultation mode buttons */
.cone-modes{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.cone-mode{flex:1;min-width:130px;padding:12px;border:1px solid #cbd5e1;background:#fff;border-radius:10px;cursor:pointer;font-weight:600;text-align:center;line-height:1.3;}
.cone-mode small{display:block;font-weight:400;color:#64748b;margin-top:2px;}
.cone-mode.cone-active{border-color:#0f766e;background:#f0fdfa;color:#0f766e;box-shadow:0 0 0 1px #0f766e inset;}
.cone-branch-wrap{display:block;}

/* Calendar */
.cone-cal{margin:12px 0;}
.cone-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600;}
.cone-cal-nav{border:1px solid #cbd5e1;background:#fff;border-radius:8px;width:32px;height:32px;font-size:18px;line-height:1;cursor:pointer;}
.cone-cal-nav[disabled]{opacity:.35;cursor:not-allowed;}
.cone-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cone-cal-dow{text-align:center;font-size:11px;color:#94a3b8;font-weight:600;padding:4px 0;}
.cone-cal-day{padding:8px 0;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;}
.cone-cal-day:hover:not([disabled]){border-color:#0f766e;color:#0f766e;}
.cone-cal-off{color:#cbd5e1;background:#f8fafc;border-color:#f1f5f9;cursor:not-allowed;}
.cone-cal-sel{background:#0f766e;color:#fff;border-color:#0f766e;}

/* --- Harden against theme button/control styles bleeding in --- */
.cone-booker button{font-family:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;text-shadow:none;min-height:0;line-height:1.3;}
.cone-mode{color:#0f172a !important;background:#fff !important;text-transform:none !important;}
.cone-mode small{color:#64748b !important;}
.cone-mode.cone-active{color:#0f766e !important;background:#f0fdfa !important;}
.cone-cal-nav{color:#0f172a !important;background:#fff !important;}
.cone-cal-day{color:#0f172a !important;background:#fff !important;text-transform:none !important;}
.cone-cal-day.cone-cal-off{color:#cbd5e1 !important;background:#f8fafc !important;}
.cone-cal-day.cone-cal-sel{color:#fff !important;background:#0f766e !important;}
.cone-slot{color:#2563eb !important;background:#fff !important;}
.cone-slot:hover:not(.cone-taken){color:#fff !important;background:#2563eb !important;}
.cone-slot.cone-taken{color:#cbd5e1 !important;background:#fff !important;}
.cone-confirm{color:#fff !important;}
.cone-confirm.cone-online{background:#2563eb !important;}

/* --- Country + phone --- */
.cone-phone-row{display:flex;align-items:stretch;gap:0;margin-top:4px;}
.cone-dialcode{display:flex;align-items:center;padding:8px 10px;border:1px solid #cbd5e1;border-right:0;border-radius:8px 0 0 8px;background:#f8fafc;white-space:nowrap;font-weight:600;color:#0f172a;}
.cone-phone-row .cone-phone{border-radius:0 8px 8px 0 !important;margin-top:0 !important;}
.cone-country{font-size:15px;}

/* --- Corrections: neutralise theme box-model on nav + phone --- */
.cone-cal-head span{flex:1;text-align:center;}
.cone-cal-nav{width:40px !important;height:40px !important;min-width:0 !important;padding:0 !important;flex:0 0 auto !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;font-size:20px !important;line-height:1 !important;}
.cone-phone-row{display:flex !important;align-items:stretch !important;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#fff;margin-top:4px;}
.cone-phone-row .cone-dialcode{border:0 !important;border-right:1px solid #cbd5e1 !important;border-radius:0 !important;background:#f8fafc !important;padding:8px 12px !important;display:flex;align-items:center;font-weight:600;font-size:15px;color:#0f172a;}
.cone-phone-row .cone-phone{border:0 !important;border-radius:0 !important;margin:0 !important;box-shadow:none !important;outline:none !important;flex:1 !important;background:#fff !important;width:auto !important;}
.cone-phone-row .cone-phone:focus{box-shadow:none !important;outline:none !important;}

/* --- Brand colour #114287 --- */
.cone-booker h3{color:#114287;}
.cone-mode.cone-active{color:#114287 !important;background:#eaf0f8 !important;border-color:#114287 !important;box-shadow:0 0 0 1px #114287 inset;}
.cone-cal-day:hover:not([disabled]){border-color:#114287 !important;color:#114287 !important;}
.cone-cal-day.cone-cal-sel{background:#114287 !important;border-color:#114287 !important;color:#fff !important;}
.cone-cal-nav:hover{border-color:#114287 !important;}
.cone-slot{color:#114287 !important;border-color:#114287 !important;}
.cone-slot:hover:not(.cone-taken){background:#114287 !important;color:#fff !important;}
.cone-confirm{background:#114287 !important;}
.cone-confirm.cone-online{background:#0d3568 !important;}

/* --- Sticky right panel (desktop). Inline on smaller screens. --- */
.cone-booker.cone-sticky{box-shadow:0 6px 24px rgba(17,66,135,.12);}
@media (min-width:1100px){
	.cone-booker.cone-sticky{
		position:fixed;
		top:var(--cone-sticky-top,110px);
		right:24px;
		width:360px;
		max-height:calc(100vh - var(--cone-sticky-top,110px) - 24px);
		overflow-y:auto;
		z-index:60;
		background:#fff;
	}
}

/* Range labels on slot buttons */
.cone-slot{font-variant-numeric:tabular-nums;white-space:nowrap;}
