/* ==========================================================================
   WooCommerce pages (cart, checkout, order received, my account) in VIYLISYA colours.
   Works with both the block-based and the classic cart/checkout.
   ========================================================================== */

.vy-page__store { --wc-red: #9b1c31; }
.vy-page__store .vy-page__content { font-size: var(--fs-small); }

/* Buttons */
.vy-page__store .wc-block-components-button:not(.is-link),
.vy-page__store .wp-element-button,
.vy-page__store .button,
.vy-page__store button.button,
.vy-page__store a.button,
.vy-page__store input.button,
.woocommerce .vy-page__store #respond input#submit,
.woocommerce-page .vy-page__store .button.alt {
	min-height: 52px;
	padding: 0 28px;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--rose-strong) !important;
	color: #fff !important;
	font: 600 var(--fs-small)/1 var(--font-body) !important;
	letter-spacing: 0.01em;
	box-shadow: none !important;
	transition: background-color 0.25s ease;
}
.vy-page__store .wc-block-components-button:not(.is-link):hover,
.vy-page__store .wp-element-button:hover,
.vy-page__store .button:hover { background: var(--plum) !important; }
.vy-page__store .wc-block-components-button.is-link { color: var(--rose-ink); }

/* Headings inside blocks */
.vy-page__store .wc-block-components-title,
.vy-page__store .wc-block-components-checkout-step__title,
.vy-page__store .wc-block-cart__totals-title,
.vy-page__store h2,
.vy-page__store h3 {
	font-family: var(--font-display) !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--plum);
}

/* Fields */
.vy-page__store .wc-block-components-text-input input,
.vy-page__store .wc-block-components-combobox .components-combobox-control input,
.vy-page__store .wc-blocks-components-select select,
.vy-page__store .wc-block-components-textarea,
.vy-page__store .woocommerce-input-wrapper input,
.vy-page__store .woocommerce-input-wrapper textarea,
.vy-page__store select,
.vy-page__store .input-text {
	border-color: var(--line-strong) !important;
	border-radius: var(--radius-field) !important;
	background-color: #fff !important;
	color: var(--plum) !important;
}
.vy-page__store .wc-block-components-text-input input:focus,
.vy-page__store .input-text:focus,
.vy-page__store select:focus {
	border-color: var(--rose-ink) !important;
	box-shadow: 0 0 0 3px rgba(180, 93, 112, 0.22) !important;
	outline: none !important;
}
.vy-page__store .wc-block-components-checkbox input[type="checkbox"]:checked,
.vy-page__store .wc-block-components-radio-control__input:checked { border-color: var(--rose-strong) !important; }
.vy-page__store .wc-block-components-radio-control__input:checked::before { background: var(--rose-strong) !important; }

/* Panels */
.vy-page__store .wc-block-components-sidebar .wc-block-components-panel,
.vy-page__store .wc-block-components-order-summary,
.vy-page__store .wc-block-checkout__sidebar,
.vy-page__store .wc-block-cart__sidebar { background: transparent; }
.vy-page__store .wc-block-components-sidebar-layout .wc-block-components-sidebar { border-radius: var(--radius); }
.vy-page__store .wc-block-components-totals-wrapper { border-color: var(--line) !important; }
.vy-page__store .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.vy-page__store .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--font-display); font-size: 1.375rem; font-weight: 500; }
.vy-page__store .wc-block-components-product-name { color: var(--plum); font-weight: 600; text-decoration: none; }
.vy-page__store .wc-block-components-product-metadata { color: var(--plum-soft); }
.vy-page__store .wc-block-components-quantity-selector { border-radius: 999px !important; border-color: var(--line-strong) !important; overflow: hidden; }

/* Notices */
.vy-page__store .wc-block-components-notice-banner,
.vy-page__store .woocommerce-message,
.vy-page__store .woocommerce-info,
.vy-page__store .woocommerce-error {
	border-radius: var(--radius-field) !important;
	border: 0 !important;
	border-left: 3px solid var(--rose-ink) !important;
	background: var(--blush-soft) !important;
	color: var(--plum) !important;
}
.vy-page__store .wc-block-components-notice-banner.is-error,
.vy-page__store .woocommerce-error { border-left-color: var(--wc-red) !important; }

/* Order received */
.vy-page__store .woocommerce-order-overview,
.vy-page__store .wc-block-order-confirmation-summary { border-radius: var(--radius); background: var(--blush-soft); padding: 18px 20px; }
.vy-page__store .woocommerce-thankyou-order-received,
.vy-page__store .wc-block-order-confirmation-status { font-family: var(--font-display); font-size: 1.5rem; }

/* My account (classic) */
.vy-page__store .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 4px; }
.vy-page__store .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 999px; color: var(--plum); text-decoration: none; }
.vy-page__store .woocommerce-MyAccount-navigation .is-active a,
.vy-page__store .woocommerce-MyAccount-navigation a:hover { background: var(--blush); }

/* Tables (classic cart / orders) */
.vy-page__store table.shop_table { border-radius: var(--radius); border-color: var(--line); }
.vy-page__store table.shop_table th,
.vy-page__store table.shop_table td { border-color: var(--line); }

/* Order form: the classic checkout as one short column */
.woocommerce-checkout .vy-page__store .vy-page__head { max-width: 640px; margin-inline: auto; }
.vy-page__store form.checkout { display: grid; gap: 22px; max-width: 640px; margin-inline: auto; }
.vy-page__store form.checkout::before, .vy-page__store form.checkout::after { content: none; }
.vy-page__store form.checkout .col2-set,
.vy-page__store form.checkout .col2-set .col-1,
.vy-page__store form.checkout .col2-set .col-2 { float: none; width: 100%; }
.vy-page__store form.checkout .col2-set .col-2:empty,
.vy-page__store form.checkout .woocommerce-additional-fields:empty { display: none; }
.vy-page__store .woocommerce-billing-fields > h3,
.vy-page__store #order_review_heading { margin: 0 0 12px; font-size: 1.375rem; }
.vy-page__store form.checkout .form-row { margin: 0 0 14px; padding: 0; }
.vy-page__store form.checkout .form-row label { display: block; margin-bottom: 6px; font-weight: 600; color: var(--plum); line-height: 1.4; }
.vy-page__store form.checkout .input-text,
.vy-page__store form.checkout select { width: 100%; min-height: 50px; padding: 10px 14px; border: 1px solid var(--line-strong); font-size: 16px; }
.vy-page__store .select2-container .select2-selection--single { height: 50px; display: flex; align-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-field); }
.vy-page__store .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
.vy-page__store #payment { background: var(--blush-soft); border-radius: var(--radius); }
.vy-page__store #payment ul.payment_methods { border-bottom-color: var(--line); }
.vy-page__store #payment div.payment_box { background: #fff; color: var(--plum); }
.vy-page__store #payment div.payment_box::before { border-bottom-color: #fff; }
.vy-page__store #payment #place_order { float: none; width: 100%; }
.vy-order-card { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.vy-order-card__item { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; }
.vy-order-card__item + .vy-order-card__item { margin-top: 12px; }
.vy-order-card__img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
.vy-order-card__name { font-weight: 600; color: var(--plum); }
.vy-order-card__qty { font-size: var(--fs-micro); color: var(--plum-soft); }
.vy-order-card__price { font-family: var(--font-display); font-size: 1.25rem; color: var(--plum); white-space: nowrap; }
