/*
 * KWKWNA — text pages (template «Κείμενο με περιεχόμενα»), blog, latest posts block and checkout.
 */

/* Text pages -------------------------------------------------------------------------------------- */

.kw-doc { max-width: var(--kw-wrap); margin: 0 auto; padding: 24px var(--kw-gutter) 0; }
.kw-doc-head { padding: clamp(28px, 4vw, 56px); border-radius: 32px; background: #fff; }
.kw-doc-title { margin: 6px 0 12px; font-size: clamp(38px, 5vw, 68px); line-height: 1; }
.kw-doc-lead { max-width: 640px; margin: 0; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; color: var(--kw-muted); }
.kw-doc-updated { display: inline-flex; margin: 18px 0 0; padding: 6px 12px; border-radius: 999px; background: var(--kw-bg); font-size: 13px; font-weight: 700; color: var(--kw-muted); }
.kw-doc-body { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; margin-top: clamp(24px, 3vw, 40px); }
.kw-doc-toc { position: sticky; top: calc(var(--fx-header-height, 76px) + 20px); padding: 20px; border-radius: 22px; background: #fff; }
.kw-doc-toc-title { margin: 0 0 10px; font-size: 13px; font-weight: 800; color: var(--kw-muted); }
.kw-doc-toc ol { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.kw-doc-toc li { counter-increment: toc; }
.kw-doc-toc a { display: flex; gap: 10px; padding: 8px 10px; border-radius: 12px; font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--kw-ink); text-decoration: none; transition: background .2s; }
.kw-doc-toc a::before { content: counter(toc, decimal-leading-zero); flex: none; color: var(--kw-accent); }
.kw-doc-toc a:hover { background: var(--kw-bg); }
.kw-doc-content { max-width: 780px; font-size: 16.5px; line-height: 1.75; color: color-mix(in srgb, var(--kw-ink) 85%, transparent); }
.kw-doc-content h2 { scroll-margin-top: calc(var(--fx-header-height, 76px) + 24px); margin: 44px 0 12px; font-size: clamp(24px, 2.4vw, 32px); color: var(--kw-ink); }
.kw-doc-content h2:first-child { margin-top: 0; }
.kw-doc-content p { margin: 0 0 14px; }
.kw-doc-content ul, .kw-doc-content ol { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; counter-reset: step; }
.kw-doc-content ul li { position: relative; padding-left: 28px; }
.kw-doc-content ul li::before { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 16px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 10px no-repeat; }
.kw-doc-content ol li { position: relative; counter-increment: step; padding: 14px 16px 14px 60px; border-radius: 16px; background: #fff; }
.kw-doc-content ol li::before { content: counter(step); position: absolute; left: 14px; top: 12px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--kw-ink); color: #fff; font-weight: 800; font-size: 14px; }
.kw-doc-content .wp-block-table { margin: 0 0 18px; overflow-x: auto; border-radius: 18px; background: #fff; }
.kw-doc-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.kw-doc-content th, .kw-doc-content td { padding: 14px 18px; border: 0 !important; border-bottom: 1px solid var(--kw-line) !important; text-align: left; }
.kw-doc-content thead th { background: var(--kw-ink); color: #fff; font-weight: 800; }
.kw-doc-content tbody tr:last-child td { border-bottom: 0 !important; }
.kw-doc-help { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 40px; padding: 22px 24px; border-radius: 22px; background: var(--kw-ink); color: #fff; }
.kw-doc-help div { display: grid; gap: 2px; }
.kw-doc-help strong { font-family: var(--kw-heading); font-size: 20px; }
.kw-doc-help span { font-size: 14px; color: rgba(255, 255, 255, .7); }
.kw-doc-help .t-btn-primary { background: var(--kw-accent); border-color: var(--kw-accent); color: var(--kw-ink); }
@media (max-width: 900px) {
	.kw-doc-body { grid-template-columns: minmax(0, 1fr); }
	.kw-doc-toc { position: static; }
	.kw-doc-toc ol { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	.kw-doc-toc a { flex: none; white-space: nowrap; background: var(--kw-bg); }
	.kw-doc-head { border-radius: 24px; }
}

/* Blog ---------------------------------------------------------------------------------------------- */

.kw-blog, .kw-post, .kw-post-related { max-width: var(--kw-wrap); margin: 0 auto; padding: 24px var(--kw-gutter) 0; }
.kw-blog-head { margin-bottom: 28px; }
.kw-blog-title { margin: 8px 0 10px; font-size: clamp(42px, 6vw, 84px); line-height: .95; }
.kw-blog-lead { max-width: 620px; margin: 0 0 22px; font-size: 17px; color: var(--kw-muted); }
.kw-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.kw-post-grid--index > .kw-post-card:first-child { grid-column: span 2; grid-row: span 2; }
.kw-post-grid--index > .kw-post-card:first-child .kw-post-card-image { aspect-ratio: 16 / 11; }
.kw-post-grid--index > .kw-post-card:first-child .kw-post-card-title { font-size: clamp(24px, 2.6vw, 36px); }
.kw-post-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; background: #fff; transition: transform .35s var(--kw-ease), box-shadow .35s var(--kw-ease); }
.kw-post-card:hover { transform: translateY(-3px); box-shadow: 0 30px 50px -34px rgba(40, 25, 10, .45); }
.kw-post-card-image { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--kw-surface); }
.kw-post-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--kw-ease); }
.kw-post-card:hover .kw-post-card-image img { transform: scale(1.04); }
.kw-post-card-body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 18px 20px 20px; }
.kw-post-card-meta { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--kw-accent); }
.kw-post-card-title { margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -.02em; }
.kw-post-card-title a { color: var(--kw-ink); text-decoration: none; }
.kw-post-card-title a::after { content: ""; position: absolute; inset: 0; }
.kw-post-card-excerpt { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--kw-muted); }
.kw-post-card-more { margin-top: auto; padding-top: 8px; font-size: 14px; font-weight: 800; color: var(--kw-ink); }
.kw-post-card-more { display: inline-flex; align-items: center; gap: 6px; }
.kw-post-card-more svg { transition: transform .2s; }
.kw-post-card:hover .kw-post-card-more svg { transform: translateX(3px); }
.kw-post-head { max-width: 820px; margin: 0 auto; text-align: center; }
.kw-post-cat { display: inline-flex; margin: 16px 0 12px; padding: 6px 14px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 800; color: var(--kw-ink); text-decoration: none; }
.kw-post-title { margin: 0 0 14px; font-size: clamp(34px, 4.6vw, 62px); line-height: 1.02; }
.kw-post-lead { margin: 0 0 12px; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: var(--kw-muted); }
.kw-post-meta { margin: 0; font-size: 14px; font-weight: 700; color: var(--kw-muted); }
.kw-post-head .woocommerce-breadcrumb { text-align: center; }
.kw-post-image { max-width: 1120px; margin: clamp(24px, 3vw, 40px) auto; overflow: hidden; border-radius: 32px; aspect-ratio: 16 / 8; background: var(--kw-surface); }
.kw-post-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kw-post-content { max-width: 720px; margin: 0 auto; font-size: 18px; line-height: 1.75; color: color-mix(in srgb, var(--kw-ink) 88%, transparent); }
.kw-post-content h2 { margin: 40px 0 12px; font-size: clamp(24px, 2.4vw, 32px); color: var(--kw-ink); }
.kw-post-content p { margin: 0 0 18px; }
.kw-post-content ul { margin: 0 0 18px; padding-left: 22px; }
.kw-post-content li { margin-bottom: 6px; }
.kw-post-related { margin-top: clamp(56px, 7vw, 96px); }
.kw-post-related .t-section-title { margin-bottom: 24px; }
@media (max-width: 900px) {
	.kw-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kw-post-grid--index > .kw-post-card:first-child { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 600px) {
	.kw-post-grid { grid-template-columns: minmax(0, 1fr); }
	.kw-post-image { border-radius: 22px; aspect-ratio: 4 / 3; }
	.kw-post-content { font-size: 16.5px; }
}

/* Latest posts block on the home page (.kw-posts) */
.kw-posts .t-container > div:first-child { display: grid; justify-items: start; margin-bottom: 28px; }
.kw-posts .t-section-title { margin: 0; }
.kw-posts .t-container > div:first-child p { margin: 10px 0 0; font-size: 17px; color: var(--kw-muted); }
.kw-posts .t-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.kw-posts .t-card { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 0; border: 0; border-radius: 24px; background: #fff; box-shadow: none; transition: transform .35s var(--kw-ease), box-shadow .35s var(--kw-ease); }
.kw-posts .t-card:hover { transform: translateY(-3px); box-shadow: 0 30px 50px -34px rgba(40, 25, 10, .45); }
.kw-posts .t-card > a { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.kw-posts .t-card > a img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kw-posts .t-card > div { display: grid; gap: 8px; padding: 18px 20px 22px; }
.kw-posts .t-card > div > p:first-child { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--kw-accent); }
.kw-posts .t-card-title { margin: 0; font-size: 20px; line-height: 1.2; }
.kw-posts .t-card-title a { color: var(--kw-ink); text-decoration: none; }
.kw-posts .t-card-title a::after { content: ""; position: absolute; inset: 0; }
.kw-posts .t-card-body { margin: 0; font-size: 14.5px; color: var(--kw-muted); }
.kw-posts .t-container > div:last-child:not(.t-grid) { display: flex; justify-content: center; margin-top: 32px; }
@media (max-width: 900px) { .kw-posts .t-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--kw-gutter)); padding-inline: var(--kw-gutter); } .kw-posts .t-card { flex: 0 0 78%; scroll-snap-align: start; } }

/* Checkout & cart (WooCommerce blocks) ---------------------------------------------------------------
   Two columns on desktop: the form as white step cards on the left, a sticky order summary on the right.
   Phones get one column; every option is a full-width row with no nested boxes. */

.woocommerce-checkout .kw-page, .woocommerce-cart .kw-page { background: var(--kw-bg); }
.woocommerce-checkout .kw-page .t-container, .woocommerce-cart .kw-page .t-container { max-width: 1240px; }
.woocommerce-checkout .kw-page-head, .woocommerce-cart .kw-page-head { max-width: none; padding: 8px 0 20px; }
.woocommerce-checkout .kw-page-title, .woocommerce-cart .kw-page-title { font-size: clamp(34px, 4.6vw, 60px); }

.wp-block-woocommerce-checkout.wc-block-checkout, .wp-block-woocommerce-cart.wc-block-cart { margin: 0; }
.wc-block-components-sidebar-layout { gap: 28px; margin: 0; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-checkout__main, .wc-block-cart__main { padding: 0; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar, .wc-block-checkout__sidebar, .wc-block-cart__sidebar { padding: 0; }
@media (min-width: 900px) {
	.wc-block-components-sidebar-layout { flex-wrap: nowrap; }
	.wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 auto; width: auto; }
	.wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 0 400px; width: 400px; }
	.wc-block-checkout__sidebar.is-sticky, .wc-block-checkout__sidebar { position: sticky; top: calc(var(--fx-header-h, 80px) + 20px); align-self: flex-start; }
}

/* Step cards */
.wc-block-checkout__form { display: grid; gap: 14px; }
.wc-block-checkout__form > .wc-block-components-checkout-step,
.wc-block-checkout__form > fieldset.wc-block-components-checkout-step {
	margin: 0; padding: clamp(20px, 2.6vw, 30px) !important; border: 0 !important; border-radius: 24px !important; background: #fff; min-width: 0;
}
.wc-block-components-checkout-step::after { display: none; }
.wc-block-components-checkout-step__heading-container { margin: 0 0 16px; }
.wc-block-components-checkout-step__heading { margin: 0; }
.wc-block-components-checkout-step__title { margin: 0 !important; font-family: var(--kw-heading); font-size: clamp(19px, 2vw, 22px) !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: -.02em; }
.wc-block-components-checkout-step__description { margin: 4px 0 0 !important; color: var(--kw-muted); font-size: 14px !important; }
.wc-block-components-checkout-step__container, .wc-block-components-checkout-step__content { padding: 0; margin: 0; }
.wc-block-checkout__order-notes, .wc-block-checkout__terms, .wc-block-checkout__actions { margin: 0; padding: 0 4px !important; }
.wc-block-checkout__terms { border: 0 !important; color: var(--kw-muted); font-size: 14px; line-height: 1.55; }
.wc-block-checkout__terms a { color: var(--kw-ink); font-weight: 700; }

/* Fields */
.wc-block-components-address-form { gap: 12px !important; }
.wc-blocks-components-select__container, .wc-block-components-text-input { background: transparent !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea, .wc-block-components-text-input textarea {
	height: 56px; min-height: 56px !important; margin: 0; padding: 22px 14px 6px; border: 1.5px solid var(--kw-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none; color: var(--kw-ink) !important; font-size: 16px; font-weight: 600 !important; line-height: 1.2 !important;
}
.wc-block-components-textarea, .wc-block-components-text-input textarea { height: auto !important; min-height: 110px !important; padding: 14px !important; }
.wc-block-components-text-input:not(.is-active) input { padding: 16px 14px !important; }
.wc-block-components-text-input label, .wc-blocks-components-select .wc-blocks-components-select__label { left: 15px !important; color: var(--kw-muted) !important; font-weight: 600; }
.wc-block-components-text-input input:focus, .wc-blocks-components-select .wc-blocks-components-select__select:focus, .wc-block-components-textarea:focus { border-color: var(--kw-ink) !important; outline: 0 !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--kw-accent) 30%, transparent) !important; }
.wc-blocks-components-select__expand { right: 14px !important; }
.wc-block-components-address-form__address_2-toggle, .wc-block-components-address-form__address_2-toggle:hover { color: var(--kw-ink) !important; font-weight: 700; text-decoration: none !important; }
.wc-block-components-validation-error { color: var(--kw-sale) !important; }
.wc-block-components-checkbox { margin: 14px 0 0; }
.wc-block-components-checkbox label { align-items: center; font-size: 15px; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { width: 22px !important; height: 22px !important; border: 1.5px solid var(--kw-line) !important; border-radius: 7px !important; background: #fff !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--kw-ink) !important; border-color: var(--kw-ink) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; left: 3px; }

/* Shipping & payment options: one bordered row per option */
.wc-block-components-radio-control, .wc-block-components-radio-control--highlight-checked { display: grid; gap: 10px; border: 0 !important; box-shadow: none; background: none; }
.wc-block-components-radio-control::after, .wc-block-components-radio-control::before,
.wc-block-components-radio-control--highlight-checked::after, .wc-block-components-radio-control--highlight-checked::before,
.wc-block-components-radio-control__option::after, .wc-block-components-radio-control-accordion-option::after, .wc-block-components-radio-control-accordion-option::before { display: none; content: none !important; }
.wc-block-components-radio-control > .wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	position: relative; margin: 0; border: 1.5px solid var(--kw-line) !important; border-radius: 16px !important; background: #fff; box-shadow: none; overflow: hidden;
	transition: border-color .15s var(--kw-ease);
}
.wc-block-components-radio-control > .wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option { display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px; }
.wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option { border: 0 !important; border-radius: 0; background: none; box-shadow: none; }
.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control > .wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--kw-ink) !important; box-shadow: inset 0 0 0 1px var(--kw-ink) !important;
}
.wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: none !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__option .wc-block-components-radio-control__input {
	position: relative; inset: auto !important; flex: none; width: 22px; height: 22px; min-width: 22px; margin: 0; transform: none; border: 1.5px solid #bdb5a8; border-radius: 50%; background: #fff; appearance: none; -webkit-appearance: none;
}
.wc-block-components-radio-control .wc-block-components-radio-control__option .wc-block-components-radio-control__input:checked { border-color: var(--kw-ink) !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__option .wc-block-components-radio-control__input:checked::before { content: ""; display: block; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; margin: 0; transform: translate(-50%, -50%); border-radius: 50%; background: var(--kw-ink) !important; }
.wc-block-components-radio-control__option-layout { flex: 1 1 auto; min-width: 0; }
.wc-block-components-radio-control__option-layout { padding: 0; }
.wc-block-components-radio-control__label-group { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.wc-block-components-radio-control__label { font-size: 15px; font-weight: 700; color: var(--kw-ink); }
.wc-block-components-radio-control__secondary-label { flex: none; font-weight: 800; color: var(--kw-ink); }
.wc-block-components-radio-control__description, .wc-block-components-radio-control__secondary-description { color: var(--kw-muted); font-size: 13px; }
.wc-block-components-radio-control-accordion-content { margin: 0; padding: 0 16px 16px 52px; color: var(--kw-muted); font-size: 14px; line-height: 1.55; }
.wc-block-components-radio-control-accordion-content p { margin: 0; }
.wc-block-components-shipping-rates-control__package { margin: 0; padding: 0; border: 0; }

/* Order summary */
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	overflow: hidden; margin: 0; border: 0; border-radius: 24px; background: #fff;
}
.wc-block-components-checkout-order-summary__title, .wc-block-cart__totals-title { margin: 0 !important; padding: 22px 22px 6px !important; border: 0 !important; }
.wc-block-components-checkout-order-summary__title-text, .wc-block-cart__totals-title { font-family: var(--kw-heading) !important; font-size: 20px !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: -.02em; }
.wc-block-components-checkout-order-summary__title-price { font-family: var(--kw-heading); font-weight: 800; }
.wc-block-components-checkout-order-summary__content { padding: 0; }
.wc-block-components-order-summary { padding: 10px 22px 6px !important; }
.wc-block-components-order-summary-item { gap: 14px; padding: 12px 0 !important; border-bottom: 1px solid var(--kw-line); }
.wc-block-components-order-summary-item:last-child { border-bottom: 0; }
.wc-block-components-order-summary-item__image { width: 64px !important; flex: 0 0 64px; padding: 0; }
.wc-block-components-order-summary-item__image img { width: 64px !important; height: 64px; object-fit: cover; border-radius: 14px; background: var(--kw-bg); }
.wc-block-components-order-summary-item__quantity { min-width: 22px !important; height: 22px; background: var(--kw-ink) !important; color: #fff; border: 2px solid #fff; box-shadow: none; font-size: 11px !important; font-weight: 800; }
.wc-block-components-order-summary-item__description { padding: 0 !important; }
.wc-block-components-product-name { font-size: 15px !important; font-weight: 800 !important; color: var(--kw-ink) !important; }
.wc-block-components-order-summary-item__individual-prices { display: none; }
.wc-block-components-product-metadata { margin-top: 4px; color: var(--kw-muted); font-size: 13px; line-height: 1.45; }
.wc-block-components-order-summary-item__total-price { font-weight: 800; color: var(--kw-ink); padding-left: 8px; }
.wc-block-components-totals-wrapper { padding: 14px 22px !important; border-color: var(--kw-line) !important; }
.wc-block-components-totals-wrapper:empty { display: none; }
.wc-block-components-totals-item { margin: 0; padding: 5px 0 !important; font-size: 15px; }
.wc-block-components-totals-item__label { color: var(--kw-muted); }
.wc-block-components-totals-item__value { font-weight: 700; color: var(--kw-ink); }
.wc-block-components-totals-footer-item { padding: 6px 0 !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--kw-ink); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--kw-heading); font-size: 22px; font-weight: 800; }
.wc-block-components-panel__button { margin: 0; padding: 2px 0 !important; font-size: 15px; font-weight: 700; color: var(--kw-ink); }
.wc-block-components-totals-coupon__form { gap: 8px; }
.wc-block-components-totals-coupon__button { min-height: 56px !important; padding: 0 20px !important; border-radius: 14px !important; }

/* Mobile summary toggle at the top */
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title[role=button] { padding: 18px 22px !important; }
.checkout-order-summary-block-fill-wrapper, .checkout-order-summary-block-fill, .wc-block-components-checkout-order-summary__content { border: 0 !important; background: #fff; }
@media (max-width: 899px) {
	.wc-block-components-sidebar-layout { flex-direction: column; gap: 14px; }
	.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; }
	.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block { margin: 0; }
	.wc-block-checkout__form > .wc-block-components-checkout-step { padding: 20px 16px !important; border-radius: 20px !important; }
	.wc-block-components-radio-control > .wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option { padding: 15px 14px !important; }
	.wc-block-components-radio-control-accordion-content { padding: 0 14px 14px 50px !important; }
	.wc-block-components-order-summary, .wc-block-components-totals-wrapper { padding-left: 16px !important; padding-right: 16px !important; }
	.wc-block-components-checkout-order-summary__title { padding: 18px 16px; }
}

/* Place order */
.wc-block-checkout__actions_row { display: flex; flex-direction: column-reverse; align-items: stretch !important; gap: 14px; }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button, .wc-block-components-button.contained { width: 100%; min-height: 60px !important; border: 0; border-radius: 999px; background: var(--kw-ink) !important; color: #fff !important; font-size: 17px; font-weight: 800; }
.wc-block-components-checkout-place-order-button:hover, .wc-block-cart__submit-button:hover { background: var(--kw-accent) !important; color: var(--kw-ink) !important; }
.wc-block-components-checkout-return-to-cart-button { align-self: center; font-weight: 700; color: var(--kw-ink) !important; }
.wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }
.wc-block-components-notice-banner { border-radius: 16px !important; }
@media (min-width: 900px) { .wc-block-checkout__actions_row { flex-direction: row-reverse; justify-content: space-between !important; align-items: center !important; } .wc-block-components-checkout-place-order-button { width: auto; min-width: 300px; } }

/* Cart: lines in one white card, summary card with the checkout button inside it */
.wc-block-components-totals-item__description:empty { display: none; }
.wc-block-components-totals-item { align-items: baseline; }
.wc-block-cart__main { align-self: flex-start; overflow: hidden; border-radius: 24px; background: #fff; }
.wp-block-woocommerce-cart .wc-block-cart-items { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; background: none; }
.wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-wrapper { padding-top: 6px !important; padding-bottom: 6px !important; border-top: 0 !important; }
.wp-block-woocommerce-cart-order-summary-totals-block { padding: 10px 0; border-top: 1px solid var(--kw-line); }
.wp-block-woocommerce-cart .wc-block-cart-items__header { display: none; }
.wp-block-woocommerce-cart .wc-block-cart-items td { padding: 20px 0 20px 20px !important; border: 0; border-top: 1px solid var(--kw-line); vertical-align: top; }
.wp-block-woocommerce-cart .wc-block-cart-items__row:first-of-type td, .wp-block-woocommerce-cart .wc-block-cart-items tr:nth-child(2) td { border-top: 0; }
.wp-block-woocommerce-cart .wc-block-cart-item__image { width: 104px; }
.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 104px; height: 104px; object-fit: cover; border-radius: 16px; background: var(--kw-bg); }
.wp-block-woocommerce-cart .wc-block-cart-item__product { padding-left: 18px; }
.wp-block-woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__total { padding-right: 22px !important; text-align: right; }
.wc-block-cart-item__wrap .wc-block-components-product-name { font-family: var(--kw-heading); font-size: 17px !important; font-weight: 800; color: var(--kw-ink); text-decoration: none; }
.wc-block-cart-item__wrap .wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.wc-block-cart-item__prices { margin: 2px 0 0; color: var(--kw-muted); font-size: 14px; }
.wc-block-cart-item__wrap .wc-block-components-product-metadata { margin: 6px 0 0 !important; font-size: 13.5px !important; color: var(--kw-muted); }
.wc-block-components-product-details { margin: 0; padding: 0; list-style: none; }
.wc-block-cart-item__quantity { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.wc-block-cart-item__total .wc-block-components-product-price { font-family: var(--kw-heading); font-size: 18px; font-weight: 800; color: var(--kw-ink); }
.wc-block-components-quantity-selector { display: inline-flex; align-items: center; width: auto; height: 42px; margin: 0; border: 1.5px solid var(--kw-line) !important; border-radius: 999px; background: #fff; overflow: hidden; }
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { order: 2; width: 36px !important; min-width: 0 !important; height: 100%; margin: 0; padding: 0 !important; border: 0 !important; box-shadow: none; background: none !important; color: var(--kw-ink) !important; font-size: 15px !important; font-weight: 800 !important; text-align: center; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { width: 40px; min-width: 40px; height: 100%; padding: 0; border: 0; background: none; color: var(--kw-ink); font-size: 20px; font-weight: 500; opacity: 1; box-shadow: none; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus { order: 1; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus { order: 3; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) { background: var(--kw-bg) !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .35 !important; }
.wc-block-cart-item__remove-link { display: grid !important; place-items: center; width: 38px; height: 38px; margin: 0; padding: 0; border-radius: 50%; color: var(--kw-muted) !important; text-decoration: none !important; }
.wc-block-cart-item__remove-link:hover { background: color-mix(in srgb, var(--kw-sale) 10%, #fff) !important; color: var(--kw-sale) !important; }

.wc-block-cart__sidebar { display: flex; flex-direction: column; }
@media (min-width: 900px) { .wc-block-cart__sidebar { position: sticky; top: calc(var(--fx-header-h, 80px) + 20px); align-self: flex-start; } }
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { border-radius: 24px 24px 0 0 !important; }
.wc-block-cart__totals-title { display: block !important; }
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 18px !important; }
.wc-block-cart__payment-options:empty { display: none; }
.wc-block-cart__submit { margin: 0; padding: 4px 22px 22px; border-radius: 0 0 24px 24px; background: #fff; }
.wc-block-cart__submit-container { padding: 0; background: none; box-shadow: none; }
@media (max-width: 899px) {
	.wc-block-cart__main { width: 100%; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 80px minmax(0, 1fr) !important; column-gap: 14px; padding: 16px 16px !important; border-top: 1px solid var(--kw-line); }
	.wp-block-woocommerce-cart .wc-block-cart-items__row:first-of-type, .wp-block-woocommerce-cart .wc-block-cart-items tr:nth-child(2) { border-top: 0; }
	.wp-block-woocommerce-cart .wc-block-cart-items td { padding: 0 !important; border: 0; }
	.wp-block-woocommerce-cart .wc-block-cart-item__image, .wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 80px; height: 80px; }
	.wp-block-woocommerce-cart .wc-block-cart-item__product { padding: 0; min-width: 0; }
	.wp-block-woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__total { padding: 0 !important; }
	.wc-block-cart-item__total .wc-block-components-product-price { font-size: 16px; }
	.wc-block-cart-item__wrap .wc-block-components-product-name { font-size: 15px !important; }
	.wc-block-cart__submit { padding: 4px 16px 16px; }
	.wc-block-cart__totals-title { padding-left: 16px !important; padding-right: 16px !important; }
	.wc-block-cart__submit-container--sticky { position: fixed !important; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) !important; background: #fff !important; box-shadow: 0 -10px 30px -18px rgba(20, 14, 10, .35) !important; }
}

/* Blog v2: header card, calmer grid, related posts carousel */
.kw-blog-head { padding: clamp(24px, 3.4vw, 48px); border-radius: 32px; background: #fff; }
.kw-blog-head .fx-subcats { margin: 0; }
.kw-blog-head .fx-subcat { background: var(--kw-bg); }
.kw-blog-head .fx-subcat.is-active { background: var(--kw-ink); }
.kw-post-grid--index > .kw-post-card:first-child { flex-direction: row; grid-column: 1 / -1; grid-row: auto; }
.kw-post-grid--index > .kw-post-card:first-child .kw-post-card-image { flex: 0 0 58%; aspect-ratio: 16 / 10; }
.kw-post-grid--index > .kw-post-card:first-child .kw-post-card-body { justify-content: center; padding: clamp(24px, 3vw, 48px); }
.kw-post-card-image { aspect-ratio: 16 / 11; margin: 8px 8px 0; border-radius: 18px; }
.kw-post-grid--index > .kw-post-card:first-child .kw-post-card-image { margin: 8px; }
.kw-post-related .fx-section-head { display: flex; align-items: flex-end; justify-content: space-between; }
.kw-post-track { --fx-gap: 20px; }
.kw-post-track .kw-post-card { min-width: 0; }
@media (max-width: 900px) {
	.kw-post-grid--index > .kw-post-card:first-child { flex-direction: column; }
	.kw-post-grid--index > .kw-post-card:first-child .kw-post-card-image { flex: none; }
}
@media (hover: none) { .kw-post-card:hover, .kw-posts .t-card:hover { transform: none; box-shadow: none; } .kw-post-card:hover .kw-post-card-image img { transform: none; } }

/* Phones: WooCommerce repeats the order summary above «Place order» */
.wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block { margin: 0 -4px 16px !important; padding: 20px 0 6px; }
.wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading { padding: 0 16px; }
.wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__title { font-size: 20px !important; }
.wc-block-checkout__order-notes .wc-block-components-checkbox { margin: 0 !important; }
.wc-block-checkout__form > .wc-block-checkout__order-notes { padding-top: 18px !important; padding-bottom: 18px !important; }
