.customer-account-button{white-space:nowrap;border:1px solid #d41422;background:#fff;color:#9f0e18;border-radius:10px;padding:10px 13px;font-weight:900;box-shadow:none}
.customer-account-button.is-authenticated{background:#063041;color:#fff;border-color:#063041}
.customer-portal{position:fixed;inset:0;z-index:10050;display:none;background:rgba(3,31,43,.72);padding:16px;overflow:auto}
.customer-portal.open{display:grid;place-items:center}
.customer-portal-dialog{width:min(960px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.3)}
.customer-portal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;background:#fff;border-bottom:1px solid #e6e9ef}
.customer-portal-head h2,.customer-portal-card h3{margin:0}
.customer-portal-close{border:0;background:#f2f4f7;color:#111827;border-radius:999px;width:40px;height:40px;font-size:24px}
.customer-portal-body{padding:20px}
.customer-auth-tabs{display:flex;gap:8px;margin-bottom:18px}
.customer-auth-tabs button{flex:1;border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:10px;padding:11px;font-weight:900}
.customer-auth-tabs button.active{background:#d41422;color:#fff;border-color:#d41422}
.customer-auth-form{display:grid;gap:13px}
.customer-auth-form label{display:grid;gap:6px;font-weight:800;color:#344054}
.customer-auth-form input,.customer-chat-form textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:12px;font:inherit}
.customer-auth-form button,.customer-chat-form button{border:0;border-radius:10px;padding:12px 15px;background:#d41422;color:#fff;font-weight:900}
.customer-marketing-consent{display:grid;gap:9px;margin:0;padding:12px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc}
.customer-marketing-consent legend{padding:0 5px;font-size:.82rem;font-weight:800;color:#667085}
.customer-marketing-consent label{display:block;font-size:.9rem;line-height:1.4}
.customer-marketing-consent input{width:auto;margin-right:7px}
.customer-portal-note{padding:12px;border-radius:10px;background:#fff4f5;color:#7f1018}
.customer-profile-card{margin-bottom:16px;background:#fff}
.customer-profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.customer-profile-heading p{margin:5px 0 0;color:#667085}
.customer-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.customer-profile-form>label{display:grid;align-content:start;gap:6px;min-width:0;font-weight:800;color:#344054}
.customer-profile-form input{width:100%;min-width:0;border:1px solid #d0d5dd;border-radius:10px;padding:12px;font:inherit}
.customer-profile-form input[readonly]{background:#f2f4f7;color:#475467;cursor:not-allowed}
.customer-profile-form small{color:#667085;font-size:.78rem;line-height:1.4}
.customer-consent-form{display:grid;gap:13px;margin-top:15px;padding-top:15px;border-top:1px solid #e4e7ec}
.customer-profile-consents{grid-column:1/-1;display:grid;gap:10px;margin:0;padding:13px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc}
.customer-profile-consents legend{padding:0 5px;font-weight:900;color:#344054}
.customer-profile-consents>p{margin:0;color:#667085;font-size:.84rem;line-height:1.45}
.customer-profile-consents>label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;color:#344054;font-size:.9rem;font-weight:800}
.customer-profile-consents>label>span:first-child{display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.customer-profile-consents input{width:auto;min-width:18px;margin-top:2px}
.customer-consent-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:900;white-space:nowrap}
.customer-consent-status time{font-weight:700;opacity:.82}
.customer-consent-status.active{background:#ecfdf3;color:#067647}
.customer-consent-status.inactive{background:#f2f4f7;color:#475467}
.customer-profile-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px}
.customer-profile-actions button{border:0;border-radius:10px;padding:12px 15px;background:#d41422;color:#fff;font-weight:900}
.customer-profile-actions button:disabled{opacity:.6;cursor:wait}
.customer-profile-actions p{margin:0;color:#067647;font-weight:800}
.customer-profile-actions p[data-state="error"]{color:#b42318}
.customer-legacy-name{display:grid;gap:4px;margin-bottom:13px;padding:11px 12px;border-left:4px solid #d41422;border-radius:8px;background:#fff4f5;color:#7f1018}
.customer-legacy-name span{font-size:.84rem;line-height:1.45}
.customer-portal-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:16px}
.customer-portal-card{border:1px solid #e6e9ef;border-radius:14px;padding:16px;min-width:0}
.customer-order,.customer-chat-message{padding:12px 0;border-bottom:1px solid #eaecf0}
.customer-order:last-child,.customer-chat-message:last-child{border-bottom:0}
.customer-order-head,.customer-chat-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.customer-chat-list{max-height:330px;overflow:auto;margin:12px 0}
.customer-chat-message.outbound{margin-left:12%;padding:10px 12px;background:#eff8ff;border-radius:12px}
.customer-chat-message.inbound{margin-right:12%;padding:10px 12px;background:#fff4f5;border-radius:12px}
.customer-chat-form{display:grid;grid-template-columns:1fr auto;gap:10px;position:sticky;bottom:0;background:#fff;padding-top:10px}
.customer-chat-form textarea{min-height:54px;max-height:130px;resize:vertical}
.customer-first-discount{background:linear-gradient(135deg,#063041,#031f2b);color:#fff;border-radius:14px;padding:14px;margin-bottom:16px}
.language-switch{position:relative;z-index:30;display:block;flex:0 0 auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;text-transform:none;box-shadow:none;cursor:default}
.language-switch-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:5px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#253b45;cursor:pointer;font:inherit;font-size:12px;font-weight:900;white-space:nowrap}
.language-switch-label{display:inline!important}
.language-switch-trigger:hover,.language-switch-trigger:focus-visible,.language-switch.is-open .language-switch-trigger{border-color:#d41422;color:#9f0e18;outline:none;box-shadow:0 0 0 3px rgba(212,20,34,.1)}
.language-switch-chevron{display:inline-block!important;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.language-switch.is-open .language-switch-chevron{transform:translateY(2px) rotate(225deg)}
.language-options{position:absolute;top:calc(100% + 8px);right:0;z-index:100;display:grid;min-width:190px;padding:7px;border:1px solid #dfe4e8;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(3,31,43,.2)}
.language-options[hidden]{display:none!important}
.language-options button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#253b45;cursor:pointer;text-align:left;font:inherit;font-size:13px;font-weight:800}
.language-options button span{display:inline!important}
.language-options button:hover,.language-options button:focus-visible{background:#fff1f2;color:#9f0e18;outline:none}
.language-options button[aria-checked="true"]{color:#9f0e18;background:#fff7f7}
.language-option-check{color:#d41422;font-weight:950}
.mobile-menu-toggle{display:none;border:1px solid #d0d5dd;background:#fff;color:#253b45;border-radius:9px;padding:8px 9px;font-weight:900;white-space:nowrap}
.website-account-hero{background-image:linear-gradient(90deg,rgba(3,31,43,.98) 0%,rgba(3,31,43,.92) 43%,rgba(3,31,43,.18) 70%),url("assets/website-account-discount-hero.png");background-size:cover;background-position:center}
.website-account-hero .hero-content{position:relative;z-index:2;max-width:650px}
.website-account-hero h1,.website-account-hero .hero-copy,.website-account-hero .eyebrow{color:#fff}
.website-account-hero .brand-red{color:#ff3344}
.website-account-hero .secondary-link{color:#fff;border-color:rgba(255,255,255,.6)}
@media(min-width:1281px) and (max-width:1500px){
  .market-topbar{gap:6px;padding-inline:10px}
  .market-topbar .brand{min-width:148px}
  .market-topbar .logo-type{width:145px}
  .market-topbar .nav{gap:3px;font-size:.7rem}
  .market-topbar .nav a{min-height:36px;padding-inline:7px}
  .market-topbar .language-switch{max-width:none;padding:0}
  .market-topbar .language-switch-trigger{min-height:36px;padding:5px 7px;font-size:11px}
  .market-topbar .customer-account-button{min-height:36px;padding:7px 9px;font-size:12px}
  .market-topbar .cart-button{width:56px;min-width:56px;height:40px;padding-inline:10px}
}
@media(max-width:1280px){
  .market-topbar{flex-wrap:nowrap;gap:8px;padding-inline:14px}
  .market-topbar .nav{display:none}
  .market-topbar .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px}
  .mobile-route-bar{display:none!important}
  body.mobile-menu-open .mobile-route-bar{position:sticky;top:76px;z-index:19;display:flex!important;gap:8px;min-height:62px;overflow-x:auto;overscroll-behavior-x:contain;padding:9px 14px;border:0;border-bottom:1px solid #e1e7ea;background:#fff;box-shadow:0 7px 20px rgba(3,31,43,.05);scrollbar-width:none}
  body.mobile-menu-open .mobile-route-bar a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:42px;padding:0 14px;border:1px solid #e1e7ea;border-radius:999px;background:#fff;color:#263941;font-size:13px;font-weight:850;white-space:nowrap}
  body.mobile-menu-open .mobile-route-bar a.active{border-color:#d41422;background:#d41422;color:#fff}
}
@media(max-width:920px){
  .market-topbar{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;overflow:visible;padding-inline:7px}
  .market-topbar .brand{flex:1 1 auto;min-width:0}
  .market-topbar .logo-type{width:min(112px,29vw)}
  .market-topbar .market-search{min-width:180px;flex:1 0 180px}
  .market-topbar .nav{display:none}
  .market-topbar .mobile-menu-toggle,.market-topbar .customer-account-button,.market-topbar .cart-button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:0;height:36px;padding:6px 7px;font-size:11px;border-radius:8px}
  .market-topbar .language-switch{display:block;flex:0 0 auto;max-width:none;height:36px}
  .market-topbar .language-switch-trigger{height:36px;min-height:36px;padding:6px 7px;border-radius:8px;font-size:11px}
  .market-topbar .language-switch-label{display:inline!important;font-size:11px}
  .market-topbar .cart-button{width:auto;min-width:43px;gap:3px}
  .market-topbar .cart-button .icon{width:15px}
  .mobile-route-bar{display:none!important}
  body.mobile-menu-open .mobile-route-bar{display:flex!important}
  .customer-portal{padding:0}
  .customer-portal-dialog{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0}
  .customer-profile-form{grid-template-columns:1fr}
  .customer-profile-consents,.customer-profile-actions{grid-column:auto}
  .customer-profile-consents>label{align-items:flex-start;flex-direction:column}
  .customer-consent-status{white-space:normal}
  .customer-profile-actions{align-items:stretch;flex-direction:column}
  .customer-profile-actions button{min-height:48px}
  .customer-portal-grid{grid-template-columns:1fr}
  .customer-chat-form{grid-template-columns:1fr}
  .customer-chat-form button{min-height:48px}
  .website-account-hero{background-position:63% center}
}
@media(max-width:380px){
  .market-topbar{gap:3px;padding-inline:5px}
  .market-topbar .logo-type{width:84px}
  .market-topbar .mobile-menu-toggle,.market-topbar .customer-account-button,.market-topbar .language-switch-trigger{padding-inline:5px;font-size:10px}
  .market-topbar .cart-button{min-width:38px}
  .language-options{position:fixed;top:67px;right:8px;left:8px;min-width:0}
}

/* Storefront header v4: one-line desktop navigation and icon-first account/cart controls. */
.topbar.market-topbar{flex-wrap:nowrap;overflow:visible}
.topbar.market-topbar .customer-account-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  overflow:visible;
  border:1px solid #cbd5da;
  border-radius:12px;
  background:#fff;
  color:#073447;
  box-shadow:0 7px 18px rgba(3,31,43,.08);
}
.topbar.market-topbar .customer-account-button:hover,
.topbar.market-topbar .customer-account-button:focus-visible,
.topbar.market-topbar .customer-account-button[aria-expanded="true"]{
  border-color:#d41422;
  color:#b20f1b;
  outline:none;
  box-shadow:0 0 0 3px rgba(212,20,34,.12),0 8px 20px rgba(3,31,43,.1);
}
.topbar.market-topbar .customer-account-button.is-authenticated{
  border-color:#073447;
  background:#073447;
  color:#fff;
}
.topbar.market-topbar .customer-account-button.is-authenticated::after{
  content:"";
  position:absolute;
  top:-3px;
  right:-3px;
  width:11px;
  height:11px;
  border:2px solid #fff;
  border-radius:50%;
  background:#19a15f;
}
.customer-account-icon{
  display:block;
  width:23px;
  height:23px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.33 0-8 2.67-8 6v2h16v-2c0-3.33-2.67-6-8-6Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.33 0-8 2.67-8 6v2h16v-2c0-3.33-2.67-6-8-6Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.topbar.market-topbar .cart-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  gap:0;
  width:58px;
  min-width:58px;
  height:44px;
  padding:0;
  overflow:visible;
  border:1px solid #b80f1a;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,#e01727,#b60f1b);
  box-shadow:0 9px 20px rgba(212,20,34,.22);
}
.topbar.market-topbar .cart-button:hover,
.topbar.market-topbar .cart-button:focus-visible,
.topbar.market-topbar .cart-button[aria-expanded="true"]{
  outline:none;
  background:#a90d18;
  box-shadow:0 0 0 3px rgba(212,20,34,.15),0 10px 22px rgba(212,20,34,.24);
}
.topbar.market-topbar .cart-button .icon{
  display:block;
  position:static;
  width:25px;
  height:25px;
  overflow:visible;
  color:transparent;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2ZM1 2v2h2l3.6 7.59-1.35 2.45A2 2 0 0 0 7 17h12v-2H7.42a.25.25 0 0 1-.22-.37L8.1 13h7.45a2 2 0 0 0 1.75-1.03L20.88 5H5.21l-.94-2H1Zm16 16c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2ZM1 2v2h2l3.6 7.59-1.35 2.45A2 2 0 0 0 7 17h12v-2H7.42a.25.25 0 0 1-.22-.37L8.1 13h7.45a2 2 0 0 0 1.75-1.03L20.88 5H5.21l-.94-2H1Zm16 16c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.topbar.market-topbar .cart-button .icon::before,
.topbar.market-topbar .cart-button .icon::after{content:none}
.topbar.market-topbar .cart-button #cartCount{
  position:absolute;
  top:-7px;
  right:-7px;
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border:2px solid #fff;
  border-radius:999px;
  background:#073447;
  color:#fff;
  font-size:11px;
  font-weight:950;
  line-height:1;
  box-shadow:0 4px 10px rgba(3,31,43,.2);
}

@media(min-width:1181px){
  .topbar.market-topbar{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:clamp(6px,.65vw,11px);
    min-height:78px;
    padding:8px clamp(10px,1.5vw,24px);
  }
  .topbar.market-topbar .brand{
    flex:0 1 clamp(132px,11vw,174px);
    min-width:128px;
  }
  .topbar.market-topbar .logo-type{
    width:clamp(128px,10.7vw,168px);
    height:56px;
  }
  .topbar.market-topbar .nav{
    display:flex!important;
    flex:1 1 auto;
    justify-content:center;
    gap:clamp(3px,.3vw,6px);
    min-width:0;
    font-size:clamp(.78rem,.82vw,.9rem);
  }
  .topbar.market-topbar .nav a{
    flex:0 1 auto;
    min-height:42px;
    padding-inline:clamp(7px,.55vw,12px);
    line-height:1.1;
  }
  .topbar.market-topbar .mobile-menu-toggle{display:none!important}
  .topbar.market-topbar .language-switch-trigger{
    min-height:44px;
    height:44px;
    padding:5px 9px;
    font-size:12px;
  }
}

@media(max-width:1180px){
  .topbar.market-topbar{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-height:72px;
    padding:8px 12px;
  }
  .topbar.market-topbar .brand{flex:1 1 auto;min-width:0}
  .topbar.market-topbar .logo-type{width:clamp(110px,14vw,148px);height:52px}
  .topbar.market-topbar .nav{display:none!important}
  .topbar.market-topbar .mobile-menu-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:42px;
    padding:7px 10px;
  }
}

@media(max-width:920px){
  .topbar.market-topbar{gap:5px;min-height:66px;padding:6px 7px}
  .topbar.market-topbar .logo-type{width:clamp(88px,24vw,116px);height:48px}
  .topbar.market-topbar .mobile-menu-toggle,
  .topbar.market-topbar .language-switch-trigger,
  .topbar.market-topbar .customer-account-button{height:40px;min-height:40px;border-radius:10px}
  .topbar.market-topbar .customer-account-button{width:40px;min-width:40px;padding:0}
  .topbar.market-topbar .customer-account-icon{width:21px;height:21px}
  .topbar.market-topbar .language-switch{height:40px}
  .topbar.market-topbar .language-switch-trigger{padding:5px 7px;font-size:11px}
  .topbar.market-topbar .cart-button{width:50px;min-width:50px;height:40px;padding:0;border-radius:10px}
  .topbar.market-topbar .cart-button .icon{width:22px;height:22px}
  .topbar.market-topbar .cart-button #cartCount{top:-6px;right:-5px;min-width:20px;height:20px;font-size:10px}
}

@media(max-width:420px){
  .topbar.market-topbar{gap:3px;padding-inline:5px}
  .topbar.market-topbar .logo-type{width:clamp(74px,23vw,92px)}
  .topbar.market-topbar .mobile-menu-toggle{min-height:38px;height:38px;padding-inline:5px;font-size:10px}
  .topbar.market-topbar .language-switch,
  .topbar.market-topbar .language-switch-trigger{height:38px;min-height:38px}
  .topbar.market-topbar .language-switch-trigger{padding-inline:5px;font-size:10px}
  .topbar.market-topbar .customer-account-button{width:38px;min-width:38px;height:38px;min-height:38px}
  .topbar.market-topbar .cart-button{width:44px;min-width:44px;height:38px}
}
/* Supabase e-mail confirmation callback */
.auth-callback-page {
  min-height: 100vh;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(18, 59, 115, .12), transparent 42%),
    linear-gradient(145deg, #f7f9fc, #fff);
}

.auth-callback-card {
  width: min(100%, 560px);
  box-sizing: border-box;
  padding: clamp(28px, 7vw, 48px);
  border: 1px solid rgba(18, 59, 115, .14);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(18, 59, 115, .14);
  text-align: center;
}

.auth-callback-brand {
  margin-bottom: 28px;
  font-size: clamp(22px, 6vw, 30px);
  font-weight: 900;
  letter-spacing: -.04em;
}

.auth-callback-brand span { color: #df1325; }
.auth-callback-brand strong { color: #123b73; }

.auth-callback-spinner {
  width: 42px;
  height: 42px;
  margin: 0 auto 24px;
  border: 4px solid #e6ebf2;
  border-top-color: #df1325;
  border-radius: 50%;
  animation: auth-callback-spin .8s linear infinite;
}

.auth-callback-eyebrow {
  margin: 0 0 8px;
  color: #123b73;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.auth-callback-card h1 {
  margin: 0 0 14px;
  color: #111827;
  font-size: clamp(28px, 7vw, 40px);
  line-height: 1.08;
}

.auth-callback-card > p:not(.auth-callback-eyebrow) {
  margin: 0;
  color: #4b5563;
  line-height: 1.65;
}

.auth-callback-action {
  display: inline-block;
  margin-top: 26px;
  padding: 13px 20px;
  border-radius: 9px;
  background: #df1325;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.auth-callback-action[hidden],
.auth-callback-spinner[hidden] { display: none; }

.auth-callback-reset {
  display: grid;
  gap: 10px;
  margin-top: 20px;
  text-align: left;
}

.auth-callback-reset[hidden] {
  display: none;
}

.auth-callback-reset label {
  color: #334155;
  font-size: 14px;
  font-weight: 700;
}

.auth-callback-reset input {
  min-height: 48px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
}

.auth-callback-reset button {
  min-height: 48px;
  margin-top: 6px;
  border: 0;
  border-radius: 10px;
  background: #df1325;
  color: #fff;
  font: inherit;
  font-weight: 800;
}

@keyframes auth-callback-spin {
  to { transform: rotate(360deg); }
}

/* Premium customer portal: presentation only; auth, locale and realtime behavior stay unchanged. */
.customer-portal{
  padding:clamp(12px,2.2vw,28px);
  background:
    radial-gradient(circle at 12% 8%,rgba(212,20,34,.17),transparent 30%),
    radial-gradient(circle at 92% 92%,rgba(0,104,179,.2),transparent 34%),
    rgba(3,31,43,.82);
  backdrop-filter:blur(14px);
  overscroll-behavior:contain;
}
.customer-portal-dialog{
  display:flex;
  flex-direction:column;
  width:min(1120px,100%);
  max-height:calc(100dvh - clamp(24px,4.4vw,56px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:#f6f9fb;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
}
.customer-portal-head{
  flex:0 0 auto;
  padding:20px clamp(20px,3vw,34px);
  border-bottom:1px solid #dfe7eb;
  background:
    linear-gradient(90deg,rgba(212,20,34,.06),transparent 24%),
    #fff;
  box-shadow:0 8px 24px rgba(7,52,71,.05);
}
.customer-portal-head::before{
  content:"";
  align-self:stretch;
  width:4px;
  min-height:48px;
  margin-right:2px;
  border-radius:999px;
  background:linear-gradient(180deg,#d41422 0 50%,#073447 50% 100%);
}
.customer-portal-head>div{flex:1 1 auto;min-width:0}
.customer-portal-head small{
  display:block;
  margin-bottom:4px;
  color:#b20f1b;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.customer-portal-head h2{
  color:#073447;
  font-size:clamp(1.45rem,3vw,2rem);
  line-height:1.05;
}
.customer-portal-close{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:46px;
  height:46px;
  border:1px solid #d9e2e6;
  background:#fff;
  color:#073447;
  font-size:28px;
  line-height:1;
  box-shadow:0 7px 18px rgba(7,52,71,.08);
  cursor:pointer;
}
.customer-portal-close:hover,
.customer-portal-close:focus-visible{
  border-color:#d41422;
  background:#d41422;
  color:#fff;
  outline:none;
  box-shadow:0 0 0 4px rgba(212,20,34,.12);
}
.customer-portal-body{
  min-height:0;
  padding:clamp(18px,3vw,34px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.customer-portal-body::-webkit-scrollbar,
.customer-chat-list::-webkit-scrollbar{width:9px}
.customer-portal-body::-webkit-scrollbar-track,
.customer-chat-list::-webkit-scrollbar-track{background:transparent}
.customer-portal-body::-webkit-scrollbar-thumb,
.customer-chat-list::-webkit-scrollbar-thumb{
  border:2px solid #f6f9fb;
  border-radius:999px;
  background:#adbec6;
}
.customer-auth-tabs,
.customer-auth-form,
.customer-portal-body>.customer-first-discount{
  width:min(680px,100%);
  margin-inline:auto;
}
.customer-auth-tabs{
  gap:6px;
  margin-bottom:16px;
  padding:5px;
  border:1px solid #dfe7eb;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 22px rgba(7,52,71,.055);
}
.customer-auth-tabs button{
  min-height:46px;
  padding:10px 15px;
  border:0;
  border-radius:11px;
  color:#526b76;
  background:transparent;
  cursor:pointer;
}
.customer-auth-tabs button:hover,
.customer-auth-tabs button:focus-visible{
  color:#073447;
  background:#eef5f8;
  outline:none;
}
.customer-auth-tabs button.active{
  background:linear-gradient(135deg,#e01828,#b50e1a);
  box-shadow:0 9px 20px rgba(212,20,34,.2);
}
.customer-first-discount{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 12%,rgba(212,20,34,.42),transparent 31%),
    linear-gradient(135deg,#073447,#031f2b);
  box-shadow:0 16px 34px rgba(7,52,71,.18);
}
.customer-first-discount::after{
  content:"10%";
  position:absolute;
  right:18px;
  bottom:-8px;
  color:rgba(255,255,255,.09);
  font-size:4.4rem;
  font-weight:950;
  line-height:1;
  pointer-events:none;
}
.customer-first-discount strong,
.customer-first-discount div{position:relative;z-index:1}
.customer-first-discount strong{display:block;margin-bottom:5px;font-size:1.05rem}
.customer-first-discount div{max-width:520px;color:#dcecf2;line-height:1.55}
.customer-auth-form{
  padding:clamp(18px,3vw,28px);
  border:1px solid #dfe7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 42px rgba(7,52,71,.075);
}
.customer-auth-form:has([name="first_name"]){grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-auth-form:has([name="first_name"])>.customer-marketing-consent,
.customer-auth-form:has([name="first_name"])>button,
.customer-auth-form:has([name="first_name"])>.customer-portal-note,
.customer-auth-form:has([name="first_name"])>label:has(input[type="checkbox"]){grid-column:1/-1}
.customer-auth-form label,
.customer-profile-form>label{
  color:#243f4b;
  font-size:.86rem;
  font-weight:900;
}
.customer-auth-form input:not([type="checkbox"]),
.customer-auth-form select,
.customer-profile-form input,
.customer-profile-form select,
.customer-chat-form textarea{
  min-height:48px;
  border:1px solid #cbd8de;
  border-radius:12px;
  background:#fff;
  color:#122f3b;
  font:inherit;
  font-size:16px;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.customer-auth-form input:not([type="checkbox"]):focus,
.customer-auth-form select:focus,
.customer-profile-form input:focus,
.customer-profile-form select:focus,
.customer-chat-form textarea:focus{
  border-color:#0068b3;
  box-shadow:0 0 0 4px rgba(0,104,179,.12);
}
.customer-auth-form select,
.customer-profile-form select,
[name="preferred_language"]{
  width:100%;
  padding:10px 38px 10px 12px;
  cursor:pointer;
}
.customer-auth-form input[type="checkbox"],
.customer-profile-form input[type="checkbox"],
.customer-marketing-consent input[type="checkbox"]{
  width:20px;
  min-width:20px;
  height:20px;
  margin:1px 8px 0 0;
  accent-color:#d41422;
}
.customer-marketing-consent{
  gap:11px;
  padding:15px;
  border-color:#dce6ea;
  border-radius:14px;
  background:#f7fafb;
}
.customer-marketing-consent legend{color:#073447;font-weight:900}
.customer-marketing-consent label{color:#405b67}
.customer-auth-form>button,
.customer-profile-actions button,
.customer-chat-form button{
  min-height:48px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#e01828,#b50e1a);
  color:#fff;
  font:inherit;
  font-weight:950;
  box-shadow:0 10px 22px rgba(212,20,34,.2);
  cursor:pointer;
}
.customer-auth-form>button:hover,
.customer-auth-form>button:focus-visible,
.customer-profile-actions button:hover,
.customer-profile-actions button:focus-visible,
.customer-chat-form button:hover,
.customer-chat-form button:focus-visible{
  background:#a80d18;
  outline:none;
  box-shadow:0 0 0 4px rgba(212,20,34,.12),0 10px 22px rgba(212,20,34,.2);
}
.customer-portal-note{
  margin:0;
  padding:13px 14px;
  border:1px solid #f0d2d5;
  border-radius:12px;
  background:#fff7f7;
  color:#7d1b23;
  font-size:.82rem;
  line-height:1.5;
}
.customer-profile-card,
.customer-portal-card{
  border:1px solid #dfe7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 38px rgba(7,52,71,.065);
}
.customer-profile-card{margin-bottom:18px;padding:clamp(18px,2.6vw,28px)}
.customer-profile-heading{margin-bottom:18px}
.customer-profile-heading h3,
.customer-portal-card h3{color:#073447;font-size:1.08rem}
.customer-profile-heading p,
.customer-portal-card>p{color:#5b717b;line-height:1.55}
.customer-profile-form{gap:14px}
.customer-profile-form input,
.customer-profile-form select{padding:11px 12px}
.customer-profile-form input[readonly]{border-style:dashed;background:#f3f7f9}
.customer-profile-actions{min-height:48px}
.customer-profile-actions button{padding:11px 18px}
.customer-profile-consents{
  gap:11px;
  padding:16px;
  border-color:#dce6ea;
  border-radius:16px;
  background:#f7fafb;
}
.customer-profile-consents legend{color:#073447}
.customer-profile-consents>label{
  min-height:52px;
  padding:12px;
  border-color:#dfe7eb;
  border-radius:12px;
  box-shadow:0 5px 14px rgba(7,52,71,.035);
}
.customer-consent-status{border:1px solid transparent}
.customer-consent-status.active{border-color:#b7e6cc}
.customer-consent-status.inactive{border-color:#dfe4e7}
.customer-portal-grid{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:18px;
}
.customer-portal-grid>.customer-portal-card{padding:20px}
.customer-order-head{align-items:center}
.customer-order-head h3{margin:0}
.customer-order-head>button{
  min-height:38px;
  padding:7px 11px;
  border:1px solid #d9e3e7;
  border-radius:10px;
  background:#fff;
  color:#9f0e18;
  font-weight:900;
  cursor:pointer;
}
.customer-order{
  margin-top:10px;
  padding:14px;
  border:1px solid #e0e8eb;
  border-radius:13px;
  background:#f9fbfc;
}
.customer-order:last-child{border-bottom:1px solid #e0e8eb}
.customer-order>strong{display:block;margin-top:8px;color:#073447;font-size:1.05rem}
.customer-chat-list{
  min-height:180px;
  max-height:390px;
  margin:14px 0 0;
  padding:14px;
  border:1px solid #dfe7eb;
  border-radius:15px;
  background:#f5f8fa;
  overscroll-behavior:contain;
}
.customer-chat-message{
  max-width:84%;
  border:0;
  box-shadow:0 6px 16px rgba(7,52,71,.06);
}
.customer-chat-message.outbound{
  margin:8px 0 8px auto;
  border-radius:16px 16px 4px 16px;
  background:#e9f5fb;
}
.customer-chat-message.inbound{
  margin:8px auto 8px 0;
  border-radius:16px 16px 16px 4px;
  background:#fff;
}
.customer-chat-meta{margin-top:7px;color:#667d87;font-size:.72rem}
.customer-chat-form{
  z-index:2;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  margin-top:0;
  padding:12px 0 0;
  border-top:0;
  background:#fff;
}
.customer-chat-form textarea{
  min-width:0;
  min-height:52px;
  max-height:120px;
  padding:13px;
}
.customer-chat-form button{min-width:104px;padding:11px 18px}

@media(max-width:920px){
  .customer-portal{padding:0}
  .customer-portal-dialog{
    width:100%;
    min-height:100dvh;
    max-height:100dvh;
    border:0;
    border-radius:0;
  }
  .customer-portal-head{
    padding:calc(12px + env(safe-area-inset-top)) 14px 12px;
  }
  .customer-portal-head::before{min-height:42px}
  .customer-portal-head h2{font-size:1.35rem}
  .customer-portal-close{width:44px;height:44px}
  .customer-portal-body{
    padding:14px 12px calc(18px + env(safe-area-inset-bottom));
  }
  .customer-first-discount{padding:17px}
  .customer-auth-form:has([name="first_name"]){grid-template-columns:1fr}
  .customer-auth-form:has([name="first_name"])>*{grid-column:auto}
  .customer-auth-form{padding:16px;border-radius:16px}
  .customer-profile-form{grid-template-columns:1fr}
  .customer-profile-consents,
  .customer-profile-actions{grid-column:auto}
  .customer-profile-actions{align-items:stretch;flex-direction:column}
  .customer-profile-actions button{width:100%}
  .customer-profile-consents>label{align-items:flex-start;flex-direction:column}
  .customer-portal-grid{grid-template-columns:1fr}
  .customer-portal-grid>.customer-portal-card{padding:16px}
  .customer-chat-list{max-height:min(42dvh,420px);padding:10px}
  .customer-chat-form{
    position:sticky;
    bottom:calc(-14px - env(safe-area-inset-bottom));
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin:0 -4px;
    padding:10px 4px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid #e1e8ec;
    box-shadow:0 -10px 24px rgba(7,52,71,.07);
  }
  .customer-chat-form textarea{min-height:48px;max-height:96px;padding:11px}
  .customer-chat-form button{min-width:86px;min-height:48px;padding:10px 13px}
}

@media(max-width:420px){
  .customer-portal-head small{font-size:.64rem;letter-spacing:.08em}
  .customer-portal-head h2{font-size:1.2rem}
  .customer-portal-body{padding-inline:9px}
  .customer-auth-tabs button{padding-inline:8px;font-size:.82rem}
  .customer-first-discount::after{right:8px;font-size:3.5rem}
  .customer-profile-card,
  .customer-portal-grid>.customer-portal-card{padding:14px;border-radius:16px}
  .customer-chat-message{max-width:91%}
  .customer-chat-form button{min-width:76px;padding-inline:10px}
}

.customer-legal-links{display:inline;font-size:.86em;font-weight:800}
.customer-legal-links a{color:#0b5aa6;text-decoration:underline;text-underline-offset:2px}
