/* Woo-lomakkeiden jaettu osa: ResaCore-kuoren tokenit, ilmoitukset, painikkeet, lomakekentät ja ostoprosessin vaiheet.
   Assets.php lataa tämän kori-, kassa-, tili- ja kaupan lomakesivuilla (sivun pohjana woocommerce-v2 tai kaupan chrome).
   Tilin ja lomakesivujen oma asettelu on tiedostossa shop-account.css. Ei päällekkäisiä sääntöjä tiedostojen välillä. */

/* 1. ResaCore-kuoren tokenit (lisäosa lukee nämä muuttujat) */
body.mt-v2{
  --resacommerce-shell-accent:var(--mt-coral-strong);
  --resacommerce-shell-accent-contrast:var(--mt-white);
  --resacommerce-shell-background:var(--mt-white);
  --resacommerce-shell-surface:var(--mt-white);
  --resacommerce-shell-surface-subtle:var(--mt-mist);
  --resacommerce-shell-text:var(--mt-ink);
  --resacommerce-shell-muted:var(--mt-muted);
  --resacommerce-shell-border:var(--mt-line);
  --resacommerce-shell-focus:color-mix(in oklch,var(--mt-coral) 45%,transparent);
  --resacommerce-shell-selected:var(--mt-blush);
  --resacommerce-shell-error:var(--mt-danger);
  --resacommerce-shell-error-surface:color-mix(in oklch,var(--mt-danger) 7%,var(--mt-white));
  --resacommerce-shell-success:var(--mt-success);
  --resacommerce-shell-success-surface:var(--mt-mist);
  --resacommerce-shell-warning:var(--mt-warning);
  --resacommerce-shell-warning-surface:var(--mt-blush);
  --resacommerce-shell-info:var(--mt-navy);
  --resacommerce-shell-info-surface:var(--mt-blush);
  --resacommerce-shell-radius-sm:var(--mt-radius-sm);
  --resacommerce-shell-radius:var(--mt-radius);
  --resacommerce-shell-radius-lg:var(--mt-radius);
  --resacommerce-shell-control-height:3.5rem;
  --resacommerce-shell-shadow:none;
}
.mt-v2 .mt-wc-page{padding-block:var(--mt-space-lg) var(--mt-space-section-lg);color:var(--mt-ink);font-family:var(--mt-font-body)}
.mt-v2 .mt-wc-page .container{inline-size:min(100% - 2 * var(--mt-pad),var(--mt-max));margin-inline:auto;padding:0;max-inline-size:none}
.mt-v2 .mt-wc-content{display:block}

/* 2. Ilmoitukset: yksi yhtenäinen tyyli klassisille ja Blocks-ilmoituksille. Virheissä on ikoni ja vahvempi reunus (ei pelkkä väri). */
.mt-v2.mt-v2 :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice){
  position:relative;display:block;margin:0 0 var(--mt-space-sm);padding:.875rem 1rem .875rem 3rem;border:.0625rem solid transparent;border-radius:var(--mt-radius-sm);
  background:var(--mt-blush);color:var(--mt-ink);font:400 var(--mt-fs-md)/1.5 var(--mt-font-body);list-style:none;box-shadow:none;inline-size:100%;box-sizing:border-box}
.mt-v2.mt-v2 :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice)::before{content:"";position:absolute;inset-inline-start:1rem;inset-block-start:1rem;inline-size:1.125rem;block-size:1.125rem;background:var(--mt-navy);
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.mt-v2 .woocommerce-message{background:var(--mt-mist)}
.mt-v2 .woocommerce-message::before{background:var(--mt-success);
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.mt-v2 .woocommerce-error{border-color:var(--mt-danger);border-inline-start-width:.25rem;background:color-mix(in oklch,var(--mt-danger) 6%,var(--mt-white));color:var(--mt-ink)}
.mt-v2 .woocommerce-error::before{background:var(--mt-danger);
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}
.mt-v2 .woocommerce-error li{margin:0;padding:0}
.mt-v2 .woocommerce-error li+li{margin-block-start:.25rem}
.mt-v2 :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a{color:inherit;font-weight:500}
.mt-v2 .woocommerce-message .button,.mt-v2 .woocommerce-info .button{float:none;margin:0 0 0 1rem;min-block-size:2.25rem;padding:.375rem 1rem}
/* Blocks-bannerit: ikoni tulee Woolta, tässä vain pinta ja reunus */
.mt-v2.mt-v2 .wc-block-components-notice-banner{display:flex;align-items:flex-start;box-sizing:border-box;inline-size:100%;margin:0 0 var(--mt-space-sm);gap:.75rem;padding:.875rem 1rem;border-radius:var(--mt-radius-sm);border:.0625rem solid var(--mt-line);background:var(--mt-blush);color:var(--mt-ink);font-size:var(--mt-fs-md)}
.mt-v2.mt-v2 .wc-block-components-notice-banner>svg{flex:none;padding:.1875rem;border-radius:50%;fill:var(--mt-white);background:var(--mt-navy)}
.mt-v2.mt-v2 .wc-block-components-notice-banner.is-error>svg{background:var(--mt-danger)}
.mt-v2 .wc-block-components-notice-banner.is-success{background:var(--mt-mist)}
.mt-v2.mt-v2 .wc-block-components-notice-banner.is-success>svg{background:var(--mt-success)}
.mt-v2 .wc-block-components-notice-banner.is-error{border-color:var(--mt-danger);border-inline-start-width:.25rem;background:color-mix(in oklch,var(--mt-danger) 6%,var(--mt-white))}
.mt-v2 .wc-block-components-notice-banner__content{color:var(--mt-ink)}
.mt-v2 .wc-block-components-notice-banner__content{flex:1;min-inline-size:0}
.mt-v2 .wc-block-components-notice-banner .wc-block-components-button{min-block-size:2.5rem;white-space:normal;text-align:center}
/* Ilmoituksen toimintolinkki (esim. Näytä ostoskori): WooCommerce tekee siitä tekstilinkin (väri, tausta ja täyttö !important), joten tässä vain mitat ja kirjasin: ei vuoda ilmoituksen ulkopuolelle */
.mt-v2.mt-v2 .mt-wc-page .wc-block-components-notice-banner__content :is(.button,.wp-element-button){flex:none;float:none;display:inline-flex;align-items:center;min-block-size:1.5rem;margin:0 0 0 1rem;border:0;border-radius:0;font:500 var(--mt-fs-md)/1.5 var(--mt-font-body);letter-spacing:0;text-transform:none;white-space:nowrap;text-decoration:underline;text-underline-offset:.2em}
.mt-v2 .wc-block-components-notice-banner[tabindex="-1"]:focus{outline:0}
.mt-v2 .woocommerce-message[tabindex="-1"]:focus{outline:0}
.mt-v2 .wc-block-components-validation-error,.mt-v2 .wc-block-components-validation-error p{margin-block-start:.375rem;font:400 var(--mt-fs-md)/1.4 var(--mt-font-body);color:var(--mt-danger)}
.mt-v2 .wc-block-components-validation-error svg{fill:currentColor}
.mt-v2 .wc-block-components-snackbar{border-radius:var(--mt-radius-sm);background:var(--mt-navy);color:var(--mt-white);font-size:var(--mt-fs-md)}

/* 3. Painikkeet: oletus navy, ensisijainen toiminto koralli (Pen) */
.mt-v2 .mt-wc-page :is(.button,button.button,input.button,a.button,.wp-element-button,.wc-block-components-button:not(.is-link)){
  display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-block-size:3rem;padding:.75rem 1.625rem;border:.0625rem solid var(--mt-navy);border-radius:var(--mt-radius-pill);
  background:var(--mt-navy);color:var(--mt-white);font:500 var(--mt-fs-xs)/1.2 var(--mt-font-display);letter-spacing:var(--mt-tracking-caps);text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:none;
  transition:background-color var(--mt-transition),color var(--mt-transition),border-color var(--mt-transition)}
.mt-v2 .mt-wc-page :is(.button,.wp-element-button,.wc-block-components-button:not(.is-link)):hover:not(:disabled){background:var(--mt-ink);border-color:var(--mt-ink);color:var(--mt-white)}
.mt-v2 .mt-wc-page :is(.button.alt,.checkout-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.woocommerce-form-register__submit){background:var(--mt-coral-strong);border-color:var(--mt-coral-strong)}
.mt-v2 .mt-wc-page :is(.button.alt,.checkout-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.woocommerce-form-register__submit):hover:not(:disabled){background:var(--mt-coral-deep);border-color:var(--mt-coral-deep)}
.mt-v2 .mt-wc-page :is(.button:disabled,.button.disabled,.wc-block-components-button:disabled){opacity:.5;cursor:not-allowed}
.mt-v2 .mt-wc-page .wc-block-components-button.outlined,.mt-v2 .mt-wc-page .mediatrade-cart-quote-button--secondary{background:var(--mt-white);color:var(--mt-navy);border-color:var(--mt-navy)}
.mt-v2 .mt-wc-page :is(.wc-block-components-button.outlined,.mediatrade-cart-quote-button--secondary):hover:not(:disabled){background:var(--mt-navy);color:var(--mt-white);filter:none}

/* 4. Woo-lomakkeet: sama ilme kuin components/forms.css (.mt-gf) */
.mt-v2 .mt-wc-page :is(.woocommerce-form,.woocommerce-EditAccountForm,.woocommerce-address-fields,.checkout,.woocommerce-ResetPassword,.mediatrade-request__form) .form-row{margin:0 0 1.125rem;padding:0}
.mt-v2 .mt-wc-page .form-row label,.mt-v2 .mt-wc-page .mediatrade-request label>span:first-child{display:block;margin:0 0 .375rem;padding:0;font:500 var(--mt-fs-sm)/1.5 var(--mt-font-body);color:var(--mt-ink)}
.mt-v2 .mt-wc-page .form-row .required,.mt-v2 .mt-wc-page .form-row abbr.required{margin-inline-start:.1875rem;color:inherit;text-decoration:none;border:0}
.mt-v2 .mt-wc-page :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=url],input[type=date],textarea,select,.select2-selection--single){
  inline-size:100%;min-block-size:3rem;padding:.75rem .875rem;border:.0625rem solid var(--mt-field);border-radius:var(--mt-radius-sm);background:var(--mt-white);color:var(--mt-ink);font:400 var(--mt-fs-lg)/1.5 var(--mt-font-body);box-shadow:none;box-sizing:border-box}
.mt-v2 .mt-wc-page textarea{block-size:7.5rem;min-block-size:7.5rem;resize:vertical}
.mt-v2 .mt-wc-page :is(input,textarea,select)::placeholder{color:var(--mt-muted);opacity:1}
.mt-v2 .mt-wc-page :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select):hover{border-color:var(--mt-muted)}
.mt-v2 .mt-wc-page :is(input,textarea,select):focus-visible{outline:.1875rem solid var(--mt-coral);outline-offset:.0625rem;border-color:var(--mt-navy)}
.mt-v2 .mt-wc-page :is(.woocommerce-invalid,.woocommerce-invalid-required-field) :is(input,textarea,select){border-color:var(--mt-danger);border-width:.125rem}
.mt-v2 .mt-wc-page :is(input[type=checkbox],input[type=radio]){inline-size:1.5rem;block-size:1.5rem;margin:0;accent-color:var(--mt-navy);flex:none}
.mt-v2 .mt-wc-page label.woocommerce-form__label-for-checkbox,.mt-v2 .mt-wc-page .woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:.625rem;margin:0;font-weight:400;font-size:var(--mt-fs-base)}
.mt-v2 .mt-wc-page .form-row .description,.mt-v2 .mt-wc-page .form-row small,.mt-v2 .mt-wc-page .form-row em{display:block;margin-block-start:.375rem;font-size:var(--mt-fs-md);color:var(--mt-muted);font-style:normal}
.mt-v2 .mt-wc-page .password-input{position:relative;display:block}
.mt-v2 .mt-wc-page .show-password-input{position:absolute;inset-inline-end:.25rem;inset-block-start:50%;transform:translateY(-50%);inline-size:2.5rem;block-size:2.5rem;border:0;background:none;color:var(--mt-muted);cursor:pointer}
.mt-v2 .mt-wc-page .password-input input{padding-inline-end:3rem}
.mt-v2 .mt-wc-page .select2-container{inline-size:100%!important}
.mt-v2 .mt-wc-page .select2-selection--single{display:flex;align-items:center}
.mt-v2 .mt-wc-page .select2-selection__rendered{padding:0!important;line-height:1.5!important;color:var(--mt-ink)!important}
.mt-v2 .mt-wc-page .select2-selection__arrow{block-size:100%!important}
@media (min-width:40rem){
  .mt-v2 .mt-wc-page .form-row-first,.mt-v2 .mt-wc-page .form-row-last{float:left;inline-size:calc(50% - .5rem)}
  .mt-v2 .mt-wc-page .form-row-last{float:right}
  .mt-v2 .mt-wc-page .form-row-wide,.mt-v2 .mt-wc-page .clear{clear:both}
}
.mt-v2 .mt-wc-page .woocommerce-privacy-policy-text{font-size:var(--mt-fs-md);color:var(--mt-muted)}

/* Ostoprosessin vaiheet ja sivun otsikko (kori: sivun sisältö; kassa: template-parts/v2/header-checkout.php) */
.mt-checkout-intro{padding-block:var(--mt-space-lg) 0;background:var(--mt-white);color:var(--mt-ink)}
.mt-checkout-intro__title{margin:1.25rem 0 0;font:400 var(--mt-fs-h1)/1.15 var(--mt-font-display);letter-spacing:-.03125rem}
.mt-steps{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;margin:0;padding:0;list-style:none;font:400 var(--mt-fs-md)/1.5 var(--mt-font-body);color:var(--mt-muted)}
.mt-steps__item{display:flex;align-items:center;gap:.5rem}
.mt-steps__item+.mt-steps__item::before{content:"";inline-size:2.25rem;block-size:.0625rem;background:var(--mt-line)}
.mt-steps__link{display:inline-flex;align-items:center;gap:.5rem;min-block-size:1.5rem;color:inherit;text-decoration:none}
.mt-steps__link:hover .mt-steps__label{text-decoration:underline}
.mt-steps__num{display:inline-grid;place-items:center;flex:none;inline-size:1.5rem;block-size:1.5rem;border-radius:50%;background:var(--mt-mist);color:var(--mt-muted);font:500 var(--mt-fs-xs)/1 var(--mt-font-body)}
.mt-steps__item[aria-current=step]{color:var(--mt-ink);font-weight:500}
.mt-steps__item[aria-current=step] .mt-steps__num{background:var(--mt-navy);color:var(--mt-white)}
.mt-steps__item--done .mt-steps__num{background:var(--mt-coral-strong);color:var(--mt-white)}
.mt-steps__item--done{color:var(--mt-ink)}
@media (max-width:40rem){.mt-steps{gap:.5rem}.mt-steps__item+.mt-steps__item::before{inline-size:.75rem}.mt-steps__item:not([aria-current=step]) .mt-steps__label{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
