/* The supplied Mobil Car Care wordmark is the single visual brand source.
   This layer intentionally targets existing headers so native route, role,
   account, and action behavior stays unchanged. */
:root { --mccc-standard-logo: url('/mobil-car-care-logo.png?v=brand-standard-20260917-1'); }

.brand-logo-card.mccc-standard-logo-card {
  background:#fff;
  border-color:rgba(12,77,162,.16);
  box-shadow:0 10px 24px rgba(12,77,162,.08);
}
.brand-logo-card.mccc-standard-logo-card img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.login-screen .login-brand-logo.mccc-standard-logo-card { inline-size:min(390px,100%); block-size:72px; padding:4px 10px; }
body.sidebar-collapsed .sidebar-brand-logo.mccc-standard-logo-card { inline-size:58px; block-size:42px; padding:3px; }
body.sidebar-collapsed .sidebar-brand-logo.mccc-standard-logo-card img { width:100%; max-width:100%; object-fit:contain; object-position:center; }

/* Dynamic mobile and customer headers previously assembled separate text or
   tile marks. Keep their accessibility labels and controls, but paint the
   shared supplied wordmark as their only visible identity. */
.customer-mobile-header-brand,
.iphone-home-brand,
.pmh-brand,
.rwi-brand,
.home-ref-brand,
.vg-brand,
.mobile-rewards-brand,
.mobile-offers-brand,
.mobile-history-brand,
.mobile-booking-brand,
.mobile-service-brand,
.mobile-points-wordmark,
.catalogue-brand,
.garage-wordmark,
.vu-wordmark,
.service-status-brand,
.cwp-logo,
.customer-desktop-brand,
.dd-brand,
.terms-wordmark,
.pc-wordmark {
  box-sizing:border-box !important;
  display:block !important;
  flex:0 1 190px;
  inline-size:min(190px,calc(100vw - 116px));
  block-size:34px;
  min-inline-size:0 !important;
  min-block-size:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  background:var(--mccc-standard-logo) left center / contain no-repeat !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  letter-spacing:0 !important;
  text-indent:0 !important;
}
.mobile-rewards-brand,
.mobile-offers-brand,
.mobile-history-brand,
.mobile-booking-brand,
.mobile-service-brand,
.mobile-points-wordmark,
.catalogue-brand,
.garage-wordmark,
.vu-wordmark,
.service-status-brand { inline-size:min(158px,calc(100vw - 126px)); block-size:30px; background-position:center; }
.customer-desktop-brand,
.dd-brand,
.cwp-logo,
.terms-wordmark,
.pc-wordmark { inline-size:min(210px,100%); block-size:38px; background-position:left center; }
.customer-mobile-header-brand > *,
.iphone-home-brand > *,
.pmh-brand > *,
.rwi-brand > *,
.home-ref-brand > *,
.vg-brand > *,
.mobile-rewards-brand > *,
.mobile-offers-brand > *,
.mobile-history-brand > *,
.mobile-booking-brand > *,
.mobile-service-brand > *,
.mobile-points-wordmark > *,
.catalogue-brand > *,
.garage-wordmark > *,
.vu-wordmark > *,
.service-status-brand > *,
.cwp-logo > *,
.customer-desktop-brand > *,
.dd-brand > *,
.terms-wordmark > *,
.pc-wordmark > * { opacity:0 !important; }

/* Existing visual sizes are retained for touch layout while the horizontal
   mark stays legible in narrow phone headers. */
@media (max-width:640px) {
  .login-card .brand {
    display:flex !important;
    min-height:58px !important;
    margin:0 0 2px !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  .login-screen .login-brand-logo.mccc-standard-logo-card {
    inline-size:min(304px,82vw);
    block-size:58px;
    padding:2px 0;
    border-color:transparent;
    box-shadow:none;
  }
  .login-screen .login-brand-logo.mccc-standard-logo-card img { object-position:left center; }
  .login-mobile-welcome > strong { display:none; }
  .mobile-header .mobile-brand-logo.mccc-standard-logo-card {
    inline-size:min(168px,calc(100vw - 168px));
    block-size:36px;
    padding:2px 0;
    border-color:transparent;
    box-shadow:none;
  }
  .mobile-header .mobile-title > strong { display:none; }
  .customer-mobile-header-brand,
  .iphone-home-brand,
  .pmh-brand,
  .rwi-brand,
  .home-ref-brand,
  .vg-brand { inline-size:min(184px,calc(100vw - 116px)); block-size:32px; }
  .mobile-rewards-brand,
  .mobile-offers-brand,
  .mobile-history-brand,
  .mobile-booking-brand,
  .mobile-service-brand,
  .mobile-points-wordmark,
  .catalogue-brand,
  .garage-wordmark,
  .vu-wordmark,
  .service-status-brand { inline-size:min(146px,calc(100vw - 126px)); block-size:28px; }
}
@media (max-width:360px) {
  .mobile-header .mobile-brand-logo.mccc-standard-logo-card { inline-size:min(140px,calc(100vw - 168px)); block-size:30px; }
  .customer-mobile-header-brand,
  .iphone-home-brand,
  .pmh-brand,
  .rwi-brand,
  .home-ref-brand,
  .vg-brand { inline-size:154px; block-size:28px; }
  .mobile-rewards-brand,
  .mobile-offers-brand,
  .mobile-history-brand,
  .mobile-booking-brand,
  .mobile-service-brand,
  .mobile-points-wordmark,
  .catalogue-brand,
  .garage-wordmark,
  .vu-wordmark,
  .service-status-brand { inline-size:126px; block-size:24px; }
}


/* Booking owns a compact three-column header. Its legacy icon-plus-text mark
   is replaced by one full canonical image, avoiding two layered wordmarks. */
#customerServiceBuilderModal[data-mobile-booking="true"] .mobile-booking-brand {
  display:flex !important;
  inline-size:min(174px,calc(100vw - 112px)) !important;
  block-size:32px !important;
  padding:0 !important;
  overflow:visible !important;
  justify-self:center !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
}
#customerServiceBuilderModal[data-mobile-booking="true"] .mobile-booking-brand > img {
  display:block !important;
  inline-size:100% !important;
  block-size:100% !important;
  max-inline-size:100% !important;
  opacity:1 !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Preserve the supplied reception poster; hide only the redundant form logo. */
@media (max-width:640px) {
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open) .login-card .brand {
    display:none !important;
    min-height:0 !important;
    margin:0 !important;
  }
}

/* Customer login: retain the approved poster hierarchy while adapting only to phone height. */
@media (max-width:640px) {
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) {
    --customer-login-hero-height:clamp(245px, 31dvh, 278px);
    --customer-login-card-pad-top:clamp(19px, 2.4dvh, 23px);
    --customer-login-card-pad-bottom:max(17px, env(safe-area-inset-bottom));
    --customer-login-section-gap:clamp(11px, 1.45dvh, 14px);
    --customer-login-form-gap:clamp(10px, 1.35dvh, 13px);
    --customer-login-field-height:58px;
    --customer-login-button-height:60px;
    min-height:100vh;
    min-height:100svh;
    min-height:100dvh;
    height:100dvh;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:var(--customer-login-hero-height) auto;
    align-content:start;
    overflow-x:clip;
    overflow-y:visible;
    background:#fff;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-hero {
    grid-row:1;
    display:block;
    width:100% !important;
    max-width:none !important;
    min-height:0;
    height:var(--customer-login-hero-height);
    justify-self:stretch;
    overflow:hidden;
    background:#fff;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-hero-art {
    display:block;
    width:100%;
    max-width:none;
    height:100%;
    object-fit:cover;
    object-position:center 19%;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card {
    grid-row:2;
    width:100%;
    min-height:0;
    height:auto;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr);
    grid-auto-rows:auto;
    align-content:start;
    gap:var(--customer-login-section-gap);
    margin:0;
    padding:var(--customer-login-card-pad-top) clamp(28px, 7.5vw, 32px) var(--customer-login-card-pad-bottom);
    border:0;
    border-top:1px solid rgba(203, 217, 236, .72);
    border-radius:0;
    background:#fff;
    box-shadow:none;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card .brand {
    display:none !important;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr);
    justify-items:start;
    gap:2px;
    margin:0;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome > span:first-child {
    display:block;
    color:#65748a;
    font-size:.9rem;
    font-weight:650;
    line-height:1.2;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome-logo {
    display:flex !important;
    align-items:center;
    width:min(340px, 100%);
    height:48px;
    margin:1px 0 0;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome-logo img {
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:contain;
    object-position:left center;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome small {
    display:block;
    color:#68778f;
    font-size:.92rem;
    line-height:1.28;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-intro-copy {
    display:grid;
    gap:4px;
    margin:0;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card h1 {
    margin:0;
    color:#132238;
    font-size:clamp(1.56rem, 6.4vw, 1.72rem);
    line-height:1.1;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card #loginIntro {
    margin:0;
    color:#67758b;
    font-size:clamp(.91rem, 3.85vw, 1rem);
    line-height:1.34;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) #loginForm {
    display:grid;
    gap:var(--customer-login-form-gap);
    margin:0;
    padding:0;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card .login-field {
    gap:7px;
    margin:0;
    color:#53657c;
    font-size:.96rem;
    font-weight:780;
    line-height:1.2;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card .login-field-control input,
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card .login-field-control select {
    min-height:var(--customer-login-field-height);
    padding-top:11px;
    padding-bottom:11px;
    border-radius:15px;
    font-size:16px;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) #loginSubmitBtn {
    min-height:var(--customer-login-button-height);
    margin-top:0;
    border-radius:15px;
    font-size:1rem;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) #resetCustomerPinToggleBtn:not([hidden]),
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) #customerRegisterToggleBtn:not([hidden]) {
    min-height:28px;
    margin:0 auto;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-passkey-optional,
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) #loginMessage:empty {
    display:none !important;
  }
}

@media (max-width:640px) and (min-height:850px) {
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) {
    --customer-login-hero-height:clamp(274px, 32.5dvh, 303px);
    --customer-login-card-pad-top:clamp(20px, 2.4dvh, 23px);
    --customer-login-card-pad-bottom:max(18px, env(safe-area-inset-bottom));
    --customer-login-section-gap:clamp(11px, 1.3dvh, 12px);
    --customer-login-form-gap:11px;
    --customer-login-field-height:60px;
    --customer-login-button-height:60px;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome-logo {
    height:52px;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome > span:first-child,
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card .login-field {
    font-size:1rem;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome small {
    font-size:1rem;
  }
}

@media (max-width:640px) and (max-height:749px) {
  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) {
    --customer-login-hero-height:clamp(186px, 28.5dvh, 198px);
    --customer-login-card-pad-top:16px;
    --customer-login-card-pad-bottom:max(10px, env(safe-area-inset-bottom));
    --customer-login-section-gap:9px;
    --customer-login-form-gap:10px;
    --customer-login-field-height:52px;
    --customer-login-button-height:54px;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-hero-art {
    object-position:center 16%;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome {
    gap:1px;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome > span:first-child {
    font-size:.78rem;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome-logo {
    width:min(300px, 100%);
    height:42px;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-mobile-welcome small {
    font-size:.78rem;
    line-height:1.22;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card h1 {
    font-size:1.45rem;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card #loginIntro {
    font-size:.82rem;
    line-height:1.3;
  }

  #loginScreen.login-screen.is-mobile-poster-login:not(.is-registration-open):has(#loginRole option:checked[value="customer"]) .login-card .login-field {
    gap:5px;
    font-size:.8rem;
  }
}
