/*
Theme Name: SNEXUS Clean
Theme URI: https://alfyon.com/
Description: Eigenständiges SNEXUS Theme mit nativen Gutenberg-Marketingseiten und professionellem Editor-Design.
Author: SNEXUS
Version: 5.0.6
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: snexus-clean
*/

:root{
  --snx-navy:#111827;
  --snx-navy-brand:#1A1A2E;
  --snx-orange:#F97316;
  --snx-orange-2:#FF6B35;
  --snx-text:#172033;
  --snx-muted:#667085;
  --snx-border:#E6E9EF;
  --snx-soft:#F7F9FC;
  --snx-soft-blue:#F4F7FF;
  --snx-soft-orange:#FFF7F1;
  --snx-white:#FFFFFF;
  --snx-success:#198754;
  --snx-radius:18px;
  --snx-radius-lg:28px;
  --snx-shadow:0 18px 56px rgba(17,24,39,.08);
}

html,body{width:100%;max-width:100%;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--snx-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,iframe,canvas,table{max-width:100%}
.snx-page,.snx-page *{min-width:0}
.snx-shell{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.snx-shell-wide{width:min(1380px,calc(100% - 48px));margin-inline:auto}
.snx-section{padding-block:clamp(82px,9vw,138px)}
.snx-section--small{padding-block:clamp(58px,6.5vw,92px)}
.snx-soft{background:var(--snx-soft)}
.snx-soft-blue{background:var(--snx-soft-blue)}
.snx-dark{background:var(--snx-navy-brand);color:#fff}
.snx-accent{color:var(--snx-orange)}
.snx-kicker{margin:0 0 18px;color:var(--snx-orange);font-size:.78rem;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.snx-title{max-width:950px;margin:0;font-size:clamp(3.5rem,7.2vw,7.1rem);line-height:.93;letter-spacing:-.055em;font-weight:760}
.snx-h2{max-width:880px;margin:0;font-size:clamp(2.55rem,4.8vw,4.8rem);line-height:.99;letter-spacing:-.045em;font-weight:720}
.snx-h3{margin:0;font-size:clamp(1.35rem,2.2vw,2.05rem);line-height:1.08;letter-spacing:-.025em;font-weight:700}
.snx-lead{max-width:720px;margin:26px 0 0;color:var(--snx-muted);font-size:clamp(1.08rem,1.55vw,1.28rem);line-height:1.68}
.snx-dark .snx-lead{color:rgba(255,255,255,.72)}
.snx-copy{color:var(--snx-muted);line-height:1.7}

/* Header */
.snx-header{
  position:sticky;top:0;z-index:999;
  border-bottom:1px solid rgba(230,233,239,.9);
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px)
}
.snx-header__inner{
  width:min(1380px,calc(100% - 40px));
  min-height:74px;margin:auto;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px
}
.snx-brand{display:flex;align-items:center;gap:10px;color:var(--snx-navy-brand)!important;text-decoration:none!important;font-size:1.24rem;font-weight:850;letter-spacing:-.035em}
.snx-brand__mark{position:relative;width:31px;height:26px}
.snx-brand__mark::before,.snx-brand__mark::after{content:"";position:absolute;left:0;width:30px;height:9px;border-radius:7px 2px 7px 2px;background:linear-gradient(90deg,var(--snx-orange),var(--snx-orange-2));transform:skewX(-24deg)}
.snx-brand__mark::before{top:1px}
.snx-brand__mark::after{bottom:1px;left:3px}
.snx-nav-wrap{display:flex;justify-content:center}
.snx-nav{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(18px,2vw,31px)}
.snx-nav>li{position:relative}
.snx-nav a{display:flex;align-items:center;gap:6px;padding:26px 0;color:var(--snx-navy)!important;text-decoration:none!important;font-size:.94rem;font-weight:620}
.snx-nav>li.menu-item-has-children>a::after{content:"⌄";font-size:.8rem;margin-top:-3px}
.snx-nav a:hover,.snx-nav .current-menu-item>a,.snx-nav .current-menu-ancestor>a{color:var(--snx-orange)!important}
.snx-nav .sub-menu{
  position:absolute;top:64px;left:-18px;z-index:50;
  min-width:230px;margin:0;padding:10px;
  list-style:none;border:1px solid var(--snx-border);border-radius:15px;background:#fff;
  box-shadow:0 16px 44px rgba(17,24,39,.11);
  opacity:0;visibility:hidden;transform:translateY(7px);transition:.15s ease
}
.snx-nav li:hover>.sub-menu,.snx-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.snx-nav .sub-menu a{padding:11px 12px;border-radius:9px;white-space:nowrap}
.snx-nav .sub-menu a:hover{background:var(--snx-soft)}
.snx-header-actions{display:flex;align-items:center;gap:12px}
.snx-login{color:var(--snx-navy)!important;text-decoration:none!important;font-size:.92rem;font-weight:650}
.snx-header-cta{min-height:44px;display:inline-flex;align-items:center;padding:0 17px;border-radius:9px;background:var(--snx-orange);color:#fff!important;text-decoration:none!important;font-size:.9rem;font-weight:750}
.snx-menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--snx-border);border-radius:10px;background:#fff;color:var(--snx-navy);cursor:pointer;font-size:1.15rem}

/* Buttons */
.snx-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.snx-btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid var(--snx-navy-brand);border-radius:10px;background:var(--snx-navy-brand);color:#fff!important;text-decoration:none!important;font-weight:740;transition:.16s ease}
.snx-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(17,24,39,.13)}
.snx-btn--orange{border-color:var(--snx-orange);background:var(--snx-orange)}
.snx-btn--outline{background:#fff;color:var(--snx-navy-brand)!important;border-color:var(--snx-border)}
.snx-btn--white{background:#fff;color:var(--snx-navy-brand)!important;border-color:#fff}

/* Homepage hero */
.snx-hero{padding:clamp(66px,8vw,118px) 0 clamp(74px,8vw,120px);background:linear-gradient(180deg,#fff 0%,#fff 68%,#FAFBFC 100%)}
.snx-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:clamp(42px,6vw,86px);align-items:center}
.snx-hero .snx-title{font-size:clamp(3.8rem,6.9vw,6.7rem)}
.snx-hero-visual{position:relative;min-height:560px}
.snx-hero-photo{
  position:absolute;inset:0;border-radius:0 0 0 100px;
  background:url("assets/images/hero-team.webp") center 42%/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 100%)
}
.snx-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.25),transparent 28%)}
.snx-person-tag{position:absolute;z-index:4;padding:8px 12px;border:1px solid rgba(230,233,239,.95);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 7px 20px rgba(17,24,39,.08);font-size:.78rem;font-weight:700}
.snx-person-tag--1{left:31%;top:43%}.snx-person-tag--2{left:45%;top:58%}.snx-person-tag--3{right:18%;top:61%}
.snx-person-line{position:absolute;z-index:3;left:25%;right:4%;bottom:18%;height:1px;background:linear-gradient(90deg,transparent,var(--snx-orange),transparent);transform:rotate(-10deg)}
.snx-proofline{display:flex;flex-wrap:wrap;gap:22px;margin-top:34px;color:#7A8190;font-size:.82rem}
.snx-proofline span::before{content:"✓";margin-right:7px;color:#AAB0BC}

/* Benefit row - deliberately minimal */
.snx-benefit-intro{text-align:center;max-width:760px;margin:0 auto 52px}
.snx-benefit-intro .snx-h2{font-size:clamp(2.2rem,3.7vw,3.65rem);margin-inline:auto}
.snx-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--snx-border);border-bottom:1px solid var(--snx-border)}
.snx-benefit{padding:34px 28px;text-align:center}
.snx-benefit+.snx-benefit{border-left:1px solid var(--snx-border)}
.snx-benefit svg{width:38px;height:38px;margin-bottom:20px;color:var(--snx-navy-brand)}
.snx-benefit h3{margin:0 0 9px;font-size:1.02rem}
.snx-benefit p{max-width:210px;margin:0 auto;color:var(--snx-muted);font-size:.9rem;line-height:1.6}

/* Product showcase */
.snx-product-showcase{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,7vw,96px);align-items:center}
.snx-product-stage{position:relative;min-height:570px}
.snx-laptop{
  position:absolute;left:4%;right:8%;top:4%;
  border:9px solid #242A34;border-bottom-width:15px;border-radius:18px;background:#fff;
  box-shadow:0 22px 50px rgba(17,24,39,.15);overflow:hidden
}
.snx-laptop::after{content:"";position:absolute;top:0;left:46%;width:8%;height:8px;border-radius:0 0 7px 7px;background:#242A34}
.snx-dashboard{display:grid;grid-template-columns:135px 1fr;min-height:390px;background:#fff}
.snx-dash-sidebar{padding:22px 13px;background:var(--snx-navy-brand);color:#fff}
.snx-dash-logo{font-size:.82rem;font-weight:800;margin-bottom:25px}
.snx-dash-menu{display:grid;gap:8px;font-size:.67rem;color:#B9BFCC}
.snx-dash-menu span{padding:7px;border-radius:7px}.snx-dash-menu span:first-child{background:rgba(255,255,255,.10);color:#fff}
.snx-dash-main{padding:24px;background:#FCFDFE}
.snx-dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.snx-dash-top strong{font-size:1rem}
.snx-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.snx-stat{padding:13px;border:1px solid var(--snx-border);border-radius:9px;background:#fff;font-size:.6rem;color:var(--snx-muted)}.snx-stat strong{display:block;margin-top:4px;color:var(--snx-navy);font-size:1.15rem}
.snx-dash-panels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.snx-dash-panel{min-height:155px;padding:14px;border:1px solid var(--snx-border);border-radius:9px;background:#fff}
.snx-dash-panel b{font-size:.72rem}.snx-chart{height:70px;margin-top:28px;border-bottom:2px solid var(--snx-orange);clip-path:polygon(0 70%,12% 65%,23% 78%,35% 55%,47% 60%,58% 38%,70% 43%,81% 19%,91% 30%,100% 8%,100% 100%,0 100%);background:linear-gradient(180deg,rgba(249,115,22,.18),transparent)}
.snx-phone{position:absolute;right:1%;bottom:3%;width:170px;min-height:330px;padding:10px;border:7px solid #242A34;border-radius:29px;background:#fff;box-shadow:0 18px 44px rgba(17,24,39,.18)}
.snx-phone-notch{width:58px;height:12px;margin:-3px auto 14px;border-radius:0 0 10px 10px;background:#242A34}
.snx-phone h4{margin:10px 6px 16px;font-size:.9rem}.snx-phone-card{margin:8px 4px;padding:11px;border:1px solid var(--snx-border);border-radius:9px;font-size:.66rem;color:var(--snx-muted)}.snx-phone-card b{display:block;color:var(--snx-navy);margin-bottom:4px}

/* Trust banner */
.snx-trustbar{display:grid;grid-template-columns:.9fr 1.25fr auto;gap:42px;align-items:center;padding:38px 44px;border-radius:18px;background:var(--snx-navy-brand);color:#fff}
.snx-trustbar h3{margin:0;font-size:clamp(1.5rem,2.4vw,2.35rem)}
.snx-trust-items{display:grid;gap:10px;color:#CFD3DC;font-size:.92rem}.snx-trust-items span::before{content:"✓";color:var(--snx-orange);margin-right:10px;font-weight:800}

/* Audience cards */
.snx-audience-head{text-align:center;max-width:720px;margin:0 auto 46px}
.snx-audience-head .snx-h2{margin:auto;font-size:clamp(2.35rem,4vw,4rem)}
.snx-audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.snx-audience{position:relative;min-height:320px;overflow:hidden;border-radius:16px;background:#1F2937;color:#fff}
.snx-audience::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,24,39,.84),rgba(17,24,39,.05) 62%)}
.snx-audience--trainer{background:url("assets/images/coach-athlete.webp") center/cover no-repeat}
.snx-audience--eltern{background:url("assets/images/parent-athlete.webp") center/cover no-repeat}
.snx-audience--athleten{background:linear-gradient(145deg,#374151,#111827)}
.snx-audience--vorstand{background:linear-gradient(145deg,#687386,#252C38)}
.snx-audience__content{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}
.snx-audience__content h3{margin:0 0 5px;font-size:1.15rem}.snx-audience__content p{margin:0;color:rgba(255,255,255,.72);font-size:.82rem}

/* Generic content pages */
.snx-subhero{padding-block:clamp(88px,10vw,145px);background:#fff}
.snx-subhero--tint{background:var(--snx-soft-blue)}
.snx-two-col{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,7vw,96px);align-items:start}
.snx-feature-list{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--snx-border)}
.snx-feature-line{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--snx-border)}
.snx-feature-line__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--snx-soft-orange);color:var(--snx-orange);font-weight:800}
.snx-feature-line h3{margin:0 0 5px;font-size:1.05rem}.snx-feature-line p{margin:0;color:var(--snx-muted);line-height:1.6}
.snx-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.snx-simple-card{padding:28px;border:1px solid var(--snx-border);border-radius:15px;background:#fff}
.snx-simple-card h3{margin:0 0 10px}.snx-simple-card p{margin:0;color:var(--snx-muted);line-height:1.65}
.snx-simple-card--tint{background:var(--snx-soft-blue);border-color:transparent}
.snx-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.snx-price-card{padding:32px;border:1px solid var(--snx-border);border-radius:16px;background:#fff}
.snx-price-card--best{border:2px solid var(--snx-orange)}
.snx-price{margin:18px 0;font-size:clamp(2.7rem,4vw,4rem);font-weight:760;letter-spacing:-.04em}.snx-price small{font-size:.88rem;color:var(--snx-muted);font-weight:500}
.snx-checks{list-style:none;padding:0;margin:24px 0}.snx-checks li{padding:10px 0;border-bottom:1px solid var(--snx-border);color:#4B5563}.snx-checks li::before{content:"✓";color:var(--snx-success);margin-right:9px}
.snx-contact-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;padding:clamp(32px,5vw,58px);border-radius:22px;background:var(--snx-soft)}

/* Footer */
.snx-footer{padding:62px 0 28px;border-top:1px solid var(--snx-border);background:#fff}
.snx-footer-grid{width:min(1380px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.3fr repeat(3,.65fr);gap:46px}
.snx-footer h4{margin:0 0 15px}.snx-footer a{display:block;margin:8px 0;color:var(--snx-muted);text-decoration:none}.snx-footer a:hover{color:var(--snx-orange)}
.snx-footer-bottom{width:min(1380px,calc(100% - 48px));margin:40px auto 0;padding-top:20px;border-top:1px solid var(--snx-border);color:#89909C;font-size:.86rem}

/* Woo / customer portal safety */
body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .snexus-registration-portal{width:100%!important;max-width:none!important;min-width:0!important;float:none!important}
body.woocommerce-account .snexus-registration-portal{left:auto!important;margin:0!important;padding:0!important;overflow:visible!important}

/* Responsive */
@media(max-width:1080px){
  .snx-nav-wrap{display:none}
  .snx-menu-toggle{display:inline-grid;place-items:center}
  .snx-header.is-open .snx-nav-wrap{display:block;position:absolute;top:74px;left:16px;right:16px;padding:10px;border:1px solid var(--snx-border);border-radius:15px;background:#fff;box-shadow:var(--snx-shadow)}
  .snx-header.is-open .snx-nav{display:block}
  .snx-header.is-open .snx-nav a{padding:12px 10px}
  .snx-nav .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 6px 14px}
  .snx-header.is-open .snx-nav li.is-sub-open>.sub-menu{display:block}
  .snx-hero-grid{grid-template-columns:1fr}
  .snx-hero-visual{min-height:500px}
  .snx-product-showcase{grid-template-columns:1fr}
  .snx-product-stage{min-height:540px}
  .snx-trustbar{grid-template-columns:1fr 1fr}
  .snx-trustbar .snx-buttons{grid-column:1/-1;margin-top:0}
  .snx-benefit-grid,.snx-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .snx-benefit:nth-child(3){border-left:0;border-top:1px solid var(--snx-border)}
  .snx-benefit:nth-child(4){border-top:1px solid var(--snx-border)}
  .snx-two-col,.snx-contact-panel{grid-template-columns:1fr}
}
@media(max-width:782px){
  .snx-shell,.snx-shell-wide{width:min(100% - 28px,1380px)}
  .snx-header__inner{width:min(100% - 28px,1380px);min-height:66px;gap:12px}
  .snx-header.is-open .snx-nav-wrap{top:66px}
  .snx-login{display:none}
  .snx-header-cta{min-height:40px;padding:0 12px;font-size:.82rem}
  .snx-brand{font-size:1.08rem}.snx-brand__mark{transform:scale(.88);transform-origin:left center}
  .snx-title{font-size:clamp(3rem,14vw,5rem)}
  .snx-h2{font-size:clamp(2.35rem,11vw,4rem)}
  .snx-hero{padding-top:48px}
  .snx-hero-visual{min-height:390px}
  .snx-person-tag{font-size:.68rem;padding:6px 8px}
  .snx-benefit-grid,.snx-audience-grid,.snx-simple-grid,.snx-price-grid{grid-template-columns:1fr}
  .snx-benefit+.snx-benefit{border-left:0;border-top:1px solid var(--snx-border)}
  .snx-product-stage{min-height:410px}
  .snx-dashboard{grid-template-columns:78px 1fr;min-height:290px}.snx-dash-sidebar{padding:15px 8px}.snx-dash-menu{font-size:.5rem}.snx-dash-main{padding:14px}.snx-dash-stats{grid-template-columns:repeat(2,1fr)}.snx-dash-panels{grid-template-columns:1fr}.snx-dash-panels .snx-dash-panel:last-child{display:none}
  .snx-laptop{left:0;right:5%;border-width:6px;border-bottom-width:10px}
  .snx-phone{width:122px;min-height:245px;border-width:5px}
  .snx-trustbar{grid-template-columns:1fr;padding:28px 24px}
  .snx-trustbar .snx-buttons{grid-column:auto}
  .snx-buttons{flex-direction:column}.snx-btn{width:100%}
  .snx-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .snx-footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* ------------------------------------------------------------------
   4.1 standalone fixes
   ------------------------------------------------------------------ */
body.snx-marketing-page .site-main,
body.snx-marketing-page main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Marketing pages render their own headings; no inherited theme title. */
.snx-standard-page {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(54px, 7vw, 96px) 0;
}
.snx-standard-page__title {
  margin: 0 0 28px;
  color: var(--snx-navy-brand);
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.045em;
}

/* My Account / SNEXUS portal: full usable width, no inherited page title. */
body.woocommerce-account .snx-standard-page {
  width: 100%;
  max-width: none;
  padding: 0;
}
body.woocommerce-account .woocommerce {
  width: 100%;
  max-width: none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation {
  display: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}

/* Woo pages keep the same restrained visual language. */
.snx-woocommerce-shell {
  width: min(1220px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(48px, 6vw, 88px) 0;
}

/* WordPress admin bar support for sticky header. */
body.admin-bar .snx-header { top: 32px; }
@media (max-width:782px) {
  body.admin-bar .snx-header { top: 46px; }
}


/* ------------------------------------------------------------------
   4.2 typography system
   ------------------------------------------------------------------ */
html,
body,
button,
input,
select,
textarea {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
}

body {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6,
.snx-title,
.snx-h2,
.snx-h3,
.snx-brand,
.snx-nav,
.snx-btn,
.snx-header-cta {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-style: normal;
}

.snx-title,
.snx-h2 {
  font-weight: 760;
}

.snx-h3 {
  font-weight: 700;
}

.snx-nav a,
.snx-login,
.snx-header-cta,
.snx-btn {
  font-weight: 650;
}

/* Prevent browser/theme defaults from reintroducing serif typography. */
.entry-content,
.wp-site-blocks,
.site-main,
.woocommerce,
.snexus-registration-portal {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
}


/* ------------------------------------------------------------------
   4.3 unified marketing layout
   ------------------------------------------------------------------ */
:root {
  --snx-marketing-width: 1220px;
  --snx-marketing-gutter: 48px;
  --snx-marketing-top: clamp(72px, 7.5vw, 108px);
  --snx-marketing-bottom: clamp(76px, 8vw, 118px);
}

/* The first content edge is identical on homepage and subpages. */
.snx-hero .snx-shell,
.snx-hero .snx-shell-wide,
.snx-subhero .snx-shell {
  width: min(var(--snx-marketing-width), calc(100% - var(--snx-marketing-gutter)));
  margin-inline: auto;
}

.snx-hero,
.snx-subhero {
  padding-top: var(--snx-marketing-top);
  padding-bottom: var(--snx-marketing-bottom);
}

/* Never wrap known SNEXUS marketing pages in WordPress' generic page box. */
body.snx-marketing-page .snx-standard-page,
body.snx-marketing-page main.snx-standard-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Suppress any duplicate title from WP/plugins. */
body.snx-marketing-page .snx-standard-page__title,
body.snx-marketing-page .entry-title,
body.snx-marketing-page .page-title {
  display: none !important;
}

/* A reliable, visible submenu even if browser focus is used instead of hover. */
.snx-nav > li.menu-item-has-children:hover > .sub-menu,
.snx-nav > li.menu-item-has-children:focus-within > .sub-menu,
.snx-nav > li.is-sub-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media (max-width: 782px) {
  :root {
    --snx-marketing-gutter: 28px;
    --snx-marketing-top: 54px;
    --snx-marketing-bottom: 70px;
  }
}


/* ------------------------------------------------------------------
   4.3.1 WooCommerce login / auth polish
   ------------------------------------------------------------------ */
body.woocommerce-account:not(.logged-in) .snx-woocommerce-shell {
  width: min(560px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(52px, 7vw, 88px) 0 clamp(64px, 9vw, 110px);
}

body.woocommerce-account:not(.logged-in) .woocommerce {
  width: 100%;
  max-width: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce h2,
body.woocommerce-account:not(.logged-in) .snx-standard-page__title {
  margin: 0 0 22px;
  color: var(--snx-navy-brand);
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  font-weight: 760;
  text-align: center;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
  margin: 0;
  padding: clamp(26px, 4vw, 34px);
  border: 1px solid var(--snx-border);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 56px rgba(17,24,39,.08);
}

body.woocommerce-account:not(.logged-in) .woocommerce .form-row {
  margin: 0 0 18px;
}

body.woocommerce-account:not(.logged-in) .woocommerce label {
  display: inline-block;
  margin: 0 0 9px;
  color: var(--snx-navy-brand);
  font-size: .95rem;
  font-weight: 650;
}

body.woocommerce-account:not(.logged-in) .woocommerce input.input-text,
body.woocommerce-account:not(.logged-in) .woocommerce input[type="text"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="email"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="password"] {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid var(--snx-border);
  border-radius: 12px;
  background: #fff;
  color: var(--snx-text);
  font-size: 1rem;
  box-shadow: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce input:focus {
  outline: none;
  border-color: rgba(249,115,22,.55);
  box-shadow: 0 0 0 4px rgba(249,115,22,.12);
}

body.woocommerce-account:not(.logged-in) .woocommerce .show-password-input {
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-button,
body.woocommerce-account:not(.logged-in) .woocommerce button.button,
body.woocommerce-account:not(.logged-in) .woocommerce input.button {
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid var(--snx-orange);
  border-radius: 10px;
  background: var(--snx-orange);
  color: #fff;
  font-size: .95rem;
  font-weight: 740;
  line-height: 1;
  box-shadow: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-button:hover,
body.woocommerce-account:not(.logged-in) .woocommerce button.button:hover,
body.woocommerce-account:not(.logged-in) .woocommerce input.button:hover {
  background: var(--snx-orange-2);
  border-color: var(--snx-orange-2);
  color: #fff;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 14px;
  color: var(--snx-muted);
  font-size: .94rem;
  font-weight: 500;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme input,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register__rememberme input {
  margin: 0;
}

body.woocommerce-account:not(.logged-in) .woocommerce .lost_password,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword {
  margin: 12px 0 0;
  text-align: left;
}

body.woocommerce-account:not(.logged-in) .woocommerce .lost_password a,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a {
  color: var(--snx-orange);
  text-decoration: none;
  font-weight: 650;
}

body.woocommerce-account:not(.logged-in) .woocommerce .lost_password a:hover,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a:hover {
  text-decoration: underline;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login .clear,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register .clear {
  display: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-notices-wrapper {
  margin-bottom: 16px;
}

body.woocommerce-account:not(.logged-in) .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce-info,
body.woocommerce-account:not(.logged-in) .woocommerce-message {
  margin: 0 0 16px;
  padding: 14px 16px 14px 18px;
  border: 1px solid var(--snx-border);
  border-left: 4px solid var(--snx-orange);
  border-radius: 14px;
  background: #fff;
}

@media (max-width: 640px) {
  body.woocommerce-account:not(.logged-in) .snx-woocommerce-shell {
    width: min(100% - 24px, 560px);
    padding-top: 36px;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme,
  body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register__rememberme {
    display: flex;
    margin: 14px 0 0;
  }
}


/* ------------------------------------------------------------------
   4.3.2 tighter WooCommerce login card
   ------------------------------------------------------------------ */
body.woocommerce-account:not(.logged-in) .snx-woocommerce-shell {
  width: min(680px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  padding: clamp(44px, 6vw, 72px) 0 clamp(72px, 9vw, 110px) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .snx-standard-page__title {
  margin: 0 0 26px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: clamp(24px, 4vw, 32px) !important;
  border-radius: 22px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .form-row {
  margin: 0 0 16px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce input.input-text,
body.woocommerce-account:not(.logged-in) .woocommerce input[type="text"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="email"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="password"] {
  min-height: 50px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-button,
body.woocommerce-account:not(.logged-in) .woocommerce button.button,
body.woocommerce-account:not(.logged-in) .woocommerce input.button {
  min-width: 120px;
}

body.woocommerce-account:not(.logged-in) .woocommerce .lost_password,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword {
  margin-top: 14px !important;
}

body.woocommerce-account:not(.logged-in) .snx-footer {
  margin-top: 10px;
}

@media (max-width: 640px) {
  body.woocommerce-account:not(.logged-in) .snx-woocommerce-shell {
    width: min(100% - 20px, 680px) !important;
    padding-top: 28px !important;
    padding-bottom: 64px !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce form.login,
  body.woocommerce-account:not(.logged-in) .woocommerce form.register,
  body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
  body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
    padding: 20px !important;
  }
}

/* ------------------------------------------------------------------
   4.3.3 footer logo fix
   ------------------------------------------------------------------ */
.snx-footer .snx-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 !important;
  color: var(--snx-navy-brand) !important;
  text-decoration: none !important;
  font-size: 1.24rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

.snx-footer .snx-brand__mark {
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 31px !important;
  width: 31px !important;
  height: 26px !important;
  margin: 0 !important;
}

.snx-footer .snx-brand__mark::before,
.snx-footer .snx-brand__mark::after {
  display: block !important;
}

.snx-footer a:not(.snx-brand) {
  display: block;
}


/* ------------------------------------------------------------------
   4.3.4 portal refinement update
   ------------------------------------------------------------------ */
body.woocommerce-account .snexus-registration-portal{
  width:min(1240px,calc(100% - 48px)) !important;
  max-width:1240px !important;
  margin:28px auto 64px !important;
  padding:0 !important;
  overflow:visible !important;
}

body.woocommerce-account .snx-standard-page,
body.woocommerce-account .snx-woocommerce-shell{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}

.snexus-registration-portal{
  --snx-portal-soft:#F7F9FC;
  --snx-portal-soft-2:#FBFCFE;
  --snx-portal-border:#E6E9EF;
  --snx-portal-accent:#EEF3FF;
}

/* Top bar / sub navigation */
.snexus-registration-portal .snx-portal-topbar{
  align-items:center;
  gap:18px;
  padding:16px 18px;
  margin:0 0 28px;
  border:1px solid var(--snx-portal-border);
  border-radius:18px;
  background:var(--snx-portal-soft-2);
}
.snexus-registration-portal .snx-portal-brand{
  align-items:center;
  gap:0;
}
.snexus-registration-portal .snx-portal-brand span{
  display:none !important;
}
.snexus-registration-portal .snx-portal-brand small{
  color:var(--snx-navy-brand);
  font-size:1rem;
  font-weight:760;
  letter-spacing:-.02em;
}
.snexus-registration-portal .snx-portal-nav{
  gap:8px;
  flex-wrap:wrap;
}
.snexus-registration-portal .snx-portal-nav a{
  padding:.72em .95em;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--snx-muted);
  font-size:.93em;
  font-weight:650;
  line-height:1.1;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.snexus-registration-portal .snx-portal-nav a:hover{
  color:var(--snx-navy-brand);
  background:#fff !important;
  border-color:var(--snx-portal-border);
}
.snexus-registration-portal .snx-portal-nav a.is-active{
  color:var(--snx-navy-brand);
  background:#fff !important;
  border-color:var(--snx-portal-border);
  border-bottom-color:var(--snx-portal-border);
  box-shadow:0 8px 22px rgba(17,24,39,.05);
}
.snexus-registration-portal .snx-portal-logout{
  margin-left:auto;
  padding:.72em .95em;
  border:1px solid transparent;
  border-radius:12px;
  font-size:.9em;
  font-weight:600;
}
.snexus-registration-portal .snx-portal-logout:hover{
  background:#fff;
  border-color:var(--snx-portal-border);
}

/* Content area */
.snexus-registration-portal .snx-portal-main{
  padding:6px 0 0;
}
.snexus-registration-portal .snx-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:24px;
  margin:0 0 28px;
  padding:4px 0 24px;
  border-bottom:1px solid var(--snx-portal-border);
}
.snexus-registration-portal .snx-hero > div:first-child{
  max-width:640px;
}
.snexus-registration-portal .snx-hero h1{
  margin:.08em 0 .14em !important;
  color:var(--snx-navy-brand) !important;
  font-size:clamp(2.2rem,4.2vw,3.2rem) !important;
  font-weight:760 !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
}
.snexus-registration-portal .snx-hero p{
  max-width:48ch;
  color:var(--snx-muted) !important;
}
.snexus-registration-portal .snx-eyebrow{
  margin-bottom:8px;
  color:#8A94A6;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.02em;
}
.snexus-registration-portal .snx-hero-actions{
  justify-content:flex-end;
  align-items:center;
}

/* Buttons / status */
.snexus-registration-portal .snx-status{
  padding:.55em .8em;
  border-radius:999px;
  font-size:.8em;
}
.snexus-registration-portal .snx-btn{
  border-radius:12px;
  padding:.82em 1.08em !important;
  min-height:46px;
  box-shadow:none !important;
}
.snexus-registration-portal .snx-btn-secondary,
.snexus-registration-portal .snx-btn-light{
  background:#fff !important;
}

/* Upgrade banner */
.snexus-registration-portal .snx-upgrade-banner{
  align-items:center;
  gap:18px;
  padding:20px 22px;
  margin:0 0 22px;
  background:linear-gradient(180deg,#FBFCFF 0%,#F7F9FD 100%);
  border:1px solid var(--snx-portal-border);
  border-left:1px solid var(--snx-portal-border);
  border-radius:18px;
}
.snexus-registration-portal .snx-upgrade-banner div{
  gap:4px;
}
.snexus-registration-portal .snx-upgrade-banner strong{
  color:var(--snx-navy-brand);
  font-weight:730;
}
.snexus-registration-portal .snx-upgrade-banner span{
  font-size:.92em;
}

/* KPI cards */
.snexus-registration-portal .snx-kpi-grid{
  gap:16px !important;
  margin:0 0 20px !important;
}
.snexus-registration-portal .snx-kpi{
  background:#fff;
  border:1px solid var(--snx-portal-border);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 1px 2px rgba(16,24,40,.02);
}
.snexus-registration-portal .snx-kpi > span{
  margin-bottom:10px;
  font-size:.84em;
}
.snexus-registration-portal .snx-kpi > strong{
  color:var(--snx-navy-brand);
  font-size:2.05rem;
  font-weight:760;
  line-height:1.02;
  letter-spacing:-.03em;
}
.snexus-registration-portal .snx-kpi > small{
  margin-top:8px;
  font-size:.84em;
}
.snexus-registration-portal .snx-kpi:first-child{
  background:linear-gradient(180deg,#FFF8F3 0%,#FFFFFF 100%);
  border-color:#F1DDCD;
}
.snexus-registration-portal .snx-kpi:first-child > strong{
  font-size:2.3rem;
}

/* Dashboard cards */
.snexus-registration-portal .snx-dashboard-grid{
  gap:20px !important;
  margin:20px 0 0 !important;
}
.snexus-registration-portal .snx-card{
  background:#fff;
  border:1px solid var(--snx-portal-border);
  border-radius:20px;
  padding:22px;
  box-shadow:0 1px 2px rgba(16,24,40,.02);
}
.snexus-registration-portal .snx-card-head,
.snexus-registration-portal .snx-section-head{
  margin-bottom:18px;
}
.snexus-registration-portal .snx-card-head h2,
.snexus-registration-portal .snx-section-head h2{
  color:var(--snx-navy-brand) !important;
  font-size:1.35rem !important;
  font-weight:740 !important;
  line-height:1.1 !important;
  letter-spacing:-.025em !important;
}

/* Contract and price blocks appear calmer */
.snexus-registration-portal .snx-cost-rows > div,
.snexus-registration-portal .snx-module-list > div,
.snexus-registration-portal .snx-license-legend > div{
  padding:.82em 0;
}

@media (max-width: 1024px){
  body.woocommerce-account .snexus-registration-portal{
    width:min(100% - 32px,1240px) !important;
  }
  .snexus-registration-portal .snx-hero{
    grid-template-columns:1fr;
    align-items:flex-start;
    gap:18px;
  }
  .snexus-registration-portal .snx-hero-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 820px){
  .snexus-registration-portal .snx-portal-topbar{
    padding:14px;
    gap:14px;
  }
  .snexus-registration-portal .snx-portal-brand{
    width:100%;
  }
  .snexus-registration-portal .snx-portal-nav{
    width:100%;
    overflow:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
  }
  .snexus-registration-portal .snx-portal-logout{
    margin-left:0;
  }
}

@media (max-width: 620px){
  body.woocommerce-account .snexus-registration-portal{
    width:calc(100% - 20px) !important;
    margin:18px auto 40px !important;
  }
  .snexus-registration-portal .snx-portal-main{
    padding-top:0;
  }
  .snexus-registration-portal .snx-portal-topbar{
    margin-bottom:22px;
    border-radius:16px;
  }
  .snexus-registration-portal .snx-hero{
    padding-bottom:20px;
    margin-bottom:22px;
  }
  .snexus-registration-portal .snx-kpi:first-child > strong,
  .snexus-registration-portal .snx-kpi > strong{
    font-size:1.9rem;
  }
  .snexus-registration-portal .snx-upgrade-banner,
  .snexus-registration-portal .snx-card,
  .snexus-registration-portal .snx-kpi{
    border-radius:16px;
  }
}


/* ------------------------------------------------------------------
   4.3.5 responsive header alignment
   ------------------------------------------------------------------ */
@media (max-width:1080px) {
  /*
   * Desktop uses logo | navigation | actions.
   * Once navigation is hidden, switch to a real two-column layout:
   * logo | actions.
   */
  .snx-header__inner {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .snx-brand {
    grid-column: 1;
    justify-self: start;
  }

  .snx-nav-wrap {
    grid-column: 1 / -1;
  }

  .snx-header-actions {
    grid-column: 2;
    justify-self: end;
    justify-content: flex-end;
    margin-left: auto;
  }

  .snx-menu-toggle {
    flex: 0 0 42px;
  }
}

@media (max-width:782px) {
  .snx-header__inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .snx-header-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
  }

  /*
   * Logged-in users keep "Kundenportal" beside the hamburger.
   * For guests we keep the compact CTA and hide only the plain
   * "Anmelden" text to avoid overcrowding.
   */
  .snx-login--portal {
    display: inline-flex !important;
    align-items: center;
    min-height: 40px;
    padding: 0 4px;
    font-size: .86rem;
  }

  .snx-login--auth {
    display: none !important;
  }

  .snx-header-cta {
    display: inline-flex;
  }

  .snx-menu-toggle {
    display: inline-grid !important;
    place-items: center;
    margin-left: 0;
  }
}

@media (max-width:520px) {
  .snx-header__inner {
    width: calc(100% - 20px);
    gap: 8px;
  }

  .snx-brand {
    font-size: 1rem;
    gap: 7px;
  }

  .snx-brand__mark {
    transform: scale(.82);
    transform-origin: left center;
  }

  .snx-login--portal {
    font-size: .8rem;
    padding-inline: 2px;
  }

  .snx-header-cta {
    display: none;
  }

  .snx-menu-toggle {
    width: 40px;
    height: 40px;
  }
}


/* ==================================================================
   5.0.5 – registration page heading + alignment
   ================================================================== */

/*
 * Registration is a functional flow, not a marketing hero. Align the
 * page heading with the wizard and use the calmer SNEXUS typography.
 */
.snx-standard-page--registration {
  width: min(920px, calc(100% - 40px));
  max-width: 920px;
  padding-top: clamp(58px, 6vw, 82px);
  padding-bottom: clamp(72px, 8vw, 108px);
}

.snx-standard-page--registration .snx-standard-page__title {
  margin: 0 0 28px;
  color: var(--snx-navy-brand);
  font-size: clamp(2.45rem, 4.2vw, 3.35rem);
  line-height: 1.05;
  letter-spacing: 0;
  font-weight: 720;
}

.snx-standard-page--registration .snexus-wizard {
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

@media (max-width: 650px) {
  .snx-standard-page--registration {
    width: min(100% - 28px, 920px);
    padding-top: 42px;
  }

  .snx-standard-page--registration .snx-standard-page__title {
    margin-bottom: 22px;
    font-size: clamp(2.05rem, 10vw, 2.65rem);
    line-height: 1.08;
  }

  .snx-standard-page--registration .snexus-wizard {
    margin: 0;
  }
}


/* ==================================================================
   5.0.6 – WooCommerce notice reset / password-reset message fix
   ==================================================================
   WooCommerce injects icon glyphs via ::before. After the SNEXUS card
   restyling those legacy glyphs could overlap the first characters of a
   notice (for example "Es wurde eine E-Mail ..."). Reset the legacy
   WooCommerce decoration completely and render a clean SNEXUS notice.
   ================================================================== */

body.woocommerce-account .woocommerce-notices-wrapper {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

/* Covers both logged-out account forms and normal Woo account notices. */
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-notice {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;

  margin: 0 0 16px !important;
  padding: 14px 16px !important;

  background: #fff !important;
  color: #344054 !important;

  border: 1px solid #dfe4ea !important;
  border-top: 1px solid #dfe4ea !important;
  border-right: 1px solid #dfe4ea !important;
  border-bottom: 1px solid #dfe4ea !important;
  border-left: 4px solid var(--snx-orange) !important;
  border-radius: 12px !important;

  box-shadow: none !important;
  outline: 0 !important;

  list-style: none !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
}

/* Remove the legacy WooCommerce icon font glyph entirely. */
body.woocommerce-account .woocommerce-error::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-notice::before,
body.woocommerce-account .woocommerce-error:before,
body.woocommerce-account .woocommerce-info:before,
body.woocommerce-account .woocommerce-message:before,
body.woocommerce-account .woocommerce-notice:before {
  content: none !important;
  display: none !important;
  position: static !important;
  font-family: inherit !important;
}

/* WooCommerce errors are often UL elements. Normalize their children. */
body.woocommerce-account ul.woocommerce-error,
body.woocommerce-account ul.woocommerce-info,
body.woocommerce-account ul.woocommerce-message {
  padding: 14px 16px !important;
}

body.woocommerce-account .woocommerce-error li,
body.woocommerce-account .woocommerce-info li,
body.woocommerce-account .woocommerce-message li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  color: inherit !important;
}

/* Semantic accents without introducing another icon. */
body.woocommerce-account .woocommerce-message {
  border-left-color: #16a34a !important;
}

body.woocommerce-account .woocommerce-info {
  border-left-color: var(--snx-orange) !important;
}

body.woocommerce-account .woocommerce-error {
  border-left-color: #dc2626 !important;
}

/* Links and buttons inside notices must stay readable and compact. */
body.woocommerce-account .woocommerce-error a,
body.woocommerce-account .woocommerce-info a,
body.woocommerce-account .woocommerce-message a {
  color: var(--snx-orange) !important;
  font-weight: 650 !important;
}

body.woocommerce-account .woocommerce-error a.button,
body.woocommerce-account .woocommerce-info a.button,
body.woocommerce-account .woocommerce-message a.button {
  float: none !important;
  display: inline-flex !important;
  margin: 10px 0 0 !important;
  min-height: 40px !important;
  align-items: center !important;
}

/* Specifically keep the logged-out lost-password confirmation calm. */
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-notices-wrapper
  + .woocommerce-form,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-notices-wrapper
  + p {
  margin-top: 0 !important;
}

@media (max-width: 640px) {
  body.woocommerce-account .woocommerce-error,
  body.woocommerce-account .woocommerce-info,
  body.woocommerce-account .woocommerce-message,
  body.woocommerce-account .woocommerce-notice {
    padding: 13px 14px !important;
    border-radius: 10px !important;
    font-size: 0.92rem !important;
  }
}

/* Legal links in the quiet footer baseline. */
.snx-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.snx-footer-legal{display:flex;align-items:center;gap:20px}
.snx-footer .snx-footer-legal a{display:inline-block;margin:0;color:#89909c}
@media(max-width:650px){.snx-footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.snx-footer-legal{flex-wrap:wrap;gap:16px}}


/* Legal pages: one heading, shared left edge and comfortable reading width. */
body:is(.page-id-860,.page-id-861) .snx-standard-page{
  width:min(1120px,calc(100% - 48px));
  padding:clamp(48px,6vw,76px) 0 clamp(64px,8vw,104px);
}
body:is(.page-id-860,.page-id-861) .snx-standard-page__title{
  margin-bottom:clamp(32px,4vw,48px);
}
body:is(.page-id-860,.page-id-861) .snx-legal-page{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0!important;
  padding:0!important;
}
body:is(.page-id-860,.page-id-861) .snx-legal-page > *{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body:is(.page-id-860,.page-id-861) .snx-legal-page h2{
  margin-top:2.25rem;
  margin-bottom:.8rem;
  font-size:clamp(1.3rem,2vw,1.55rem);
  line-height:1.25;
}
body:is(.page-id-860,.page-id-861) .snx-legal-page h2:first-child{margin-top:0}
body:is(.page-id-860,.page-id-861) .snx-legal-page p{
  margin-top:0;
  margin-bottom:1.1rem;
  color:#4f5d73;
  line-height:1.75;
}
body:is(.page-id-860,.page-id-861) .snx-legal-page a{
  color:var(--snx-orange);
  text-underline-offset:3px;
}
@media(max-width:650px){
  body:is(.page-id-860,.page-id-861) .snx-standard-page{width:calc(100% - 32px);padding-top:40px}
  body:is(.page-id-860,.page-id-861) .snx-standard-page__title{margin-bottom:30px}
}

/* Legal page titles and footer utility row: 2026-09-01 */
body:is(.page-id-860,.page-id-861) .snx-standard-page__title{
  max-width:850px;
  margin:0 0 32px;
  color:#172033;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.12;
  letter-spacing:0;
  font-weight:720;
}
.snx-footer-bottom{
  justify-content:flex-start;
  gap:24px;
}
.snx-footer-bottom > span{
  flex:0 0 auto;
}
.snx-footer-legal{
  position:relative;
  gap:18px;
}
.snx-footer-legal::before{
  content:"";
  width:1px;
  height:14px;
  margin-right:6px;
  background:var(--snx-border);
}
.snx-footer .snx-footer-legal a{
  margin:0;
  line-height:1.4;
}
@media(max-width:650px){
  body:is(.page-id-860,.page-id-861) .snx-standard-page__title{
    margin-bottom:26px;
    font-size:clamp(1.5rem,7vw,1.95rem);
    line-height:1.15;
  }
  .snx-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .snx-footer-legal{
    gap:16px;
  }
  .snx-footer-legal::before{
    display:none;
  }
}

/* English legal-page IDs */
body:is(.page-id-867,.page-id-868) .snx-standard-page{width:min(1120px,calc(100% - 48px));padding:clamp(48px,6vw,76px) 0 clamp(64px,8vw,104px)}
body:is(.page-id-867,.page-id-868) .snx-standard-page__title{max-width:850px;margin:0 0 32px;color:#172033;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;letter-spacing:0;font-weight:720}
body:is(.page-id-867,.page-id-868) .snx-legal-page{width:min(900px,100%)!important;max-width:900px!important;margin:0!important;padding:0!important}
body:is(.page-id-867,.page-id-868) .snx-legal-page>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
body:is(.page-id-867,.page-id-868) .snx-legal-page h2{margin-top:2.25rem;margin-bottom:.8rem;font-size:clamp(1.3rem,2vw,1.55rem);line-height:1.25}
body:is(.page-id-867,.page-id-868) .snx-legal-page h2:first-child{margin-top:0}
body:is(.page-id-867,.page-id-868) .snx-legal-page p{margin-top:0;margin-bottom:1.1rem;color:#4f5d73;line-height:1.75}
body:is(.page-id-867,.page-id-868) .snx-legal-page a{color:var(--snx-orange);text-underline-offset:3px}
@media(max-width:650px){body:is(.page-id-867,.page-id-868) .snx-standard-page{width:calc(100% - 32px);padding-top:40px}body:is(.page-id-867,.page-id-868) .snx-standard-page__title{margin-bottom:26px;font-size:clamp(1.5rem,7vw,1.95rem);line-height:1.15}}
