/* Redec Collection Confirm */

.rcc-overlay {
	--rcc-accent: #0B4F8A;
	--rcc-accent-text: #FFFFFF;
	--rcc-bg: #FFFFFF;
	--rcc-panel: #F7F8FA;
	--rcc-border: #C9D1DA;
	--rcc-ink: #16202B;
	--rcc-muted: #3A4654;
	--rcc-input-bg: #FFFFFF;
	--rcc-input-border: #6B7785;
	--rcc-ok: #17603A;
	--rcc-bad: #A32020;
	--rcc-far-bg: #FFF6E0;
	--rcc-far-border: #D9A441;
	--rcc-far-ink: #4A3500;
	--rcc-scrim: rgba(15, 22, 30, 0.66);

	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
	background: var(--rcc-scrim);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.rcc-overlay.rcc-dark {
	--rcc-bg: #211D1A;
	--rcc-panel: #151312;
	--rcc-border: #4A423B;
	--rcc-ink: #F3EEE7;
	--rcc-muted: #D8CFC4;
	--rcc-input-bg: #151312;
	--rcc-input-border: #9A8F83;
	--rcc-ok: #8FD6A6;
	--rcc-bad: #FFB4A8;
	--rcc-far-bg: #33250A;
	--rcc-far-border: #C98A1B;
	--rcc-far-ink: #FBE3B0;
	--rcc-scrim: rgba(0, 0, 0, 0.72);
}

.rcc-overlay[hidden],
.rcc-overlay [hidden] {
	display: none !important;
}

body.rcc-open {
	overflow: hidden;
}

.rcc-overlay .rcc-modal {
	width: 100%;
	max-width: 560px;
	margin: auto;
	box-sizing: border-box;
	padding: 32px;
	border: 1px solid var(--rcc-border);
	border-radius: 10px;
	background: var(--rcc-bg);
	color: var(--rcc-ink);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
	display: flex;
	flex-direction: column;
	gap: 18px;
	text-align: left;
	outline: none;
}

.rcc-overlay .rcc-title {
	margin: 0;
	padding: 0;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--rcc-ink);
}

.rcc-overlay p {
	margin: 0;
	padding: 0;
}

.rcc-overlay .rcc-intro {
	margin-top: -8px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--rcc-muted);
}

.rcc-overlay .rcc-address {
	display: flex;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--rcc-border);
	border-radius: 8px;
	background: var(--rcc-panel);
}

.rcc-overlay .rcc-pin {
	flex-shrink: 0;
	color: var(--rcc-accent);
}

.rcc-overlay .rcc-address-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.rcc-overlay .rcc-branch {
	font-size: 16px;
	font-weight: 600;
	color: var(--rcc-ink);
}

.rcc-overlay .rcc-lines {
	font-size: 15px;
	line-height: 1.45;
	color: var(--rcc-muted);
}

.rcc-overlay .rcc-postcode {
	font-weight: 700;
	color: var(--rcc-ink);
}

.rcc-overlay .rcc-hours {
	font-size: 14px;
	color: var(--rcc-muted);
}

.rcc-overlay .rcc-distance,
.rcc-overlay .rcc-policy {
	font-size: 15px;
	line-height: 1.45;
	color: var(--rcc-muted);
}

.rcc-overlay .rcc-distance.rcc-far {
	padding: 12px 16px;
	border: 1px solid var(--rcc-far-border);
	border-radius: 8px;
	background: var(--rcc-far-bg);
	color: var(--rcc-far-ink);
	font-weight: 600;
}

.rcc-overlay .rcc-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rcc-overlay .rcc-field label {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--rcc-ink);
}

.rcc-overlay .rcc-field input[type="text"] {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	box-sizing: border-box;
	border: 1.5px solid var(--rcc-input-border);
	border-radius: 6px;
	background: var(--rcc-input-bg);
	color: var(--rcc-ink);
	font-size: 17px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: none;
}

.rcc-overlay .rcc-field input[type="text"]::placeholder {
	text-transform: none;
	letter-spacing: 0;
	color: var(--rcc-muted);
	opacity: 0.8;
}

.rcc-overlay .rcc-field input[type="text"]:focus {
	outline: 2px solid var(--rcc-accent);
	outline-offset: 2px;
}

.rcc-overlay .rcc-match {
	font-size: 14px;
	font-weight: 600;
	color: var(--rcc-ok);
}

.rcc-overlay .rcc-error {
	font-size: 14px;
	font-weight: 600;
	color: var(--rcc-bad);
}

.rcc-overlay .rcc-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rcc-overlay .rcc-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 10px 16px;
	box-sizing: border-box;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-transform: none;
	letter-spacing: 0;
	text-align: center;
	white-space: normal;
	cursor: pointer;
	box-shadow: none;
}

.rcc-overlay .rcc-btn svg {
	flex-shrink: 0;
}

.rcc-overlay .rcc-deliver {
	border: 1.5px solid var(--rcc-accent);
	background: var(--rcc-accent);
	color: var(--rcc-accent-text);
}

.rcc-overlay .rcc-collect {
	border: 1.5px solid var(--rcc-ink);
	background: transparent;
	color: var(--rcc-ink);
}

.rcc-overlay .rcc-collect:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.rcc-overlay .rcc-btn:focus-visible {
	outline: 2px solid var(--rcc-ink);
	outline-offset: 2px;
}

/* Phone: bottom sheet */
@media (max-width: 600px) {
	.rcc-overlay {
		align-items: flex-end;
		padding: 0;
	}

	.rcc-overlay .rcc-modal {
		max-width: none;
		margin: auto 0 0;
		padding: 22px 16px 20px;
		gap: 14px;
		border-radius: 14px 14px 0 0;
		border-width: 1px 0 0;
	}

	.rcc-overlay .rcc-title {
		font-size: 21px;
	}

	.rcc-overlay .rcc-intro {
		margin-top: -6px;
		font-size: 15px;
	}
}

/* Cart and checkout rows */
.rcc-rate-note {
	display: block;
	margin-top: 2px;
	font-size: 0.85em;
	font-weight: 400;
	line-height: 1.4;
	opacity: 0.8;
}

.rcc-blocked-note td {
	font-size: 0.9em;
	line-height: 1.45;
	font-weight: 400;
	text-align: left;
	opacity: 0.85;
}
