/*
 * GLS za WooCommerce - prodavnica (faza 2B): kartice načina isporuke (klasični i blok checkout, korpa), predlozi mesta,
 * provera poštanskog broja, kartice kupca (Moj nalog, strana „Hvala“). Paleta „Plava i žuta“; tema daje font.
 */
.glswc-rate, .glswc-bopt, .glswc-ccard, .glswc-ty, .glswc-place, .glswc-ac {
	--glswc-brand: #2B45A8;
	--glswc-brand-light: #EEF1FA;
	--glswc-title: #171C2E;
	--glswc-text: #3A4052;
	--glswc-muted: #6B7183;
	--glswc-line: #E2E5EC;
	--glswc-bg: #F4F5F8;
	--glswc-success: #2F6B4F;
	--glswc-attention: #8A6418;
	--glswc-danger: #A2463D;
	--glswc-yellow-light: #FDF6DD;
}

/* ---------------- Klasični checkout i korpa: kartica tarife ---------------- */
#shipping_method li:has(.glswc-rate) {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 10px;
	padding: 12px 14px;
	border: 1px solid #E2E5EC;
	border-radius: 8px;
	background: #fff;
	list-style: none;
}
#shipping_method li:has(.glswc-rate):has(input:checked),
#shipping_method li:has(.glswc-rate):has(input[type="hidden"]) {
	border: 2px solid #2B45A8;
	background: #EEF1FA;
	padding: 11px 13px;
}
#shipping_method li:has(.glswc-rate) > input { margin: 4px 0 0; flex: 0 0 auto; }
#shipping_method li:has(.glswc-rate) > label { flex: 1 1 0; min-width: 0; margin: 0; display: block; }
/* Pregled porudžbine (klasični checkout): red dostave preko cele širine, da kartice imaju mesta (Figma 13.4). */
table.woocommerce-checkout-review-order-table:has(.glswc-rate),
table.woocommerce-checkout-review-order-table:has(.glswc-rate) > thead,
table.woocommerce-checkout-review-order-table:has(.glswc-rate) > tbody,
table.woocommerce-checkout-review-order-table:has(.glswc-rate) > tfoot { display: block; width: 100%; }
table.woocommerce-checkout-review-order-table:has(.glswc-rate) tr { display: flex; flex-wrap: wrap; }
table.woocommerce-checkout-review-order-table:has(.glswc-rate) tr > th,
table.woocommerce-checkout-review-order-table:has(.glswc-rate) tr > td { flex: 1 1 50%; box-sizing: border-box; min-width: 0; }
table.woocommerce-checkout-review-order-table:has(.glswc-rate) tr.woocommerce-shipping-totals > th,
table.woocommerce-checkout-review-order-table:has(.glswc-rate) tr.woocommerce-shipping-totals > td { flex-basis: 100%; text-align: left; }
table.woocommerce-checkout-review-order-table:has(.glswc-rate) tr.woocommerce-shipping-totals > th { padding-bottom: 0; }
#shipping_method:has(.glswc-rate) { margin: 0; padding: 0; }
.glswc-rate { display: flex; align-items: flex-start; gap: 10px; width: 100%; line-height: 1.35; text-align: left; }
.glswc-rate__icon { flex: 0 0 auto; color: var(--glswc-title); margin-top: 1px; display: inline-flex; }
.glswc-rate__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.glswc-rate__name { font-weight: 600; color: var(--glswc-title); }
.glswc-rate__sub { font-size: .85em; color: var(--glswc-muted); }
.glswc-rate__eta { color: var(--glswc-success); }
.glswc-rate__eta-short { display: none; }
.glswc-rate__price { flex: 0 0 auto; font-weight: 700; color: var(--glswc-title); white-space: nowrap; margin-left: 8px; }
.glswc-rate-note { flex: 1 0 100%; margin: 8px 0 0; padding: 8px 0 0; border-top: 1px solid #D5DBF0; font-size: .85em; color: #6B7183; line-height: 1.45; }
#shipping_method li:has(.glswc-rate) { flex-wrap: wrap; }
@media (max-width: 600px) {
	.glswc-rate__eta-long { display: none; }
	.glswc-rate__eta-short { display: inline; }
}

/* ---------------- Blok checkout: dekoracija opcija ---------------- */
.glswc-bopt .wc-block-components-radio-control__option-layout { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; width: 100%; }
.glswc-bopt__icon { flex: 0 0 auto; display: inline-flex; color: var(--glswc-title); margin-top: 2px; }
.glswc-bopt .wc-block-components-radio-control__label-group { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; column-gap: 12px; }
.glswc-bopt .wc-block-components-radio-control__label { flex: 1 1 auto; min-width: 0; font-weight: 600; color: #171C2E; }
.glswc-bopt .wc-block-components-radio-control__secondary-label { flex: 0 0 auto; font-weight: 700; white-space: nowrap; }
.glswc-bopt__sub { display: block; flex: 1 0 100%; font-size: .85em; color: var(--glswc-muted); line-height: 1.4; margin-top: 2px; }
.glswc-bopt__eta { color: var(--glswc-success); }
.glswc-bopt__note { display: block; margin: 10px 0 0; padding: 8px 0 0; border-top: 1px solid #D5DBF0; font-size: .85em; line-height: 1.45; color: var(--glswc-muted); }
.wc-block-components-radio-control__option-checked.glswc-bopt { background: #EEF1FA; }

/* ---------------- Predlozi mesta ---------------- */
.glswc-ac-wrap { position: relative; }
.glswc-ac {
	position: absolute;
	z-index: 1000;
	left: 0;
	right: 0;
	top: 100%;
	margin-top: 2px;
	max-height: 260px;
	overflow: auto;
	background: #fff;
	border: 1px solid var(--glswc-line);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(23, 28, 46, .12);
	font-size: 14px;
}
.glswc-ac--float { position: absolute; right: auto; }
.glswc-ac__opt { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; cursor: pointer; color: var(--glswc-text); }
.glswc-ac__opt.is-active, .glswc-ac__opt:hover { background: var(--glswc-brand-light); }
.glswc-ac__name { font-weight: 600; color: var(--glswc-title); }
.glswc-ac__zip { font-variant-numeric: tabular-nums; color: var(--glswc-muted); font-size: 12px; background: var(--glswc-bg); border-radius: 4px; padding: 1px 6px; }
.glswc-ac__msg { padding: 10px 12px; color: var(--glswc-muted); }

/* ---------------- Provera poštanskog broja ---------------- */
.glswc-place { margin: 6px 0 0; font-size: 13px; line-height: 1.45; }
.wc-block-components-address-form .glswc-place, .wc-block-components-address-form__postcode ~ .glswc-place { flex: 0 0 100%; width: 100%; box-sizing: border-box; margin: 4px 0 8px; }
.glswc-place.is-ok { color: var(--glswc-success); }
.glswc-place.is-ok .glswc-place__msg::before { content: "\2713\00a0"; }
.glswc-place.is-warn { color: var(--glswc-attention); background: var(--glswc-yellow-light); border-radius: 6px; padding: 8px 10px; }
.glswc-place__fix { background: none; border: 0; padding: 0; margin: 0; color: var(--glswc-brand); text-decoration: underline; cursor: pointer; font: inherit; font-weight: 600; }

/* ---------------- Kupac: kartice ---------------- */
.glswc-ccard {
	border: 1px solid var(--glswc-line);
	border-radius: 12px;
	background: #fff;
	padding: 20px;
	margin: 0 0 24px;
	color: var(--glswc-text);
	font-size: 15px;
	line-height: 1.5;
}
.glswc-ccard p { margin: 0 0 6px; }
.glswc-ccard__head { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; flex-wrap: wrap; }
.glswc-ccard__head .glswc-ico { color: var(--glswc-title); flex: 0 0 auto; }
.glswc-ccard h2.glswc-ccard__title, .glswc-ccard .glswc-ccard__title { font-size: 18px; font-weight: 600; margin: 0; padding: 0; flex: 1 1 auto; color: var(--glswc-title); line-height: 1.3; letter-spacing: 0; }
.glswc-ccard__name { font-weight: 600; color: var(--glswc-title); }
.glswc-ccard__muted { color: var(--glswc-muted); font-size: 14px; }
.glswc-ccard__link { margin: 14px 0 0; }
.glswc-ccard__link a { color: var(--glswc-brand); font-weight: 600; }
.glswc-cbadge { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 3px 10px; font-size: 13px; font-weight: 600; white-space: nowrap; background: var(--glswc-bg); color: var(--glswc-text); }
.glswc-cbadge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.glswc-cbadge--brand { background: var(--glswc-brand-light); color: var(--glswc-brand); }
.glswc-cbadge--transit { background: #E8F0FB; color: #2B5E9E; }
.glswc-cbadge--attention { background: var(--glswc-yellow-light); color: var(--glswc-attention); }
.glswc-cbadge--success { background: #E6F2EC; color: var(--glswc-success); }
.glswc-cbadge--danger { background: #F8E9E7; color: var(--glswc-danger); }
.glswc-cbadge--return { background: #F1ECF7; color: #5E4A8A; }
.glswc-cbadge--muted { background: var(--glswc-bg); color: var(--glswc-muted); }
.glswc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 0 0 12px; }
.glswc-tile { background: var(--glswc-bg); border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; }
.glswc-tile.is-accent { background: var(--glswc-yellow-light); }
.glswc-tile__label { font-size: 12px; color: var(--glswc-muted); }
.glswc-tile__value { font-size: 16px; color: var(--glswc-title); font-variant-numeric: tabular-nums; }
.glswc-tile.is-accent .glswc-tile__value { color: var(--glswc-attention); }
.glswc-addrbox { display: flex; gap: 10px; align-items: flex-start; background: var(--glswc-bg); border-radius: 8px; padding: 10px 12px; margin: 0 0 16px; }
.glswc-addrbox div { display: flex; flex-direction: column; }
.glswc-addrbox strong { color: var(--glswc-title); font-size: 14px; }
.glswc-addrbox span { color: var(--glswc-muted); font-size: 13px; }
.glswc-steps { list-style: none; margin: 0 0 18px; padding: 0; display: flex; justify-content: space-between; position: relative; }
.glswc-steps__item { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; text-align: center; font-size: 12px; font-weight: 600; color: var(--glswc-muted); position: relative; margin: 0; }
.glswc-steps__item::before { content: ""; position: absolute; top: 11px; left: -50%; right: 50%; height: 2px; background: var(--glswc-line); z-index: 0; }
.glswc-steps__item:first-child::before { display: none; }
.glswc-steps__item.is-done::before, .glswc-steps__item.is-current::before, .glswc-steps__item.is-fail::before { background: var(--glswc-success); }
.glswc-steps__dot { position: relative; z-index: 1; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--glswc-line); background: #fff; display: inline-flex; align-items: center; justify-content: center; margin: 0 0 6px; color: #fff; }
.glswc-steps__item.is-done .glswc-steps__dot { background: var(--glswc-success); border-color: var(--glswc-success); }
.glswc-steps__item.is-done { color: var(--glswc-title); }
.glswc-steps__item.is-current .glswc-steps__dot { border-color: var(--glswc-attention); background: var(--glswc-attention); box-shadow: inset 0 0 0 4px #fff; }
.glswc-steps__item.is-current { color: var(--glswc-attention); }
.glswc-steps__item.is-fail .glswc-steps__dot { background: var(--glswc-danger); border-color: var(--glswc-danger); }
.glswc-steps__item.is-fail { color: var(--glswc-danger); }
.glswc-events { list-style: none; margin: 0; padding: 0; }
.glswc-events__item { position: relative; padding: 0 0 12px 20px; margin: 0; color: var(--glswc-text); font-size: 14px; }
.glswc-events__item::before { content: ""; position: absolute; left: 3px; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: #C9CEDA; }
.glswc-events__item.is-latest { color: var(--glswc-attention); font-weight: 600; }
.glswc-events__item.is-latest::before { background: var(--glswc-attention); width: 10px; height: 10px; left: 2px; top: 6px; }
.glswc-events__item span { display: block; font-size: 12px; font-weight: 400; color: var(--glswc-muted); }
.glswc-ty { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 24px; }
.glswc-ty .glswc-ccard { margin: 0; }
.glswc-orders-num { display: block; font-size: 12px; color: #6B7183; font-variant-numeric: tabular-nums; margin-top: 2px; }
.glswc-orders-num, .glswc-cbadge { font-family: inherit; }
@media (max-width: 600px) {
	.glswc-ty { grid-template-columns: 1fr; }
	.glswc-ccard { padding: 16px; }
	.glswc-steps { flex-direction: column; gap: 10px; }
	.glswc-steps__item { flex-direction: row; gap: 10px; text-align: left; }
	.glswc-steps__item::before { display: none; }
	.glswc-steps__dot { margin: 0; }
}

/* Faza 3B (Figma 9.4-9.5): ikonica spoljnog linka uz praćenje. */
.glswc-ccard__link a { display: inline-flex; align-items: center; gap: 4px; }
.glswc-ccard__link .glswc-ico { flex: 0 0 auto; }
