/* PIYAMO 2.0.1 | Customer-facing form & action accessibility layer.
 * Account, login, edit account/address, orders, checkout/shipping and cart only.
 * CSS-only changes preserve WooCommerce controls, validation and payments.
 */
:root {
  --pym-ui-purple: #684a6d;
  --pym-ui-purple-hover: #54385a;
  --pym-ui-ink: #342b36;
  --pym-ui-muted: #675c69;
  --pym-ui-edge: #dfd0df;
  --pym-ui-soft: #f8f0f6;
  --pym-ui-focus: rgba(104,74,109,.20);
}

/* Notifications: make both copy and action button readable. Woo messages can
 * contain a floated anchor followed by bare text, so avoid layout assumptions. */
body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error),
body.woocommerce-account .woocommerce-notices-wrapper :is(.woocommerce-info,.woocommerce-message,.woocommerce-error),
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  box-sizing:border-box !important;
  width:100%; max-width:100%;
  margin:0 0 13px !important;
  padding:12px 14px !important;
  background:var(--pym-ui-soft) !important;
  border:1px solid var(--pym-ui-edge) !important;
  border-left:3px solid var(--pym-ui-purple) !important;
  border-radius:12px !important;
  color:var(--pym-ui-ink) !important;
  font:400 12.5px/1.5 Poppins,Satoshi,sans-serif !important;
  box-shadow:none !important;
  overflow-wrap:anywhere;
  display:flex !important; flex-wrap:wrap; gap:8px 10px; align-items:center;
}
body.woocommerce-account .woocommerce .woocommerce-error {
  background:#fff5f6 !important; border-color:#e9c6ce !important;
  border-left-color:#ae4863 !important;
}
body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before {
  color:var(--pym-ui-purple) !important;
}

/* All account-page CTAs, including Woo and plugin .button.wc-forward links.
 * Contrast is deliberately solid (white lettering on deep violet), rather
 * than gradient + inherited muted text seen in the screenshot. */
body.woocommerce-account .woocommerce :is(a.button,button.button,input.button,button[type="submit"],input[type="submit"],a.woocommerce-button,button.woocommerce-button),
body.woocommerce-account .woocommerce .woocommerce-info a.button.wc-forward,
body.woocommerce-account .woocommerce .woocommerce-message a.button.wc-forward,
body.woocommerce-account .woocommerce .woocommerce-error a.button.wc-forward {
  box-sizing:border-box !important;
  float:none !important;
  display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  width:auto; max-width:100%; min-width:0;
  min-height:40px !important;
  margin:2px 0 !important;
  padding:9px 14px !important;
  border:1px solid var(--pym-ui-purple) !important;
  border-radius:10px !important;
  background:var(--pym-ui-purple) !important;
  background-image:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font:600 12px/1.35 Poppins,Satoshi,sans-serif !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-shadow:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  box-shadow:0 4px 10px rgba(86,57,90,.12) !important;
  transform:none !important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease !important;
  vertical-align:middle;
  cursor:pointer;
}
body.woocommerce-account .woocommerce :is(a.button,button.button,input.button,button[type="submit"],input[type="submit"],a.woocommerce-button,button.woocommerce-button):is(:hover,:active),
body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a.button.wc-forward:hover {
  background:var(--pym-ui-purple-hover) !important;
  border-color:var(--pym-ui-purple-hover) !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  box-shadow:0 5px 12px rgba(86,57,90,.17) !important; transform:none !important;
}
body.woocommerce-account .woocommerce :is(a.button,button.button,input.button,button[type="submit"],input[type="submit"],a.woocommerce-button,button.woocommerce-button):focus-visible {
  outline:2px solid var(--pym-ui-purple) !important;
  outline-offset:3px !important;
}
body.woocommerce-account .woocommerce :is(a.button,button.button,input.button,button[type="submit"],input[type="submit"],a.woocommerce-button,button.woocommerce-button):disabled,
body.woocommerce-account .woocommerce :is(button.button,input.button)[disabled] {
  opacity:.56 !important; cursor:not-allowed !important;
}
/* Preserve distinct destructive actions rather than colouring them violet. */
body.woocommerce-account .woocommerce a.button.cancel,
body.woocommerce-account .woocommerce .woocommerce-button.cancel {
  color:#8e3851 !important; -webkit-text-fill-color:#8e3851 !important;
  background:#fff5f7 !important; border-color:#e8c4cf !important;
}
body.woocommerce-account .woocommerce a.button.cancel:hover,
body.woocommerce-account .woocommerce .woocommerce-button.cancel:hover {
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  background:#8e3851 !important; border-color:#8e3851 !important;
}
/* Notice button becomes an independent CTA on narrow screens, not an overlapping
 * float squeezed into the middle of a sentence. */
body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) > a.button,
body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) > a.wc-forward {
  order:2; flex:0 0 auto; float:none !important;
  clear:none;
  margin:0 0 0 auto !important;
  position:relative;
  z-index:1;
}

/* Account navigation: familiar desktop sidebar, legible compact mobile grid. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border-color:var(--pym-ui-edge);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  font-size:12.5px !important;
  line-height:1.35 !important;
  color:var(--pym-ui-ink) !important;
  font-weight:500 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color:#fff !important;
  background:var(--pym-ui-purple) !important;
  font-weight:650 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover {
  background:var(--pym-ui-soft) !important;
  color:var(--pym-ui-purple) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus-visible {
  outline:2px solid var(--pym-ui-purple) !important;
  outline-offset:-2px !important;
}

/* Edit profile, address & login (checkout inputs are below). */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content p {
  font-size:12.5px !important; line-height:1.55 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(h2,h3) {
  line-height:1.3;
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  margin-bottom:11px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form label,
body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) .form-row > label {
  font-size:11.5px !important; line-height:1.4 !important;
  font-weight:600 !important; letter-spacing:0 !important;
  margin-bottom:4px !important; color:var(--pym-ui-ink) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form :is(input.input-text,input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"],select),
body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) input.input-text {
  box-sizing:border-box !important;
  min-width:0; width:100%;
  height:43px !important; min-height:43px !important;
  padding:0 11px !important;
  border:1px solid #cfc4d0 !important; border-radius:9px !important;
  background:#fff !important;
  color:var(--pym-ui-ink) !important;
  font-size:16px !important; line-height:normal !important;
  box-shadow:none !important;
  transform:none !important;
  transition:border-color .15s ease,box-shadow .15s ease !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form textarea {
  box-sizing:border-box !important; width:100%; min-height:78px !important;
  padding:9px 11px !important; font-size:16px !important;
  background:#fff !important; color:var(--pym-ui-ink) !important;
  border-color:#cfc4d0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form :is(input,select,textarea):focus,
body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) input.input-text:focus {
  outline:none !important;
  border-color:var(--pym-ui-purple) !important;
  box-shadow:0 0 0 3px var(--pym-ui-focus) !important;
  transform:none !important;
}
body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register) .form-row {
  margin-bottom:10px !important;
}
body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register) .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register) .woocommerce-form-register__submit {
  width:100% !important;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(a,button,input,select,textarea),
body.woocommerce-account .woocommerce-MyAccount-navigation a {
  -webkit-tap-highlight-color:transparent;
}

/* Compact shipping / billing form, plus Woo's Select2 state/country inputs. */
body.woocommerce-checkout .checkout-section :is(.billing-fields-grid,.shipping-fields-grid) .form-field-custom label,
body.woocommerce-checkout .checkout-section .form-row > label {
  font-size:11px !important; line-height:1.35 !important;
  color:var(--pym-ui-ink) !important; font-weight:600 !important;
  margin-bottom:4px !important;
}
body.woocommerce-checkout .checkout-section :is(input.input-text,input.f-input,select.f-input,select),
body.woocommerce-checkout .checkout-section .select2-container .select2-selection--single {
  box-sizing:border-box !important;
  border:1px solid #cfc4d0 !important;
  background:#fff !important;
  color:var(--pym-ui-ink) !important;
  border-radius:9px !important;
}
body.woocommerce-checkout .checkout-section :is(input.input-text,input.f-input,select.f-input,select):focus,
body.woocommerce-checkout .checkout-section .select2-container--focus .select2-selection--single {
  outline:0 !important; border-color:var(--pym-ui-purple) !important;
  box-shadow:0 0 0 3px var(--pym-ui-focus) !important;
}
body.woocommerce-checkout .checkout-section :is(.billing-fields-grid,.shipping-fields-grid) .form-field-custom {
  min-width:0 !important;
}
body.woocommerce-checkout .checkout-section :is(input,textarea,select),
body.woocommerce-checkout .checkout-section a { -webkit-tap-highlight-color:transparent; }
/* Checkout navigation, coupon, place order and login buttons: compact and legible. */
body.woocommerce-checkout .checkout-layout :is(button.button,a.button,input.button,button[type="submit"],#place_order),
body.woocommerce-checkout .checkout-layout :is(.btn-primary,.btn-shop) {
  box-sizing:border-box !important;
  min-height:42px !important;
  max-width:100%;
  padding:10px 15px !important;
  font-size:12.5px !important; line-height:1.35 !important;
  font-weight:600 !important;
  border-radius:10px !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
}
body.woocommerce-checkout .checkout-layout :is(#place_order,button.button,button[type="submit"],.btn-primary) {
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  background:var(--pym-ui-purple) !important;
  border:1px solid var(--pym-ui-purple) !important;
  background-image:none !important;
}
body.woocommerce-checkout .checkout-layout :is(#place_order,button.button,button[type="submit"],.btn-primary):hover {
  background:var(--pym-ui-purple-hover) !important;
  border-color:var(--pym-ui-purple-hover) !important;
}
body.woocommerce-checkout .checkout-layout :is(#place_order,button.button,button[type="submit"],.btn-primary):focus-visible {
  outline:2px solid var(--pym-ui-purple) !important;
  outline-offset:3px !important;
}
/* Fields remain at least 16px to prevent WebView/iOS browser zoom on focus. */
@media(max-width:767px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation {width:100% !important; max-width:100%;}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100%; gap:5px !important;
    padding:5px !important; overflow:visible !important;
    border-radius:13px !important;
    background:#fbf8fb !important;
    box-sizing:border-box !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    min-width:0; width:auto !important; margin:0 !important;
    border:none !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    box-sizing:border-box !important;
    width:100%; min-height:39px;
    display:flex; justify-content:center; align-items:center;
    text-align:center; padding:6px 5px !important;
    white-space:normal !important; overflow-wrap:anywhere;
    border-radius:9px !important;
    font-size:11px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { box-shadow:0 2px 7px rgba(86,57,90,.14); }
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-account .woocommerce-MyAccount-content p { font-size:12px !important; }
  body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
    padding:12px !important; font-size:12px !important;
    line-height:1.5 !important;
    flex-direction:column !important; align-items:stretch !important; gap:0 !important;
  }
  body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) > a.button,
  body.woocommerce-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) > a.wc-forward {
    float:none !important; display:flex !important; width:100% !important;
    margin:9px 0 0 !important; clear:both;
    min-height:39px !important;
  }
  body.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) { max-width:100%; }
  body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-EditAccountForm,.woocommerce-Address form) {
    padding:14px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr { padding:12px !important; }
  body.woocommerce-checkout .checkout-section :is(.billing-fields-grid,.shipping-fields-grid) .form-field-custom label {font-size:10.5px !important;}
  body.woocommerce-checkout .checkout-section :is(input.input-text,input.f-input,select.f-input,select),
  body.woocommerce-checkout .checkout-section .select2-container .select2-selection--single {
    min-height:43px !important; height:43px !important;
    font-size:16px !important;
  }
}
@media (min-width:520px) and (max-width:767px) {
 body.woocommerce-account .woocommerce-MyAccount-navigation ul {grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(prefers-reduced-motion:reduce) {
 body.woocommerce-account .woocommerce a.button,
 body.woocommerce-account .woocommerce button.button {transition:none !important;}
}


/* PIYAMO v2.0.2 — WooCommerce My Account > Orders button layout.
 * The Woo responsive table has `td::before` ("ACTIONS:") as a flex item,
 * which squeezes all action anchors into one row. Use the action cell as
 * a grid, letting the label take its own row. This also supports extra
 * invoice/tracking actions added by WooCommerce plugins.
 */
@media (max-width: 767px) {
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 9px !important;
    row-gap: 9px !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 10px 0 2px !important;
    margin: 0 !important;
    text-align: left !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0 1px !important;
    padding: 0 !important;
    white-space: normal !important;
    text-align: left !important;
    justify-self: start !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions
  :is(a, button, input[type="submit"], .button, .woocommerce-button) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 9px 8px !important;
    border-radius: 10px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #684a6d !important;
    background-image: none !important;
    border: 1px solid #684a6d !important;
    box-shadow: 0 3px 9px rgba(86, 57, 90, .13) !important;
    font: 600 11.5px/1.32 Poppins, Satoshi, sans-serif !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    flex: none !important;
    float: none !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions
  :is(a, button, .button, .woocommerce-button):is(:hover, :active) {
    background: #54385a !important;
    border-color: #54385a !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions
  :is(a, button, .button, .woocommerce-button):focus-visible {
    outline: 2px solid #684a6d !important;
    outline-offset: 2px !important;
  }
  /* Preserve the pink destructive cancellation style introduced in v2.0.1. */
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions
  :is(a, button).cancel {
    color: #8e3851 !important;
    -webkit-text-fill-color: #8e3851 !important;
    background: #fff5f7 !important;
    border-color: #e8c4cf !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions
  :is(a, button).cancel:hover {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #8e3851 !important;
    border-color: #8e3851 !important;
  }
}
/* On tablets and desktop, allow optional invoice actions to wrap naturally. */
@media (min-width: 768px) {
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions :is(a, button) {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    padding: 9px 13px !important;
  }
}
