/* Scoped styly stranky Muj ucet (WooCommerce My Account - klasicke
   sablony/formulare, cizi markup ktery negenerujeme cely sami). Vsechny
   selektory scoped pod .woocommerce-account (body trida pritomna na
   is_account_page() bez ohledu na prihlaseni/odhlaseni - overeno primo na
   vyvoji: pritomna na dashboardu i na login/register obrazovce).

   Task E4.3 - PLNY prevod, nahrazuje puvodni assets/css/pages/muj-ucet.css
   (660 r., layer base, smazano) A prebira 6 pravidel z
   assets/css/overwrites/woocommerce.css, ktera po zmereni vysla jako
   pouzivana VYHRADNE na teto strance (viz "PREVZATO Z OVERWRITES" nize).

   METODA MERENI: JS diagnostika CSSOM na vyvoji (prihlaseny testovaci ucet
   ethia-css-test) - pro kazde sporne pravidlo dohledan vitezici zdroj pres
   el.matches(rule.selectorText) napric vsemi stylesheety vc. rekurze do
   @layer bloku (CSSLayerBlockRule.cssRules), overeno na login/register
   obrazovce, dashboardu, prazdnych Objednavkach/Stahovani, Adrese
   (billing edit-address) a Detailech uctu (edit-account, vc. fieldsetu
   Zmena hesla) na 1462px.

   VYNECHANO (mrtva pravidla, presun by je OZIVIL a zmenil vzhled):
   - `.woocommerce-MyAccount-content > p:first-child` (beige box kolem
     uvodniho "Dobry den..." odstavce) - CELE mrtve, found:0. WC dnes vzdy
     vklada `.woocommerce-notices-wrapper` (prazdny div) jako skutecne
     prvni potomek `.woocommerce-MyAccount-content` (overeno primo v DOM na
     dashboardu), takze `<p>` s pozdravem uz neni `:first-child` - jde o
     markup drift, ne o layer/specificitu. Vizualne potvrzeno screenshotem:
     text pozdravu se dnes vykresluje bez zadneho pozadi/paddingu.
   - `.woocommerce-account .woocommerce-info:only-child` (empty-state
     varianta s velkym centrovanym paddingem 4rem 2rem, bez leveho
     bordery) - CELE mrtve, found:0 na Objednavkach i Stahovani (oba prazdne
     stavy). Overeno v DOM: `.woocommerce-info` ma dnes souseda
     `.woocommerce-notices-wrapper` (prazdny div) - neni tedy `:only-child`
     sveho rodice. Skutecny vzhled prazdneho stavu (levy barevny okraj,
     tlacitko "Prochazet produkty" vpravo) rendruje obecne pravidlo
     `.woocommerce-account .woocommerce-info` nize (to JE zive, ponechano).
   - Fieldset "Zmena hesla" (.woocommerce-EditAccountForm) - h2/h3 obecne
     pravidlo pro nadpisy v obsahu (.woocommerce-MyAccount-content h2, h3)
     dnes realne styluje uz jen `.woocommerce-order-details__title` (vlastni
     specifictejsi pravidlo nize ho tak jako tak prebiji vlastnimi hodnotami)
     a jeden nesouvisejici h2 z pluginu veristi programu
     (`.loyalty-widget-header h2` v ethia-reward-system/dash-reward.css,
     unlayered) - ten nas rule dnes uz PORAZI (font-family Lato misto
     var(--font-secondary), zmereno primo na "Vernostni program" nadpisu) -
     stav pred i po tomto tasku identicky (obe varianty base layer / scoped
     unlayered stale prohravaji s unlayered pluginem), takze prevod nic
     nemeni. Pravidlo je ponechano jako smysluplny vychozi styl pro budouci
     h2/h3 v obsahu uctu.

   PREVZATO Z OVERWRITES/WOOCOMMERCE.CSS (po zmereni pouzivano VYHRADNE na
   teto strance - zadny jiny frontend formular/stranka tyto selektory
   nepouziva, overeno grepem + JS diagnostikou):
   - Obecne styly klasickych WC input poli (border-radius/background/
     border-bottom/font-size/outline/transition/focus) - puvodne sdilene s
     kosik.css/pokladna.css, ale oba uz maji VLASTNI kopie s !important (byly
     jim potreba proti WC Blocks unlayered CSS - viz jejich hlavicky), takze
     tato sdilena verze uz pro ne nebyla potreba. `padding: 3rem 1rem 1rem`
     z puvodniho pravidla VYNECHAN: WC core (woocommerce.css, UNLAYERED,
     `.woocommerce form .form-row .input-text{padding:.5em}`) dnes vyhrava
     nad nasim puvodnim base-layer pravidlem bez ohledu na specificitu
     (zmereno na #billing_first_name: padding 8.752px na vsech stranach =
     WC 0.5em, ne nas 3rem/1rem) - byl tedy JIZ MRTVY pred timto taskem.
     Presunem do unlayered scoped souboru s vyssi specificitou
     (.woocommerce-account pridava tridu navic) by ZACAL VYHRAVAT a zmenil
     by vzhled adresy/detailu uctu poli (ozivil by puvodne zamysleny vetsi
     horni padding) - proto VYNECHAN, vychozich 0.5em z WC jadra zustava.
     Zbytek (border-radius/background/border-bottom vsechny s !important,
     font-size 2rem bez konkurence, outline/transition bez konkurence) je
     ZIVY beze zmeny pred/po (important vyhrava bez ohledu na layer; font-
     size/outline/transition nemaji zadneho unlayered konkurenta).
   - `.woocommerce form .form-row label { font-size: max(1.6rem, 12px) }` -
     zadny konkurent, zivy beze zmeny.
   - `.woocommerce-address-fields__field-wrapper { margin-bottom: 3rem }` -
     WC trida jen v klasickem edit-address formulari (WC Blocks checkout
     tuto tridu nepouziva), zmereno zive (26.256px = 3rem).
   - `.select2-container--default .select2-selection--single { background:
     transparent !important }` - select2 se na webu pouziva JEN pro
     zeme/kraj select v adresach uctu (grep: zadny jiny frontend vyskyt,
     WC Blocks checkout ma vlastni "wc-blocks-components-select" bez
     select2). Zmereno zive.
   - `.woocommerce-privacy-policy-text { margin-bottom: 12px }` - text
     ochrany osobnich udaju pod registracnim formularem (klasicky
     `woocommerce_register_form` marketing/privacy text), zmereno zive
     (12px) na registracni zalozce. WC Blocks checkout tuto tridu
     nepouziva (`.wc-block-checkout__terms` ma jinou strukturu).
   NEPRENESENO Z OVERWRITES (byly urceny pro vic stranek nebo jsou dnes
   redundatni - viz header overwrites/woocommerce.css pro detaily):
   `fieldset { padding: 1.2rem 1.8rem }` (bare selektor) byl uz PRED timto
   taskem 100% redundantni - jedine `<fieldset>` na webu je "Zmena hesla" v
   .woocommerce-EditAccountForm, ktere ma vlastni specifictejsi pravidlo
   `.woocommerce-EditAccountForm fieldset { padding: 2.4rem }` (zmereno
   vitezi, 21.0048px = 2.4rem) - bare fieldset pravidlo nikdy nevyhralo a
   nikde jinde na webu zadny jiny <fieldset> neexistuje (grep), proto
   zahozeno beze zbytku (viz overwrites header).

   Navigace (woocommerce/myaccount/navigation.php) a login/register zalozky
   (.login-register-tabs, includes/functions/register-tabs.php) jsou VLASTNI
   markup teto sablony - prevedeny primo na Tailwind utility tridy v PHP/JS
   timto taskem, proto uz NEMAJI zadne CSS zde (drive
   .woocommerce-MyAccount-navigation + .login-register-tabs bloky). */

/* ---- Account page wrapper ---- */
.woocommerce-account .woocommerce {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 4rem var(--container-padding);

  @media (max-width: 768px) {
    padding: 2rem 2rem;
  }
}

/* ---- Account layout (sidebar + content) - parovaci pravidlo pro navigaci
   (nyni utility v navigation.php, viz header) a content (WC vlastni
   sablona, kterou neprepisujeme - musi tedy zustat v CSS, aby oba
   elementy chovaly konzistentne jako pár) ---- */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
  @media (min-width: 769px) {
    display: inline-block;
    vertical-align: top;
  }
}

/* ---- Account content area ---- */
.woocommerce-account .woocommerce-MyAccount-content {
  padding-left: 4rem;

  @media (max-width: 768px) {
    padding-left: 0;
  }

  /* Headings (dnes realne dopada na order-details title a osireny nadpis
     veristi programu - viz header, nemeni se timto prevodem) */
  h2, h3 {
    font-family: var(--font-secondary);
    font-weight: 400;
    letter-spacing: var(--letter-spacing-heading);
    color: var(--color-text);
  }

  h2 {
    font-size: 2.8rem;
    margin-bottom: 2.4rem;
  }

  h3 {
    font-size: 2.2rem;
    margin-bottom: 1.6rem;
  }

  /* General paragraphs */
  p {
    font-size: 1.6rem;
    color: var(--color-text-secondary);
    line-height: 1.7;
  }

  /* Links */
  a:not(.bttn):not(.button) {
    color: var(--color-cta);
    text-decoration: none;
    transition: var(--transition-default);

    &:hover {
      color: var(--color-cta-hover);
      text-decoration: underline;
    }
  }
}

/* ---- Orders table ---- */
.woocommerce-account .woocommerce-orders-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-card);
  overflow: hidden;

  thead {
    background-color: var(--color-bg-warm);

    th {
      font-size: 1.3rem;
      text-transform: uppercase;
      letter-spacing: var(--letter-spacing-label);
      color: var(--color-text-muted);
      font-weight: 400;
      padding: 1.8rem 2rem;
      border-bottom: 1px solid var(--color-border);
      text-align: left;
    }
  }

  tbody {
    tr {
      transition: var(--transition-default);

      &:hover {
        background-color: var(--color-bg-green);
      }
    }

    th,
    td {
      padding: 2rem 2rem;
      font-size: 1.5rem;
      color: var(--color-text);
      border-bottom: 1px solid var(--color-border-light);
      vertical-align: middle;
    }

    tr:last-child th,
    tr:last-child td {
      border-bottom: none;
    }

    .woocommerce-orders-table__cell-order-number {
      font-weight: 400;

      a {
        font-weight: 500;
        color: var(--color-cta);
        text-decoration: none;

        &:hover {
          text-decoration: underline;
        }
      }
    }

    .woocommerce-orders-table__cell-order-date {
      color: var(--color-text-secondary);
    }

    .woocommerce-orders-table__cell-order-total {
      font-weight: 500;
    }

    .woocommerce-orders-table__cell-order-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;

      .button,
      a.woocommerce-button {
        font-size: 1.3rem;
        padding: 0.7rem 1.4rem;
        white-space: nowrap;

        &.cancel {
          background: transparent;
          border-color: var(--color-border);
          color: var(--color-text-muted);

          &:hover {
            border-color: var(--color-error);
            color: var(--color-error);
          }
        }

        &.view {
          background: transparent;
          border-color: var(--color-border);
          color: var(--color-text);

          &:hover {
            border-color: var(--color-cta);
            color: var(--color-cta);
          }
        }
      }
    }
  }

  /* Mobile: cards layout */
  @media (max-width: 768px) {
    border: none;
    border-radius: 0;

    thead {
      display: none;
    }

    tbody {
      tr {
        display: block;
        background: var(--color-white);
        border: 1px solid var(--color-border-light);
        border-radius: var(--radius-card);
        padding: 1.6rem;
        margin-bottom: 1.2rem;

        &:hover {
          box-shadow: var(--shadow-card);
        }
      }

      th,
      td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.8rem 0;
        border-bottom: 1px solid var(--color-border-light);

        &:last-child {
          border-bottom: none;
        }

        &::before {
          content: attr(data-title);
          font-size: 1.3rem;
          color: var(--color-text-muted);
          text-transform: uppercase;
          letter-spacing: 0.05em;
          font-weight: 400;
          flex-shrink: 0;
          margin-right: 1rem;
        }
      }

      .woocommerce-orders-table__cell-order-actions {
        justify-content: flex-end;
        gap: 0.8rem;
        padding-top: 1.2rem;

        &::before {
          display: none;
        }
      }
    }
  }
}

/* ---- Addresses section ---- */
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;

  @media (max-width: 768px) {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}

.woocommerce-account .woocommerce-Address {
  background-color: var(--color-white);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-card);
  padding: 2.4rem;
  transition: var(--transition-default);

  &:hover {
    box-shadow: var(--shadow-card);
  }

  .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.6rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--color-border-light);

    h3 {
      margin-bottom: 0;
      font-size: 1.8rem;
    }

    a.edit {
      font-size: 1.3rem;
      color: var(--color-cta);
      text-decoration: none;

      &:hover {
        text-decoration: underline;
      }
    }
  }

  address {
    font-size: 1.5rem;
    font-style: normal;
    line-height: 1.8;
    color: var(--color-text-secondary);
  }
}

/* ---- Klasicke WC formulare uctu (Adresa + Detaily uctu) - obecne styly
   input poli prevzate z overwrites/woocommerce.css, viz header ---- */
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row textarea,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="url"],
.woocommerce-account input[type="search"] {
  border-radius: 0 !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--color-border) !important;
  font-size: 2rem;
  transition: border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;

  &:focus {
    border-bottom-color: var(--color-cta) !important;
  }
}

.woocommerce-account .woocommerce form .form-row label {
  font-size: max(1.6rem, 12px);
}

.woocommerce-account .woocommerce-address-fields__field-wrapper {
  margin-bottom: 3rem;
}

.woocommerce-account .select2-container--default .select2-selection--single {
  background-color: transparent !important;
}

/* ---- Account details form ---- */
.woocommerce-account .woocommerce-EditAccountForm {
  max-width: 60rem;

  fieldset {
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-card);
    padding: 2.4rem;
    margin-bottom: 2.4rem;

    legend {
      font-family: var(--font-secondary);
      font-size: 2rem;
      font-weight: 400;
      color: var(--color-text);
      padding: 0 1rem;
    }
  }

  .form-row {
    margin-bottom: 2rem;

    label {
      font-size: 1.4rem;
      color: var(--color-text-muted);
      margin-bottom: 0.4rem;
      display: block;
    }

    input.input-text {
      width: 100%;
    }
  }

  .woocommerce-Button {
    margin-top: 1.6rem;
  }
}

/* ---- Notices (skutecny vzhled empty-states na Objednavkach/Stahovani -
   viz header, :only-child varianta nize v puvodnim souboru byla mrtva) ---- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
  border-radius: var(--radius-card);
  padding: 2rem 2.4rem;
  font-size: 1.6rem;
  margin-bottom: 2.4rem;
  border: 1px solid var(--color-border-light);
  border-left: 3px solid;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  flex-wrap: wrap;
  line-height: 1.6;

  a.button,
  a.wc-forward {
    font-size: 1.4rem;
    padding: 1rem 2rem;
    flex-shrink: 0;
  }

  &::before {
    display: none;
  }
}

.woocommerce-account .woocommerce-message {
  background-color: var(--color-success-bg);
  border-left-color: var(--color-success);
  border-color: var(--color-success-border);
  color: var(--color-text);
}

.woocommerce-account .woocommerce-error {
  background-color: var(--color-error-bg);
  border-color: var(--color-error-border);
  border-left-color: var(--color-error);
  color: var(--color-text);
}

.woocommerce-account .woocommerce-info {
  background-color: var(--color-bg-warm);
  border-color: var(--color-border-light);
  border-left-color: var(--color-cta);
  color: var(--color-text);
}

/* ---- Order detail view ---- */
.woocommerce-account .woocommerce-order-details {
  margin-top: 3.2rem;

  .woocommerce-order-details__title {
    font-family: var(--font-secondary);
    font-size: 2.4rem;
    font-weight: 400;
    margin-bottom: 2rem;
  }

  .shop_table {
    width: 100%;
    border-collapse: collapse;

    thead th {
      font-size: 1.3rem;
      text-transform: uppercase;
      letter-spacing: var(--letter-spacing-label);
      color: var(--color-text-muted);
      padding: 1.2rem 1.6rem;
      border-bottom: 1px solid var(--color-border);
      text-align: left;
    }

    tbody td {
      padding: 1.4rem 1.6rem;
      font-size: 1.5rem;
      border-bottom: 1px solid var(--color-border-light);
    }

    tfoot {
      th, td {
        padding: 1.2rem 1.6rem;
        font-size: 1.5rem;
        border-top: 1px solid var(--color-border-light);
      }

      tr:last-child {
        th, td {
          border-top: 2px solid var(--color-border);
          font-weight: 500;
          font-size: 1.7rem;
        }
      }
    }
  }
}

/* ---- Login/Register layout (#customer_login sloupce - WC vlastni JS
   ovladana viditelnost pres .u-column1/.u-column2.active, viz
   includes/functions/register-tabs.php) ---- */
.woocommerce-account #customer_login {
  display: block !important;

  .u-column1,
  .u-column2 {
    width: 100% !important;
    float: none !important;
    display: none;
    padding: 0;
    margin: 0;
    border: none;

    &.active {
      display: block;
    }
  }
}

/* ---- Login/Register forms (vlastni kompletni sada input stylu s
   !important - zije nezavisle na sdilenem pravidle vyse, beze zmeny).
   Ancestor `.woocommerce` pridan ZAMERNE kvuli specificite: WC core
   (woocommerce.css, UNLAYERED) ma `.woocommerce form.login, .woocommerce
   form.register { margin: 2em 0 }` se specificitou (0,2,1), coz prebijelo
   nase puvodni `.woocommerce-account .woocommerce-form-login` (0,2,0) a
   `margin: 0 auto` se neuplatnil -> formular byl zarovnany vlevo misto na
   stred (pod centrovanymi taby). Pridani `.woocommerce` = (0,3,0) prebiji
   WC core a vraci horizontalni centrovani. ---- */
.woocommerce-account .woocommerce .woocommerce-form-login,
.woocommerce-account .woocommerce .woocommerce-form-register {
  max-width: 48rem;
  margin: 0 auto;
  background-color: var(--color-bg-warm);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  padding: 4rem;

  @media (max-width: 768px) {
    padding: 2.4rem 2rem;
  }

  h2 {
    font-family: var(--font-secondary);
    text-align: center;
    margin-bottom: 3.2rem;
    display: none;
  }

  .form-row {
    margin-bottom: 2rem;

    label {
      font-size: 1.4rem;
      color: var(--color-text-muted);
      margin-bottom: 0.6rem;
      display: block;
    }

    input.input-text,
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"] {
      width: 100%;
      border: none !important;
      border-bottom: 1px solid var(--color-border) !important;
      border-radius: 0 !important;
      background: transparent !important;
      padding: 1.2rem 0 !important;
      font-size: 1.8rem;
      color: var(--color-text);
      transition: var(--transition-default);
      outline: none;

      &:focus {
        border-bottom-color: var(--color-cta) !important;
      }
    }
  }

  /* Submit tlacitka login i registrace - CTA vzhled (tmave zelena, pill,
     bily text) dle komponenty .bttn. WC core `.woocommerce button.button`
     (UNLAYERED, seda #ebe9eb / radius 3px) prebijelo nasi komponentu
     .bttn (layer base), takze klasicka submit tlacitka byla seda a
     registracni (bily text na sede) pusobilo rozbite/nenastylovane.
     Selektor tady je vnoreny = `.woocommerce-account .woocommerce
     .woocommerce-form-login .woocommerce-form-login__submit` (min. 0,4,0),
     coz WC core (0,2,1) prebiji bez !important. Sladeno login i registrace. */
  .woocommerce-form-login__submit,
  .woocommerce-form-register__submit {
    width: 100%;
    margin-top: 1.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: var(--color-white);
    background-color: var(--color-cta);
    border: 1px solid var(--color-cta);
    border-radius: var(--radius-pill);
    padding: 1.8rem 3.8rem;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1;
    cursor: pointer;
    transition: var(--transition-default);

    &:hover {
      background-color: var(--color-cta-hover);
      border-color: var(--color-cta-hover);
      color: var(--color-white);
    }

    &:active {
      scale: 0.97;
      transition-duration: 0.1s;
    }
  }

  .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.5rem;
    color: var(--color-text-secondary);

    input[type="checkbox"] {
      accent-color: var(--color-cta);
    }
  }

  .woocommerce-LostPassword {
    text-align: center;
    margin-top: 1.6rem;

    a {
      font-size: 1.4rem;
      color: var(--color-text-muted);

      &:hover {
        color: var(--color-cta);
      }
    }
  }
}

/* ---- Privacy policy text pod registracnim formularem (prevzato z
   overwrites/woocommerce.css, viz header - ucet-only) ---- */
.woocommerce-account .woocommerce-privacy-policy-text {
  margin-bottom: 12px;
}
