/*!
 * Кораци – сајт: корпа, наплата и страна „Хвала“ (Фаза R3).
 * Променљиве (--k-*) су у osnova.css. Количина (− n +) је у knjiga.css/kupovina.js, али стил је овде поновљен
 * само где је потребан (корпа), па се страна књиге и корпа не зависе једна од друге.
 */

/* ==========================================================================
   1. Опште: размаци, обавештења
   ========================================================================== */
body.ks-strana-korpe #primary,
body.ks-strana-naplate #primary,
body.ks-strana-hvala #primary {
	margin-top: 0;
	margin-bottom: clamp(24px, 4vw, 56px);
}

body.ks-strana-korpe .entry-header,
body.ks-strana-naplate .entry-header,
body.ks-strana-hvala .entry-header {
	margin-bottom: clamp(18px, 2.4vw, 28px);
}

body.ks-strana-korpe .entry-title,
body.ks-strana-naplate .entry-title,
body.ks-strana-hvala .entry-title {
	margin: 0;
}

.ks-korpa *,
.ks-naplata *,
.ks-hvala * {
	box-sizing: border-box;
}

/* Обавештења WooCommerce-а: бела картица са траком боје (без иконе са фонтом). */
body.ks-strana-korpe :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice),
body.ks-strana-naplate :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice),
body.ks-strana-hvala :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	position: relative;
	margin: 0 0 20px;
	padding: 14px 18px;
	border: 1px solid var(--k-line);
	border-left: 4px solid var(--k-gold);
	border-radius: 10px;
	background: var(--k-card);
	color: var(--k-text);
	font-size: .9375rem;
	line-height: 1.5;
	list-style: none;
}

body.ks-strana-korpe .woocommerce-error,
body.ks-strana-naplate .woocommerce-error {
	border-left-color: var(--k-err);
}

body.ks-strana-korpe .woocommerce-message,
body.ks-strana-naplate .woocommerce-message {
	border-left-color: var(--k-ok);
}

body.ks-strana-korpe :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
body.ks-strana-naplate :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
	display: none;
}

body.ks-strana-korpe .woocommerce-error li,
body.ks-strana-naplate .woocommerce-error li {
	margin: 0;
	padding: 2px 0;
	color: var(--k-ink);
}

body.ks-strana-naplate .woocommerce-error li a {
	color: var(--k-err);
}

body.ks-strana-korpe .woocommerce-message .button,
body.ks-strana-naplate .woocommerce-message .button {
	float: none;
	margin-left: 12px;
	min-height: 38px;
	padding: 6px 18px;
}

/* ==========================================================================
   2. Корпа
   ========================================================================== */
.ks-korpa {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}

.ks-korpa__stavke {
	min-width: 0;
}

body .woocommerce-cart-form table.shop_table.cart {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent;
}

body .woocommerce-cart-form table.cart thead,
body .woocommerce-cart-form table.cart thead tr {
	background: transparent;
}

body .woocommerce-cart-form table.cart thead th {
	padding: 0 12px 12px;
	border: 0;
	border-bottom: 1px solid var(--k-ink);
	background: transparent;
	color: var(--k-muted);
	font-family: var(--k-sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-align: left;
	text-transform: uppercase;
}

body .woocommerce-cart-form table.cart td {
	padding: 18px 12px;
	border: 0;
	border-bottom: 1px solid var(--k-line);
	background: transparent;
	vertical-align: middle;
}

body .woocommerce-cart-form table.cart td::before {
	display: none;
}

body .woocommerce-cart-form table.cart th.product-thumbnail,
body .woocommerce-cart-form table.cart td.product-thumbnail {
	width: 92px;
	padding-left: 0;
}

body .woocommerce-cart-form table.cart td.product-thumbnail .koraci-cover {
	width: 64px;
}

body .woocommerce-cart-form table.cart td.product-thumbnail img {
	max-width: none;
	width: 100%;
}

body .woocommerce-cart-form table.cart td.product-name {
	min-width: 0;
	font-size: 1rem;
	line-height: 1.35;
}

body .woocommerce-cart-form table.cart td.product-name a.ks-stavka__naslov,
body .woocommerce-cart-form table.cart td.product-name > a {
	display: block;
	color: var(--k-ink);
	font-weight: 600;
	text-decoration: none;
}

body .woocommerce-cart-form table.cart td.product-name > a:hover {
	color: var(--k-gold-text);
	text-decoration: underline;
}

.ks-stavka__meta {
	display: block;
	margin-top: 3px;
	font-size: .875rem;
	color: var(--k-muted);
}

body .woocommerce-cart-form table.cart td.product-name dl.variation {
	margin: 6px 0 0;
	font-size: .875rem;
}

body .woocommerce-cart-form table.cart th.product-price,
body .woocommerce-cart-form table.cart td.product-price {
	width: 110px;
	white-space: nowrap;
	color: var(--k-text);
}

body .woocommerce-cart-form table.cart th.product-quantity,
body .woocommerce-cart-form table.cart td.product-quantity {
	width: 150px;
}

body .woocommerce-cart-form table.cart th.product-subtotal,
body .woocommerce-cart-form table.cart td.product-subtotal {
	width: 120px;
	white-space: nowrap;
	color: var(--k-ink);
	font-weight: 600;
	text-align: right;
}

body .woocommerce-cart-form table.cart th.product-subtotal {
	text-align: right;
}

body .woocommerce-cart-form table.cart th.product-remove,
body .woocommerce-cart-form table.cart td.product-remove {
	width: 52px;
	padding-right: 0;
	text-align: right;
}

/* Уклони × */
body .woocommerce-cart-form a.remove {
	display: inline-grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid transparent;
	border-radius: 50%;
	background: transparent;
	color: var(--k-muted) !important;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}

body .woocommerce-cart-form a.remove:hover {
	background: var(--k-err);
	color: #fff !important;
	text-decoration: none;
}

body .woocommerce-cart-form a.remove svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
}

/* Количина − n + */
body .ks-korpa .ks-kolicina {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 3px;
	border: 1px solid var(--k-field);
	border-radius: var(--k-r-pill);
	background: #fff;
}

body .ks-korpa .ks-kolicina:focus-within {
	border-color: var(--k-ink);
	box-shadow: 0 0 0 3px var(--k-gold);
}

body .ks-korpa .ks-kolicina input.qty.input-text {
	width: 38px;
	min-height: 0;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--k-ink);
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

body .ks-korpa .ks-kolicina input.qty.input-text:focus {
	border: 0;
	box-shadow: none;
}

.ks-korpa .ks-kolicina input.qty::-webkit-outer-spin-button,
.ks-korpa .ks-kolicina input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body .ks-korpa .ks-kolicina button.ks-kolicina__dugme {
	display: grid;
	flex: none;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--k-ink);
	line-height: 0;
	cursor: pointer;
	box-shadow: none;
}

body .ks-korpa .ks-kolicina button.ks-kolicina__dugme:hover {
	background: var(--k-paper);
	color: var(--k-ink);
}

body .ks-korpa .ks-kolicina button.ks-kolicina__dugme:disabled {
	opacity: .3;
	cursor: not-allowed;
	background: transparent;
}

/* Ред радњи: купон + ажурирање */
body .woocommerce-cart-form table.cart tr.ks-korpa__akcije td.actions {
	padding: 22px 0 0;
	border-bottom: 0;
	text-align: left;
}

.ks-kupon {
	display: block;
	max-width: 460px;
	margin: 0;
	padding: 0;
	float: none;
}

.ks-kupon__naslov {
	display: inline-block;
	padding: 4px 0;
	color: var(--k-gold-text);
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: .2em;
}

.ks-kupon__naslov:hover {
	color: var(--k-ink);
}

.ks-kupon[open] .ks-kupon__naslov {
	margin-bottom: 10px;
}

.ks-kupon__telo {
	display: flex;
	gap: 10px;
}

.ks-kupon__telo input.input-text {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}

.ks-kupon__telo .button {
	flex: none;
}

html.ks-js body .woocommerce-cart-form .ks-osvezi {
	display: none !important;
}

body .woocommerce-cart-form .ks-osvezi {
	margin-top: 14px;
}

.ks-korpa__nazad {
	margin: 18px 0 0;
	font-size: .9375rem;
}

.ks-korpa__nazad a {
	color: var(--k-gold-text);
	font-weight: 600;
}

/* ---- Збир (десна картица) ---- */
body .ks-korpa .cart-collaterals {
	position: sticky;
	top: calc(var(--kz-hs, 76px) + 24px);
	width: 100%;
	float: none;
}

body .ks-korpa .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	margin: 0;
	padding: clamp(20px, 2.4vw, 30px);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-m);
	background: var(--k-card);
}

body .ks-zbir h2.ks-zbir__naslov {
	width: auto;
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--k-display);
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.15;
	color: var(--k-ink);
}

body .ks-zbir table.shop_table,
body .ks-pregled {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

body .ks-zbir table.shop_table th,
body .ks-zbir table.shop_table td {
	padding: 11px 0;
	border: 0;
	border-top: 1px solid var(--k-line);
	background: transparent;
	color: var(--k-text);
	font-size: .9375rem;
	font-weight: 400;
	line-height: 1.4;
	vertical-align: baseline;
}

body .ks-zbir table.shop_table tr:first-child th,
body .ks-zbir table.shop_table tr:first-child td {
	border-top: 0;
}

body .ks-zbir table.shop_table td {
	text-align: right;
}

body .ks-zbir table.shop_table td::before {
	display: none;
}

body .ks-zbir table.shop_table th {
	text-align: left;
}

body .ks-zbir tr.fee td,
body .ks-zbir tr.cart-discount td {
	color: var(--k-ok);
	font-weight: 600;
}

body .ks-zbir tr.order-total th,
body .ks-zbir tr.order-total td {
	padding-top: 16px;
	border-top: 1px solid var(--k-ink);
	color: var(--k-ink);
	font-family: var(--k-display);
	font-size: 1.5rem;
	font-weight: 600;
}

body .ks-zbir tr.order-total td strong {
	font-weight: 600;
}

.ks-clan-poziv {
	margin: 14px 0 0;
	padding: 11px 14px;
	border-left: 3px solid var(--k-gold);
	border-radius: 0 8px 8px 0;
	background: #FBF1D4;
	font-size: .9375rem;
	line-height: 1.45;
	color: var(--k-text);
}

.ks-clan-poziv strong {
	color: var(--k-ink);
	white-space: nowrap;
}

.ks-clan-poziv a {
	color: var(--k-gold-text);
	font-weight: 600;
	text-decoration: underline;
}

.ks-clan-poziv a:hover {
	color: var(--k-ink);
}

body .ks-zbir .wc-proceed-to-checkout {
	margin: 18px 0 0;
	padding: 0;
}

body .ks-zbir .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 12px 24px;
	font-size: 1.0625rem;
}

.ks-zbir__napomena {
	margin: 14px 0 0;
	font-size: .875rem;
	text-align: center;
	color: var(--k-muted);
}

/* Празна корпа */
body.ks-strana-korpe .cart-empty {
	margin: 0 0 18px;
	padding: 28px 24px;
	border: 1px dashed var(--k-field);
	border-radius: var(--k-r-m);
	background: var(--k-card);
	font-size: 1.0625rem;
	text-align: center;
	color: var(--k-ink);
}

body.ks-strana-korpe .return-to-shop {
	text-align: center;
}

/* ==========================================================================
   3. Наплата
   ========================================================================== */
.ks-kupon-red {
	margin: 0 0 20px;
}

.ks-kupon-red__tekst {
	margin: 0;
	font-size: .9375rem;
}

.ks-kupon-red__tekst a {
	color: var(--k-gold-text);
	font-weight: 600;
	text-decoration: underline;
}

body .woocommerce-form-coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 480px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	background: transparent;
}

body .woocommerce-form-coupon .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body .woocommerce-form-coupon .form-row-first {
	flex: 1 1 200px;
}

.ks-naplata__kolone {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 410px;
	grid-template-areas:
		"podaci pregled"
		"placanje pregled";
	grid-template-rows: auto 1fr;
	gap: 8px clamp(32px, 5vw, 72px);
	align-items: start;
}

.ks-naplata__podaci {
	grid-area: podaci;
	min-width: 0;
}

.ks-naplata__placanje {
	grid-area: placanje;
	min-width: 0;
}

.ks-naplata__pregled {
	grid-area: pregled;
	position: sticky;
	top: calc(var(--kz-hs, 76px) + 24px);
	padding: clamp(20px, 2.4vw, 28px);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-m);
	background: var(--k-card);
}

body.woocommerce-checkout form.ks-naplata .ks-naplata__pregled #order_review,
body.woocommerce-checkout form.ks-naplata .ks-naplata__pregled #order_review_heading {
	float: none !important;
	width: 100% !important;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
}

body .ks-naplata__pregled table.shop_table {
	border: 0;
	margin: 0 !important;
	padding: 0;
}

body h2.ks-naplata__naslov,
body h2.ks-korak__naslov {
	margin: 0 0 16px;
	font-family: var(--k-display);
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 1.15;
	color: var(--k-ink);
}

body h2.ks-korak__naslov {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ks-korak__broj {
	display: inline-grid;
	flex: none;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--k-ink);
	color: var(--k-gold);
	font-family: var(--k-sans);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1;
}

.ks-korak {
	margin: 0 0 clamp(22px, 3vw, 34px);
}

/* Поља */
.ks-polja {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 16px;
}

body .ks-polja .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body .ks-polja .form-row.form-row-wide {
	grid-column: 1 / -1;
}

body .ks-polja .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--k-ink);
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.35;
}

body .ks-polja .form-row label .required {
	display: none;
}

body .ks-polja .form-row label .optional {
	color: var(--k-muted);
	font-weight: 400;
}

body .ks-polja .woocommerce-input-wrapper {
	display: block;
}

body .ks-polja .woocommerce-input-wrapper input.input-text,
body .ks-polja .woocommerce-input-wrapper select,
body .ks-polja .woocommerce-input-wrapper textarea {
	display: block;
	width: 100%;
	min-height: 48px;
}

body .ks-polja .woocommerce-input-wrapper .description {
	display: block;
	margin-top: 6px;
	font-size: .8125rem;
	color: var(--k-muted);
}

body .ks-polja .form-row.woocommerce-invalid .woocommerce-input-wrapper input.input-text {
	border-color: var(--k-err);
	box-shadow: 0 0 0 1px var(--k-err);
}

body .ks-polja .form-row.woocommerce-validated .woocommerce-input-wrapper input.input-text,
body .ks-polja .form-row.woocommerce-validated .woocommerce-input-wrapper select {
	border-color: var(--k-field);
}

body .ks-polja .form-row.woocommerce-validated .woocommerce-input-wrapper input.input-text:focus {
	border-color: var(--k-ink);
}

body .ks-polja .form-row .checkout-inline-error-message {
	margin: 6px 0 0;
	padding: 0;
	color: var(--k-err);
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.35;
}

body .ks-polja .form-row.woocommerce-invalid label {
	color: var(--k-err);
}

.ks-polja__napomena {
	margin: 12px 0 0;
	font-size: .875rem;
	color: var(--k-muted);
}

input.input-hidden {
	display: none;
}

/* Достава на другу адресу, напомена */
p.ks-drugo-mesto {
	margin: 4px 0 18px;
}

p.ks-drugo-mesto label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: .9375rem;
	font-weight: 500;
	color: var(--k-ink);
	cursor: pointer;
}

.shipping_address {
	margin: 0 0 22px;
	padding: 20px;
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-m);
	background: var(--k-card);
}

.ks-napomena {
	margin: 0 0 8px;
}

.ks-napomena__naslov {
	display: inline-block;
	padding: 4px 0;
	color: var(--k-gold-text);
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: .2em;
}

.ks-napomena[open] .ks-napomena__naslov {
	margin-bottom: 12px;
}

/* Преглед поруџбине */
body .ks-pregled {
	table-layout: auto;
}

body .ks-pregled tbody td {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--k-line);
	background: transparent;
	color: var(--k-ink);
	font-size: .9375rem;
	vertical-align: middle;
}

body .ks-pregled td.product-total {
	width: 1%;
	white-space: nowrap;
	font-weight: 600;
	text-align: right;
	padding-left: 12px;
}

.ks-pregled__stavka {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ks-pregled__korica {
	flex: none;
	width: 46px;
}

.ks-pregled__tekst {
	display: block;
	min-width: 0;
	line-height: 1.35;
}

.ks-pregled__naslov {
	display: block;
	font-weight: 600;
	color: var(--k-ink);
}

.ks-pregled__autor {
	display: block;
	font-size: .8125rem;
	color: var(--k-muted);
}

body .ks-pregled strong.product-quantity {
	font-size: .8125rem;
	font-weight: 500;
	color: var(--k-muted);
}

body .ks-pregled tr.kk-naplata-red td {
	text-align: left;
	padding: 10px 0 4px;
	border-bottom: 0;
}

body .ks-pregled tr.kk-naplata-red .kk-naplata {
	margin: 0;
	text-align: left;
}

body .ks-pregled tfoot th,
body .ks-pregled tfoot td {
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: var(--k-text);
	font-size: .9375rem;
	font-weight: 400;
	text-align: left;
	vertical-align: baseline;
}

body .ks-pregled tfoot td {
	text-align: right;
	white-space: nowrap;
}

body .ks-pregled tfoot tr.fee td,
body .ks-pregled tfoot tr.cart-discount td {
	color: var(--k-ok);
	font-weight: 600;
}

body .ks-pregled tfoot tr.order-total th,
body .ks-pregled tfoot tr.order-total td {
	padding-top: 16px;
	border-top: 1px solid var(--k-ink);
	color: var(--k-ink);
	font-family: var(--k-display);
	font-size: 1.5rem;
	font-weight: 600;
}

body .ks-pregled tfoot tr.order-total td strong {
	font-weight: 600;
}

body .ks-pregled tfoot td::before {
	display: none;
}

/* Начини плаћања: картице */
body #payment.woocommerce-checkout-payment {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

body #payment.woocommerce-checkout-payment ul.wc_payment_methods {
	display: grid;
	gap: 12px;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	list-style: none;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 14px;
	align-items: center;
	margin: 0;
	padding: 16px 18px;
	border: 1.5px solid var(--k-line);
	border-radius: 12px;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method:hover {
	border-color: var(--k-field);
}

body #payment.woocommerce-checkout-payment li.wc_payment_method:has(input.input-radio:checked) {
	border-color: var(--k-ink);
	box-shadow: 0 0 0 3px var(--k-gold);
}

body #payment.woocommerce-checkout-payment li.wc_payment_method:has(input.input-radio:focus-visible) {
	outline: 3px solid var(--k-ink);
	outline-offset: 2px;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method > input.input-radio {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--k-ink);
}

body #payment.woocommerce-checkout-payment li.wc_payment_method > label {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	color: var(--k-ink);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
}

/* Цела картица је кликабилна. */
body #payment.woocommerce-checkout-payment li.wc_payment_method > label::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 12px;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method > label img {
	max-height: 28px;
	width: auto;
	margin: 0 0 0 auto;
}

.ks-pl-ikona {
	display: inline-grid;
	width: 38px;
	height: 38px;
	margin-left: auto;
	place-items: center;
	border-radius: 50%;
	background: var(--k-paper);
	color: var(--k-ink);
	line-height: 0;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method .payment_box {
	position: relative;
	grid-column: 2;
	grid-row: 2;
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--k-text);
	font-size: .9375rem;
	line-height: 1.5;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method .payment_box::before,
body #payment.woocommerce-checkout-payment li.wc_payment_method .payment_box::after {
	display: none;
}

/* Опис без поља је увек видљив; начини са пољима (картице) се отварају кад су изабрани. */
body #payment.woocommerce-checkout-payment li.wc_payment_method .payment_box:not(:has(input, select, textarea)) {
	display: block !important;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method .payment_box p {
	margin: 0;
}

body #payment.woocommerce-checkout-payment li.wc_payment_method .payment_box a {
	position: relative;
	z-index: 2;
}

body #payment.woocommerce-checkout-payment .ks-racun {
	color: var(--k-ink);
	white-space: nowrap;
}

/* Услови и дугме */
body #payment.woocommerce-checkout-payment .form-row.place-order {
	margin: 0;
	padding: 0;
}

body #payment.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 6px;
}

body #payment.woocommerce-checkout-payment .woocommerce-privacy-policy-text p {
	margin: 0 0 12px;
	font-size: .875rem;
	line-height: 1.5;
	color: var(--k-muted);
}

body #payment.woocommerce-checkout-payment .woocommerce-privacy-policy-text a {
	color: var(--k-gold-text);
	text-decoration: underline;
}

body #payment.woocommerce-checkout-payment .validate-required label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 14px;
	font-size: .9375rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--k-text);
}

body #payment.woocommerce-checkout-payment .validate-required label.checkbox input {
	flex: none;
	margin-top: 3px;
}

body #payment.woocommerce-checkout-payment .validate-required label.checkbox a {
	color: var(--k-gold-text);
	text-decoration: underline;
}

body #payment.woocommerce-checkout-payment #place_order {
	display: flex;
	float: none;
	width: 100%;
	min-height: 58px;
	margin: 6px 0 0;
	padding: 14px 24px;
	font-size: 1.125rem;
}

/* ==========================================================================
   4. Хвала
   ========================================================================== */
.ks-hvala {
	display: grid;
	gap: 20px;
	max-width: 900px;
	margin: 0 auto;
}

.ks-hvala__kartica {
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-m);
	background: var(--k-card);
}

.ks-hvala__potvrda {
	border-color: var(--k-ink);
	background: #fff;
	box-shadow: 0 0 0 4px var(--k-gold);
}

.ks-hvala__znak {
	display: grid;
	width: 52px;
	height: 52px;
	margin: 0 0 14px;
	place-items: center;
	border-radius: 50%;
	background: var(--k-gold);
	color: var(--k-ink);
	line-height: 0;
}

.ks-hvala__znak svg {
	width: 28px;
	height: 28px;
	stroke-width: 2.2;
}

body .ks-hvala h2.ks-hvala__naslov {
	margin: 0 0 8px;
	font-family: var(--k-display);
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	font-weight: 600;
	line-height: 1.12;
	color: var(--k-ink);
}

body .ks-hvala h2.ks-hvala__podnaslov,
body .ks-hvala h2.woocommerce-order-details__title,
body .ks-hvala h2.woocommerce-column__title {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--k-display);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.15;
	color: var(--k-ink);
}

.ks-hvala__uvod {
	margin: 0 0 18px;
	font-size: 1.0625rem;
}

body .ks-hvala ul.order_details::before,
body .ks-hvala ul.order_details::after,
body .ks-hvala .col2-set::before,
body .ks-hvala .col2-set::after {
	display: none !important;
}

/* H1 „Наручивање“ остаје за читаче екрана; видљив наслов је у картици. */
body.ks-strana-hvala .entry-header {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

body .ks-hvala ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px 24px;
	margin: 18px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--k-line);
	list-style: none;
}

body .ks-hvala ul.order_details li {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .06em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--k-muted);
}

body .ks-hvala ul.order_details li strong {
	display: block;
	margin-top: 3px;
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--k-ink);
}

.ks-hvala__tekst {
	margin: 0 0 14px;
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--k-ink);
}

.ks-hvala__placanje > :last-child {
	margin-bottom: 0;
}

.ks-hvala__placanje .woocommerce-bacs-bank-details h2,
.ks-hvala__placanje h2.wc-bacs-bank-details-heading {
	margin: 14px 0 8px;
	font-family: var(--k-display);
	font-size: 1.25rem;
}

.ks-hvala__placanje p {
	margin: 0 0 12px;
}

ol.ks-hvala__koraci {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: korak;
}

ol.ks-hvala__koraci li {
	position: relative;
	margin: 0;
	padding: 44px 0 0;
	counter-increment: korak;
	font-size: .9375rem;
	line-height: 1.5;
	color: var(--k-text);
}

ol.ks-hvala__koraci li::before {
	content: counter(korak);
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: var(--k-ink);
	color: var(--k-gold);
	font-weight: 600;
}

ol.ks-hvala__koraci li strong {
	display: block;
	margin-bottom: 2px;
	color: var(--k-ink);
	font-size: 1rem;
}

/* WooCommerce детаљи поруџбине */
body .ks-hvala section.woocommerce-order-details,
body .ks-hvala section.woocommerce-customer-details {
	margin: 0;
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-m);
	background: var(--k-card);
}

body .ks-hvala table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

body .ks-hvala table.shop_table th,
body .ks-hvala table.shop_table td {
	padding: 11px 0;
	border: 0;
	border-top: 1px solid var(--k-line);
	background: transparent;
	color: var(--k-text);
	font-size: .9375rem;
	text-align: left;
	vertical-align: baseline;
}

body .ks-hvala table.shop_table thead th {
	border-top: 0;
	color: var(--k-muted);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body .ks-hvala table.shop_table .product-total,
body .ks-hvala table.shop_table tfoot td {
	text-align: right;
}

body .ks-hvala table.shop_table td.product-name a {
	color: var(--k-ink);
	font-weight: 600;
}

body .ks-hvala table.shop_table tfoot tr:last-child th,
body .ks-hvala table.shop_table tfoot tr:last-child td {
	border-top: 1px solid var(--k-ink);
	color: var(--k-ink);
	font-weight: 600;
}

body .ks-hvala table.shop_table {
	margin-bottom: 0 !important;
}

body .ks-hvala .woocommerce-customer-details .col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

body .ks-hvala .woocommerce-customer-details .col2-set .col-1,
body .ks-hvala .woocommerce-customer-details .col2-set .col-2 {
	float: none;
	width: auto;
}

body .ks-hvala .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: 1.6;
	color: var(--k-text);
}

.ks-hvala__nazad {
	margin: 4px 0 0;
	text-align: center;
}

/* Поклон-бон на страни „Хвала“ остаје у свом стилу (poklon-bon.css). */

/* ==========================================================================
   5. Телефон и таблет
   ========================================================================== */
@media (max-width: 1000px) {
	.ks-korpa {
		grid-template-columns: minmax(0, 1fr) 330px;
	}

	.ks-naplata__kolone {
		grid-template-columns: minmax(0, 1fr) 360px;
	}
}

@media (max-width: 860px) {
	.ks-korpa {
		grid-template-columns: 1fr;
	}

	body .ks-korpa .cart-collaterals {
		position: static;
	}

	.ks-naplata__kolone {
		grid-template-columns: 1fr;
		grid-template-areas:
			"podaci"
			"pregled"
			"placanje";
		grid-template-rows: none;
		gap: 22px;
	}

	.ks-naplata__pregled {
		position: static;
	}

	ol.ks-hvala__koraci {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	ol.ks-hvala__koraci li {
		padding: 0 0 0 46px;
		min-height: 34px;
	}
}

@media (max-width: 767px) {
	/* Корпа: картица по ставци */
	body .woocommerce-cart-form table.cart thead {
		display: none;
	}

	body .woocommerce-cart-form table.cart,
	body .woocommerce-cart-form table.cart tbody {
		display: block;
		width: 100%;
	}

	body .woocommerce-cart-form table.cart tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-areas:
			"slika naziv ukloni"
			"slika cena cena"
			"slika kol iznos";
		gap: 6px 14px;
		align-items: center;
		margin: 0 0 14px;
		padding: 14px;
		border: 1px solid var(--k-line);
		border-radius: var(--k-r-m);
		background: var(--k-card);
	}

	body .woocommerce-cart-form table.cart tr.cart_item td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
	}

	body .woocommerce-cart-form table.cart td.product-thumbnail {
		grid-area: slika;
		align-self: start;
		width: auto;
	}

	body .woocommerce-cart-form table.cart td.product-thumbnail .koraci-cover {
		width: 76px;
	}

	body .woocommerce-cart-form table.cart td.product-name {
		grid-area: naziv;
		align-self: start;
	}

	body .woocommerce-cart-form table.cart td.product-remove {
		grid-area: ukloni;
		align-self: start;
		justify-self: end;
		width: auto;
		margin: -6px -8px 0 0;
	}

	body .woocommerce-cart-form table.cart td.product-price {
		grid-area: cena;
		width: auto;
		font-size: .9375rem;
		color: var(--k-muted);
	}

	body .woocommerce-cart-form table.cart td.product-price::before {
		content: "Цена: ";
		display: inline;
	}

	body .woocommerce-cart-form table.cart td.product-quantity {
		grid-area: kol;
		width: auto;
	}

	body .woocommerce-cart-form table.cart td.product-subtotal {
		grid-area: iznos;
		width: auto;
		font-size: 1.0625rem;
		text-align: right;
	}

	body .woocommerce-cart-form table.cart tr.ks-korpa__akcije {
		display: block;
	}

	body .woocommerce-cart-form table.cart tr.ks-korpa__akcije td.actions {
		display: block;
		padding: 6px 0 0;
	}

	.ks-polja {
		grid-template-columns: 1fr;
	}

	.ks-kupon {
		max-width: none;
	}

	body .ks-hvala .woocommerce-customer-details .col2-set {
		grid-template-columns: 1fr;
	}

	body .ks-zbir h2.ks-zbir__naslov {
		font-size: 1.5rem;
	}

	body #payment.woocommerce-checkout-payment li.wc_payment_method {
		padding: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .woocommerce-cart-form a.remove,
	body #payment.woocommerce-checkout-payment li.wc_payment_method {
		transition: none;
	}
}
