/* GARANTİ · My GARANTİ access + guest flow · v11 (24.10.2026)
   Small, scoped fixes on top of the live portal CSS (access.css, portal-ui.css, portal-v6.css).
   Presentation only. No new colours, fonts or components: existing tokens, New Science, #202326, #A4192D, #E3E1DC, #F6F5F3.
   Load after portal-v6.css. Every rule is scoped to the body classes the live pages already have:
   .gp-focus-access (login / register / reset-password), .gp-focus-offers (Selected Offers), .gp-portal (member pages). */

/* ---------- 1. Access pages: tighter first screen on phones ---------- */
@media (max-width: 690px) {
  body.gp-focus-access .container-wrap { padding-top: 0 !important; }
  body.gp-focus-access .gp-portal > h1 { margin-top: 0; }
}

/* ---------- 2. Required marker never sits alone on a new line ----------
   Needs the HTML change "label text&nbsp;<span class="gp-req" aria-hidden="true">*</span>" on field labels (see HTML-CHANGES.md).
   Checkbox labels keep their plain " *" at the end of the sentence. */
body.gp-focus-access .gp-req { display: inline !important; color: #A4192D; white-space: nowrap; }

/* ---------- 3. Even spacing inside the register form ---------- */
/* First/last name sat 58 px apart (grid gap + p padding) while every other field is 24 px apart. */
body.gp-focus-access .gp-access-form .gp-form-grid { row-gap: 0 !important; }
body.gp-focus-access .gp-access-form .gp-form-grid > p { margin-bottom: 0; }

/* ---------- 4. "Tell us about your plans (optional)": visible open/closed state ---------- */
body.gp-focus-access .gp-access-form details.gp-more > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
}
body.gp-focus-access .gp-access-form details.gp-more > summary::-webkit-details-marker { display: none; }
body.gp-focus-access .gp-access-form details.gp-more > summary::after {
  content: "";
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border-right: 2px solid #202326;
  border-bottom: 2px solid #202326;
  transform: translateY(-3px) rotate(45deg);
}
body.gp-focus-access .gp-access-form details.gp-more[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
@media (prefers-reduced-motion: no-preference) {
  body.gp-focus-access .gp-access-form details.gp-more > summary::after { transition: transform .15s ease; }
}

/* ---------- 5. Consent area: clear separation between required terms and optional news ---------- */
body.gp-focus-access .gp-access-form .gp-marketing-preferences {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #E3E1DC;
}
body.gp-focus-access .gp-access-form .gp-marketing-preferences > p:first-child {
  max-width: none !important;
  margin: 0 0 10px;
  padding: 0;
  font-weight: 600;
  color: #202326;
}

/* ---------- 6. One help line under the access forms ----------
   With the HTML change the duplicate "Prefer to speak with us…" line is removed; this keeps the remaining lines aligned. */
body.gp-focus-access .gp-form-links,
body.gp-focus-access .gp-form-switch,
body.gp-focus-access .gp-focus-help { text-align: left !important; }

/* ---------- 7. Login context note (redirected from a stock unit, a campaign or the account) ---------- */
body.gp-focus-access .gp-access-context {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid #E3E1DC;
  border-left: 3px solid #A4192D;
  border-radius: 6px;
  background: #F6F5F3;
  color: #202326;
  font-size: 16px;
  line-height: 1.5;
}
body.gp-focus-access .gp-access-context p { margin: 0; padding: 0; }
body.gp-focus-access .gp-access-context a { color: #202326; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 8. Member nav: the full name stays the accessible name ----------
   portal-v6.css sets .gp-nav__full{display:none} while .gp-nav__short is aria-hidden, so the links have no name.
   Visually hidden (not display:none) keeps the full name in the accessibility tree. The HTML aria-label in
   HTML-CHANGES.md is the lasting fix; this rule is the safe fallback. */
.gp-portal .gp-owner-nav[data-gp-nav=v6] .gp-nav__full {
  display: inline !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- 9. Cookie banner: hide empty document links (the stray "• •") ----------
   Lasting fix: choose the Cookie Policy page in Complianz. */
body.gp-focus-access .cmplz-documents li:has(> a:empty),
body.gp-focus-access .cmplz-documents li:has(> a.cmplz-hidden) { display: none !important; }

/* ---------- 10. Selected Offers, guest: one primary action per block ---------- */
body.gp-focus-offers .gp-price--locked .gp-card__note { margin-top: 10px; }
body.gp-focus-offers .gp-price--locked .gp-card__note a { color: #202326; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 11. Optional (Can decides): no second red CTA bar on the guest Selected Offers page ----------
   Uncomment if approved. The bar stays on product pages and for members.
body.gp-focus-offers:not(.logged-in) #gwh-contact-bar { display: none !important; }
*/
