/**
 * PMPro Checkout (Abonnemangsinformation) – CCTRL365, stil som Akademin
 *
 * - Hero: rubrik "Abonnemangsinformation" (som Akademin:s sidtitel)
 * - Kort: bild vänster, rubrik = paketnamn (t.ex. Modern Leader abonnemang) + text + pris
 * - Minimal whitespace, större bild
 */

/* ========== HERO – Abonnemangsinformation (kompakt) ========== */
body.pmpro-checkout-page .entry-header,
body.pmpro-checkout-page .page-header,
body.pmpro-checkout-page .elementor > .elementor-section-wrap > .elementor-section:first-of-type {
  text-align: center;
  margin-bottom: 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: clamp(88px, 12vw, 120px) var(--space-4, 1.5rem) clamp(24px, 4vw, 36px);
  background: var(--lav-900, #3d3e66);
  position: relative;
  overflow: hidden;
}

body.pmpro-checkout-page .entry-header::before,
body.pmpro-checkout-page .page-header::before,
body.pmpro-checkout-page .elementor > .elementor-section-wrap > .elementor-section:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 30% 30%,
    color-mix(in srgb, var(--wave-song-500, #7eb3d8), var(--lav-900, #3d3e66) 20%) 0%,
    color-mix(in srgb, var(--lav-700, #55578f), var(--lav-900) 40%) 60%,
    var(--lav-900, #3d3e66) 100%
  );
  pointer-events: none;
}

body.pmpro-checkout-page .entry-title,
body.pmpro-checkout-page .page-title,
body.pmpro-checkout-page .elementor > .elementor-section-wrap > .elementor-section:first-of-type h1,
body.pmpro-checkout-page .elementor > .elementor-section-wrap > .elementor-section:first-of-type .elementor-heading-title {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 var(--space-2, 0.5rem);
  position: relative;
  z-index: 1;
}

body.pmpro-checkout-page .entry-header .pmpro_level_name_text,
body.pmpro-checkout-page .page-header .pmpro_level_name_text,
body.pmpro-checkout-page .elementor > .elementor-section-wrap > .elementor-section:first-of-type p,
body.pmpro-checkout-page .elementor > .elementor-section-wrap > .elementor-section:first-of-type .elementor-widget-text-editor {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  position: relative;
  z-index: 1;
}

/* Innehållsarea: vit bakgrund, minimal luft mellan hero och innehåll ========== */
body.pmpro-checkout-page .cctrl-main,
body.pmpro-checkout-page main,
body.pmpro-checkout-page #primary {
  background: var(--bg, #fff);
}

body.pmpro-checkout-page .site-main {
  padding-top: 0;
  padding-bottom: var(--space-8, 3rem);
  background: var(--bg, #fff);
}

/* ========== Wrapper: begränsad bredd, tät mot hero ========== */
body.pmpro-checkout-page .pmpro {
  max-width: var(--content-max-public, 56rem);
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-3, 1rem) var(--space-4, 1.5rem) var(--space-8);
}

/* Formuläret: en kolumn (inga sidokolumner) */
body.pmpro-checkout-page #pmpro_form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ========== Meddelanderuta ========== */
body.pmpro-checkout-page .pmpro #pmpro_message {
  padding: 0.875rem 1.25rem;
  border-radius: var(--radius-md, 10px);
  margin-bottom: var(--space-4, 1.5rem);
  font-size: 0.9375rem;
}

body.pmpro-checkout-page .pmpro #pmpro_message.pmpro_message-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}

body.pmpro-checkout-page .pmpro #pmpro_message.pmpro_message-success {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}

/* ========== Bild + text UTAN kort (som Akademin – flytande på sidbakgrund) ========== */
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields {
  display: grid;
  grid-template-columns: minmax(280px, 380px) 1fr;
  gap: var(--space-4, 1.25rem);
  align-items: start;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: var(--space-5, 1.5rem);
  box-shadow: none;
  overflow: visible;
}

/* Planbild vänster – stor, ingen box (som Akademin) */
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .cctrl-pmpro-plan-image {
  grid-column: 1;
  grid-row: 1 / -1;
  margin: 0;
  border-radius: 0;
  min-height: 260px;
  background: transparent;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .cctrl-pmpro-plan-image img {
  width: 100%;
  height: auto;
  min-height: 260px;
  max-height: 320px;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* Dölj "ABONNEMANGSINFORMATION" – rubriken bredvid bilden är paketnamnet (t.ex. Modern Leader abonnemang) */
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields > .pmpro_card_title,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields > .pmpro_font-large {
  display: none;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_content {
  grid-column: 2;
  padding: var(--space-4, 1.25rem) var(--space-4, 1.25rem) var(--space-4, 1.25rem);
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 0.5rem);
  line-height: 1.55;
}

/* Rabattkod-actions längst ned, hela bredden */
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_actions {
  grid-column: 1 / -1;
  margin: 0;
  padding: var(--space-2, 0.5rem) 0;
  border-top: none;
}

@media (max-width: 48rem) {
  body.pmpro-checkout-page .pmpro #pmpro_pricing_fields {
    grid-template-columns: 1fr;
  }
  body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .cctrl-pmpro-plan-image {
    grid-row: auto;
    min-height: 220px;
  }
  body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .cctrl-pmpro-plan-image img {
    min-height: 220px;
  }
  body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_content {
    padding-top: var(--space-2, 0.5rem);
  }
}

/* Första raden = paketnamn som rubrik (t.ex. "Du har valt Modern Leader abonnemang") */
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_content > .pmpro_level_name_text:first-child {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  line-height: 1.3;
  color: var(--ink, #1a1a2e);
  margin: 0 0 var(--space-2, 0.5rem);
  font-weight: 700;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_name_text,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_name_text {
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--ink, #1a1a2e);
  margin: 0 0 var(--space-2, 0.5rem);
  font-weight: 600;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_name_text strong,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_name_text strong {
  font-weight: 700;
  color: var(--lav-900, #3d3e66);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_description_text,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_description_text {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--muted, #4b5563);
  margin: 0 0 var(--space-2, 0.5rem);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields #pmpro_level_cost,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields #pmpro_level_cost {
  margin-top: var(--space-4, 1rem);
  padding-top: var(--space-3, 1rem);
  border-top: 1px solid var(--lav-200, #e6e8f6);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_cost_text,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_cost_text {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--terracotta-600, #d4694a);
  line-height: 1.4;
  margin: 0 0 var(--space-2, 0.5rem);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_cost_text p,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_cost_text p {
  margin: 0;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_expiration_text,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_expiration_text {
  font-size: 0.875rem;
  color: var(--muted, #6b7280);
  margin: 0;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_discount_applied,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_level_discount_applied {
  margin-top: var(--space-2, 0.5rem);
  font-size: 0.875rem;
  color: var(--lav-700, #55578f);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_actions,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_actions {
  margin-top: var(--space-4, 1rem);
  padding-top: var(--space-3, 1rem);
  border-top: 1px solid var(--lav-200, #e6e8f6);
  font-size: 0.875rem;
  color: var(--muted, #6b7280);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_actions button,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_card_actions button {
  background: none;
  border: none;
  color: var(--lav-600, #6264a7);
  text-decoration: underline;
  cursor: pointer;
  font-size: inherit;
  padding: 0;
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_form_field,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_form_field {
  margin-top: var(--space-3, 1rem);
}

body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_form_input,
body.pmpro-checkout-page .pmpro #pmpro_pricing_fields .pmpro_form_input {
  margin-top: 0.25rem;
}

/* ========== Kort för Kontoinformation & Faktureringsadress (Akademin-stil) ========== */
body.pmpro-checkout-page .pmpro .pmpro_form_fieldset,
body.pmpro-checkout-page .pmpro .pmpro_form_fieldset {
  border: none;
  padding: 0;
  margin: 0 0 var(--space-5, 1.75rem);
}

body.pmpro-checkout-page .pmpro .pmpro_form_fieldset .pmpro_card,
body.pmpro-checkout-page .pmpro .pmpro_form_fieldset .pmpro_card {
  background: #fff;
  border: 1px solid rgba(98, 100, 167, 0.12);
  border-radius: var(--radius-lg, 16px);
  padding: var(--space-5, 1.75rem);
  margin-bottom: 0;
  box-shadow: 0 2px 12px rgba(61, 62, 102, 0.05);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

body.pmpro-checkout-page .pmpro .pmpro_form_fieldset .pmpro_card:focus-within,
body.pmpro-checkout-page .pmpro .pmpro_form_fieldset .pmpro_card:focus-within {
  border-color: var(--lav-400, #a8a9d0);
  box-shadow: 0 4px 12px rgba(61, 62, 102, 0.08);
}

/* Faktureringskort + företagsnamn (valfritt) i samma kort – ingen “hängande” luft */
body.pmpro-checkout-page .pmpro #pmpro_billing_address_fields .pmpro_card {
  border-radius: var(--radius-lg, 16px);
  margin-bottom: 0;
}
/* Dölj State/Län när land = Sverige (inga delstater) */
body.pmpro-checkout-page .pmpro .pmpro_form_field-bstate {
  display: none;
}
body.pmpro-checkout-page .pmpro .pmpro_form_field-bstate.cctrl-bstate-visible {
  display: block;
}

/* Lösenord: öga inne i fältet, bara ikon (både Lösenord och Bekräfta lösenord) */

/* Dölj webbläsarens inbyggda visa/dölj-lösenord-ikon (Edge, Chrome) så att den inte
   visas dubbelt bredvid vår egna ögon-knapp */
body.pmpro-checkout-page .pmpro input[type="password"]::-ms-reveal,
body.pmpro-checkout-page .pmpro input[type="password"]::-ms-clear {
  display: none;
}

/* Överskriv PMPros grid-layout som annars visar toggle-knappen dubbelt
   (PMPro positionerar via grid-area "toggle" OCH vi positionerar absolut inuti inputen) */
body.pmpro-checkout-page .pmpro .pmpro_form_field-password:has(.cctrl-password-input-wrap) {
  display: block;
}

body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap {
  position: relative;
  display: block;
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap input {
  padding-right: 2.75rem;
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap .cctrl-password-toggle-wrap {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap .cctrl-password-toggle-btn {
  padding: 0.35rem;
  min-width: 2rem;
  min-height: 2rem;
  border: none;
  background: transparent;
  color: var(--lav-600, #6264a7);
  cursor: pointer;
  border-radius: var(--radius-sm, 6px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap .cctrl-password-toggle-btn:hover {
  color: var(--lav-700, #55578f);
  background: rgba(98, 100, 167, 0.08);
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap .pmpro_icon-eye {
  display: block;
  width: 20px;
  height: 20px;
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap .pmpro_icon-eye svg {
  stroke: currentColor;
}
/* Andra fältet (Bekräfta lösenord): samma utseende som första – transparent, bara ögonikonen */
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap > .cctrl-password-toggle-btn {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  padding: 0.35rem;
  min-width: 2rem;
  min-height: 2rem;
  border: none;
  background: transparent;
  color: var(--lav-600, #6264a7);
  cursor: pointer;
  border-radius: var(--radius-sm, 6px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap > .cctrl-password-toggle-btn:hover,
body.pmpro-checkout-page .pmpro .cctrl-password-input-wrap > .cctrl-password-toggle-btn:focus {
  color: var(--lav-700, #55578f);
  background: rgba(98, 100, 167, 0.08);
  box-shadow: none;
}

body.pmpro-checkout-page .pmpro .pmpro_form_legend,
body.pmpro-checkout-page .pmpro .pmpro_form_legend {
  padding: 0;
  margin-bottom: var(--space-4, 1rem);
}

body.pmpro-checkout-page .pmpro .pmpro_form_heading,
body.pmpro-checkout-page .pmpro .pmpro_form_heading {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink, #1a1a2e);
  margin: 0;
}

body.pmpro-checkout-page .pmpro .pmpro_card_content,
body.pmpro-checkout-page .pmpro .pmpro_card_content {
  padding: 0;
}

body.pmpro-checkout-page .pmpro .pmpro_card_actions,
body.pmpro-checkout-page .pmpro .pmpro_card_actions {
  padding: 0;
  margin-top: var(--space-3, 1rem);
  font-size: 0.9375rem;
  color: var(--muted, #6b7280);
}

body.pmpro-checkout-page .pmpro .pmpro_card_actions a,
body.pmpro-checkout-page .pmpro .pmpro_card_actions a {
  color: var(--lav-600, #6264a7);
  font-weight: 500;
}

/* ========== Formulärfält: luft och läsbarhet ========== */
body.pmpro-checkout-page .pmpro .pmpro_form_fields,
body.pmpro-checkout-page .pmpro .pmpro_form_fields {
  display: grid;
  gap: var(--space-4, 1rem);
}

body.pmpro-checkout-page .pmpro .pmpro_form_field,
body.pmpro-checkout-page .pmpro .pmpro_form_field {
  margin-bottom: 0;
}

body.pmpro-checkout-page .pmpro .pmpro_form_label,
body.pmpro-checkout-page .pmpro .pmpro_form_label {
  display: block;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ink, #374151);
  margin-bottom: 0.375rem;
}

/* ========== Inputs: snygga fält ========== */
body.pmpro-checkout-page .pmpro .pmpro_form_input,
body.pmpro-checkout-page .pmpro input[type="text"],
body.pmpro-checkout-page .pmpro input[type="email"],
body.pmpro-checkout-page .pmpro input[type="tel"],
body.pmpro-checkout-page .pmpro input[type="password"],
body.pmpro-checkout-page .pmpro .pmpro_form_input,
body.pmpro-checkout-page .pmpro input[type="text"],
body.pmpro-checkout-page .pmpro input[type="email"],
body.pmpro-checkout-page .pmpro input[type="tel"],
body.pmpro-checkout-page .pmpro input[type="password"] {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--ink, #111);
  background: #fff;
  border: 1px solid var(--lav-300, #c5c6e0);
  border-radius: 10px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.pmpro-checkout-page .pmpro .pmpro_form_input::placeholder,
body.pmpro-checkout-page .pmpro input::placeholder,
body.pmpro-checkout-page .pmpro .pmpro_form_input::placeholder,
body.pmpro-checkout-page .pmpro input::placeholder {
  color: var(--muted, #9ca3af);
}

body.pmpro-checkout-page .pmpro .pmpro_form_input:focus,
body.pmpro-checkout-page .pmpro input:focus,
body.pmpro-checkout-page .pmpro .pmpro_form_input:focus,
body.pmpro-checkout-page .pmpro input:focus {
  border-color: var(--lav-500, #6264a7);
  outline: none;
  box-shadow: 0 0 0 3px rgba(98, 100, 167, 0.18);
}

body.pmpro-checkout-page .pmpro select.pmpro_form_input,
body.pmpro-checkout-page .pmpro select.pmpro_form_input {
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236264a7' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}

body.pmpro-checkout-page .pmpro input[type="checkbox"],
body.pmpro-checkout-page .pmpro input[type="checkbox"] {
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.5rem;
  vertical-align: middle;
  accent-color: var(--lav-500, #6264a7);
}

/* Inloggad-användare meddelande */
body.pmpro-checkout-page .pmpro #pmpro_account_loggedin,
body.pmpro-checkout-page .pmpro #pmpro_account_loggedin {
  padding: var(--space-3, 1rem);
  background: var(--lav-50, #f3f4fb);
  border-radius: 10px;
  font-size: 0.9375rem;
  color: var(--ink, #374151);
}

/* ========== Två kolumner för fält (pmpro_cols-2) ========== */
body.pmpro-checkout-page .pmpro .pmpro_cols-2,
body.pmpro-checkout-page .pmpro .pmpro_cols-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4, 1rem);
}

/* Företagsnamn överst i faktureringskortet – samma stil som övriga fält, ingen egen låda */
body.pmpro-checkout-page .pmpro .pmpro_form_fields .cctrl-pmpro-billing-company {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

body.pmpro-checkout-page .pmpro .pmpro_form_fields-inline,
body.pmpro-checkout-page .pmpro .pmpro_form_fields-inline {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 0.5rem);
  align-items: center;
}

/* ========== Submit-knapp ========== */
body.pmpro-checkout-page .pmpro .pmpro_form_submit,
body.pmpro-checkout-page .pmpro .pmpro_form_submit {
  text-align: left;
  margin-top: var(--space-5, 1.75rem);
  margin-bottom: 0;
}

body.pmpro-checkout-page .pmpro #pmpro_btn-submit,
body.pmpro-checkout-page .pmpro .pmpro_btn-submit-checkout,
body.pmpro-checkout-page .pmpro #pmpro_btn-submit,
body.pmpro-checkout-page .pmpro .pmpro_btn-submit-checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 22rem;
  min-height: 52px;
  margin: 0;
  padding: 0.875rem 1.75rem;
  font-size: 1.0625rem;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  color: #fff !important;
  background: var(--terracotta-500, #e57a55) !important;
  border: 1px solid var(--terracotta-500, #e57a55) !important;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(229, 122, 85, 0.25);
}

body.pmpro-checkout-page .pmpro #pmpro_btn-submit:hover,
body.pmpro-checkout-page .pmpro .pmpro_btn-submit-checkout:hover,
body.pmpro-checkout-page .pmpro #pmpro_btn-submit:hover,
body.pmpro-checkout-page .pmpro .pmpro_btn-submit-checkout:hover {
  background: var(--terracotta-600, #d4694a) !important;
  border-color: var(--terracotta-600, #d4694a) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(229, 122, 85, 0.35);
}

/* Sekundär knapp (t.ex. rabattkod Apply) */
body.pmpro-checkout-page .pmpro .pmpro_btn,
body.pmpro-checkout-page .pmpro .pmpro_btn {
  padding: 0.5rem 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

body.pmpro-checkout-page .pmpro .pmpro_btn-submit-discount-code,
body.pmpro-checkout-page .pmpro .pmpro_btn-submit-discount-code {
  background: var(--lav-500, #6264a7);
  color: #fff !important;
  border: 1px solid var(--lav-500, #6264a7);
}

body.pmpro-checkout-page .pmpro .pmpro_btn-submit-discount-code:hover,
body.pmpro-checkout-page .pmpro .pmpro_btn-submit-discount-code:hover {
  background: var(--lav-600, #55578f);
  border-color: var(--lav-600, #55578f);
  color: #fff !important;
}

/* Introtext (t.ex. "Almost done. Review the membership information...") */
body.pmpro-checkout-page .pmpro > form > p,
body.pmpro-checkout-page .pmpro > form > p {
  margin: 0 0 var(--space-4, 1rem);
  font-size: 0.9375rem;
  color: var(--muted, #6b7280);
  line-height: 1.5;
}

/* Nivånamn i brödtext (om det visas utanför kortet) ========== */
body.pmpro-checkout-page .pmpro .pmpro_level_name_text,
body.pmpro-checkout-page .pmpro .pmpro_level_name_text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--muted, #4b5563);
  margin-bottom: var(--space-2, 0.5rem);
}

/* ========== Undvik massivt whitespace under "Skicka och betala" (main ska inte sträcka sig) ========== */
/* Layouten använder flex så att .cctrl-main fyller utrymmet (flex: 1 0 auto) – på checkout ska main bara vara innehållets höjd. */
/* Både pmpro-checkout-page (tema) och pmpro-checkout (PMPro) så att det alltid träffar. */
body.pmpro-checkout-page .cctrl-main,
body.pmpro-checkout-page.is-public .cctrl-main,
body.pmpro-checkout-page main.cctrl-main,
body.pmpro-checkout-page #primary.cctrl-main,
body.pmpro-checkout .cctrl-main,
body.pmpro-checkout.is-public .cctrl-main,
body.pmpro-checkout main.cctrl-main,
body.pmpro-checkout #primary.cctrl-main {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
body.pmpro-checkout-page #primary,
body.pmpro-checkout-page .site-main,
body.pmpro-checkout #primary,
body.pmpro-checkout .site-main {
  min-height: 0 !important;
}
/* Fallback: main som innehåller checkout-formuläret ska inte sträcka sig */
body.pmpro-checkout-page main:has(#pmpro_form),
body.pmpro-checkout main:has(#pmpro_form) {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
body.pmpro-checkout-page .pmpro_form_fieldset:last-of-type {
  margin-bottom: var(--space-4, 1rem) !important;
}
body.pmpro-checkout-page .pmpro .pmpro_form_submit {
  margin-top: var(--space-4, 1rem) !important;
  margin-bottom: 0 !important;
}

/* ========== Mobil ========== */
@media (max-width: 640px) {
  body.pmpro-checkout-page .pmpro .pmpro_cols-2,
  body.pmpro-checkout-page .pmpro .pmpro_cols-2 {
    grid-template-columns: 1fr;
  }

  body.pmpro-checkout-page .pmpro,
  body.pmpro-checkout-page .pmpro {
    padding-left: var(--space-3, 1rem);
    padding-right: var(--space-3, 1rem);
  }

  body.pmpro-checkout-page .pmpro .pmpro_form_fieldset .pmpro_card,
  body.pmpro-checkout-page .pmpro .pmpro_form_fieldset .pmpro_card {
    padding: var(--space-4, 1.25rem);
  }

  body.pmpro-checkout-page .pmpro #pmpro_pricing_fields,
  body.pmpro-checkout-page .pmpro #pmpro_pricing_fields {
    padding: var(--space-4, 1.25rem);
  }
}
