/*
Theme Name: Local Lunch Theme
Theme URI: https://ramenudo.com/
Author: Lucas Martin
Description: Public theme for nearby restaurants, menus, and geolocation search.
Version: 0.1.2
Requires at least: 7.0
Requires PHP: 8.3
Text Domain: local-lunch-theme
*/

:root {
	--llt-background: #f7f7f7;
	--llt-surface: #ffffff;
	--llt-text: #222222;
	--llt-muted: #666666;
	--llt-border: #dddddd;
	--llt-accent: #d84a2f;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--llt-background);
	color: var(--llt-text);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.5;
}

a {
	color: var(--llt-accent);
}

img {
	max-width: 100%;
	height: auto;
}

.site-container {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.site-header,
.site-footer {
	background: var(--llt-surface);
	border-bottom: 1px solid var(--llt-border);
}

.site-header {
	padding: 18px 0;
}

.site-footer {
	margin-top: 40px;
	padding: 24px 0;
	border-top: 1px solid var(--llt-border);
	border-bottom: 0;
}

.site-main {
	padding: 32px 0;
}
.llt-restaurant-header {
	margin-bottom: 24px;
}

.llt-restaurant-header h1 {
	margin-bottom: 8px;
	font-size: clamp(2rem, 5vw, 3.5rem);
}

.llt-restaurant-image img {
	display: block;
	width: 100%;
	max-height: 440px;
	border-radius: 16px;
	object-fit: cover;
}

.llt-restaurant-categories,
.llt-menu-item-category {
	color: var(--llt-muted);
	font-size: 0.95rem;
}

.llt-restaurant-content,
.llt-restaurant-details,
.llt-menu {
	margin-top: 28px;
	padding: 24px;
	background: var(--llt-surface);
	border: 1px solid var(--llt-border);
	border-radius: 16px;
}

.llt-menu-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.llt-menu-item {
	overflow: hidden;
	background: var(--llt-surface);
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llt-menu-item-image img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.llt-menu-item-content {
	padding: 18px;
}

.llt-menu-item-content h3 {
	margin-top: 0;
	margin-bottom: 8px;
}

.llt-menu-item-price {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 12px;
	font-size: 1.2rem;
}

@media (max-width: 700px) {
	.llt-menu-grid {
		grid-template-columns: 1fr;
	}

	.llt-restaurant-content,
	.llt-restaurant-details,
	.llt-menu {
		padding: 18px;
	}
}
.llt-hero {
	padding: 48px 0 28px;
}

.llt-eyebrow {
	margin-bottom: 8px;
	color: var(--llt-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.llt-hero h1 {
	margin: 0 0 16px;
	font-size: clamp(2.4rem, 6vw, 4.5rem);
	line-height: 1.05;
}

.llt-directory {
	margin-top: 24px;
}

.llt-section-heading {
	margin-bottom: 20px;
}

.llt-restaurant-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.llt-restaurant-card {
	overflow: hidden;
	background: var(--llt-surface);
	border: 1px solid var(--llt-border);
	border-radius: 16px;
}

.llt-restaurant-card-image {
	display: block;
	text-decoration: none;
}

.llt-restaurant-card-image img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.llt-image-placeholder {
	display: grid;
	height: 220px;
	place-items: center;
	background: #eeeeee;
	color: var(--llt-muted);
	font-weight: 700;
}

.llt-restaurant-card-content {
	padding: 20px;
}

.llt-restaurant-card-content h3 {
	margin: 0 0 8px;
	font-size: 1.35rem;
}

.llt-restaurant-card-content h3 a {
	color: var(--llt-text);
	text-decoration: none;
}

.llt-restaurant-card-categories,
.llt-location {
	color: var(--llt-muted);
	font-size: 0.95rem;
}

.llt-service-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0;
}

.llt-service-badges span {
	padding: 5px 10px;
	background: #eeeeee;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 700;
}

.llt-button {
	display: inline-block;
	padding: 10px 16px;
	background: var(--llt-accent);
	color: #ffffff;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
}

@media (max-width: 900px) {
	.llt-restaurant-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.llt-restaurant-grid {
		grid-template-columns: 1fr;
	}
}
.llt-location-search {
	max-width: 760px;
	margin-top: 28px;
	padding: 20px;
	background: var(--llt-surface);
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llt-location-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.llt-location-controls label {
	font-weight: 700;
}

.llt-location-controls select {
	min-height: 42px;
	padding: 8px 12px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	font: inherit;
}

.llt-location-button {
	min-height: 42px;
	padding: 10px 18px;
	background: var(--llt-accent);
	color: #ffffff;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llt-location-button:hover {
	filter: brightness(0.92);
}

.llt-location-button:disabled {
	cursor: wait;
	opacity: 0.65;
}

.llt-location-status {
	margin: 12px 0 0;
	color: var(--llt-muted);
}

.llt-location-status.is-success {
	color: #1d6b35;
}

.llt-location-status.is-error {
	color: #a12622;
}

.llt-location-status.is-loading {
	color: #725600;
}

.llt-distance {
	margin: 10px 0;
	color: var(--llt-accent);
	font-weight: 700;
}

.llt-no-results {
	grid-column: 1 / -1;
	padding: 24px;
	background: var(--llt-surface);
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

@media (max-width: 620px) {
	.llt-location-controls {
		align-items: stretch;
		flex-direction: column;
	}

	.llt-location-controls label,
	.llt-location-controls select,
	.llt-location-button {
		width: 100%;
	}
}
.llp-owner-dashboard {
	padding: 40px 0;
}

.llp-dashboard-header {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
	margin-bottom: 28px;
}

.llp-dashboard-eyebrow {
	margin: 0 0 6px;
	color: var(--llt-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.llp-dashboard-header h1 {
	margin: 0;
}

.llp-dashboard-logout {
	font-weight: 700;
}

.llp-dashboard-grid {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 24px;
}

.llp-dashboard-nav {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: start;
	padding: 16px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llp-dashboard-nav a {
	padding: 10px 12px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
}

.llp-dashboard-nav a:hover {
	background: #f2f2f2;
}

.llp-dashboard-content {
	min-width: 0;
}

.llp-dashboard-card {
	margin-bottom: 24px;
	padding: 24px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llp-dashboard-card h2 {
	margin-top: 0;
}

.llp-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.llp-form-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.llp-form-field-full {
	grid-column: 1 / -1;
}

.llp-form-field label {
	font-weight: 700;
}

.llp-form-field input,
.llp-form-field textarea,
.llp-form-field select {
	width: 100%;
	padding: 11px 12px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	font: inherit;
}

.llp-checkbox-field {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-right: 18px;
}

.llp-checkbox-field input {
	width: auto;
}

.llp-dashboard-button {
	display: inline-block;
	padding: 11px 18px;
	background: var(--llt-accent);
	color: #ffffff;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
}

.llp-dashboard-message {
	margin-bottom: 22px;
	padding: 16px 18px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llp-dashboard-success {
	background: #edf9f0;
	border-color: #acd8b7;
	color: #175b28;
}

.llp-dashboard-error {
	background: #fff0ef;
	border-color: #e1aaa5;
	color: #8d211d;
}

.llp-dashboard-warning {
	background: #fff8df;
	border-color: #e5cf81;
	color: #6d5400;
}

@media (max-width: 760px) {
	.llp-dashboard-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.llp-dashboard-grid {
		grid-template-columns: 1fr;
	}

	.llp-dashboard-nav {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.llp-form-grid {
		grid-template-columns: 1fr;
	}

	.llp-form-field-full {
		grid-column: auto;
	}
}
.llp-dashboard-panel {
	display: none;
}

.llp-dashboard-panel.is-active {
	display: block;
}

.llp-dashboard-tab {
	width: 100%;
	padding: 10px 12px;
	background: transparent;
	color: var(--llt-accent);
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	text-align: left;
}

.llp-dashboard-tab:hover,
.llp-dashboard-tab.is-active {
	background: #f2f2f2;
}
.llp-owner-menu-layout {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(360px, 1.2fr);
	gap: 28px;
}

.llp-owner-menu-form,
.llp-owner-menu-list {
	min-width: 0;
}

.llp-owner-menu-form h3,
.llp-owner-menu-list h3 {
	margin-top: 0;
}

.llp-owner-menu-form .llp-form-field {
	margin-bottom: 16px;
}

.llp-owner-menu-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.llp-dashboard-secondary-button {
	display: inline-block;
	padding: 10px 16px;
	background: #eeeeee;
	color: var(--llt-text);
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
}

.llp-owner-menu-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.llp-owner-menu-item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 16px;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llp-owner-menu-item h4 {
	margin: 0 0 6px;
}

.llp-owner-menu-category {
	margin: 0 0 8px;
	color: var(--llt-muted);
}

.llp-owner-menu-price {
	display: flex;
	gap: 8px;
	margin: 0 0 8px;
}

.llp-owner-menu-status {
	display: inline-block;
	padding: 4px 9px;
	background: #eeeeee;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 700;
}

.llp-owner-menu-item-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: right;
}

.llp-delete-link {
	color: #a12622;
}

@media (max-width: 900px) {
	.llp-owner-menu-layout {
		grid-template-columns: 1fr;
	}
}
.llp-owner-current-image {
	margin-bottom: 12px;
}

.llp-owner-current-image img {
	display: block;
	width: 180px;
	height: 135px;
	border-radius: 10px;
	object-fit: cover;
}

.llp-form-help {
	margin: 6px 0 0;
	color: var(--llt-muted);
	font-size: 0.9rem;
}

.llp-owner-menu-item-image {
	flex: 0 0 90px;
}

.llp-owner-menu-item-image img {
	display: block;
	width: 90px;
	height: 90px;
	border-radius: 9px;
	object-fit: cover;
}

.llp-owner-menu-item-main {
	flex: 1;
	min-width: 0;
}

@media (max-width: 620px) {
	.llp-owner-menu-item {
		flex-wrap: wrap;
	}

	.llp-owner-menu-item-actions {
		width: 100%;
		flex-direction: row;
		text-align: left;
	}
}
.llt-restaurant-hero {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(320px, 1fr);
	gap: 28px;
	align-items: center;
	margin-bottom: 32px;
}

.llt-restaurant-image img {
	display: block;
	width: 100%;
	height: 360px;
	border-radius: 16px;
	object-fit: cover;
}

.llt-restaurant-hero-content h1 {
	margin: 8px 0 18px;
}

.llt-service-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.llt-service-badge {
	display: inline-block;
	padding: 7px 11px;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 700;
}

.llt-service-badge.is-available {
	background: #eaf7ed;
	color: #176127;
}

.llt-service-badge.is-unavailable {
	background: #f1f1f1;
	color: #666666;
}

.llt-restaurant-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.llt-action-button {
	display: inline-block;
	padding: 11px 16px;
	background: #eeeeee;
	color: var(--llt-text);
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
}

.llt-action-primary {
	background: var(--llt-accent);
	color: #ffffff;
}

.llt-action-full {
	display: block;
	margin-top: 18px;
	text-align: center;
}

.llt-restaurant-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 30px;
	align-items: start;
}

.llt-restaurant-sidebar {
	position: sticky;
	top: 20px;
}

.llt-restaurant-details {
	padding: 22px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llt-detail-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 16px;
}

.llt-featured-label {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 8px;
	background: #fff3c4;
	color: #6f5600;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
}

@media (max-width: 850px) {
	.llt-restaurant-hero,
	.llt-restaurant-layout {
		grid-template-columns: 1fr;
	}

	.llt-restaurant-sidebar {
		position: static;
	}
}
.llt-order-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
	align-items: start;
}

.llt-order-cart {
	position: sticky;
	top: 20px;
	padding: 22px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llt-order-cart h2 {
	margin-top: 0;
}

.llt-add-to-order {
	margin-top: 14px;
	padding: 10px 15px;
	background: var(--llt-accent);
	color: #ffffff;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llt-cart-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.llt-cart-item {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--llt-border);
}

.llt-cart-item-details {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 9px;
}

.llt-cart-item-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}

.llt-cart-item-controls button {
	min-width: 32px;
	padding: 6px 9px;
	background: #eeeeee;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
	font: inherit;
}

.llt-cart-remove {
	color: #a12622;
}

.llt-cart-summary {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 2px solid var(--llt-border);
}

.llt-cart-subtotal {
	display: flex;
	justify-content: space-between;
	margin-bottom: 14px;
	font-size: 1.1rem;
}

.llt-clear-cart {
	width: 100%;
	padding: 10px 14px;
	background: #eeeeee;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

@media (max-width: 900px) {
	.llt-order-layout {
		grid-template-columns: 1fr;
	}

	.llt-order-cart {
		position: static;
	}
}
.llt-checkout-form {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 2px solid var(--llt-border);
}

.llt-checkout-form h3 {
	margin: 0 0 16px;
}

.llt-checkout-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.llt-checkout-field label,
.llt-order-type legend {
	font-weight: 700;
}

.llt-checkout-field input,
.llt-checkout-field textarea {
	width: 100%;
	padding: 10px 11px;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	font: inherit;
}

.llt-order-type {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}

.llt-order-type legend {
	width: 100%;
	margin-bottom: 6px;
}

.llt-order-type label {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}

.llt-submit-order {
	width: 100%;
	padding: 12px 16px;
	background: var(--llt-accent);
	color: #ffffff;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llt-form-help {
	margin: 9px 0 0;
	color: var(--llt-muted);
	font-size: 0.88rem;
}

.llt-order-message {
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: 8px;
}

.llt-order-message.is-success {
	background: #edf9f0;
	border: 1px solid #acd8b7;
	color: #175b28;
}

.llt-order-message.is-error {
	background: #fff0ef;
	border: 1px solid #e1aaa5;
	color: #8d211d;
}

/* Header account link and owner login page. */
.site-header .site-container {
	display: flex;
	gap: 24px;
	align-items: center;
}

.llt-header-brand {
	margin-right: auto;
	font-size: 1.2rem;
	font-weight: 700;
}

.llt-header-brand a {
	color: var(--llt-text);
	text-decoration: none;
}

.site-header nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header nav a {
	text-decoration: none;
	font-weight: 700;
}

.llt-header-account {
	margin-left: 8px;
}

.llt-header-login {
	display: inline-block;
	padding: 9px 14px;
	background: var(--llt-accent);
	color: #ffffff;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
	white-space: nowrap;
}

.llt-owner-login-page {
	display: grid;
	min-height: min(680px, calc(100vh - 180px));
	padding: 40px 0;
	place-items: center;
}

.llt-owner-login-card {
	width: min(100%, 480px);
	padding: 34px;
	background: var(--llt-surface);
	border: 1px solid var(--llt-border);
	border-radius: 18px;
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.08);
}

.llt-owner-login-card h1 {
	margin: 0 0 10px;
	font-size: clamp(2rem, 5vw, 2.8rem);
}

.llt-owner-login-intro {
	margin: 0 0 24px;
	color: var(--llt-muted);
}

.llt-owner-login-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.llt-login-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.llt-login-field label {
	font-weight: 700;
}

.llt-login-field input {
	width: 100%;
	padding: 12px 13px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 9px;
	font: inherit;
}

.llt-login-field input:focus {
	border-color: var(--llt-accent);
	outline: 3px solid rgba(216, 74, 47, 0.15);
}

.llt-login-remember {
	display: inline-flex;
	gap: 8px;
	align-items: center;
}

.llt-owner-login-button {
	width: 100%;
	padding: 12px 18px;
	background: var(--llt-accent);
	color: #ffffff;
	border: 0;
	border-radius: 9px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llt-owner-login-button:hover {
	filter: brightness(0.92);
}

.llt-login-message {
	margin-bottom: 18px;
	padding: 12px 14px;
	border-radius: 9px;
}

.llt-login-message.is-success {
	background: #edf9f0;
	border: 1px solid #acd8b7;
	color: #175b28;
}

.llt-login-message.is-error {
	background: #fff0ef;
	border: 1px solid #e1aaa5;
	color: #8d211d;
}

.llt-owner-login-links {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 20px;
	font-size: 0.92rem;
}

@media (max-width: 700px) {
	.site-header .site-container {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.site-header nav {
		order: 3;
		width: 100%;
	}

	.llt-owner-login-card {
		padding: 24px;
	}

	.llt-owner-login-links {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Custom owner password recovery. */
.llt-login-password-help {
	margin: -4px 0 2px;
	color: var(--llt-muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.llt-owner-login-card input[type="password"] {
	letter-spacing: 0.02em;
}


/* Owner dashboard account tab. */
.llp-owner-account {
	max-width: 820px;
}

.llp-owner-account > h2 {
	margin-bottom: 8px;
}

.llp-owner-account-form {
	margin-top: 22px;
}

.llp-owner-account-form input[readonly] {
	background: #f2f2f2;
	color: var(--llt-muted);
	cursor: not-allowed;
}

.llp-account-security-heading {
	margin-top: 8px;
	padding-top: 18px;
	border-top: 1px solid var(--llt-border);
}

.llp-account-security-heading h3 {
	margin: 0 0 4px;
}

.llp-owner-account-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 22px;
}

@media (max-width: 620px) {
	.llp-owner-account-actions .llp-dashboard-button,
	.llp-owner-account-actions .llp-dashboard-secondary-button {
		width: 100%;
		text-align: center;
	}
}


/* Restaurant business hours. */
.llp-business-hours-section {
	margin-top: 10px;
	padding-top: 18px;
	border-top: 1px solid var(--llt-border);
}

.llp-business-hours-section h3 {
	margin: 0 0 6px;
}

.llp-business-hours-grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}

.llp-business-hours-row {
	display: grid;
	grid-template-columns: minmax(110px, 1fr) auto minmax(130px, 1fr) minmax(130px, 1fr);
	gap: 14px;
	align-items: end;
	padding: 14px;
	background: #fafafa;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llp-business-hours-row.is-closed {
	opacity: 0.7;
}

.llp-business-hours-day {
	align-self: center;
}

.llp-business-hours-row label:not(.llp-checkbox-field) {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-weight: 700;
}

.llp-hours-closed-label {
	align-self: center;
	margin: 0;
}

.llt-business-hours {
	margin: 22px 0;
	padding-top: 18px;
	border-top: 1px solid var(--llt-border);
}

.llt-business-hours h3 {
	margin: 0 0 12px;
}

.llt-open-status {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	margin: 10px 0;
	padding: 7px 11px;
	border-radius: 999px;
	font-weight: 700;
}

.llt-open-status.is-open {
	background: #eaf7ed;
	color: #176127;
}

.llt-open-status.is-closed {
	background: #fff0ef;
	color: #8d211d;
}

.llt-hours-list {
	margin: 12px 0 0;
}

.llt-hours-row {
	display: grid;
	grid-template-columns: minmax(100px, 0.8fr) minmax(150px, 1.2fr);
	gap: 16px;
	padding: 8px 0;
	border-bottom: 1px solid #eeeeee;
}

.llt-hours-row dt {
	font-weight: 700;
}

.llt-hours-row dd {
	margin: 0;
	text-align: right;
}

@media (max-width: 760px) {
	.llp-business-hours-row {
		grid-template-columns: 1fr 1fr;
	}

	.llp-business-hours-day {
		grid-column: 1 / -1;
	}
}

@media (max-width: 520px) {
	.llp-business-hours-row {
		grid-template-columns: 1fr;
	}

	.llp-business-hours-day {
		grid-column: auto;
	}

	.llt-hours-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.llt-hours-row dd {
		text-align: left;
	}
}

/* Restaurant owner dashboard layout. */
.site-container-dashboard {
	width: min(1180px, calc(100% - 32px));
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
}

.site-container-dashboard .llt-page,
.site-container-dashboard .llt-page-content,
.site-container-dashboard .llp-owner-dashboard {
	width: 100%;
	max-width: none;
}

.site-container-dashboard .llp-dashboard-grid {
	display: grid;
	width: 100%;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 24px;
}

.site-container-dashboard .llp-dashboard-content,
.site-container-dashboard .llp-dashboard-panel,
.site-container-dashboard .llp-dashboard-card {
	min-width: 0;
	max-width: none;
}

@media (max-width: 760px) {
	.site-container-dashboard {
		width: calc(100% - 24px);
	}

	.site-container-dashboard .llp-dashboard-grid {
		grid-template-columns: 1fr;
	}
}

/* Owner orders toolbar and quick actions. */
.llp-orders-toolbar {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	margin-bottom: 12px;
	padding: 14px;
	background: #fafafa;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llp-orders-filter-group,
.llp-orders-toolbar-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.llp-orders-filter {
	padding: 8px 12px;
	background: #ffffff;
	color: var(--llt-text);
	border: 1px solid var(--llt-border);
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llp-orders-filter:hover,
.llp-orders-filter.is-active {
	background: var(--llt-accent);
	color: #ffffff;
	border-color: var(--llt-accent);
}

.llp-orders-sound-toggle {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	font-size: 0.9rem;
	font-weight: 700;
}

.llp-orders-summary {
	margin: 0 0 14px;
	color: var(--llt-muted);
	font-size: 0.9rem;
}

.llp-owner-order.is-unseen-order {
	border-left: 5px solid var(--llt-accent);
	box-shadow: 0 0 0 2px rgba(216, 74, 47, 0.08);
}

.llp-order-quick-status-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--llt-border);
}

.llp-order-quick-status {
	padding: 8px 12px;
	background: #eeeeee;
	color: var(--llt-text);
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llp-order-quick-status:hover {
	background: #dddddd;
}

@media (max-width: 760px) {
	.llp-orders-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.llp-orders-toolbar-actions {
		justify-content: space-between;
	}
}

@media (max-width: 520px) {
	.llp-orders-filter,
	.llp-orders-toolbar-actions .llp-dashboard-secondary-button {
		flex: 1 1 auto;
		text-align: center;
	}

	.llp-order-quick-status {
		flex: 1 1 calc(50% - 8px);
	}
}

/* Online-order pause controls. */
.llp-order-pause-section {
	margin-top: 8px;
	padding: 18px;
	background: #fff8df;
	border: 1px solid #e5cf81;
	border-radius: 12px;
}

.llp-order-pause-section h3 {
	margin: 0 0 10px;
}

.llt-order-paused-notice {
	margin-bottom: 22px;
}

.llt-add-to-order:disabled,
.llt-submit-order:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	filter: grayscale(0.25);
}

.llt-checkout-form.is-paused {
	opacity: 0.75;
}

/* Timed online-order pause controls. */
.llp-order-pause-status {
	margin: 10px 0 4px;
	padding: 10px 12px;
	border-radius: 9px;
	font-weight: 700;
}

.llp-order-pause-status.is-open {
	background: #edf9f0;
	border: 1px solid #acd8b7;
	color: #175b28;
}

.llp-order-pause-status.is-paused {
	background: #fff0ef;
	border: 1px solid #e1aaa5;
	color: #8d211d;
}

.llp-order-pause-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.llp-order-pause-presets button {
	border: 0;
	cursor: pointer;
}

.llt-order-resume-time {
	display: block;
	margin-top: 5px;
	font-weight: 700;
}

/* Delivery fee, tax, totals, and minimum-order display. */
.llt-cart-total-row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 6px 0;
}

.llt-cart-grand-total {
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px solid var(--llt-border);
	font-size: 1.14rem;
	font-weight: 700;
}

.llt-cart-minimum-message {
	margin: 10px 0 0;
	padding: 9px 11px;
	background: #fff8df;
	border: 1px solid #e5cf81;
	border-radius: 8px;
	color: #6d5400;
	font-size: 0.9rem;
	font-weight: 700;
}

.llt-tracked-order-total {
	font-size: 1.08rem;
	font-weight: 700;
}

/* Payment methods and optional customer tip. */
.llp-payment-settings {
	padding: 18px;
	background: #f7f7f7;
	border: 1px solid var(--llt-border);
	border-radius: 12px;
}

.llp-payment-settings h3 {
	margin: 0 0 8px;
}

.llt-payment-methods {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--llt-border);
}

.llt-tip-section {
	margin: 16px 0;
	padding: 14px;
	background: #fafafa;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llt-tip-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0;
}

.llt-tip-buttons button {
	padding: 8px 11px;
	background: #eeeeee;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llt-tip-buttons button:hover,
.llt-tip-buttons button.is-active {
	background: var(--llt-accent);
	color: #ffffff;
	border-color: var(--llt-accent);
}

.llt-tip-section input[type="number"] {
	width: 100%;
	margin-top: 6px;
	padding: 10px 11px;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	font: inherit;
}

/* Restaurant promo-code management and checkout. */
.llp-promo-manager {
	padding: 18px;
	background: #f7f7f7;
	border: 1px solid var(--llt-border);
	border-radius: 12px;
}

.llp-promo-manager h3 {
	margin: 0 0 8px;
}

.llp-promo-rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 16px 0;
}

.llp-promo-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(140px, 1fr));
	gap: 12px;
	align-items: end;
	padding: 14px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llp-promo-row > div {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.llp-promo-row label {
	font-weight: 700;
}

.llp-promo-row input,
.llp-promo-row select {
	width: 100%;
	padding: 9px 10px;
	border: 1px solid var(--llt-border);
	border-radius: 7px;
	font: inherit;
}

.llp-promo-active {
	align-self: center;
}

.llp-promo-active label {
	display: inline-flex;
	gap: 7px;
	align-items: center;
}

.llp-promo-active input {
	width: auto;
}

.llp-promo-active small {
	color: var(--llt-muted);
}

.llp-promo-remove {
	align-self: end;
	color: #8d211d;
}

.llt-promo-entry {
	margin: 16px 0;
}

.llt-promo-entry > label {
	display: block;
	margin-bottom: 6px;
	font-weight: 700;
}

.llt-promo-entry-controls {
	display: flex;
	gap: 8px;
}

.llt-promo-entry-controls input {
	flex: 1;
	min-width: 0;
	padding: 10px 11px;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	font: inherit;
	text-transform: uppercase;
}

.llt-promo-entry-controls button {
	padding: 10px 14px;
	background: #eeeeee;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.llt-promo-message {
	min-height: 1.4em;
	margin: 7px 0 0;
	font-size: 0.9rem;
}

.llt-promo-message.is-success,
.llt-tracked-order-discount,
.llp-owner-order-discount {
	color: #176127;
}

.llt-promo-message.is-error {
	color: #8d211d;
}

.llt-promo-message.is-loading {
	color: #725600;
}

@media (max-width: 900px) {
	.llp-promo-row {
		grid-template-columns: repeat(2, minmax(140px, 1fr));
	}
}

@media (max-width: 560px) {
	.llp-promo-row {
		grid-template-columns: 1fr;
	}

	.llt-promo-entry-controls {
		flex-direction: column;
	}
}

/* Kitchen ticket printing. */
.llp-order-print-header {
	display: none;
}

.llp-order-print-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 18px 0 4px;
	padding-top: 14px;
	border-top: 1px solid var(--llt-border);
}

@media print {
	@page {
		margin: 10mm;
	}

	body.llp-printing-order {
		background: #ffffff !important;
		color: #000000 !important;
	}

	body.llp-printing-order * {
		visibility: hidden !important;
	}

	body.llp-printing-order .llp-owner-order.is-print-target,
	body.llp-printing-order .llp-owner-order.is-print-target * {
		visibility: visible !important;
	}

	body.llp-printing-order .llp-owner-order.is-print-target {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #ffffff !important;
		color: #000000 !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	body.llp-printing-order .llp-owner-order-summary,
	body.llp-printing-order .llp-owner-order-status-form,
	body.llp-printing-order .llp-order-print-actions,
	body.llp-printing-order .llp-order-quick-status-buttons,
	body.llp-printing-order .llp-order-update-feedback,
	body.llp-printing-order a::after {
		display: none !important;
	}

	body.llp-printing-order .llp-order-print-header {
		display: block !important;
		margin: 0 0 12px !important;
		padding: 0 0 10px !important;
		border-bottom: 2px solid #000000 !important;
		text-align: center !important;
	}

	body.llp-printing-order .llp-order-print-header h1,
	body.llp-printing-order .llp-order-print-header h2,
	body.llp-printing-order .llp-order-print-header p {
		margin: 0 0 5px !important;
		color: #000000 !important;
	}

	body.llp-printing-order .llp-owner-order-details {
		display: block !important;
		padding: 0 !important;
	}

	body.llp-printing-order .llp-owner-order-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
		margin-bottom: 12px !important;
	}

	body.llp-printing-order .llp-owner-order-items,
	body.llp-printing-order .llp-owner-order-item {
		color: #000000 !important;
	}

	body.llp-printing-order .llp-owner-order-item {
		display: flex !important;
		justify-content: space-between !important;
		gap: 12px !important;
		padding: 7px 0 !important;
		border-bottom: 1px solid #777777 !important;
	}

	body.llp-printing-order .llp-owner-order-total {
		margin-top: 4px !important;
		padding-top: 9px !important;
		border-top: 2px solid #000000 !important;
		font-size: 1.15rem !important;
	}

	body.llp-printing-order .llp-order-print-notes {
		margin: 14px 0 !important;
		padding: 10px !important;
		border: 3px solid #000000 !important;
		font-size: 1.08rem !important;
		font-weight: 700 !important;
	}

	body.llp-printing-order a {
		color: #000000 !important;
		text-decoration: none !important;
	}

	body.llp-print-thermal .llp-owner-order.is-print-target {
		width: 72mm !important;
		max-width: 72mm !important;
		font-family: "Courier New", monospace !important;
		font-size: 11pt !important;
		line-height: 1.25 !important;
	}

	body.llp-print-thermal .llp-order-print-header h1 {
		font-size: 17pt !important;
	}

	body.llp-print-thermal .llp-order-print-header h2 {
		font-size: 15pt !important;
	}

	body.llp-print-thermal .llp-owner-order-grid {
		display: block !important;
	}

	body.llp-print-thermal .llp-owner-order-grid > div {
		margin-bottom: 10px !important;
	}

	body.llp-print-thermal .llp-owner-order-details h3 {
		margin: 10px 0 4px !important;
		font-size: 12pt !important;
		text-transform: uppercase !important;
	}

	body.llp-print-thermal .llp-owner-order-details p {
		margin: 3px 0 !important;
	}

	body.llp-print-thermal .llp-owner-order-item {
		font-size: 10.5pt !important;
	}

	body.llp-print-full .llp-owner-order.is-print-target {
		max-width: 190mm !important;
		margin: 0 auto !important;
		font-size: 12pt !important;
	}

	body.llp-print-full .llp-order-print-header h1 {
		font-size: 24pt !important;
	}

	body.llp-print-full .llp-order-print-header h2 {
		font-size: 20pt !important;
	}
}

/* Desktop/landscape business hours table. Mobile stays stacked. */
@media (min-width: 900px), (orientation: landscape) and (min-width: 700px) {
	.single-llp_restaurant .llt-business-hours {
		width: 100%;
		margin-top: 4px;
	}

	.single-llp_restaurant .llt-hours-list {
		display: grid;
		grid-template-columns: repeat(7, minmax(105px, 1fr));
		gap: 0;
		margin-top: 12px;
		overflow: hidden;
		background: #ffffff;
		border: 1px solid var(--llt-border);
		border-radius: 10px;
	}

	.single-llp_restaurant .llt-hours-row {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 4px;
		padding: 10px 8px;
		border-right: 1px solid var(--llt-border);
		border-bottom: 0;
		text-align: center;
	}

	.single-llp_restaurant .llt-hours-row:last-child {
		border-right: 0;
	}

	.single-llp_restaurant .llt-hours-row dt {
		margin: 0;
		font-size: 0.86rem;
		font-weight: 700;
		white-space: nowrap;
	}

	.single-llp_restaurant .llt-hours-row dd {
		margin: 0;
		color: var(--llt-muted);
		font-size: 0.8rem;
		line-height: 1.25;
		text-align: center;
		white-space: normal;
	}

	.single-llp_restaurant .llt-open-status {
		margin-bottom: 8px;
	}
}

/* Medium landscape screens: allow horizontal scrolling instead of squeezing. */
@media (orientation: landscape) and (min-width: 700px) and (max-width: 1050px) {
	.single-llp_restaurant .llt-hours-list {
		grid-template-columns: repeat(7, minmax(120px, 1fr));
		overflow-x: auto;
	}

	.single-llp_restaurant .llt-hours-row {
		min-width: 120px;
	}
}
/* Horizontal business-hours table on desktop and landscape */
@media (min-width: 900px), (orientation: landscape) and (min-width: 700px) {
	.single-llp_restaurant .llp-public-hours {
		width: 100%;
	}

	.single-llp_restaurant .llp-public-hours-list {
		display: grid;
		grid-template-columns: repeat(7, minmax(110px, 1fr));
		gap: 0;
		width: 100%;
		margin: 14px 0 0;
		padding: 0;
		overflow: hidden;
		background: #ffffff;
		border: 1px solid var(--llt-border);
		border-radius: 10px;
	}

	.single-llp_restaurant .llp-public-hours-list > div {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 5px;
		padding: 11px 8px;
		border-right: 1px solid var(--llt-border);
		text-align: center;
	}

	.single-llp_restaurant .llp-public-hours-list > div:last-child {
		border-right: 0;
	}

	.single-llp_restaurant .llp-public-hours-list dt {
		margin: 0;
		font-size: 0.88rem;
		font-weight: 700;
		white-space: nowrap;
	}

	.single-llp_restaurant .llp-public-hours-list dd {
		margin: 0;
		color: var(--llt-muted);
		font-size: 0.8rem;
		line-height: 1.3;
		text-align: center;
	}

	.single-llp_restaurant .llp-public-hours .llp-open-status {
		margin: 4px 0 8px;
	}
}

/* Prevent squeezing on medium landscape screens */
@media (orientation: landscape) and (min-width: 700px) and (max-width: 1050px) {
	.single-llp_restaurant .llp-public-hours-list {
		grid-template-columns: repeat(7, 125px);
		overflow-x: auto;
	}

	.single-llp_restaurant .llp-public-hours-list > div {
		min-width: 125px;
	}
}

/* Multiple restaurant categories in owner dashboard. */
.llp-restaurant-category-fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.llp-restaurant-category-fieldset legend {
	margin-bottom: 2px;
	font-weight: 700;
}

.llp-restaurant-category-checklist {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
	padding: 14px;
	background: #fafafa;
	border: 1px solid var(--llt-border);
	border-radius: 10px;
}

.llp-restaurant-category-option {
	display: flex;
	gap: 8px;
	align-items: center;
	min-width: 0;
	padding: 9px 10px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 8px;
	cursor: pointer;
	font-weight: 700;
}

.llp-restaurant-category-option:hover {
	border-color: var(--llt-accent);
}

.llp-restaurant-category-option input {
	width: auto;
	margin: 0;
	flex: 0 0 auto;
}

.llp-restaurant-category-option span {
	min-width: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.llp-restaurant-category-checklist {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.llp-restaurant-category-checklist {
		grid-template-columns: 1fr;
	}
}

/* Public restaurant category filters. */
.llt-category-filter {
	width: 100%;
	margin: 6px 0 2px;
	padding: 0;
	border: 0;
}

.llt-category-filter legend {
	margin-bottom: 8px;
	font-weight: 700;
}

.llt-category-filter-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.llt-category-filter-button,
.llt-category-filter-option {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	min-height: 38px;
	padding: 8px 12px;
	background: #ffffff;
	color: var(--llt-text);
	border: 1px solid var(--llt-border);
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	white-space: nowrap;
}

.llt-category-filter-button {
	appearance: none;
}

.llt-category-filter-option input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.llt-category-filter-option small {
	color: inherit;
	font-size: 0.78rem;
	opacity: 0.75;
}

.llt-category-filter-button:hover,
.llt-category-filter-option:hover,
.llt-category-filter-option:has(input:focus-visible) {
	border-color: var(--llt-accent);
}

.llt-category-filter-button.is-active,
.llt-category-filter-option:has(input:checked) {
	background: var(--llt-accent);
	color: #ffffff;
	border-color: var(--llt-accent);
}

@media (max-width: 700px) {
	.llt-category-filter-buttons {
		flex-wrap: nowrap;
		width: 100%;
		padding-bottom: 6px;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.llt-category-filter-button,
	.llt-category-filter-option {
		flex: 0 0 auto;
	}
}

/* Public Open Now filter and restaurant status badges. */
.llt-open-now-filter {
	font-weight: 700;
}

.llt-restaurant-card-statuses {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0;
}

.llt-open-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
}

.llt-open-badge.is-open {
	background: #eaf7ed;
	color: #176127;
}

.llt-open-badge.is-closed {
	background: #fff0ef;
	color: #8d211d;
}

.llt-open-badge.is-paused {
	background: #fff8df;
	color: #6d5400;
}

@media (max-width: 620px) {
	.llt-open-now-filter {
		width: 100%;
	}
}


/* Menu item option groups and add-ons. */
.llp-menu-options-manager { margin: 22px 0; padding: 18px; background:#fafafa; border:1px solid var(--llt-border); border-radius:12px; }
.llp-menu-options-heading,.llp-menu-option-group-header { display:flex; justify-content:space-between; gap:14px; align-items:center; }
.llp-menu-options-heading h4 { margin:0; }
.llp-menu-option-groups { display:flex; flex-direction:column; gap:14px; margin-top:14px; }
.llp-menu-option-group { padding:16px; background:#fff; border:1px solid var(--llt-border); border-radius:10px; }
.llp-menu-option-values { display:flex; flex-direction:column; gap:8px; margin:12px 0; }
.llp-menu-option-value { display:grid; grid-template-columns:minmax(160px,1fr) 130px auto; gap:8px; }
.llp-menu-option-value input { width:100%; padding:9px 10px; border:1px solid var(--llt-border); border-radius:7px; font:inherit; }
.llp-delete-link { background:transparent; border:0; cursor:pointer; font:inherit; }
.llt-option-modal { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.55); }
.llt-option-dialog { width:min(560px,100%); max-height:90vh; overflow:auto; padding:24px; background:#fff; border-radius:16px; box-shadow:0 22px 70px rgba(0,0,0,.3); }
.llt-option-dialog h2 { margin-top:0; }
.llt-option-group { display:flex; flex-direction:column; gap:8px; margin:0 0 16px; padding:14px; border:1px solid var(--llt-border); border-radius:10px; }
.llt-option-group legend { padding:0 5px; font-weight:700; }
.llt-option-group label { display:flex; gap:9px; align-items:center; }
.llt-option-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.llt-cart-item-name,.llp-owner-order-item-description,.llt-tracked-order-item-description { display:flex; min-width:0; flex-direction:column; gap:3px; }
.llt-cart-item-name small { color:var(--llt-muted); }
.llt-order-item-options { margin:4px 0 0; padding-left:18px; color:var(--llt-muted); font-size:.88rem; font-weight:400; }
@media(max-width:620px){ .llp-menu-options-heading,.llp-menu-option-group-header{align-items:flex-start;flex-direction:column}.llp-menu-option-value{grid-template-columns:1fr}.llt-option-dialog-actions{flex-direction:column}.llt-option-dialog-actions button{width:100%} }


/* Single restaurant tabs and category-grouped menu list. */
.llt-restaurant-tabs {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 24px;
	padding: 10px;
	background: rgba(247, 247, 247, 0.94);
	border: 1px solid var(--llt-border);
	border-radius: 14px;
	backdrop-filter: blur(8px);
}

.llt-restaurant-tabs a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	background: #ffffff;
	color: var(--llt-text);
	border: 1px solid var(--llt-border);
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
}

.llt-restaurant-tabs a:hover,
.llt-restaurant-tabs a:focus {
	background: var(--llt-accent);
	color: #ffffff;
	border-color: var(--llt-accent);
}

.llt-restaurant-section {
	scroll-margin-top: 90px;
}

.llt-menu-list-section {
	min-width: 0;
}

.llt-menu-category-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}

.llt-menu-category-nav a {
	display: inline-flex;
	padding: 8px 12px;
	background: #eeeeee;
	color: var(--llt-text);
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 700;
}

.llt-menu-category-nav a:hover,
.llt-menu-category-nav a:focus {
	background: var(--llt-accent);
	color: #ffffff;
}

.llt-menu-list-groups {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.llt-menu-list-group {
	scroll-margin-top: 95px;
}

.llt-menu-list-group h3 {
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--llt-border);
	font-size: 1.35rem;
}

.llt-menu-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.llt-menu-list-item {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 14px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 12px;
}

.llt-menu-list-image {
	display: block;
	width: 86px;
	height: 86px;
	overflow: hidden;
	background: #eeeeee;
	border-radius: 10px;
}

.llt-menu-list-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.llt-menu-list-content h4 {
	margin: 0 0 5px;
	font-size: 1.08rem;
}

.llt-menu-list-content p {
	margin: 0;
	color: var(--llt-muted);
	font-size: 0.93rem;
}

.llt-menu-list-actions {
	display: flex;
	min-width: 130px;
	flex-direction: column;
	gap: 9px;
	align-items: flex-end;
}

.llt-menu-list-price {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: 1.05rem;
}

.llt-menu-list-price del {
	color: var(--llt-muted);
	font-size: 0.92rem;
}

.llt-menu-list-actions .llt-add-to-order {
	margin-top: 0;
	white-space: nowrap;
}

/* Compact public restaurant category pills on small screens. */
@media (max-width: 700px) {
	.llt-category-filter-buttons {
		flex-wrap: wrap;
		width: 100%;
		gap: 6px;
		overflow-x: visible;
		padding-bottom: 0;
	}

	.llt-category-filter-button,
	.llt-category-filter-option {
		min-height: 30px;
		flex: 0 1 auto;
		padding: 5px 8px;
		font-size: 0.78rem;
		line-height: 1;
		white-space: normal;
	}

	.llt-category-filter-option small {
		font-size: 0.7rem;
	}
}

@media (max-width: 900px) {
	.llt-order-layout {
		grid-template-columns: 1fr;
	}

	.llt-order-cart {
		position: static;
	}
}

@media (max-width: 620px) {
	.llt-restaurant-tabs {
		position: static;
		flex-direction: column;
	}

	.llt-restaurant-tabs a {
		width: 100%;
	}

	.llt-menu-list-item {
		grid-template-columns: 72px minmax(0, 1fr);
		align-items: start;
	}

	.llt-menu-list-image {
		width: 72px;
		height: 72px;
	}

	.llt-menu-list-actions {
		grid-column: 1 / -1;
		align-items: stretch;
	}

	.llt-menu-list-actions .llt-add-to-order {
		width: 100%;
	}
}


/* Header logo image */
.llt-header-brand {
	display: flex;
	align-items: center;
	margin-right: auto;
	font-size: 0;
	font-weight: 400;
	line-height: 1;
}

.llt-header-brand a,
.llt-header-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.llt-header-logo {
	display: block;
	width: auto;
	max-width: 360px;
	height: 76px;
	object-fit: contain;
}

@media (max-width: 900px) {
	.llt-header-logo {
		max-width: 300px;
		height: 64px;
	}
}

@media (max-width: 700px) {
	.llt-header-logo {
		max-width: 230px;
		height: 54px;
	}
}

@media (max-width: 420px) {
	.llt-header-logo {
		max-width: 190px;
		height: 46px;
	}
}
/* Owner dashboard quick-action button fix */
.llp-owner-dashboard .llp-summary-action-buttons .llp-dashboard-secondary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	background: #eeeeee;
	color: var(--llt-text);
	border: 2px solid #222222;
	border-radius: 9px;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
}

.llp-owner-dashboard .llp-summary-action-buttons .llp-dashboard-secondary-button:hover,
.llp-owner-dashboard .llp-summary-action-buttons .llp-dashboard-secondary-button:focus {
	background: #dddddd;
	color: var(--llt-text);
}
/* ZIP search form styling */
.llt-location-search input[type="text"],
.llt-location-search input[type="search"],
.llt-location-search input[type="number"],
.llt-location-search input[type="tel"],
.llt-location-search input[name="zip"],
.llt-location-search input[name="zipcode"],
.llt-location-search input[name="zip_code"],
.llt-location-search input[data-role="zip"],
.llt-location-search input[data-location-zip] {
	min-width: 240px;
	min-height: 52px;
	padding: 12px 14px;
	background: #ffffff;
	color: var(--llt-text);
	border: 1px solid var(--llt-border);
	border-radius: 10px;
	font: inherit;
	font-size: 1rem;
	line-height: 1.2;
	box-shadow: none;
}

.llt-location-search input[type="text"]:focus,
.llt-location-search input[type="search"]:focus,
.llt-location-search input[type="number"]:focus,
.llt-location-search input[type="tel"]:focus,
.llt-location-search input[name="zip"]:focus,
.llt-location-search input[name="zipcode"]:focus,
.llt-location-search input[name="zip_code"]:focus,
.llt-location-search input[data-role="zip"]:focus,
.llt-location-search input[data-location-zip]:focus {
	border-color: var(--llt-accent);
	outline: 3px solid rgba(216, 74, 47, 0.16);
}

.llt-location-search select {
	min-height: 52px;
	border-radius: 10px;
}

.llt-location-search .llt-location-button {
	min-height: 52px;
	border-radius: 10px;
	font-size: 1rem;
}

@media (max-width: 620px) {
	.llt-location-search input[type="text"],
	.llt-location-search input[type="search"],
	.llt-location-search input[type="number"],
	.llt-location-search input[type="tel"],
	.llt-location-search input[name="zip"],
	.llt-location-search input[name="zipcode"],
	.llt-location-search input[name="zip_code"],
	.llt-location-search input[data-role="zip"],
	.llt-location-search input[data-location-zip],
	.llt-location-search select,
	.llt-location-search .llt-location-button {
		width: 100%;
		min-width: 0;
	}
}
/* Collapsible restaurant menu categories */
.llt-menu-list-group {
	border: 1px solid var(--llt-border);
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
}

.llt-menu-list-group h3 {
	margin: 0;
	padding: 0;
	border-bottom: 0;
}

.llt-menu-category-toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 16px 18px;
	background: #ffffff;
	color: var(--llt-text);
	border: 0;
	cursor: pointer;
	font: inherit;
	font-size: 1.12rem;
	font-weight: 800;
	text-align: left;
}

.llt-menu-category-toggle:hover,
.llt-menu-category-toggle:focus {
	background: #f7f7f7;
	outline: none;
}

.llt-menu-collapse-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-left: 14px;
	background: var(--llt-accent);
	color: #ffffff;
	border-radius: 999px;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1;
}

.llt-menu-list-group .llt-menu-list {
	padding: 12px;
	border-top: 1px solid var(--llt-border);
}

.llt-menu-list-group .llt-menu-list[hidden] {
	display: none;
}

.llt-menu-list-group.is-open {
	border-color: var(--llt-accent);
	box-shadow: 0 0 0 2px rgba(216, 74, 47, 0.08);
}

.llt-menu-list-groups {
	gap: 14px;
}

@media (max-width: 620px) {
	.llt-menu-category-toggle {
		padding: 14px 15px;
		font-size: 1rem;
	}

	.llt-menu-collapse-icon {
		width: 24px;
		height: 24px;
		font-size: 1rem;
	}
}
/* Menu image placeholder when item has no photo */
.llt-menu-list-item:not(:has(.llt-menu-list-image))::before {
	content: "No image";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 86px;
	height: 86px;
	background: #eeeeee;
	color: var(--llt-muted);
	border-radius: 10px;
	font-size: 0.75rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.1;
}

@media (max-width: 620px) {
	.llt-menu-list-item:not(:has(.llt-menu-list-image))::before {
		width: 72px;
		height: 72px;
		font-size: 0.7rem;
	}
}
/* Better single restaurant layout */
.single-llp_restaurant .site-main {
	padding-top: 18px;
}

.single-llp_restaurant .llt-restaurant-header {
	margin-bottom: 18px;
}

.single-llp_restaurant .llt-restaurant-image img {
	max-height: 320px;
	border-radius: 14px;
	object-fit: cover;
}

.single-llp_restaurant .llt-restaurant-header h1 {
	margin: 18px 0 6px;
	font-size: clamp(2.1rem, 5vw, 3.2rem);
	line-height: 1.05;
}

.single-llp_restaurant .llt-restaurant-categories {
	margin-bottom: 8px;
	font-size: 0.86rem;
}

/* Make the tab buttons cleaner */
.single-llp_restaurant .llt-restaurant-tabs {
	position: static;
	margin: 16px 0 18px;
	padding: 8px;
	background: #ffffff;
}

.single-llp_restaurant .llt-restaurant-tabs a {
	min-height: 34px;
	padding: 7px 12px;
	font-size: 0.86rem;
}

/* Compact restaurant details */
.single-llp_restaurant .llt-restaurant-details {
	margin-top: 0;
	margin-bottom: 20px;
	padding: 18px;
}

.single-llp_restaurant .llt-restaurant-details h2 {
	margin: 0 0 12px;
	font-size: 1.25rem;
}

.single-llp_restaurant .llt-restaurant-details > p {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	margin: 0 18px 10px 0;
	font-size: 0.92rem;
}

.single-llp_restaurant .llt-restaurant-details .llp-public-hours,
.single-llp_restaurant .llt-restaurant-details .llt-business-hours {
	display: block;
	width: 100%;
	margin-top: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--llt-border);
}

.single-llp_restaurant .llt-restaurant-details .llp-public-hours h3,
.single-llp_restaurant .llt-restaurant-details .llt-business-hours h3 {
	margin: 0 0 10px;
	font-size: 1.05rem;
}

/* Give the menu more space */
.single-llp_restaurant .llt-order-layout {
	grid-template-columns: minmax(0, 1fr) 285px;
	gap: 22px;
	align-items: start;
}

.single-llp_restaurant .llt-menu {
	margin-top: 0;
	padding: 22px;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.04);
}

.single-llp_restaurant .llt-menu h2 {
	margin: 0 0 16px;
	font-size: 1.55rem;
}

/* Make category chips easier to read */
.single-llp_restaurant .llt-menu-category-nav {
	gap: 8px;
	margin-bottom: 18px;
}

.single-llp_restaurant .llt-menu-category-nav a {
	padding: 8px 12px;
	background: #f4f4f4;
	border: 1px solid var(--llt-border);
	font-size: 0.82rem;
}

.single-llp_restaurant .llt-menu-category-nav a:hover,
.single-llp_restaurant .llt-menu-category-nav a:focus {
	background: var(--llt-accent);
	border-color: var(--llt-accent);
	color: #ffffff;
}

/* Make collapsed menu categories look more like menu sections */
.single-llp_restaurant .llt-menu-list-groups {
	gap: 10px;
}

.single-llp_restaurant .llt-menu-list-group {
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 12px;
	overflow: hidden;
}

.single-llp_restaurant .llt-menu-category-toggle {
	min-height: 48px;
	padding: 13px 16px;
	font-size: 1rem;
}

.single-llp_restaurant .llt-menu-list-group.is-open {
	border-color: var(--llt-accent);
	box-shadow: 0 0 0 2px rgba(216, 74, 47, 0.08);
}

/* Make menu item rows cleaner when a category is open */
.single-llp_restaurant .llt-menu-list-group .llt-menu-list {
	padding: 12px;
	background: #fafafa;
}

.single-llp_restaurant .llt-menu-list-item {
	background: #ffffff;
	border-radius: 12px;
}

.single-llp_restaurant .llt-menu-list-content h4 {
	font-size: 1.05rem;
	line-height: 1.2;
}

.single-llp_restaurant .llt-menu-list-content p {
	font-size: 0.92rem;
	line-height: 1.35;
}

/* Better order card */
.single-llp_restaurant .llt-order-cart {
	top: 16px;
	padding: 18px;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.04);
}

.single-llp_restaurant .llt-order-cart h2 {
	margin: 0 0 10px;
	font-size: 1.35rem;
}

.single-llp_restaurant .llt-cart-empty {
	margin: 0;
	font-size: 0.9rem;
	color: var(--llt-muted);
}

/* Responsive restaurant page */
@media (max-width: 900px) {
	.single-llp_restaurant .llt-order-layout {
		grid-template-columns: 1fr;
	}

	.single-llp_restaurant .llt-order-cart {
		position: static;
	}
}

@media (max-width: 620px) {
	.single-llp_restaurant .site-container {
		width: min(100% - 22px, 1180px);
	}

	.single-llp_restaurant .llt-restaurant-image img {
		max-height: 220px;
	}

	.single-llp_restaurant .llt-restaurant-header h1 {
		font-size: 2rem;
	}

	.single-llp_restaurant .llt-restaurant-details {
		padding: 15px;
	}

	.single-llp_restaurant .llt-restaurant-details > p {
		display: flex;
		width: 100%;
		margin-right: 0;
	}

	.single-llp_restaurant .llt-menu {
		padding: 16px;
	}

	.single-llp_restaurant .llt-menu-category-nav a {
		padding: 7px 10px;
		font-size: 0.78rem;
	}

	.single-llp_restaurant .llt-menu-category-toggle {
		min-height: 44px;
		padding: 11px 13px;
	}
}
/* Hide order cart when online ordering is unavailable */
.single-llp_restaurant [data-llt-orders-paused="1"] .llt-order-cart {
	display: none !important;
}

.single-llp_restaurant [data-llt-orders-paused="1"] .llt-order-layout {
	grid-template-columns: 1fr !important;
}

.single-llp_restaurant [data-llt-orders-paused="1"] .llt-menu {
	max-width: none;
}

.single-llp_restaurant [data-llt-orders-paused="1"] .llt-restaurant-tabs a[href="#restaurant-order"] {
	display: none !important;
}
.single-llp_restaurant [data-llt-orders-paused="1"] .llt-add-to-order {
	display: none !important;
}
/* Make front page ZIP/location search full container width */
.home .llt-location-search,
.front-page .llt-location-search {
	width: 100%;
	max-width: none;
}
/* Restaurant category archive small cards */
.llt-category-archive .site-container {
	width: min(1180px, calc(100% - 32px));
}

.llt-category-archive-header {
	margin: 28px 0 24px;
}

.llt-category-archive-header .llt-eyebrow {
	margin-bottom: 8px;
	color: var(--llt-accent);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.llt-category-archive-header h1 {
	margin: 0;
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.05;
}

.llt-category-restaurant-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}

.llt-category-restaurant-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.llt-category-restaurant-image {
	display: block;
	width: 100%;
	height: 210px;
	overflow: hidden;
	background: #eeeeee;
	text-decoration: none;
}

.llt-category-restaurant-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.llt-category-image-placeholder {
	display: grid;
	width: 100%;
	height: 210px;
	place-items: center;
	background: #eeeeee;
	color: var(--llt-muted);
	font-weight: 800;
}

.llt-category-restaurant-content {
	padding: 20px;
}

.llt-category-card-heading {
	margin: 0 0 8px;
	font-size: 1.35rem;
	line-height: 1.2;
}

.llt-category-card-heading a {
	color: var(--llt-text);
	text-decoration: none;
}

.llt-category-card-heading a:hover {
	color: var(--llt-accent);
}

.llt-category-card-meta,
.llt-category-card-address,
.llt-category-card-phone,
.llt-category-card-excerpt {
	margin: 8px 0;
	color: var(--llt-muted);
	font-size: 0.92rem;
	line-height: 1.4;
}

.llt-category-card-statuses {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 10px 0;
}

.llt-category-card-footer {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 16px;
}

.llt-category-card-footer .llt-service-badge {
	margin: 0;
}

.llt-category-card-footer .llt-button {
	margin-left: auto;
}

.llt-category-pagination {
	margin-top: 30px;
}

@media (max-width: 980px) {
	.llt-category-restaurant-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.llt-category-restaurant-list {
		grid-template-columns: 1fr;
	}

	.llt-category-restaurant-image {
		height: 190px;
	}

	.llt-category-card-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.llt-category-card-footer .llt-button {
		width: 100%;
		margin-left: 0;
		text-align: center;
	}
}
/* Smaller category text on restaurant category archive cards */
.llt-category-restaurant-card .llt-category-card-categories {
	margin: 6px 0 10px;
	color: var(--llt-muted);
	font-size: 0.85rem !important;
	line-height: 1.35 !important;
	font-weight: 400;
}

.llt-category-restaurant-card .llt-category-card-categories a {
	font-size: inherit !important;
	line-height: inherit !important;
}
/* Header order status link shown only when browser has saved orders */
.llt-header-order-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin-right: 10px;
	padding: 8px 12px;
	background: var(--llt-accent);
	color: #ffffff;
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.llt-header-order-status:hover,
.llt-header-order-status:focus {
	background: #b93622;
	color: #ffffff;
}

@media (max-width: 700px) {
	.llt-header-order-status {
		min-height: 34px;
		margin-right: 6px;
		padding: 7px 10px;
		font-size: 0.78rem;
	}
}
/* Order Status page buttons */
.llt-order-status-page a[href*="/restaurants/"],
.llt-order-status-page button,
.llt-order-status-page .button,
.llt-order-status-page input[type="button"],
.llt-order-status-page input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin: 6px 6px 6px 0;
	padding: 8px 14px;
	background: var(--llt-accent);
	color: #ffffff !important;
	border: 0;
	border-radius: 8px;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: none;
}

.llt-order-status-page a[href*="/restaurants/"]:hover,
.llt-order-status-page button:hover,
.llt-order-status-page .button:hover,
.llt-order-status-page input[type="button"]:hover,
.llt-order-status-page input[type="submit"]:hover {
	background: #b93622;
	color: #ffffff !important;
}

.llt-order-status-page button:last-child,
.llt-order-status-page input:last-child {
	background: #eeeeee;
	color: #8d211d !important;
	border: 1px solid #dddddd;
}

.llt-order-status-page button:last-child:hover,
.llt-order-status-page input:last-child:hover {
	background: #f7dede;
	color: #8d211d !important;
}
/* Order status progress spacing */
.llt-order-status-page .llt-order-status-steps,
.llt-order-status-page .llt-order-progress,
.llt-order-status-page .llt-status-timeline {
	margin: 18px 0;
	padding: 0;
}

.llt-order-status-page .llt-order-status-steps div,
.llt-order-status-page .llt-order-status-steps p,
.llt-order-status-page .llt-order-progress div,
.llt-order-status-page .llt-order-progress p,
.llt-order-status-page .llt-status-timeline div,
.llt-order-status-page .llt-status-timeline p {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 8px 0;
	font-size: 1rem;
	line-height: 1.4;
}

.llt-order-status-page .llt-order-status-steps div::first-letter,
.llt-order-status-page .llt-order-status-steps p::first-letter,
.llt-order-status-page .llt-order-progress div::first-letter,
.llt-order-status-page .llt-order-progress p::first-letter,
.llt-order-status-page .llt-status-timeline div::first-letter,
.llt-order-status-page .llt-status-timeline p::first-letter {
	margin-right: 8px;
}
/* Order status checklist/progress */
.llt-order-progress {
	margin: 18px 0 22px;
	padding: 14px 16px;
	background: #ffffff;
	border: 1px solid var(--llt-border);
	border-radius: 14px;
}

.llt-order-progress-step {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 10px 0;
	color: var(--llt-muted);
	font-size: 1rem;
	line-height: 1.4;
}

.llt-order-progress-marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	background: #ffffff;
	color: #777777;
	border: 2px solid #dddddd;
	border-radius: 7px;
	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1;
}

.llt-order-progress-label {
	font-weight: 700;
}

/* Completed steps */
.llt-order-progress-step.is-complete {
	color: var(--llt-text);
}

.llt-order-progress-step.is-complete .llt-order-progress-marker {
	background: #e9f8ea;
	border-color: #2f9e44;
	color: #157a2c;
}

/* Current step */
.llt-order-progress-step.is-current {
	color: var(--llt-text);
}

.llt-order-progress-step.is-current .llt-order-progress-marker {
	background: var(--llt-accent);
	border-color: var(--llt-accent);
	color: #ffffff;
}

/* Cancelled/rejected message */
.llt-order-progress-cancelled {
	padding: 12px 14px;
	background: #fff0f0;
	color: #8d211d;
	border: 1px solid #efb5b5;
	border-radius: 10px;
	font-weight: 800;
}