/* Quick Reservations - Front-end styles v2.1 */

.qr-reservation-form {
	--qr-accent: var(--qr-custom-accent, #1c6ef3);
	--qr-accent-glow: rgba(28, 110, 243, 0.14);
	--qr-green: #16a34a;
	--qr-green-bg: #f0fdf4;
	--qr-red: #b91c1c;
	--qr-red-bg: #fef2f2;
	--qr-amber: #b45309;
	--qr-amber-bg: #fffbeb;
	--qr-surface: var(--qr-custom-form-bg, #ffffff);
	--qr-section-bg: var(--qr-custom-section-bg, #f8fafc);
	--qr-section-border: var(--qr-custom-section-border, #e2e8f0);
	--qr-heading: var(--qr-custom-heading, #0f1f33);
	--qr-body: var(--qr-custom-body, #3d5068);
	--qr-muted: var(--qr-custom-muted, #64748b);
	--qr-label: var(--qr-custom-label, #1e3a52);
	--qr-input-border: var(--qr-custom-input-border, #cbd5e1);
	--qr-input-bg: var(--qr-custom-input-bg, #ffffff);
	--qr-radius: var(--qr-custom-radius, 10px);
	--qr-radius-sm: calc(var(--qr-radius) - 4px);
	--qr-radius-xs: calc(var(--qr-radius) - 6px);
	--qr-shadow: var(--qr-custom-shadow, 0 4px 24px rgba(15, 31, 51, 0.08));
	--qr-control-height: 48px;
	--qr-control-pad-y: 0.875em;
	--qr-control-pad-x: 1em;
	--qr-mobile-field-pad: 14px;

	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius);
	padding: 24px;
	background: var(--qr-surface);
	box-shadow: var(--qr-shadow);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.qr-reservation-form,
.qr-reservation-form * {
	box-sizing: border-box;
}

/* Header */
.qr-form-head {
	background: linear-gradient(160deg, #f0f7ff 0%, var(--qr-surface) 100%);
	border: 1px solid #dbeafe;
	border-radius: var(--qr-radius-sm);
	padding: 18px 20px;
}

.qr-form-head h3 {
	margin: 0 0 6px;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--qr-heading);
}

.qr-form-intro {
	margin: 0;
	color: var(--qr-body);
	font-size: 15px;
	line-height: 1.55;
}

.qr-form-required {
	margin: 10px 0 0;
	font-size: 12.5px;
	color: var(--qr-muted);
}

.qr-required {
	color: #dc2626;
	font-weight: 700;
}

/* Steps */
.qr-step {
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	padding: 16px;
	background: var(--qr-section-bg);
}

.qr-step-head {
	margin-bottom: 14px;
}

.qr-step-head h4 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var(--qr-heading);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.qr-step-head p {
	margin: 6px 0 0;
	color: var(--qr-muted);
	font-size: 13.5px;
	line-height: 1.45;
}

.qr-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--qr-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	flex-shrink: 0;
}

/* Grid */
.qr-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 12px;
}

.qr-grid > * {
	min-width: 0;
}

.qr-grid-visit { align-items: start; }
.qr-grid-visit > .qr-field { grid-column: span 4; }
.qr-enhanced-time-layout .qr-grid-visit > .qr-field:not(.qr-time-select-field) { grid-column: span 4; }
.qr-enhanced-time-layout .qr-time-select-field { display: none !important; }
.qr-grid-contact > .qr-field { grid-column: span 6; }
.qr-grid-preferences > .qr-field { grid-column: span 6; }
.qr-grid-preferences > .qr-field.qr-span-2 { grid-column: span 12; }
.qr-grid-preferences > .qr-field.qr-field-notes { grid-column: span 12; }
.qr-grid-preferences > .qr-field.qr-field-allergies,
.qr-grid-preferences > .qr-field.qr-field-highchair { grid-column: span 12; }
.qr-grid-preferences > .qr-consent-grid {
	display: grid;
	grid-column: span 12;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}
.qr-grid-preferences { align-items: start; }
.qr-grid-visit > .qr-availability,
.qr-grid-visit > .qr-visit-summary,
.qr-grid-visit > .qr-service-windows,
.qr-grid-visit > .qr-time-panel,
.qr-grid-visit > .qr-no-slot,
.qr-grid-preferences > .qr-vip-note { grid-column: span 12; }

/* Fields */
.qr-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.qr-field > span {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--qr-label);
	letter-spacing: -0.005em;
}

.qr-help-text {
	font-size: 12px;
	color: var(--qr-muted);
	line-height: 1.4;
	font-weight: 400;
}

.qr-field > span,
.qr-help-text,
.qr-step-head p,
.qr-submit-help,
.qr-no-slot-text,
.qr-policy-block li,
.qr-check-grid label,
.qr-inline-check {
	text-transform: none !important;
	letter-spacing: normal !important;
}

/* Inputs */
.qr-reservation-form input,
.qr-reservation-form select,
.qr-reservation-form textarea {
	padding: var(--qr-control-pad-y) var(--qr-control-pad-x) !important;
	border: 1.5px solid var(--qr-input-border);
	border-radius: var(--qr-radius-xs);
	font-size: 15px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	display: block;
	background: var(--qr-input-bg);
	color: var(--qr-heading);
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
	font-family: inherit;
}

.qr-reservation-form input[type='date'],
.qr-reservation-form select,
.qr-reservation-form input[type='text'],
.qr-reservation-form input[type='email'],
.qr-reservation-form input[type='tel'] {
	min-height: var(--qr-control-height);
	height: auto;
	line-height: 1.2;
}

.qr-reservation-form input[type='date'] {
	width: 100% !important;
	max-width: 100% !important;
}

.qr-reservation-form textarea {
	resize: vertical;
	min-height: 96px;
}

.qr-reservation-form input:focus,
.qr-reservation-form select:focus,
.qr-reservation-form textarea:focus {
	border-color: var(--qr-accent);
	box-shadow: 0 0 0 3px var(--qr-accent-glow);
	outline: 0;
}

/* Availability panel */
.qr-availability {
	grid-column: span 12;
	padding: 12px 15px;
	border-radius: var(--qr-radius-sm);
	font-size: 14px;
	font-weight: 600;
	background: var(--qr-section-bg);
	border: 1.5px dashed var(--qr-section-border);
	color: var(--qr-body);
	line-height: 1.4;
}

.qr-availability[data-state='ok'] {
	background: var(--qr-green-bg);
	border-color: #86efac;
	border-style: solid;
	color: var(--qr-green);
}

.qr-availability[data-state='full'],
.qr-availability[data-state='closed'],
.qr-availability[data-state='error'] {
	background: var(--qr-red-bg);
	border-color: #fca5a5;
	border-style: solid;
	color: var(--qr-red);
}

.qr-availability[data-state='loading'] {
	background: #eff6ff;
	border-color: #93c5fd;
	border-style: solid;
	color: #1d4ed8;
}

/* Visit summary */
.qr-visit-summary {
	padding: 11px 14px;
	border: 1.5px solid #bfdbfe;
	border-radius: var(--qr-radius-sm);
	background: #eff6ff;
	color: #1e3a8a;
	font-size: 14px;
	line-height: 1.5;
}

/* Service windows */
.qr-service-windows {
	padding: 12px 14px;
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	background: var(--qr-surface);
}

.qr-service-windows-title {
	font-weight: 600;
	font-size: 13px;
	color: var(--qr-label);
	margin-bottom: 10px;
}

.qr-service-window-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* Time panel */
.qr-time-panel {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	color: #f8fafc;
	padding: 20px;
}

.qr-time-panel[hidden] { display: none; }

.qr-time-panel-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.qr-time-panel-date {
	color: #f8fafc;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.qr-time-panel-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.qr-time-panel-toggle:hover,
.qr-time-panel-toggle:focus {
	background: rgba(255, 255, 255, 0.08);
	color: #f8fafc;
	outline: 0;
}

.qr-time-panel.is-collapsed .qr-time-panel-toggle {
	transform: rotate(180deg);
}

.qr-time-panel-title {
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 6px 0 16px;
	text-align: center;
}

.qr-time-panel.is-collapsed .qr-time-panel-title,
.qr-time-panel.is-collapsed .qr-time-slot-grid { display: none; }

/* Time slot grid */
.qr-time-slot-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 4px;
}

.qr-time-slot-grid[hidden] { display: none; }

.qr-time-slot-button {
	appearance: none;
	border: 1.5px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.04);
	color: #e2e8f0;
	border-radius: 10px !important;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	min-height: 52px;
	padding: 13px 10px !important;
	text-align: center;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
	font-family: inherit;
}

.qr-time-slot-label { display: block; }

.reservations-form-wrap .qr-reservation-form .qr-time-slot-button,
.qr-reservation-form .qr-time-slot-button {
	border-radius: 10px !important;
	padding: 13px 10px !important;
}

.reservations-form-wrap .qr-reservation-form .qr-time-panel-toggle,
.qr-reservation-form .qr-time-panel-toggle {
	border-radius: 999px !important;
	padding: 0 !important;
}

.qr-time-slot-button:hover,
.qr-time-slot-button:focus {
	border-color: rgba(99, 179, 237, 0.6);
	background: rgba(99, 179, 237, 0.1);
	color: #e0f2fe;
	outline: 0;
}

.qr-time-slot-button.is-active,
.qr-time-slot-button[aria-pressed='true'] {
	background: var(--qr-accent);
	border-color: var(--qr-accent);
	color: #fff;
	box-shadow: 0 0 0 3px rgba(28, 110, 243, 0.3);
}

.qr-time-slot-button:disabled,
.qr-time-slot-button.is-unavailable {
	cursor: not-allowed;
	opacity: 0.28;
	box-shadow: none;
}

.qr-time-slot-button.is-loading { opacity: 0.5; }

.qr-time-slot-button:disabled:hover,
.qr-time-slot-button:disabled:focus,
.qr-time-slot-button.is-unavailable:hover,
.qr-time-slot-button.is-unavailable:focus {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.04);
	color: #e2e8f0;
	box-shadow: none;
}

/* Service window chips */
.qr-window-chip {
	padding: 7px 13px;
	border: 1.5px solid #bfdbfe;
	background: #eff6ff;
	color: #1d4ed8;
	border-radius: 999px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	max-width: 100%;
	white-space: normal;
	text-align: center;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.qr-window-chip:hover,
.qr-window-chip:focus {
	background: #dbeafe;
	border-color: #93c5fd;
	color: #1e40af;
	outline: 0;
}

/* No slot panel */
.qr-no-slot {
	padding: 13px 15px;
	border: 1.5px solid #fed7aa;
	border-radius: var(--qr-radius-sm);
	background: #fff7ed;
}

.qr-no-slot-text {
	margin: 0 0 6px;
	color: #9a3412;
	font-weight: 700;
	font-size: 14px;
}

.qr-no-slot-message {
	margin: 0 0 12px;
	color: #7c2d12;
	line-height: 1.5;
	font-size: 14px;
}

.qr-no-slot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* Phone row */
.qr-phone-row {
	display: grid;
	grid-template-columns: 112px 1fr;
	gap: 8px;
	align-items: stretch;
}

.qr-phone-row > * { min-width: 0; }
.qr-phone-country { min-width: 0; }

/* Checkboxes */
.qr-check-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px 12px;
	padding: 2px 0;
}

.qr-check-grid label,
.qr-inline-check {
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 9px;
	width: 100%;
	margin: 0;
	line-height: 1.3;
	font-size: 14px;
	color: var(--qr-body);
	cursor: pointer;
}

.qr-check-grid input[type='checkbox'],
.qr-inline-check input[type='checkbox'] {
	margin: 0;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	align-self: center;
	accent-color: var(--qr-accent);
}

.qr-field-highchair {
	justify-content: flex-start;
	align-self: start;
}

.qr-field-allergies input[type='text'] {
	margin-top: 4px;
	width: 100%;
}

/* VIP note */
.qr-vip-note {
	padding: 11px 14px;
	border: 1.5px dashed #d97706;
	border-radius: var(--qr-radius-sm);
	background: var(--qr-amber-bg);
	color: var(--qr-amber);
	font-size: 13.5px;
	line-height: 1.45;
}

/* Policy block */
.qr-policy-block {
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	background: var(--qr-section-bg);
	padding: 14px 16px;
}

.qr-policy-block h4 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--qr-heading);
	letter-spacing: -0.01em;
}

.qr-policy-block ul {
	margin: 0;
	padding: 0 0 0 18px;
}

.qr-policy-block li {
	margin: 0 0 5px;
	color: var(--qr-body);
	font-size: 14px;
	line-height: 1.5;
}

/* Submit row */
.qr-submit-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 4px 0 2px;
}

.qr-submit-row .button {
	min-width: 148px;
	font-weight: 600;
	border-radius: var(--qr-radius-xs) !important;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
}

.qr-submit-row .button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

.qr-submit-row .button.button-primary.is-ready {
	background: #16a34a;
	border-color: #15803d;
	color: #fff;
	text-shadow: none;
	box-shadow: 0 2px 8px rgba(21, 128, 61, 0.28);
}

.qr-submit-row .button.button-primary.is-ready:hover,
.qr-submit-row .button.button-primary.is-ready:focus {
	background: #15803d;
	border-color: #166534;
	color: #fff;
}

.qr-submit-help {
	margin: 0;
	font-size: 13px;
	color: var(--qr-muted);
	line-height: 1.4;
}

/* Alert messages */
.qr-alert {
	padding: 12px 14px;
	border-radius: var(--qr-radius-sm);
	margin-bottom: 12px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

.qr-alert.qr-error {
	background: var(--qr-red-bg);
	border: 1.5px solid #fca5a5;
	color: var(--qr-red);
}

.qr-alert.qr-success {
	background: var(--qr-green-bg);
	border: 1.5px solid #86efac;
	color: var(--qr-green);
}

/* Info block */
.qr-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	padding: 18px;
	background: var(--qr-section-bg);
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	margin-top: 16px;
}

.qr-info.qr-info-top {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 0 16px;
}

.qr-info h4 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--qr-heading);
}

.qr-info-card { min-width: 0; }
.qr-info-card-hours { grid-column: 1 / -1; }

.qr-info-card-hours h4 {
	margin: 0 0 20px;
	text-align: left;
	font-size: var(--qr-hours-title-font-size, 28px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--qr-heading);
	text-transform: none;
}

.qr-hours-grid,
.qr-hours-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px 16px;
}

.qr-hours-list {
	gap: 24px 48px;
	width: 100%;
}

.qr-hours-row {
	display: block;
	padding: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.qr-hours-list-has-kitchen .qr-hours-row { display: block; }
.qr-hours-row:last-child { margin-bottom: 0; }
.qr-hours-header { display: none; }
.qr-hours-item,
.qr-hours-row { min-width: 0; }
.qr-hours-item-full,
.qr-hours-row-full { grid-column: 1 / -1; }

.qr-hours-day,
.qr-hours-value,
.qr-hours-kitchen { display: block; }

.qr-hours-day {
	margin-bottom: 4px;
	color: var(--qr-heading);
	font-size: var(--qr-hours-day-font-size, 16px);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.qr-hours-value {
	color: var(--qr-body);
	font-size: var(--qr-hours-time-font-size, 15px);
	line-height: 1.3;
	text-align: left;
	font-weight: 500;
}

.qr-hours-kitchen {
	margin-top: 3px;
	color: var(--qr-muted);
	font-size: var(--qr-hours-kitchen-font-size, 12px);
	line-height: 1.35;
	text-align: left;
}

.qr-hours-kitchen::before {
	content: attr(data-label) ": ";
	font-weight: 600;
}

.qr-info p {
	margin: 0;
	color: var(--qr-body);
	font-size: 14px;
}

/* Success page */
.qr-success {
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	padding: 22px;
	background: #f8fffa;
	box-shadow: 0 2px 12px rgba(16, 185, 129, 0.07);
}

.qr-success-reference {
	display: inline-flex;
	flex-direction: column;
	gap: 3px;
	margin: 10px 0 16px;
	padding: 11px 16px;
	border: 1.5px solid #bfdbfe;
	border-radius: var(--qr-radius-sm);
	background: #eff6ff;
	color: #1e3a8a;
}

.qr-success-reference span {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #3b82f6;
	font-weight: 600;
}

.qr-success-reference strong {
	font-size: 20px;
	letter-spacing: 0.03em;
	font-weight: 800;
	color: #1e3a8a;
}

.qr-summary p {
	margin: 5px 0;
	font-size: 14px;
	color: var(--qr-body);
}

.qr-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0;
}

/* Manage booking */
.qr-manage {
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	padding: 18px;
	background: var(--qr-surface);
}

.qr-cancel-form { margin-top: 14px; }

/* Staff dashboard */
.qr-staff-dashboard {
	display: grid;
	gap: 20px;
	max-width: 1180px;
	margin: 0 auto;
	padding: 20px 0;
}

.qr-staff-header h3 {
	margin: 0 0 6px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--qr-heading);
}

.qr-staff-header p {
	margin: 0;
	color: var(--qr-muted);
	font-size: 15px;
}

.qr-staff-filters,
.qr-staff-card,
.qr-staff-empty {
	border: 1px solid var(--qr-section-border);
	border-radius: var(--qr-radius-sm);
	background: var(--qr-section-bg);
}

.qr-staff-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
	gap: 14px;
	padding: 16px;
}

.qr-staff-filter-actions {
	display: flex;
	align-items: end;
	gap: 10px;
}

.qr-staff-filter-actions .button { height: 46px; }
.qr-staff-results { display: grid; gap: 12px; }

.qr-staff-card {
	background: var(--qr-surface);
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(15, 31, 51, 0.05);
}

.qr-staff-card-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}

.qr-staff-card-summary::-webkit-details-marker { display: none; }
.qr-staff-card-heading { display: grid; gap: 4px; }

.qr-staff-card-heading strong {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--qr-heading);
}

.qr-staff-card-heading span {
	font-size: 12px;
	color: var(--qr-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.qr-staff-card-summary-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	color: var(--qr-body);
	font-size: 14px;
}

/* Status pills */
.qr-status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 4px 12px;
	border-radius: 999px;
	border: 1px solid var(--qr-section-border);
	background: var(--qr-surface);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.qr-status-pill-pending {
	background: #fffbeb;
	border-color: #fcd34d;
	color: #92400e;
}

.qr-status-pill-confirmed {
	background: var(--qr-green-bg);
	border-color: #86efac;
	color: var(--qr-green);
}

.qr-status-pill-cancelled {
	background: var(--qr-red-bg);
	border-color: #fca5a5;
	color: var(--qr-red);
}

.qr-status-pill-done {
	background: #f0f9ff;
	border-color: #7dd3fc;
	color: #0369a1;
}

.qr-staff-card-body {
	display: grid;
	gap: 16px;
	padding: 0 20px 20px;
	border-top: 1px solid var(--qr-section-border);
}

.qr-staff-quick-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 14px;
}

.qr-staff-quick-actions form { margin: 0; }

.qr-staff-edit-form { display: grid; gap: 14px; }
.qr-staff-edit-form .qr-grid-visit > .qr-field { grid-column: span 3; }
.qr-staff-form-actions { display: flex; justify-content: flex-end; }
.qr-staff-empty { padding: 20px 22px; color: var(--qr-body); font-size: 14px; }

/* Responsive */
@media (min-width: 1180px) {
	.qr-grid-visit > .qr-field {
		display: grid;
		grid-template-rows: auto minmax(var(--qr-control-height), auto) minmax(3.2em, auto);
		align-content: start;
	}
	.qr-grid-visit .qr-help-text { min-height: 3.2em; }
	.qr-grid-preferences > .qr-field { grid-column: span 6; }
	.qr-grid-preferences > .qr-field.qr-field-allergies { grid-column: span 12; }
	.qr-grid-preferences > .qr-field.qr-field-notes { grid-column: span 12; }
	.qr-grid-preferences > .qr-field.qr-span-2 { grid-column: span 12; }
	.qr-grid-preferences > .qr-field.qr-field-highchair { grid-column: span 12; }
}

@media (max-width: 1024px) {
	.qr-reservation-form .qr-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px;
	}
	.qr-reservation-form .qr-grid > * { grid-column: 1 / -1 !important; }
	.qr-check-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.qr-service-window-list,
	.qr-no-slot-actions,
	.qr-actions,
	.qr-submit-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}
	.qr-reservation-form input,
	.qr-reservation-form select,
	.qr-reservation-form textarea {
		width: 100% !important;
		max-width: 100% !important;
	}
	.qr-window-chip,
	.qr-time-slot-button,
	.qr-no-slot-actions .button,
	.qr-actions .button,
	.qr-submit-row .button {
		width: 100%;
		min-width: 0;
	}
	.qr-info { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.qr-info.qr-info-top { padding: 0; }
}

@media (max-width: 900px) {
	.qr-hours-grid,
	.qr-hours-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 28px;
	}
	.qr-time-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
	.qr-reservation-form { padding: 16px; border-radius: var(--qr-radius-sm); }
	.qr-form-head,
	.qr-step,
	.qr-policy-block,
	.qr-success,
	.qr-manage,
	.qr-info { padding: 14px; }
	.qr-info.qr-info-top { padding: 0; }
	.qr-form-head h3 { font-size: 22px; }
	.qr-step-head h4 { font-size: 16px; }
	.qr-step-head p { font-size: 13px; }
	.qr-step .qr-field {
		padding: var(--qr-mobile-field-pad);
		border: 1px solid var(--qr-section-border);
		border-radius: var(--qr-radius-xs);
		background: var(--qr-surface);
	}
	.qr-grid-visit > .qr-field,
	.qr-grid-contact > .qr-field,
	.qr-grid-preferences > .qr-field,
	.qr-grid-preferences > .qr-field.qr-span-2,
	.qr-grid-preferences > .qr-consent-grid,
	.qr-availability,
	.qr-visit-summary,
	.qr-service-windows,
	.qr-no-slot,
	.qr-grid-preferences > .qr-vip-note { grid-column: span 1; }
	.qr-reservation-form input,
	.qr-reservation-form select,
	.qr-reservation-form textarea { font-size: 16px; }
	.qr-check-grid label,
	.qr-inline-check { align-items: flex-start; }
	.qr-grid-preferences > .qr-consent-grid { gap: 10px; }
	.qr-window-chip { border-radius: var(--qr-radius-xs); padding: 10px 14px; }
	.qr-submit-row {
		position: sticky;
		bottom: 10px;
		z-index: 20;
		border: 1px solid var(--qr-section-border);
		background: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		border-radius: var(--qr-radius-sm);
		padding: 12px;
		box-shadow: 0 8px 24px rgba(15, 31, 51, 0.14);
	}
	.qr-submit-row .button { width: 100%; }
}

@media (max-width: 640px) {
	.qr-grid-preferences > .qr-consent-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
	.qr-info-card-hours h4 { margin-bottom: 14px; }
	.qr-hours-grid,
	.qr-hours-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.qr-hours-row,
	.qr-hours-list-has-kitchen .qr-hours-row {
		padding-bottom: 12px;
		border-bottom: 1px solid rgba(148, 163, 184, 0.2);
	}
	.qr-hours-row:last-child { padding-bottom: 0; border-bottom: 0; }
	.qr-hours-day { margin-bottom: 3px; }
	.qr-time-panel { padding: 14px; border-radius: 10px; }
	.qr-time-slot-grid { gap: 8px; }
	.qr-time-slot-button { min-height: 48px; font-size: 14px; }
}

@media (max-width: 520px) {
	.qr-reservation-form { padding: 12px; }
	.qr-form-head { padding: 12px; }
	.qr-form-head h3 { font-size: 20px; }
	.qr-step { padding: 10px; }
	.qr-step-head h4 { font-size: 15px; }
	.qr-help-text,
	.qr-submit-help,
	.qr-vip-note,
	.qr-policy-block li { font-size: 13px; }
	.qr-policy-block ul { padding-left: 16px; }
	.qr-staff-filters { grid-template-columns: 1fr; }
	.qr-staff-filter-actions { flex-direction: column; align-items: stretch; }
	.qr-staff-filter-actions .button,
	.qr-staff-form-actions .button { width: 100%; }
	.qr-staff-card-summary { flex-direction: column; align-items: flex-start; }
	.qr-staff-card-summary-meta { justify-content: flex-start; }
	.qr-staff-quick-actions { flex-direction: column; }
	.qr-staff-quick-actions form,
	.qr-staff-quick-actions .button { width: 100%; }
	.qr-staff-edit-form .qr-grid-visit > .qr-field,
	.qr-staff-edit-form .qr-grid-contact > .qr-field,
	.qr-staff-edit-form .qr-grid-preferences > .qr-field { grid-column: span 12; }
}

@media (max-width: 920px) {
	.qr-staff-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qr-staff-filter-actions { grid-column: span 2; }
	.qr-staff-card-summary { flex-direction: column; align-items: flex-start; }
	.qr-staff-card-summary-meta { justify-content: flex-start; }
	.qr-staff-edit-form .qr-grid-visit > .qr-field,
	.qr-staff-edit-form .qr-grid-contact > .qr-field,
	.qr-staff-edit-form .qr-grid-preferences > .qr-field { grid-column: span 6; }
}

/* ==========================================================================
   GOLDEN HOUR THEME PRESETS
   ========================================================================== */

.qr-reservation-form {
	--t-body-font: 'Karla', sans-serif;
	--t-display-font: 'Cormorant Garamond', serif;
	--t-bg: #faf5ec;
	--t-card: #ffffff;
	--t-input: #fdfaf4;
	--t-border: #e6dccb;
	--t-text: #2b2620;
	--t-label: #4a3f35;
	--t-muted: #8a8177;
	--t-faint: #b0a595;
	--t-accent: #b4502f;
	--t-accent-soft: #fdf1ea;
	--t-accent-text: #ffffff;
	--t-chip-bg: #ffffff;
	--t-chip-text: #4a3f35;
	--t-bar-on: #2b2620;
	--t-bar-on-text: #f5efe4;
	--t-bar-off: #efe7d8;
	--t-bar-off-text: #8a8177;
}

.qr-theme-ember {
	--t-display-font: 'Cormorant Garamond', serif;
	--t-bg: #faf5ec; --t-card: #ffffff; --t-input: #fdfaf4; --t-border: #e6dccb;
	--t-text: #2b2620; --t-label: #4a3f35; --t-muted: #8a8177; --t-faint: #b0a595;
	--t-accent: #b4502f; --t-accent-soft: #fdf1ea; --t-accent-text: #ffffff;
	--t-chip-bg: #ffffff; --t-chip-text: #4a3f35;
	--t-bar-on: #2b2620; --t-bar-on-text: #f5efe4; --t-bar-off: #efe7d8; --t-bar-off-text: #8a8177;
}

.qr-theme-nocturne {
	--t-display-font: 'Marcellus', serif;
	--t-bg: #17130f; --t-card: rgba(255,255,255,0.04); --t-input: rgba(255,255,255,0.05); --t-border: rgba(239,230,214,0.2);
	--t-text: #f4ecdd; --t-label: #d8cdb8; --t-muted: #8d8171; --t-faint: #6e6455;
	--t-accent: #c9a24b; --t-accent-soft: rgba(201,162,75,0.14); --t-accent-text: #17130f;
	--t-chip-bg: rgba(255,255,255,0.06); --t-chip-text: #efe6d6;
	--t-bar-on: #c9a24b; --t-bar-on-text: #17130f; --t-bar-off: rgba(255,255,255,0.07); --t-bar-off-text: #8d8171;
}

.qr-theme-garden {
	--t-display-font: 'Bricolage Grotesque', sans-serif;
	--t-bg: #f6f8f4; --t-card: #ffffff; --t-input: #ffffff; --t-border: #dfe7db;
	--t-text: #22301f; --t-label: #3a4a36; --t-muted: #71806c; --t-faint: #9aa694;
	--t-accent: #3e7d54; --t-accent-soft: #e8f2ea; --t-accent-text: #ffffff;
	--t-chip-bg: #ffffff; --t-chip-text: #22301f;
	--t-bar-on: #22301f; --t-bar-on-text: #f0f4ee; --t-bar-off: #dfe7db; --t-bar-off-text: #8a9585;
}

.qr-theme-coastal {
	--t-display-font: 'Cormorant Garamond', serif;
	--t-bg: #f4f7fa; --t-card: #ffffff; --t-input: #fbfdff; --t-border: #d7e0ea;
	--t-text: #1c2a3a; --t-label: #324458; --t-muted: #74839a; --t-faint: #a3b1c2;
	--t-accent: #33608c; --t-accent-soft: #e8eff7; --t-accent-text: #ffffff;
	--t-chip-bg: #ffffff; --t-chip-text: #324458;
	--t-bar-on: #1c2a3a; --t-bar-on-text: #eef3f8; --t-bar-off: #e2e9f0; --t-bar-off-text: #8b99ab;
}

/* ==========================================================================
   GOLDEN HOUR FORM LAYOUT
   ========================================================================== */

.qr-reservation-form {
	background: var(--t-bg);
	color: var(--t-text);
	font-family: var(--t-body-font);
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	padding: 20px 22px 140px;
	position: relative;
	box-sizing: border-box;
	/* Reset old form chrome */
	border: none;
	box-shadow: none;
	display: block;
	gap: 0;
	border-radius: 0;
}

/* Header */
.qr-gh-head { margin-bottom: 28px; }

.qr-gh-eyebrow {
	font-family: var(--t-body-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--t-accent);
	margin-bottom: 8px;
}

.qr-gh-title {
	font-family: var(--t-display-font);
	font-size: 34px;
	font-weight: 500;
	line-height: 1.08;
	color: var(--t-text);
	margin: 0 0 8px;
	text-wrap: balance;
}

.qr-gh-subtitle {
	font-size: 14px;
	color: var(--t-muted);
	margin: 0;
	line-height: 1.5;
}

/* Sections */
.qr-gh-section { margin-bottom: 28px; }

.qr-section-label {
	font-family: var(--t-body-font);
	font-size: 13px;
	font-weight: 600;
	color: var(--t-label);
	margin-bottom: 12px;
}

/* Party chips */
.qr-party-chips {
	display: none;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
}

.qr-party-chip {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1.5px solid var(--t-border);
	background: var(--t-chip-bg);
	color: var(--t-chip-text);
	font-family: var(--t-body-font);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.18s cubic-bezier(0.32,0.72,0,1),
	            background 0.18s cubic-bezier(0.32,0.72,0,1),
	            color 0.18s cubic-bezier(0.32,0.72,0,1),
	            transform 0.12s cubic-bezier(0.32,0.72,0,1);
}

.qr-party-chip:hover { border-color: var(--t-accent); }

.qr-party-chip.is-selected {
	background: var(--t-accent);
	border-color: var(--t-accent);
	color: var(--t-accent-text);
}

.qr-party-chip:active { transform: scale(0.94); }

/* Date cards */
.qr-date-cards-wrap {
	display: none;
	overflow: hidden;
	margin-bottom: 4px;
}

.qr-date-cards {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 6px;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.qr-date-cards::-webkit-scrollbar { display: none; }

.qr-date-card {
	min-width: 56px;
	padding: 9px 6px;
	border-radius: 12px;
	border: 1.5px solid var(--t-border);
	background: var(--t-chip-bg);
	color: var(--t-chip-text);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	transition: border-color 0.18s cubic-bezier(0.32,0.72,0,1),
	            background 0.18s cubic-bezier(0.32,0.72,0,1),
	            color 0.18s cubic-bezier(0.32,0.72,0,1),
	            transform 0.12s cubic-bezier(0.32,0.72,0,1);
	flex-shrink: 0;
}

.qr-date-card:hover { border-color: var(--t-accent); }

.qr-date-card.is-selected {
	border-color: var(--t-accent);
	background: var(--t-accent-soft);
	color: var(--t-accent);
}

.qr-date-card:active { transform: scale(0.96); }

.qr-dc-dow {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.65;
}

.qr-dc-num {
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.qr-dc-month {
	font-size: 10px;
	font-weight: 500;
	opacity: 0.65;
}

.qr-date-card.is-selected .qr-dc-dow,
.qr-date-card.is-selected .qr-dc-month { opacity: 0.75; }

/* Time pills */
[data-qr-time-pills] { display: none; margin-bottom: 4px; }

.qr-time-group-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--t-muted);
	margin: 16px 0 8px;
}

.qr-time-group-label:first-child { margin-top: 0; }

.qr-time-pill-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.qr-time-pill {
	padding: 11px 4px;
	border-radius: 10px;
	border: 1.5px solid var(--t-border);
	background: var(--t-chip-bg);
	color: var(--t-chip-text);
	font-family: var(--t-body-font);
	font-size: 14px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	text-align: center;
	transition: border-color 0.18s cubic-bezier(0.32,0.72,0,1),
	            background 0.18s cubic-bezier(0.32,0.72,0,1),
	            color 0.18s cubic-bezier(0.32,0.72,0,1),
	            transform 0.12s cubic-bezier(0.32,0.72,0,1);
}

.qr-time-pill:hover:not(:disabled) { border-color: var(--t-accent); }

.qr-time-pill.is-selected {
	background: var(--t-accent);
	border-color: var(--t-accent);
	color: var(--t-accent-text);
}

.qr-time-pill.is-unavailable,
.qr-time-pill:disabled {
	opacity: 0.32;
	cursor: not-allowed;
}

.qr-time-pill:active:not(:disabled) { transform: scale(0.96); }

/* Summary card */
.qr-summary-card {
	background: var(--t-card);
	border: 1px solid var(--t-border);
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 6px 24px rgba(0,0,0,0.08);
	margin-bottom: 16px;
}

.qr-gh-enhanced .qr-summary-card {
	display: none;
}

.qr-gh-enhanced .qr-summary-card.is-visible {
	display: block;
	animation: qr-card-in 0.22s ease-out;
}

@keyframes qr-card-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

.qr-summary-card-top { margin-bottom: 16px; }

.qr-summary-display {
	font-family: var(--t-display-font);
	font-size: 22px;
	font-weight: 600;
	color: var(--t-text);
	line-height: 1.2;
	margin-bottom: 6px;
}

.qr-confirm-hint {
	font-size: 13px;
	color: var(--t-muted);
	margin: 0;
}

/* Contact inputs inside summary card */
.qr-contact-stack {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}

.qr-contact-stack input {
	width: 100%;
	padding: 13px 14px;
	border: 1.5px solid var(--t-border);
	border-radius: 10px;
	background: var(--t-input);
	color: var(--t-text);
	font-family: var(--t-body-font);
	font-size: 15px;
	box-sizing: border-box;
	transition: border-color 0.18s ease;
	outline: none;
}

.qr-contact-stack input::placeholder { color: var(--t-faint); }

.qr-contact-stack input:focus {
	border-color: var(--t-accent);
	box-shadow: 0 0 0 3px var(--t-accent-soft);
}

/* Special touch details */
.qr-special-touch {
	border: none;
	padding: 0;
	margin-bottom: 16px;
}

.qr-special-touch-summary {
	font-family: var(--t-body-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--t-label);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-top: 1px solid var(--t-border);
	list-style: none;
	user-select: none;
}

.qr-special-touch-summary::-webkit-details-marker { display: none; }

.qr-special-touch-icon {
	font-size: 18px;
	font-weight: 400;
	color: var(--t-muted);
	transition: transform 0.18s ease;
}

.qr-special-touch[open] .qr-special-touch-icon { transform: rotate(45deg); }

.qr-special-touch-body {
	padding: 12px 0 4px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Occasion and area chips */
.qr-occasion-chips,
.qr-area-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.qr-occasion-chip,
.qr-area-chip {
	padding: 8px 14px;
	border-radius: 999px;
	border: 1.5px solid var(--t-border);
	background: var(--t-chip-bg);
	color: var(--t-chip-text);
	font-family: var(--t-body-font);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.qr-occasion-chip.is-selected,
.qr-area-chip.is-selected {
	background: var(--t-accent-soft);
	border-color: var(--t-accent);
	color: var(--t-accent);
}

/* Requests input in special touch */
.qr-touch-requests {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--t-border);
	border-radius: 10px;
	background: var(--t-input);
	color: var(--t-text);
	font-family: var(--t-body-font);
	font-size: 14px;
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.18s ease;
}

.qr-touch-requests::placeholder { color: var(--t-faint); }
.qr-touch-requests:focus { border-color: var(--t-accent); box-shadow: 0 0 0 3px var(--t-accent-soft); }

/* Pref checks */
.qr-pref-checks { display: flex; flex-direction: column; gap: 10px; }

.qr-pref-check-label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--t-label);
	cursor: pointer;
}

.qr-pref-check-label input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--t-accent); flex-shrink: 0; }

/* Hidden selects used by JS chips */
.qr-occasion-select-hidden,
.qr-area-select-hidden { display: none; }

/* Reserve button */
.qr-reserve-btn {
	width: 100%;
	padding: 15px;
	border-radius: 12px;
	border: none;
	background: var(--t-accent);
	color: var(--t-accent-text);
	font-family: var(--t-body-font);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0,0,0,0.18);
	transition: opacity 0.18s ease, transform 0.12s cubic-bezier(0.32,0.72,0,1);
	margin-top: 16px;
	margin-bottom: 10px;
}

.qr-reserve-btn:hover { opacity: 0.88; }
.qr-reserve-btn:active { transform: scale(0.98); }
.qr-reserve-btn:disabled { opacity: 0.45; cursor: not-allowed; }

.qr-cancel-note {
	text-align: center;
	font-size: 12px;
	color: var(--t-muted);
	margin: 0 0 8px;
}

/* Policy inline */
.qr-policy-inline {
	border-top: 1px solid var(--t-border);
	padding-top: 12px;
	margin-top: 12px;
}

.qr-policy-inline p {
	font-size: 12px;
	color: var(--t-muted);
	margin: 0 0 4px;
	line-height: 1.5;
}

/* Sticky status bar */
.qr-status-outer {
	position: sticky;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 12px 0 24px;
	background: linear-gradient(180deg, transparent 0%, var(--t-bg) 42%);
	pointer-events: none;
	display: none;
}

.qr-status-pill {
	border-radius: 999px;
	padding: 13px 24px;
	text-align: center;
	font-family: var(--t-body-font);
	font-size: 14px;
	font-weight: 700;
	background: var(--t-bar-off);
	color: var(--t-bar-off-text);
	pointer-events: auto;
	transition: background 0.22s cubic-bezier(0.32,0.72,0,1),
	            color 0.22s cubic-bezier(0.32,0.72,0,1),
	            box-shadow 0.22s cubic-bezier(0.32,0.72,0,1);
}

.qr-status-pill.is-complete {
	background: var(--t-bar-on);
	color: var(--t-bar-on-text);
	box-shadow: 0 8px 22px rgba(0,0,0,0.28);
}

/* Availability (sr-only in GH mode) */
.qr-gh-availability {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

/* ==========================================================================
   GOLDEN HOUR ENHANCED MODE (JS active)
   ========================================================================== */

/* Show enhanced elements */
.qr-gh-enhanced .qr-party-chips { display: flex; }
.qr-gh-enhanced .qr-date-cards-wrap { display: block; }
.qr-gh-enhanced [data-qr-time-pills] { display: block; }
.qr-gh-enhanced .qr-status-outer { display: block; }

/* Hide native fallbacks when enhanced */
.qr-gh-enhanced .qr-native-party-select,
.qr-gh-enhanced .qr-native-date-input,
.qr-gh-enhanced .qr-time-native-select { display: none !important; }

/* Hide the old dark time panel in GH mode */
.qr-gh-enhanced .qr-time-panel { display: none !important; }

/* Section label always visible */
.qr-gh-section .qr-section-label { display: block; }

/* No-JS: keep native selects visible (they have no qr-gh-enhanced on form) */
.qr-native-party-select,
.qr-native-date-input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--t-border);
	border-radius: 10px;
	background: var(--t-input);
	color: var(--t-text);
	font-family: var(--t-body-font);
	font-size: 15px;
	box-sizing: border-box;
	margin-bottom: 4px;
}
