/**
 * Flyygelimestarit — WooCommerce-tyylit
 *
 * Rinnastaa WooCommercen teeman ilmeeseen käyttäen style.css:n design tokeneita
 * (--fm-* muuttujat). Ladataan vain kun WooCommerce on aktiivinen.
 */

/* ─────────────────────────────────────────────
   YLEISET
───────────────────────────────────────────── */
.fm-woocommerce {
  color: var(--fm-ivory);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4 {
  font-family: 'Georgia', serif;
  font-weight: normal;
  color: var(--fm-ivory);
}

.woocommerce a {
  color: var(--fm-brass);
  transition: color 0.2s;
}
.woocommerce a:hover {
  color: var(--fm-brass-light);
}

.woocommerce .page-title {
  margin-bottom: 8px;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-family: system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fm-ivory-dim);
  margin-bottom: 28px;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--fm-ivory-dim);
}
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--fm-brass);
}

/* Tuloslaskuri & järjestys */
.woocommerce .woocommerce-result-count {
  font-family: system-ui, sans-serif;
  font-size: 0.78rem;
  color: var(--fm-ivory-dim);
}

/* ─────────────────────────────────────────────
   HUOMAUTUKSET (notices / messages)
───────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce p.no-comments {
  background: var(--fm-mahogany);
  color: var(--fm-ivory);
  border-top: 3px solid var(--fm-brass);
  border-radius: var(--fm-radius);
  font-family: system-ui, sans-serif;
  font-size: 0.86rem;
  padding: 16px 20px;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  color: var(--fm-brass);
}
.woocommerce-error {
  border-top-color: #c0563f;
}
.woocommerce-error::before {
  color: #c0563f;
}

/* ─────────────────────────────────────────────
   TUOTERUUDUKKO (shop loop)
───────────────────────────────────────────── */
.woocommerce ul.products {
  gap: 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 32px;
}
.woocommerce ul.products.columns-1 { grid-template-columns: 1fr; }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
  overflow: hidden;
  padding: 0 0 24px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s, transform 0.2s;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--fm-brass);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product a img {
  margin: 0 0 16px;
  border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Georgia', serif;
  font-size: 1.05rem;
  color: var(--fm-ivory);
  padding: 0 20px;
  margin-bottom: 8px;
}

.woocommerce ul.products li.product .price {
  color: var(--fm-brass);
  font-family: 'Georgia', serif;
  font-size: 1.05rem;
  padding: 0 20px;
  margin-bottom: 16px;
}
.woocommerce ul.products li.product .price del {
  color: var(--fm-ivory-dim);
  opacity: 0.6;
  font-size: 0.9rem;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--fm-brass);
}

/* Lyhyt tuotekuvaus tuotekortissa */
.woocommerce ul.products li.product .fm-loop-short-desc {
  padding: 0 20px;
  margin-bottom: 18px;
  color: var(--fm-ivory-dim);
  font-size: 0.86rem;
  line-height: 1.6;
}
.woocommerce ul.products li.product .fm-loop-short-desc p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.woocommerce ul.products li.product .button {
  margin: auto 20px 0;
  display: block;
  text-align: center;
  white-space: nowrap;
  padding-left: 18px;
  padding-right: 18px;
}

/* AJAX-lisäyksen "Näytä ostoskori" -linkki tuotekortissa */
.woocommerce ul.products li.product .added_to_cart {
  display: block;
  margin: 10px 20px 0;
  text-align: center;
  white-space: nowrap;
  padding: 11px 18px;
  font-size: 0.72rem;
}

/* Sale-merkki */
.woocommerce span.onsale {
  background: var(--fm-brass);
  color: var(--fm-ebony);
  font-family: system-ui, sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  min-height: auto;
  min-width: auto;
  line-height: 1;
  padding: 7px 12px;
  border-radius: 3px;
  top: 12px;
  left: 12px;
  margin: 0;
}

/* Tähtiarvostelut */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before {
  color: var(--fm-brass);
}
.woocommerce .star-rating {
  color: var(--fm-brass);
}

/* ─────────────────────────────────────────────
   PAINIKKEET
───────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  display: inline-block;
  background: var(--fm-brass);
  color: var(--fm-ebony);
  font-family: system-ui, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 13px 30px;
  border: 1px solid var(--fm-brass);
  border-radius: 3px;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--fm-brass-light);
  color: var(--fm-ebony);
  border-color: var(--fm-brass-light);
}

/* Toissijainen / outline-painike */
.woocommerce a.button.wc-backward,
.woocommerce a.added_to_cart,
.woocommerce button.button.reset {
  background: transparent;
  color: var(--fm-ivory);
  border: 1.5px solid rgba(242, 235, 217, 0.35);
}
.woocommerce a.button.wc-backward:hover,
.woocommerce a.added_to_cart:hover,
.woocommerce button.button.reset:hover {
  border-color: var(--fm-ivory);
  background: var(--fm-ivory-faint);
  color: var(--fm-ivory);
}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible {
  outline: 2px solid var(--fm-brass-light);
  outline-offset: 2px;
}

.woocommerce .button.disabled,
.woocommerce .button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ─────────────────────────────────────────────
   YKSITTÄINEN TUOTE
───────────────────────────────────────────── */
.woocommerce div.product .product_title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 12px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--fm-brass);
  font-family: 'Georgia', serif;
  font-size: 1.6rem;
}
.woocommerce div.product p.price del {
  color: var(--fm-ivory-dim);
  font-size: 1.1rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--fm-ivory-dim);
}

.woocommerce div.product form.cart {
  margin-top: 20px;
}

/* Välilehdet */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin-bottom: 24px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom-color: var(--fm-brass-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0 24px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: system-ui, sans-serif;
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fm-ivory-dim);
  padding: 12px 0;
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--fm-ivory);
  border-bottom-color: var(--fm-brass);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

/* Liittyvät tuotteet */
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
  font-size: 1.5rem;
  margin-bottom: 28px;
}

/* ─────────────────────────────────────────────
   MÄÄRÄVALITSIN & LOMAKEKENTÄT
───────────────────────────────────────────── */
.woocommerce .quantity input.qty,
.woocommerce input[type='text'],
.woocommerce input[type='email'],
.woocommerce input[type='tel'],
.woocommerce input[type='password'],
.woocommerce input[type='number'],
.woocommerce input[type='search'],
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container .select2-selection {
  background: var(--fm-ebony);
  color: var(--fm-ivory);
  border: 1px solid var(--fm-brass-border);
  border-radius: 3px;
  padding: 12px 14px;
  font-family: system-ui, sans-serif;
  font-size: 0.9rem;
}
.woocommerce .quantity input.qty {
  padding: 12px 8px;
}
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  outline: none;
  border-color: var(--fm-brass);
}
.woocommerce ::placeholder {
  color: rgba(242, 235, 217, 0.4);
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  font-family: system-ui, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--fm-ivory-dim);
}

/* ─────────────────────────────────────────────
   OSTOSKORI
───────────────────────────────────────────── */
.woocommerce table.shop_table {
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
  border-collapse: separate;
}
.woocommerce table.shop_table th {
  font-family: system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fm-ivory-dim);
  padding: 16px 14px;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--fm-ivory-faint);
  color: var(--fm-ivory);
  padding: 16px 14px;
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
  color: var(--fm-ivory);
}
.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
  color: var(--fm-brass);
}

.woocommerce a.remove {
  color: var(--fm-brass) !important;
  border: 1px solid var(--fm-brass-border);
}
.woocommerce a.remove:hover {
  background: var(--fm-brass) !important;
  color: var(--fm-ebony) !important;
}

.woocommerce .cart-collaterals .cart_totals table,
.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 8px;
}

/* Kuponkilaatikko */
.woocommerce .coupon .input-text {
  min-width: 180px;
}

/* Ostoskori — tuotekuvat ja rivit */
.woocommerce table.shop_table img {
  width: 64px;
  border-radius: 4px;
}
.woocommerce-cart table.cart td.product-name a {
  color: var(--fm-ivory);
}
.woocommerce-cart table.cart td.product-name a:hover {
  color: var(--fm-brass);
}
.woocommerce-cart table.cart td.actions {
  padding: 20px 14px;
}
.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
  flex: 0 1 200px;
}

/* Ostoskorin summat korttina */
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
  padding: 28px;
}
.woocommerce-cart .cart-collaterals .cart_totals > h2 {
  font-family: system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fm-brass);
  margin-bottom: 20px;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  border: none;
  background: transparent;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
  padding: 12px 0;
  border-top-color: var(--fm-ivory-faint);
}
.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
  font-size: 1.15rem;
}
.woocommerce-cart .wc-proceed-to-checkout {
  padding-top: 20px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 0.82rem;
  padding: 15px 24px;
}

/* ─────────────────────────────────────────────
   KASSA (checkout)
───────────────────────────────────────────── */
.woocommerce-checkout #payment {
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom-color: var(--fm-brass-border);
}
.woocommerce-checkout #payment div.payment_box {
  background: var(--fm-ebony);
  color: var(--fm-ivory-dim);
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--fm-ebony);
}
.woocommerce-info a,
.woocommerce-checkout-review-order-table .amount {
  color: var(--fm-brass);
}

/* Kassa — otsikot ja sarakkeet */
.woocommerce-checkout h3 {
  font-size: 1.3rem;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--fm-brass-border);
}
.woocommerce-checkout #customer_details {
  margin-bottom: 12px;
}

/* Tilausyhteenveto korttina */
.woocommerce-checkout #order_review {
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
  padding: 24px;
}
.woocommerce-checkout #order_review table.shop_table {
  border: none;
  background: transparent;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: 12px 0;
}
.woocommerce-checkout #order_review .order-total .amount {
  color: var(--fm-brass);
  font-size: 1.2rem;
}

/* Maksutavat */
.woocommerce-checkout #payment {
  margin-top: 8px;
}
.woocommerce-checkout #payment ul.payment_methods {
  padding: 16px 0;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  color: var(--fm-ivory);
  font-family: system-ui, sans-serif;
  font-size: 0.9rem;
}
.woocommerce-checkout #payment input[type='radio'] {
  accent-color: var(--fm-brass);
}
.woocommerce-checkout #payment #place_order {
  display: block;
  width: 100%;
  font-size: 0.85rem;
  padding: 16px 24px;
  margin-top: 8px;
}

/* Kupongin syöttölaatikko */
.woocommerce form.checkout_coupon {
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
}

/* ─────────────────────────────────────────────
   SIVUTUS
───────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul {
  border: none;
  gap: 6px;
  display: flex;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: system-ui, sans-serif;
  font-size: 0.82rem;
  color: var(--fm-ivory-dim);
  background: var(--fm-mahogany);
  border: 1px solid var(--fm-brass-border);
  border-radius: 3px;
  padding: 8px 14px;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--fm-brass);
  color: var(--fm-ebony);
  border-color: var(--fm-brass);
}

/* ─────────────────────────────────────────────
   OMA TILI
───────────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border: 1px solid var(--fm-brass-border);
  border-radius: var(--fm-radius);
  overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--fm-ivory-faint);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 18px;
  font-family: system-ui, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  color: var(--fm-ivory-dim);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--fm-brass-dim);
  color: var(--fm-ivory);
}

/* ─────────────────────────────────────────────
   WIDGETIT & SUODATTIMET
───────────────────────────────────────────── */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--fm-brass);
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: var(--fm-ivory-faint);
}

/* ─────────────────────────────────────────────
   SELECT2-VALIKOT (klassinen kassa)
───────────────────────────────────────────── */
.woocommerce .select2-container--default .select2-selection--single {
  background: var(--fm-ebony);
  border: 1px solid var(--fm-brass-border);
  height: 46px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--fm-ivory);
  line-height: 44px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: rgba(242, 235, 217, 0.4);
}
.select2-dropdown {
  background: var(--fm-mahogany);
  border-color: var(--fm-brass-border);
  color: var(--fm-ivory);
}
.select2-container--default .select2-results__option {
  background: transparent;
  color: var(--fm-ivory);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--fm-brass);
  color: var(--fm-ebony);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--fm-ebony);
  color: var(--fm-ivory);
  border: 1px solid var(--fm-brass-border);
}

/* Selaimen automaattitäyttö (autofill) pysyy tummana */
.woocommerce input:-webkit-autofill,
.woocommerce input:-webkit-autofill:hover,
.woocommerce input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--fm-ivory);
  -webkit-box-shadow: 0 0 0 1000px var(--fm-ebony) inset;
  caret-color: var(--fm-ivory);
}

/* ─────────────────────────────────────────────
   WOOCOMMERCE BLOCKS -KASSA & -KORI
   (uusi lohkopohjainen kassa/ostoskori)
───────────────────────────────────────────── */
/* Syöttökentät: tumma tausta + luettava teksti */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select select,
.wc-block-components-select .wc-block-components-select__select,
.wc-block-components-combobox input,
.wc-block-components-address-form input,
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  background: var(--fm-ebony) !important;
  color: var(--fm-ivory) !important;
  border-color: var(--fm-brass-border) !important;
}

/* Maa/alue -combobox (WordPress ComboboxControl) */
.wc-block-components-combobox .components-form-token-field,
.wc-block-components-combobox .components-form-token-field__input-container,
.wc-block-components-combobox-control input,
.components-combobox-control__input,
.wc-block-components-combobox input.components-combobox-control__input {
  background: var(--fm-ebony) !important;
  color: var(--fm-ivory) !important;
  border-color: var(--fm-brass-border) !important;
}

/* Maa/alue: uudempi InputControl piirtää valkoisen taustan __backdrop/__container-elementtiin */
.wc-block-components-combobox .components-input-control__container,
.wc-block-components-country-input .components-input-control__container,
.wc-block-components-state-input .components-input-control__container,
.wc-block-components-combobox .components-input-control__backdrop,
.wc-block-components-country-input .components-input-control__backdrop,
.wc-block-components-state-input .components-input-control__backdrop {
  background-color: var(--fm-ebony) !important;
  border-color: var(--fm-brass-border) !important;
}
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-country-input .components-combobox-control__input,
.wc-block-components-state-input .components-combobox-control__input {
  background: transparent !important;
  color: var(--fm-ivory) !important;
}

/* Maa/alue -natiivivalikko (wc-blocks-components-select) */
.wc-blocks-components-select .wc-blocks-components-select__container {
  background: var(--fm-ebony) !important;
  border-color: var(--fm-brass-border) !important;
}
.wc-blocks-components-select .wc-blocks-components-select__select {
  background: transparent !important;
  color: var(--fm-ivory) !important;
  border-color: var(--fm-brass-border) !important;
}
.wc-blocks-components-select .wc-blocks-components-select__select option {
  background: var(--fm-mahogany);
  color: var(--fm-ivory);
}
.wc-blocks-components-select .wc-blocks-components-select__label {
  color: rgba(242, 235, 217, 0.55) !important;
}
.wc-blocks-components-select .wc-blocks-components-select__expand {
  fill: var(--fm-ivory) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-select select:focus {
  border-color: var(--fm-brass) !important;
  box-shadow: 0 0 0 1px var(--fm-brass) !important;
}
.wc-block-components-text-input input::placeholder {
  color: rgba(242, 235, 217, 0.4) !important;
}

/* Kelluvat labelit */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label {
  color: rgba(242, 235, 217, 0.55) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label {
  color: var(--fm-brass) !important;
}

/* Otsikot ja tekstit */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-components-totals-item__label,
.wc-block-components-product-name,
.wc-block-components-order-summary-item__description,
.wc-block-components-product-details__name,
.wc-block-components-product-metadata {
  color: var(--fm-ivory) !important;
}
.wc-block-components-checkout-step__description,
.wc-block-components-address-card address,
.wc-block-components-order-summary-item__quantity {
  color: var(--fm-ivory-dim) !important;
}

/* Yhteenveto-/summapaneeli */
.wc-block-components-totals-wrapper {
  border-color: var(--fm-ivory-faint) !important;
}
.wc-block-components-totals-item__value {
  color: var(--fm-ivory) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--fm-brass) !important;
}

/* Combobox-lista (maa/alue) */
.wc-block-components-combobox-list {
  background: var(--fm-mahogany) !important;
  border-color: var(--fm-brass-border) !important;
}
.wc-block-components-combobox-list-option {
  color: var(--fm-ivory) !important;
}
.wc-block-components-combobox-list-option.is-highlighted {
  background: var(--fm-brass) !important;
  color: var(--fm-ebony) !important;
}

/* Maa/alue -ehdotuslista (ComboboxControl / token field) */
.components-form-token-field__suggestions-list {
  background: var(--fm-mahogany) !important;
  border-color: var(--fm-brass-border) !important;
}
.components-form-token-field__suggestion {
  color: var(--fm-ivory) !important;
}
.components-form-token-field__suggestion.is-selected {
  background: var(--fm-brass) !important;
  color: var(--fm-ebony) !important;
}

/* Painikkeet (esim. "Tee tilaus") */
.wc-block-components-button:not(.is-link) {
  background: var(--fm-brass) !important;
  color: var(--fm-ebony) !important;
  border-radius: 3px !important;
}
.wc-block-components-button:not(.is-link):hover {
  background: var(--fm-brass-light) !important;
}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text {
  color: var(--fm-ebony) !important;
}

/* ─────────────────────────────────────────────
   RESPONSIIVISUUS
───────────────────────────────────────────── */
@media (max-width: 768px) {
  .woocommerce ul.products[class*='columns-'] {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products[class*='columns-'] {
    grid-template-columns: 1fr;
  }
}
