/* SECONDWIRE_VIVID_V1 — couleurs plus vivantes, alignées sur le logo cristal et l'app (2026-10-05) */
:root{
  --sw-cyan:#2ee6ff;
  --sw-blue:#1a8cff;
  --sw-brand-blue:#36b4ff;
  --sw-link:#5cc8ff;
  --sw-line:rgba(46,200,255,.62);
  --sw-line-soft:rgba(46,200,255,.32);
  --sw-glow:0 0 0 1px rgba(46,214,255,.35),0 0 30px rgba(0,170,255,.45);
  --sw-button-gradient:radial-gradient(circle at 12% 12%,rgba(120,245,255,.75),transparent 38%),linear-gradient(100deg,#12dcff 0%,#1a9bff 50%,#1660ff 100%);
}
html{background:#020b1c}
body{
  background:
    radial-gradient(ellipse 62rem 40rem at 88% -6%,rgba(0,150,255,.42),transparent 62%),
    radial-gradient(ellipse 48rem 34rem at -12% 28%,rgba(0,220,255,.22),transparent 60%),
    radial-gradient(ellipse 64rem 42rem at 50% 112%,rgba(22,96,255,.34),transparent 62%),
    linear-gradient(180deg,#05204a 0%,#031331 45%,#020b1c 100%)!important;
  background-attachment:fixed!important;
}
/* nouveau logo animé : transparent, sans coins arrondis ni cadre */
.brand-mark{width:56px!important;height:56px!important;flex:0 0 56px!important;border-radius:0!important;object-fit:contain!important;background:none!important;
  filter:drop-shadow(0 0 10px rgba(46,214,255,.55)) drop-shadow(0 0 22px rgba(0,140,255,.35))!important}
.brand-word{text-shadow:0 0 18px rgba(46,214,255,.35)}
.site-header{background:rgba(3,18,42,.72)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(46,200,255,.35)!important;box-shadow:0 8px 30px rgba(0,120,255,.18)}
/* titres avec reflet cristal */
.hero h1{background:linear-gradient(100deg,#ffffff 0%,#d8f6ff 40%,#5fd8ff 75%,#2a9dff 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none;filter:drop-shadow(0 0 24px rgba(0,170,255,.35))}
.section h2{background:linear-gradient(100deg,#ffffff 0%,#bfefff 60%,#4fcfff 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.eyebrow,.badge{color:#9ff0ff!important;border-color:rgba(46,214,255,.55)!important;background:rgba(0,170,255,.14)!important;box-shadow:0 0 16px rgba(0,190,255,.25)}
/* cartes : verre bleu lumineux */
.card,.phone-card,.notice{
  background:linear-gradient(160deg,rgba(18,82,170,.55) 0%,rgba(6,34,78,.78) 55%,rgba(4,22,52,.9) 100%)!important;
  border:1px solid rgba(46,200,255,.45)!important;
  box-shadow:0 0 0 1px rgba(46,214,255,.10) inset,0 18px 50px rgba(0,0,0,.35),0 0 34px rgba(0,150,255,.20)!important;
}
.card:hover{border-color:rgba(46,230,255,.8)!important;box-shadow:0 0 0 1px rgba(46,214,255,.18) inset,0 18px 50px rgba(0,0,0,.35),0 0 44px rgba(0,190,255,.38)!important;transition:box-shadow .25s,border-color .25s}
.phone-card{box-shadow:0 0 0 1px rgba(46,214,255,.15) inset,0 24px 60px rgba(0,0,0,.4),0 0 60px rgba(0,160,255,.35)!important}
.feature-icon{filter:drop-shadow(0 0 10px rgba(46,214,255,.6))}
.price{color:#fff!important;text-shadow:0 0 18px rgba(46,214,255,.55)}
.btn-primary{background:var(--sw-button-gradient)!important;box-shadow:0 0 0 1px rgba(120,240,255,.35) inset,0 0 26px rgba(0,190,255,.55)!important}
.btn-secondary{border-color:rgba(46,214,255,.65)!important;box-shadow:0 0 18px rgba(0,170,255,.28)!important}
.nav-link:hover{color:#7fe6ff!important;text-shadow:0 0 12px rgba(46,214,255,.6)}
.footer{border-top:1px solid rgba(46,200,255,.3)!important}
@media (prefers-reduced-motion:reduce){.card:hover{transition:none}}

/* THEME_COLOR_V1: solid colour on html so iOS Safari tints its bars dark, never white */
:root{color-scheme:dark}
html{background-color:#04183a!important;background-image:none!important}

/* BIG_LOGO_V1: logo bigger so the crystal details show */
.brand-mark{width:84px!important;height:84px!important;flex:0 0 84px!important}
.portal-v3-page .secondwire-logo,.portal-v3-page .logo{width:80px!important;height:80px!important;flex:0 0 80px!important}
@media (max-width:600px){
  .brand-mark{width:68px!important;height:68px!important;flex:0 0 68px!important}
  .portal-v3-page .secondwire-logo,.portal-v3-page .logo{width:70px!important;height:70px!important;flex-basis:70px!important}
}
@media (max-width:380px){
  .brand-mark{width:58px!important;height:58px!important;flex:0 0 58px!important}
  .portal-v3-page .secondwire-logo,.portal-v3-page .logo{width:60px!important;height:60px!important;flex-basis:60px!important}
}

/* PORTAL_LAYOUT_V2 */
html{background-color:#0a2a5e!important}
body,body.portal-v3-page{
  background:
    radial-gradient(ellipse 60rem 32rem at 50% -10%,rgba(30,130,255,.45),transparent 70%),
    radial-gradient(ellipse 60rem 32rem at 50% 110%,rgba(30,130,255,.45),transparent 70%),
    linear-gradient(180deg,#0a2a5e 0%,#041433 42%,#041433 58%,#0a2a5e 100%)!important;
  background-attachment:fixed!important;
}
.portal-v3-page .shell{padding-top:calc(env(safe-area-inset-top) + 56px)!important}
.portal-v3-page .brand{flex-wrap:wrap!important;row-gap:14px}
.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{
  order:-1;flex:0 0 100%!important;width:100%!important;height:150px!important;object-fit:contain!important;
  filter:drop-shadow(0 0 16px rgba(46,214,255,.6)) drop-shadow(0 0 34px rgba(0,140,255,.4))!important}
@media (max-width:600px){.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{height:140px!important}}
@media (max-width:380px){.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{height:120px!important}}

/* STABLE_V1 */
html,body{overscroll-behavior:none;overscroll-behavior-y:none}
body.portal-v3-page{min-height:100vh!important;min-height:100dvh!important}
.portal-v3-page .shell{box-sizing:border-box!important;min-height:100vh!important;min-height:100dvh!important;
  padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
/* STABLE_V1b: tighter header so short pages fit on one phone screen */
.portal-v3-page .shell{padding-top:calc(env(safe-area-inset-top) + 34px)!important}
.portal-v3-page .brand{margin-bottom:16px!important;padding-bottom:12px!important;row-gap:10px}
@media (max-width:600px){.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{height:124px!important}}
/* STABLE_V1c: decorative wave pinned to the bottom, never adds page height */
body.portal-v3-page::after{position:fixed!important;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 8px);margin:0!important;z-index:0;pointer-events:none}
.portal-v3-page .shell{position:relative;z-index:1}

/* FIT_V1 */
html::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:#0a2a5e;z-index:9999;pointer-events:none}
@media (max-width:600px){
  .site-header .header-inner{gap:8px!important;flex-wrap:nowrap!important;align-items:center!important}
  .site-header .brand{gap:8px!important;min-width:0;flex:1 1 auto}
  .brand-mark{width:56px!important;height:56px!important;flex:0 0 56px!important}
  .brand-word{font-size:clamp(18px,5.6vw,24px)!important;white-space:nowrap;letter-spacing:-.01em}
  .site-header .nav{flex:0 0 auto!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;height:auto!important}
  .site-header .nav .lang{padding:3px!important;gap:2px!important}
  .site-header .nav .lang button{padding:6px 8px!important;font-size:12px!important;min-width:0!important;min-height:0!important}
  .site-header .mobile-menu-button{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important}
  .portal-v3-page .lang button{padding:6px 9px!important;font-size:12px!important;min-width:0!important}
  .portal-v3-page .brandText h1{font-size:clamp(20px,6vw,26px)!important}
}
@media (max-width:360px){
  .brand-mark{width:46px!important;height:46px!important;flex:0 0 46px!important}
}

/* FOOTER_IN_CARD_V1 */
.portal-v3-page .footer.footer-in-card{border:0!important;background:none!important;box-shadow:none!important;padding:4px 2px 0!important;margin:14px 0 0!important;text-align:center;font-size:13px;line-height:1.45;color:var(--sw-muted,#b8cbea)}
/* sparkling wave: fixed at the bottom, content keeps clear of it */
body.portal-v3-page::after{position:fixed!important;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 6px);margin:0!important;z-index:0;pointer-events:none}
.portal-v3-page .shell{position:relative;z-index:1;padding-bottom:calc(env(safe-area-inset-bottom) + 84px)!important}
/* PORTAL_BRAND_ROW_V1: logo back beside the name (as before), same big size */
.portal-v3-page .brand{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-rows:auto auto;column-gap:14px!important;row-gap:8px!important;align-items:center;padding-right:44px}
.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{order:0!important;grid-column:1;grid-row:1 / span 2;flex:none!important;width:150px!important;height:150px!important}
.portal-v3-page .brand .brandText{grid-column:2;grid-row:1;align-self:end;min-width:0}
.portal-v3-page .brand .lang{grid-column:2;grid-row:2;justify-self:start;align-self:start;margin:0!important}
@media (max-width:600px){.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{width:124px!important;height:124px!important}}
@media (max-width:380px){.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{width:104px!important;height:104px!important}}
/* PORTAL_BRAND_ROW_V2: name right next to the logo, bigger; no close (X) button */
.portal-v3-page .portal-close,[data-close-portal]{display:none!important}
.portal-v3-page .brand{padding-right:0!important;column-gap:6px!important;align-content:center}
.portal-v3-page .brand .brandText h1{font-size:36px!important;line-height:1.05!important;margin:0!important;white-space:nowrap}
.portal-v3-page .brand .brandText p{margin:4px 0 0!important}
@media (max-width:600px){.portal-v3-page .brand .brandText h1{font-size:31px!important}}
@media (max-width:380px){.portal-v3-page .brand .brandText h1{font-size:26px!important}}
/* PORTAL_BRAND_ROW_V3: logo | name | FR-EN on one row */
.portal-v3-page .brand{grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-rows:auto!important;column-gap:8px!important}
.portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{grid-row:1!important;grid-column:1!important}
.portal-v3-page .brand .brandText{grid-column:2!important;grid-row:1!important;align-self:center!important}
.portal-v3-page .brand .lang{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;display:flex!important;flex-wrap:nowrap!important;padding:3px!important;gap:2px!important}
.portal-v3-page .brand .lang button{padding:6px 8px!important;font-size:12px!important;min-width:0!important}
@media (max-width:600px){.portal-v3-page .brand .brandText h1{font-size:29px!important}}
@media (max-width:400px){
  .portal-v3-page .brand .secondwire-logo,.portal-v3-page .brand .logo{width:104px!important;height:104px!important}
  .portal-v3-page .brand .brandText h1{font-size:25px!important}
  .portal-v3-page .brand .brandText p{font-size:11px!important}
}
/* PORTAL_BRAND_ROW_V4: FR/EN in the top-right corner, where the X used to be */
.portal-v3-page .brand .lang{align-self:start!important;margin-top:4px!important}
/* NOTICE_GLOW_V1: "Protect your account" box — same blue, brighter, sparkling */
.portal-v3-page .account-security-notice{
  border:1.5px solid rgba(64,206,255,.95)!important;border-radius:12px!important;padding:12px 14px!important;
  background:linear-gradient(160deg,rgba(20,90,190,.30),rgba(6,30,70,.55))!important;
  box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 14px rgba(0,180,255,.55),inset 0 0 12px rgba(0,170,255,.25)!important;
  animation:swNoticeGlow 2.6s ease-in-out infinite;
}
@keyframes swNoticeGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 12px rgba(0,180,255,.45),inset 0 0 10px rgba(0,170,255,.2)}
  50%{box-shadow:0 0 0 1px rgba(120,230,255,.45),0 0 22px rgba(40,210,255,.8),inset 0 0 14px rgba(0,190,255,.35)}
}
@media (prefers-reduced-motion:reduce){.portal-v3-page .account-security-notice{animation:none}}

/* GLOW_ALL_V1 : bordure scintillante sur toutes les boites */
.card,.phone-card,.notice,.account-card,.stat,.did-item,
.cart-main-card,.cart-summary-card,.emergency-ack-card,.selected-plan-notice,
.number-auth-notice,.area-code-modal-card,.paypal-approval-panel,.cart-message,
.portal-v3-page .card{
  border:1.5px solid rgba(64,206,255,.95)!important;
  box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 14px rgba(0,180,255,.55),inset 0 0 12px rgba(0,170,255,.25)!important;
  animation:swNoticeGlow 2.6s ease-in-out infinite;
}
.card .card,.account-card .stat{animation-delay:-1.3s}
@media (prefers-reduced-motion:reduce){
  .card,.phone-card,.notice,.account-card,.stat,.did-item,.cart-main-card,.cart-summary-card,
  .emergency-ack-card,.selected-plan-notice,.number-auth-notice,.area-code-modal-card,
  .paypal-approval-panel,.cart-message,.portal-v3-page .card{animation:none}
}

/* GLOW_ALL_V2 : champs, boutons secondaires et contour des boutons principaux */
input[type=email],input[type=password],input[type=text],input[type=tel],input[type=number],input[type=search],
input:not([type]),select,textarea,button.ghost,a.ghost,.btn-ghost,.secondary{
  border:1.5px solid rgba(64,206,255,.95)!important;
  box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 12px rgba(0,180,255,.45),inset 0 0 10px rgba(0,170,255,.2)!important;
  animation:swNoticeGlow 2.6s ease-in-out infinite;
}
button.primary,a.primary,.btn-primary{
  border:1.5px solid rgba(120,230,255,.95)!important;
  animation:swNoticeGlow 2.6s ease-in-out infinite;
}
input:focus,select:focus,textarea:focus{
  border-color:#8eeaff!important;
  box-shadow:0 0 0 2px rgba(120,230,255,.55),0 0 22px rgba(40,210,255,.85)!important;
  animation:none;outline:none;
}
@media (prefers-reduced-motion:reduce){
  input,select,textarea,button.ghost,a.ghost,button.primary,a.primary{animation:none}
}

/* GLOW_ALL_V3 : priorite sur portal-v26-auth-unified.css (charge apres) */
html .portal-v3-page .card,html .portal-v3-page .account-card,html .portal-v3-page .did-item,
html .portal-v3-page input[type=email],html .portal-v3-page input[type=password],html .portal-v3-page input[type=text],
html .portal-v3-page input[type=tel],html .portal-v3-page input:not([type]),html .portal-v3-page select,
html .portal-v3-page textarea,html .portal-v3-page button.ghost,html .portal-v3-page .stat{
  border:1.5px solid rgba(64,206,255,.95)!important;
  box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 14px rgba(0,180,255,.55),inset 0 0 12px rgba(0,170,255,.25)!important;
  animation:swNoticeGlow 2.6s ease-in-out infinite;
}
html .portal-v3-page button.primary{border:1.5px solid rgba(120,230,255,.95)!important}
html .portal-v3-page input:focus,html .portal-v3-page select:focus,html .portal-v3-page textarea:focus{
  border-color:#8eeaff!important;box-shadow:0 0 0 2px rgba(120,230,255,.55),0 0 22px rgba(40,210,255,.85)!important;animation:none}
@media (prefers-reduced-motion:reduce){html .portal-v3-page *{animation:none!important}}

/* GLOW_ALL_V4 : onglets legaux */
.legal-nav a{border:1.5px solid rgba(64,206,255,.95)!important;box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 10px rgba(0,180,255,.45)!important;animation:swNoticeGlow 2.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.legal-nav a{animation:none}}
.did-item{border-radius:14px!important}

/* NO_TOP_LINE_V1 : pas de ligne de coupure en haut */
html::before{display:none!important}
.portal-v3-page .brand,.brand{border-bottom:0!important}
header{border-bottom:0!important;box-shadow:none!important}

/* GLOW_LANG_V1 */
html body .lang{border:1.5px solid rgba(64,206,255,.95)!important;box-shadow:0 0 0 1px rgba(64,206,255,.25),0 0 12px rgba(0,180,255,.5),inset 0 0 8px rgba(0,170,255,.2)!important;animation:swNoticeGlow 2.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){html body .lang{animation:none}}
html body .site-header{border-bottom:0!important;box-shadow:none!important}

/* ACCENT_TITLE_V1 */
html body .sw-accent{color:var(--sw-brand-blue,#21a8ff)!important}

/* DASH_FIT_V1 : nom a cote de Bonjour, courriel sur une ligne */
html body #uName,html body #uNameEn{font-size:clamp(26px,7.4vw,44px)!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;max-width:100%}
html body .email-value,html body #uEmail{font-size:clamp(15px,4.4vw,22px)!important;line-height:1.25!important;word-break:normal!important;overflow-wrap:anywhere!important}

/* DASH_TITLE_WHITE_V1 */
html body #uName .sw-accent,html body #uNameEn .sw-accent{color:inherit!important}
