/* ============================================================
   AppleGang — stránky zákaznického účtu (ECOA-4259, ECOA-4247 UX F3)
   Přihlášení, registrace, obnova hesla, sledování obj. hosta,
   Můj účet, historie + detail objednávky, adresy + formulář adresy,
   osobní údaje, dobropisy, slevy, wishlist, GDPR.

   Presentation only: classic markup + všechny hooky
   (displayCustomerAccount vč. blockwishlist/psgdpr,
   displayCustomerAccountForm, reCAPTCHA/antispam, validace) beze změny.
   Načítá se JEN na těchto stránkách (_partials/header.tpl, podmínka
   na $page.page_name) a každé pravidlo je scopované na body id.
   Tokeny (--ag-*) + fonty z applegang-cards.css (:root, globální).
   ============================================================ */

body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) {
  --acc-radius: 16px;
  --acc-radius-in: 12px;
  --acc-purple: #6C2BD9;
  --acc-muted: var(--ag-mute, #6B7280);
}

/* ---------- Page chrome ----------------------------------- */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr), body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #wrapper { background: var(--ag-paper, #FAFAFA); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main {
  max-width: 1040px;
  margin: 0 auto 40px;
  font-family: var(--ag-font-body, "DM Sans", sans-serif);
  color: var(--ag-navy, #1F2A44);
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-header { margin: 8px 0 20px; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-header h1 {
  font-family: var(--ag-font-display, "Bricolage Grotesque", sans-serif);
  font-weight: 700;
  font-size: 30px;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--ag-navy, #1F2A44);
  text-transform: none;
  margin: 0;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-content {
  background: #fff;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-radius: var(--acc-radius);
  box-shadow: none;
  padding: 28px;
  margin-bottom: 20px;
}
/* Content, které obaluje vlastní karty (Můj účet, adresy, detail obj.),
   nechává pozadí stránky. */
body#my-account #main .page-content,
body#addresses #main .page-content,
body#order-detail #main .page-content {
  background: transparent;
  border: 0;
  padding: 0;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main h3, body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main h4, body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main h6 {
  font-family: var(--ag-font-display, "Bricolage Grotesque", sans-serif);
  font-weight: 700;
  color: var(--ag-navy, #1F2A44);
  text-transform: none;
  letter-spacing: -.01em;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main h6 { font-family: var(--ag-font-body, "DM Sans", sans-serif); font-weight: 500; color: var(--acc-muted); font-size: 14px; margin-bottom: 16px; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main a { color: var(--ag-green-deep, #2E8C32); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main a:hover { color: var(--ag-navy, #1F2A44); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main hr { border-color: var(--ag-line, #E5E7EB); margin: 22px 0; }

/* Úzké centrované karty pro formuláře bez přihlášení */
body#authentication #main,
body#registration #main,
body#password #main,
body#guest-tracking #main { max-width: 560px; }
body#authentication #main .page-header,
body#registration #main .page-header,
body#password #main .page-header,
body#guest-tracking #main .page-header { text-align: center; }

/* ---------- Formuláře (login, registrace, identita, adresa) */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "label hint" "input input";
  column-gap: 12px;
  row-gap: 6px;
  margin: 0 0 16px;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row::before,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row::after { display: none; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row > .form-control-label {
  grid-area: label;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
  text-align: left;
  font-weight: 600;
  font-size: 14px;
  color: var(--ag-navy, #1F2A44);
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row > .form-control-label.required::after {
  content: " *";
  color: var(--ag-red, #E63946);
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row > .js-input-column,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row > div[class*="col-md-9"],
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row > div[class*="col-md-5"] {
  grid-area: input;
  width: 100%;
  max-width: 100%;
  padding: 0;
  float: none;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-group.row > .form-control-comment {
  grid-area: hint;
  width: auto;
  max-width: none;
  padding: 0;
  float: none;
  font-size: 12px;
  color: var(--acc-muted);
  align-self: end;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .js-input-column .form-control-comment {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--acc-muted);
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control-select,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main textarea.form-control {
  width: 100%;
  height: auto;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--ag-line-2, #D1D5DB);
  border-radius: var(--acc-radius-in);
  background-color: #fff;
  font-family: var(--ag-font-body, "DM Sans", sans-serif);
  font-size: 15px;
  color: var(--ag-navy, #1F2A44);
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control:focus,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control-select:focus {
  border-color: var(--acc-purple);
  box-shadow: 0 0 0 3px rgba(108, 43, 217, .12);
  outline: none;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .has-error .form-control { border-color: var(--ag-red, #E63946); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .help-block, body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .has-error .help-block { color: var(--ag-red, #E63946); font-size: 13px; margin-top: 6px; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .help-block ul { margin: 0; padding: 0; list-style: none; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .help-block .alert { padding: 8px 12px; border-radius: 8px; margin: 0; }

/* Heslo: tlačítko Ukázat přilepené k zaoblenému inputu */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .input-group { display: flex; width: 100%; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .input-group .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .input-group .input-group-btn { display: flex; width: auto; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .input-group .input-group-btn > .btn {
  height: 100%;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid var(--ag-line-2, #D1D5DB);
  border-left: 0;
  border-radius: 0 var(--acc-radius-in) var(--acc-radius-in) 0;
  background: var(--ag-stone, #F2F4F7);
  color: var(--ag-navy-2, #3A455F);
  font-family: var(--ag-font-body, "DM Sans", sans-serif);
  font-size: 13px;
  font-weight: 700;
  text-transform: none;
  box-shadow: none;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .input-group:focus-within .form-control,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .input-group:focus-within .input-group-btn > .btn { border-color: var(--acc-purple); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .password-strength-feedback .progress { height: 6px; border-radius: 999px; }

/* Checkboxy / radia (newsletter, psgdpr, customer_privacy, …) */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox label,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .radio-inline { font-size: 14px; line-height: 1.45; color: var(--ag-navy-2, #3A455F); font-weight: 400; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox { display: block; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox label { display: block; position: relative; min-height: 22px; padding-left: 32px; margin: 0; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox input[type="checkbox"] { top: 0; left: 0; width: 22px; height: 22px; margin: 0; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox input[type="checkbox"] + span {
  position: absolute;
  top: 1px;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1.5px solid var(--ag-line-2, #D1D5DB);
  border-radius: 6px;
  background: #fff;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--ag-green, #3DAA3F);
  border-color: var(--ag-green, #3DAA3F);
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox input[type="checkbox"] + span .checkbox-checked { color: #fff; font-size: 16px; margin: 0; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-checkbox em { display: block; margin-top: 4px; font-style: normal; font-size: 12px; color: var(--acc-muted); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-radio { border-color: var(--ag-line-2, #D1D5DB); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .custom-radio input[type="radio"]:checked + span { background-color: var(--ag-green, #3DAA3F); }

/* ---------- Tlačítka --------------------------------------- */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .btn-primary,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control-submit {
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: var(--ag-radius-btn, 8px);
  background: var(--ag-green, #3DAA3F);
  color: #fff;
  font-family: var(--ag-font-body, "DM Sans", sans-serif);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .02em;
  text-transform: none;
  box-shadow: none;
  transition: background .15s ease;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .btn-primary:hover,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .btn-primary:focus,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control-submit:hover { background: var(--ag-green-deep, #2E8C32); color: #fff; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .btn-primary:focus-visible { outline: 2px solid var(--acc-purple); outline-offset: 2px; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .btn-secondary,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .btn-outline {
  min-height: 44px;
  border: 1.5px solid var(--ag-navy, #1F2A44);
  border-radius: var(--ag-radius-btn, 8px);
  background: #fff;
  color: var(--ag-navy, #1F2A44);
  font-weight: 700;
  text-transform: none;
  box-shadow: none;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-footer { margin-top: 8px; text-align: left; }
body#authentication #main .form-footer .btn,
body#registration #main .form-footer .btn,
body#password #main .form-footer .btn,
body#guest-tracking #main .form-footer .btn { width: 100%; }

/* Login: odkaz zapomenuté heslo + CTA registrace */
body#authentication #main .forgot-password { text-align: right; margin: -4px 0 18px; font-size: 14px; }
body#authentication #main .forgot-password a { color: var(--ag-navy-2, #3A455F); text-decoration: underline; }
body#authentication #main .no-account { text-align: center; }
body#authentication #main .no-account a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1.5px solid var(--ag-navy, #1F2A44);
  border-radius: var(--ag-radius-btn, 8px);
  color: var(--ag-navy, #1F2A44);
  font-weight: 700;
  text-decoration: none;
}
body#authentication #main .no-account a:hover { background: var(--ag-stone, #F2F4F7); }
body#registration #main .register-form > p:first-child {
  margin: 0 0 20px;
  padding: 12px 14px;
  background: var(--ag-green-50, #ECF7ED);
  border-radius: var(--acc-radius-in);
  font-size: 14px;
  text-align: center;
}

/* ---------- Upozornění ------------------------------------- */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .alert { border-radius: var(--acc-radius-in); border-width: 1px; font-size: 14px; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .alert-success { background: var(--ag-green-50, #ECF7ED); border-color: var(--ag-green, #3DAA3F); color: var(--ag-green-deep, #2E8C32); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .alert-danger { background: #FEE2E2; border-color: #FCA5A5; color: #B91C1C; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .alert-warning { background: #FFFBEB; border-color: #FCD34D; color: #92400E; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .alert-info { background: var(--ag-lavender, #E8EAF6); border-color: #C7CBEA; color: var(--ag-navy, #1F2A44); }

/* ---------- Můj účet: dlaždice ----------------------------- */
body#my-account #main .links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0 15px;
}
body#my-account #main .links > a,
body#my-account #main .links > li > a {
  display: block;
  width: auto;
  max-width: none;
  float: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
}
body#my-account #main .links > li { list-style: none; display: block; }
body#my-account #main .links .link-item,
body#my-account #main .links > li > a > span {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  min-height: 84px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-radius: var(--acc-radius);
  box-shadow: none;
  font-family: var(--ag-font-body, "DM Sans", sans-serif);
  font-size: 15px;
  font-weight: 700;
  text-transform: none;
  text-align: left;
  color: var(--ag-navy, #1F2A44);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
body#my-account #main .links .link-item .material-icons {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: var(--ag-green-50, #ECF7ED);
  color: var(--ag-green-deep, #2E8C32);
  font-size: 22px;
}
/* Odkaz „Moje recenze" (modul recenzí) nemá ikonu ani .link-item — doplnit stejnou bublinu. */
body#my-account #main .links > li > a > span::before {
  content: "rate_review";
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ag-green-50, #ECF7ED);
  color: var(--ag-green-deep, #2E8C32);
  font-family: "Material Icons";
  font-size: 22px;
  font-weight: 400;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
}
@media (hover: hover) {
  body#my-account #main .links > a:hover .link-item,
  body#my-account #main .links > li > a:hover > span {
    border-color: var(--ag-green, #3DAA3F);
    box-shadow: var(--ag-shadow-hover, 0 12px 32px rgba(31, 42, 68, .08));
  }
}
body#my-account #main .page-footer { margin-top: 24px; }
body#my-account #main .page-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 24px;
  border: 1.5px solid var(--ag-line-2, #D1D5DB);
  border-radius: var(--ag-radius-btn, 8px);
  background: #fff;
  color: var(--ag-navy, #1F2A44);
  font-weight: 700;
  text-decoration: none;
}
body#my-account #main .page-footer a:hover { border-color: var(--ag-red, #E63946); color: var(--ag-red, #E63946); }

/* ---------- Patička podstránek (Zpět na účet / Domů) ------ */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-footer .account-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 8px 8px 0;
  padding: 8px 16px;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-radius: var(--ag-radius-pill, 999px);
  background: #fff;
  color: var(--ag-navy, #1F2A44);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-footer .account-link .material-icons { font-size: 18px; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-footer .account-link:hover { border-color: var(--ag-green, #3DAA3F); color: var(--ag-green-deep, #2E8C32); }

/* ---------- Tabulky (historie, dobropisy, slevy, detail) -- */
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table {
  width: 100%;
  margin: 0;
  background: #fff;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--acc-radius-in);
  overflow: hidden;
  font-size: 14px;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table th,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table td {
  border: 0;
  border-bottom: 1px solid var(--ag-line, #E5E7EB);
  padding: 12px 14px;
  vertical-align: middle;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table tbody tr:last-child > * { border-bottom: 0; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table thead th,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table .thead-default th {
  background: var(--ag-stone, #F2F4F7);
  color: var(--ag-navy-2, #3A455F);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table-striped tbody tr:nth-of-type(odd) { background: #fff; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table-striped tbody tr:nth-of-type(even) { background: var(--ag-paper, #FAFAFA); }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .table tbody th { font-family: var(--ag-font-mono, monospace); font-weight: 500; }
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .label-pill,
body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .label.label-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--ag-radius-pill, 999px);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
body#history #main .order-actions a {
  display: inline-block;
  margin: 2px 4px;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
body#history #main .order-actions a.reorder-link { color: var(--ag-navy-2, #3A455F); }

/* Historie — mobilní karty */
body#history #main .orders .order {
  margin-bottom: 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-radius: var(--acc-radius-in);
}
body#history #main .orders .order h3 { font-family: var(--ag-font-mono, monospace); font-size: 16px; margin: 0 0 4px; color: var(--ag-navy, #1F2A44); }
body#history #main .orders .order .date { color: var(--acc-muted); font-size: 13px; }
body#history #main .orders .order .total { font-weight: 700; margin: 4px 0 8px; }
body#history #main .orders .order .material-icons { color: var(--ag-green-deep, #2E8C32); }

/* ---------- Detail objednávky ------------------------------ */
body#order-detail #main .box,
body#order-detail #main #order-infos > .box {
  margin-bottom: 16px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-radius: var(--acc-radius);
  box-shadow: none;
}
body#order-detail #main #order-infos strong { color: var(--ag-navy, #1F2A44); }
body#order-detail #main #order-infos ul { margin: 0; padding-left: 18px; }
body#order-detail #main .box > .table,
body#order-detail #main .box .table { border: 0; border-radius: 0; }
body#order-detail #main .addresses { display: flex; flex-wrap: wrap; margin: 0 -8px; }
body#order-detail #main .addresses > div { padding: 0 8px; }
body#order-detail #main .addresses article.box { height: calc(100% - 16px); }
body#order-detail #main .addresses h4 { font-size: 16px; margin-bottom: 10px; }
body#order-detail #main address { font-style: normal; color: var(--ag-navy-2, #3A455F); line-height: 1.55; margin: 0; }
body#order-detail #main #order-products tfoot td,
body#order-detail #main #order-products tfoot th { background: var(--ag-paper, #FAFAFA); }
body#order-detail #main #order-products .line-total td,
body#order-detail #main .order-totals .order-total:last-child { font-weight: 700; font-size: 16px; }
body#order-detail #main .order-items .order-item { padding: 12px 0; border-bottom: 1px solid var(--ag-line, #E5E7EB); }
body#order-detail #main .order-items .order-item:last-child { border-bottom: 0; }
body#order-detail #main .order-items .name { font-weight: 700; }
body#order-detail #main .order-items .ref { color: var(--acc-muted); font-size: 12px; }
body#order-detail #main .order-totals .order-total { padding: 6px 0; }
body#order-detail #main .history-lines .history-line { padding: 10px 0; border-bottom: 1px solid var(--ag-line, #E5E7EB); }
body#order-detail #main .history-lines .history-line:last-child { border-bottom: 0; }
body#order-detail #main .history-lines .date { color: var(--acc-muted); font-size: 13px; }
body#order-detail #main .order-message-form header h3 { font-size: 18px; margin-bottom: 4px; }
body#order-detail #main .order-message-form header p { color: var(--acc-muted); font-size: 14px; }

/* ---------- Adresy ---------------------------------------- */
body#addresses #main .page-content { display: flex; flex-wrap: wrap; margin: 0 -8px; }
body#addresses #main .page-content > #notifications,
body#addresses #main .page-content > .clearfix,
body#addresses #main .page-content > .addresses-footer { flex: 0 0 100%; }
body#addresses #main .page-content > div[class*="col-"] { padding: 0 8px; margin-bottom: 16px; }
body#addresses #main .address {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  background: #fff;
  border: 1px solid var(--ag-line, #E5E7EB);
  border-radius: var(--acc-radius);
  box-shadow: none;
  overflow: hidden;
}
body#addresses #main .address .address-body { flex: 1 1 auto; padding: 20px 22px 12px; }
body#addresses #main .address .address-body h4 { font-size: 17px; margin: 0 0 8px; }
body#addresses #main .address address { font-style: normal; color: var(--ag-navy-2, #3A455F); line-height: 1.55; margin: 0; min-height: 0; }
body#addresses #main .address .address-footer {
  display: flex;
  gap: 18px;
  padding: 12px 22px;
  border-top: 1px solid var(--ag-line, #E5E7EB);
  background: var(--ag-paper, #FAFAFA);
}
body#addresses #main .address .address-footer a { display: inline-flex; align-items: center; gap: 4px; margin: 0; font-size: 14px; font-weight: 700; color: var(--ag-navy-2, #3A455F); text-decoration: none; }
body#addresses #main .address .address-footer a .material-icons { font-size: 18px; }
body#addresses #main .address .address-footer a[data-link-action="delete-address"]:hover { color: var(--ag-red, #E63946); }
body#addresses #main .address .address-footer a[data-link-action="edit-address"]:hover { color: var(--ag-green-deep, #2E8C32); }
body#addresses #main .addresses-footer { padding: 0 8px; margin: 0 0 8px; }
body#addresses #main .addresses-footer a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 64px;
  margin: 0;
  border: 1.5px dashed var(--ag-line-2, #D1D5DB);
  border-radius: var(--acc-radius);
  background: #fff;
  color: var(--ag-green-deep, #2E8C32);
  font-weight: 700;
  text-decoration: none;
}
body#addresses #main .addresses-footer a:hover { border-color: var(--ag-green, #3DAA3F); background: var(--ag-green-50, #ECF7ED); }

/* Formulář adresy / osobní údaje: čitelná šířka */
body#address #main .page-content form,
body#identity #main .page-content form { max-width: 640px; }
body#address #main .address-form .form-fields,
body#identity #main .form-fields { margin: 0; }

/* ---------- Mobil ----------------------------------------- */
@media (max-width: 991px) {
  body#my-account #main .links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-header h1 { font-size: 24px; }
  body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .page-content { padding: 20px 16px; border-radius: 14px; }
  body#my-account #main .links { grid-template-columns: 1fr; gap: 10px; padding: 0; }
  body#my-account #main .links .link-item,
  body#my-account #main .links > li > a > span { min-height: 68px; padding: 14px 16px; }
  body#order-detail #main .box { padding: 16px; }
  body#addresses #main .page-content > div[class*="col-"] { flex: 0 0 100%; max-width: 100%; }
  body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control, body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-control-select { font-size: 16px; } /* iOS: bez zoomu na focus */
  body:is(#authentication,#registration,#password,#guest-tracking,#my-account,#history,#order-detail,#addresses,#address,#identity,#order-slip,#discount,#module-blockwishlist-lists,#module-psgdpr-gdpr) #main .form-footer .btn { width: 100%; }
}
