.ghl-cart-site-panel,
.ghl-delivery-preview,
.ghl-account-sites {
	--ghl-orange: #ff6500;
	--ghl-dark: #222222;
	--ghl-border: #dddddd;
	--ghl-muted: #666666;
	--ghl-soft: #f7f7f7;
	box-sizing: border-box;
}

.ghl-cart-site-panel *,
.ghl-delivery-preview *,
.ghl-account-sites * {
	box-sizing: border-box;
}

.ghl-eyebrow {
	margin: 0 0 6px;
	color: var(--ghl-orange);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ghl-cart-site-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
	gap: 24px;
	align-items: center;
	margin: 0 0 28px;
	padding: 24px;
	background: #ffffff;
	border: 1px solid var(--ghl-border);
	border-top: 4px solid var(--ghl-orange);
}

.ghl-cart-site-panel h2,
.ghl-delivery-preview h2,
.ghl-delivery-preview h3,
.ghl-delivery-preview h4,
.ghl-account-sites h2,
.ghl-account-sites h3 {
	margin-top: 0;
	color: var(--ghl-dark);
}

.ghl-cart-site-panel__intro p:last-child,
.ghl-cart-site-panel__notice p,
.ghl-cart-site-form__manage {
	margin-bottom: 0;
}

.ghl-cart-site-panel__notice {
	padding: 18px;
	background: var(--ghl-soft);
	border: 1px solid var(--ghl-border);
}

.ghl-cart-site-form label {
	display: block;
	margin-bottom: 7px;
	font-weight: 700;
}

.ghl-cart-site-form__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.ghl-cart-site-form select {
	width: 100%;
	min-height: 46px;
}

.ghl-cart-site-form .button {
	min-height: 46px;
	white-space: nowrap;
}

.ghl-cart-site-form__manage {
	margin-top: 8px;
	font-size: 13px;
}

.ghl-delivery-preview {
	margin: 30px 0;
	background: #ffffff;
	border: 1px solid var(--ghl-border);
}

.ghl-delivery-preview__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 24px;
	background: var(--ghl-dark);
	color: #ffffff;
	border-bottom: 4px solid var(--ghl-orange);
}

.ghl-delivery-preview__header h2,
.ghl-delivery-preview__header p,
.ghl-delivery-preview__header strong {
	color: #ffffff;
}

.ghl-delivery-preview__header h2 {
	margin-bottom: 6px;
}

.ghl-delivery-preview__header p:last-child {
	margin-bottom: 0;
}

.ghl-preview-mode {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 6px 10px;
	border: 1px solid rgba(255,255,255,.45);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	white-space: nowrap;
}

.ghl-delivery-preview__notice {
	padding: 15px 24px;
	background: #fff7f0;
	border-bottom: 1px solid #f1d6c3;
	color: #5d3a24;
	font-size: 13px;
}

.ghl-delivery-leg-list {
	display: grid;
	gap: 18px;
	padding: 24px;
}

.ghl-delivery-leg {
	border: 1px solid var(--ghl-border);
	background: #ffffff;
}

.ghl-delivery-leg.is-instant {
	border-left: 4px solid #16834a;
}

.ghl-delivery-leg.is-review {
	border-left: 4px solid #c27a00;
}

.ghl-delivery-leg__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 20px;
	background: var(--ghl-soft);
	border-bottom: 1px solid var(--ghl-border);
}

.ghl-delivery-leg__header h3 {
	margin-bottom: 5px;
	font-size: 20px;
}

.ghl-delivery-leg__header p {
	margin-bottom: 0;
	color: var(--ghl-muted);
	font-size: 13px;
}

.ghl-delivery-leg__number {
	margin: 0 0 4px !important;
	color: var(--ghl-orange) !important;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ghl-leg-status {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 9px;
	background: #ffffff;
	border: 1px solid var(--ghl-border);
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.ghl-delivery-leg__body {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
	gap: 26px;
	padding: 20px;
}

.ghl-leg-products h4 {
	margin-bottom: 12px;
	font-size: 14px;
}

.ghl-leg-products ul,
.ghl-leg-review-reasons ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ghl-leg-products li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid #eeeeee;
}

.ghl-leg-products li:first-child {
	padding-top: 0;
}

.ghl-leg-products li a {
	color: var(--ghl-dark);
	font-weight: 650;
}

.ghl-leg-products li strong {
	white-space: nowrap;
}

.ghl-leg-materials-subtotal,
.ghl-leg-delivery-charge,
.ghl-delivery-preview__summary > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.ghl-leg-materials-subtotal {
	margin: 14px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--ghl-border);
}

.ghl-leg-logistics {
	padding: 16px;
	background: var(--ghl-soft);
	border: 1px solid var(--ghl-border);
}

.ghl-leg-logistics > p {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3px 12px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #e3e3e3;
}

.ghl-leg-logistics > p:last-child {
	border-bottom: 0;
}

.ghl-leg-logistics > p span,
.ghl-leg-metrics span,
.ghl-delivery-preview__summary span {
	color: var(--ghl-muted);
	font-size: 12px;
}

.ghl-leg-logistics > p small {
	grid-column: 1 / -1;
	color: var(--ghl-muted);
	font-size: 11px;
}

.ghl-leg-delivery-charge strong {
	color: var(--ghl-orange);
	font-size: 17px;
}

.ghl-leg-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 8px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e3e3e3;
}

.ghl-leg-metrics div {
	min-width: 0;
}

.ghl-leg-metrics span,
.ghl-leg-metrics strong {
	display: block;
}

.ghl-leg-metrics strong {
	margin-top: 3px;
	font-size: 12px;
}

.ghl-leg-review-reasons {
	margin: 0 20px 20px;
	padding: 14px 16px;
	background: #fff8e8;
	border: 1px solid #ead2a0;
}

.ghl-leg-review-reasons h4 {
	margin-bottom: 7px;
	font-size: 13px;
}

.ghl-leg-review-reasons li {
	position: relative;
	padding-left: 15px;
	font-size: 12px;
}

.ghl-leg-review-reasons li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .65em;
	width: 5px;
	height: 5px;
	background: #c27a00;
	border-radius: 50%;
}

.ghl-leg-diagnostics {
	margin: 0 20px 20px;
	padding: 12px 14px;
	border: 1px dashed #aaaaaa;
}

.ghl-leg-diagnostics summary {
	cursor: pointer;
	font-weight: 700;
}

.ghl-leg-diagnostics table {
	width: 100%;
	margin-top: 12px;
	border-collapse: collapse;
	font-size: 12px;
}

.ghl-leg-diagnostics th,
.ghl-leg-diagnostics td {
	padding: 7px;
	border: 1px solid #dddddd;
	text-align: left;
}

.ghl-delivery-preview__summary {
	display: grid;
	gap: 8px;
	padding: 20px 24px;
	background: var(--ghl-soft);
	border-top: 1px solid var(--ghl-border);
}

.ghl-delivery-preview__summary > div {
	max-width: 540px;
	margin-left: auto;
	width: 100%;
}

.ghl-estimated-landed-total {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 2px solid var(--ghl-dark);
}

.ghl-estimated-landed-total strong {
	color: var(--ghl-orange);
	font-size: 20px;
}

.ghl-delivery-preview__summary > p {
	max-width: 540px;
	margin: 7px 0 0 auto;
	color: #7a4b00;
	font-size: 12px;
}

.ghl-account-site-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 14px;
	margin: 18px 0 30px;
}

.ghl-account-site-card {
	padding: 18px;
	border: 1px solid var(--ghl-border);
	background: #ffffff;
}

.ghl-account-site-card h3 {
	margin-bottom: 8px;
}

.ghl-account-site-card p {
	font-size: 13px;
}

.ghl-account-site-status {
	display: inline-block;
	padding: 3px 8px;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	border: 1px solid var(--ghl-border);
}

.ghl-account-site-status.is-active {
	color: #16834a;
}

.ghl-account-site-status.is-inactive {
	color: #8a3a00;
}

.ghl-account-site-actions,
.ghl-account-site-checks {
	display: flex;
	gap: 8px 14px;
	align-items: center;
	flex-wrap: wrap;
}

.ghl-account-site-actions form {
	margin: 0;
}

.ghl-account-site-form {
	padding: 20px;
	border: 1px solid var(--ghl-border);
	background: var(--ghl-soft);
}

.ghl-account-site-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 16px;
}

.ghl-account-site-grid .full {
	grid-column: 1 / -1;
}

.ghl-account-site-grid label {
	display: block;
	margin-bottom: 5px;
	font-weight: 650;
}

.ghl-account-site-grid input,
.ghl-account-site-grid select,
.ghl-account-site-grid textarea {
	width: 100%;
}

.ghl-account-site-checks {
	margin: 4px 0 18px;
}

@media (max-width: 900px) {
	.ghl-cart-site-panel,
	.ghl-delivery-leg__body {
		grid-template-columns: 1fr;
	}

	.ghl-cart-site-form__row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.ghl-cart-site-panel,
	.ghl-delivery-preview__header,
	.ghl-delivery-leg__header,
	.ghl-delivery-leg__body,
	.ghl-delivery-leg-list,
	.ghl-delivery-preview__summary {
		padding-left: 16px;
		padding-right: 16px;
	}

	.ghl-delivery-preview__header,
	.ghl-delivery-leg__header {
		flex-direction: column;
	}

	.ghl-leg-products li {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.ghl-leg-metrics {
		grid-template-columns: 1fr;
	}

	.ghl-account-site-list,
	.ghl-account-site-grid {
		grid-template-columns: 1fr;
	}

	.ghl-account-site-grid .full {
		grid-column: auto;
	}
}

.ghl-leg-override-label {
	margin-top: 8px !important;
	padding: 10px !important;
	background: #fff7f0;
	border: 1px solid #f0c6a8 !important;
	color: #5d3a24;
}

.ghl-leg-override-panel {
	margin: 0 20px 20px;
	padding: 16px;
	background: #f6f7f7;
	border: 1px solid #c3c4c7;
}

.ghl-leg-override-panel h4 {
	margin: 0 0 10px;
}

.ghl-leg-override-form {
	display: grid;
	grid-template-columns: minmax(180px, 1.4fr) minmax(90px, .5fr) minmax(150px, .8fr);
	gap: 10px;
	align-items: end;
}

.ghl-leg-override-form label,
.ghl-leg-override-form select,
.ghl-leg-override-form input,
.ghl-leg-override-form textarea {
	width: 100%;
}

.ghl-leg-override-form label {
	display: block;
	font-size: 12px;
	font-weight: 700;
}

.ghl-leg-override-form .ghl-override-reason {
	grid-column: 1 / -1;
}

.ghl-clear-override-form {
	margin-top: 10px;
}

.ghl-checkout-site,
.ghl-order-logistics {
	--ghl-orange: #ff6500;
	--ghl-dark: #222222;
	--ghl-border: #dddddd;
	--ghl-soft: #f7f7f7;
	box-sizing: border-box;
}

.ghl-checkout-site {
	margin: 0 0 22px;
	padding: 18px;
	background: #ffffff;
	border: 1px solid var(--ghl-border);
	border-top: 4px solid var(--ghl-orange);
}

.ghl-checkout-site h3 {
	margin: 0 0 4px;
	color: var(--ghl-dark);
}

.ghl-checkout-site p {
	margin: 4px 0;
}

.ghl-checkout-leg-row th,
.ghl-checkout-leg-row td {
	font-size: 12px;
	vertical-align: top;
}

.ghl-order-logistics {
	margin: 28px 0;
}

.ghl-order-site {
	padding: 14px 16px;
	background: var(--ghl-soft);
	border-left: 4px solid var(--ghl-orange);
}

.ghl-order-leg {
	background: #ffffff;
}

@media (max-width: 800px) {
	.ghl-leg-override-form {
		grid-template-columns: 1fr;
	}

	.ghl-leg-override-form .ghl-override-reason {
		grid-column: auto;
	}
}


/* Golden Hammer fulfilment timeline — v0.5.0 */
.ghl-fulfilment-timeline {
	margin: 2rem 0;
	padding: 1.25rem;
	border: 1px solid #dcdcde;
	background: #fff;
}
.ghl-fulfilment-timeline h2,
.ghl-fulfilment-timeline h3 { margin-top: 0; }
.ghl-fulfilment-leg {
	margin: 1rem 0 1.5rem;
	padding: 1rem;
	border: 1px solid #dcdcde;
	background: #f8f8f8;
}
.ghl-fulfilment-status {
	display: inline-block;
	padding: .25rem .55rem;
	border: 1px solid #767676;
	background: #fff;
	font-weight: 600;
}
.ghl-fulfilment-alert {
	margin: .75rem 0;
	padding: .75rem;
	border-left: 4px solid #b32d2e;
	background: #fff;
}
.ghl-timeline-list {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}
.ghl-timeline-list li {
	position: relative;
	margin: 0;
	padding: 0 0 1rem 1.5rem;
	border-left: 2px solid #c3c4c7;
}
.ghl-timeline-list li:last-child { border-left-color: transparent; }
.ghl-timeline-list li::before {
	content: '';
	position: absolute;
	left: -.42rem;
	top: .15rem;
	width: .7rem;
	height: .7rem;
	border: 2px solid #767676;
	border-radius: 50%;
	background: #fff;
}
.ghl-timeline-list li.is-complete::before,
.ghl-timeline-list li.is-current::before { background: #1d6f42; border-color: #1d6f42; }
.ghl-timeline-list li.is-current strong { text-decoration: underline; }
.ghl-timeline-time { display:block; color:#646970; font-size:.9em; }
.ghl-supplier-fulfilment-card {
	margin: 1rem 0 1.5rem;
	padding: 1rem;
	border: 1px solid #dcdcde;
	background: #fff;
	box-sizing: border-box;
	max-width: 100%;
}
.ghl-supplier-fulfilment-identity { overflow-wrap:anywhere; }
.ghl-supplier-material-summary { margin:.35rem 0 .75rem; font-size:1.05rem; }
.ghl-supplier-reference { color:#50575e; font-size:.92rem; overflow-wrap:anywhere; }
.ghl-supplier-integrity-ok { padding:.6rem .75rem; border-left:4px solid #00a32a; background:#edfaef; font-weight:600; }
.ghl-supplier-fulfilment-card table { width:100%; }
.ghl-supplier-actions {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #dcdcde;
}
.ghl-supplier-actions form { margin: 0 0 1rem; }
.ghl-supplier-actions label { display:block; margin:.5rem 0 .25rem; }
.ghl-supplier-actions input[type="datetime-local"] { min-height:44px; }
.ghl-supplier-actions input[type="number"],
.ghl-supplier-actions input[type="datetime-local"],
.ghl-supplier-actions textarea { width:100%; max-width:520px; box-sizing:border-box; }
.ghl-field-qualifier { display:block; color:#50575e; font-size:.9em; font-weight:400; }
.ghl-supplier-confirmation-row { display:flex !important; align-items:flex-start; gap:.6rem; min-height:44px; padding:.55rem; box-sizing:border-box; cursor:pointer; }
.ghl-supplier-confirmation-row input { flex:0 0 auto; margin-top:.2rem; }
.ghl-supplier-fulfilment-card .ghl-supplier-actions button.button.ghl-supplier-primary-action {
	min-height:48px !important;
	height:auto !important;
	padding:.65rem 1rem !important;
	box-sizing:border-box !important;
	line-height:1.4 !important;
	white-space:normal !important;
}
.ghl-supplier-problem-action { margin-top:1.5rem; padding:1rem; border:1px solid #dcdcde; background:#f6f7f7; }
.ghl-supplier-problem-action h4 { margin-top:0; }
.ghl-supplier-problem-button { min-height:44px; white-space:normal; }
.ghl-supplier-ready-action { margin-top:1rem; padding:1rem; border:1px solid #dcdcde; border-left:4px solid #00a32a; background:#fff; }
.ghl-supplier-ready-action h4 { margin-top:0; }

@media (max-width: 767px) {
	.ghl-supplier-fulfilment-card { width:100%; padding:.875rem; }
	.ghl-supplier-actions input[type="datetime-local"],
	.ghl-supplier-actions textarea,
	.ghl-supplier-fulfilment-card .ghl-supplier-actions button.button.ghl-supplier-primary-action {
		display:block;
		width:100% !important;
		max-width:100% !important;
	}
	.ghl-supplier-problem-button { max-width:100%; }
	.ghl-supplier-fulfilment-card table,
	.ghl-supplier-fulfilment-card tbody,
	.ghl-supplier-fulfilment-card tr,
	.ghl-supplier-fulfilment-card td { display:block; width:100%; box-sizing:border-box; }
	.ghl-supplier-fulfilment-card thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
	.ghl-supplier-fulfilment-card td { overflow-wrap:anywhere; }
}

/* Buyer-safe Wave 2A delivery summary. Technical evidence remains in details. */
.ghl-delivery-summary-card__facts { display:grid; gap:.5rem; margin:1rem 0; }
.ghl-delivery-summary-card__facts > div { display:flex; justify-content:space-between; gap:1rem; }
.ghl-delivery-summary-card__amount { padding-top:.65rem; border-top:1px solid #dcdcde; font-size:1.1rem; }
.ghl-delivery-details { margin-top:.75rem; }
.ghl-delivery-details > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:700; }
.ghl-commercial-summary-suppressed { display:none; }
