/*
Theme Name: SNEXUS Material
Description: Material/Google-inspiriertes SNEXUS Child Theme für Online LMS.
Author: SNEXUS
Template: online-lms
Version: 3.0.0
Requires PHP: 8.1
*/

:root{
 --snx-navy:#1A1A2E;
 --snx-navy-2:#26263F;
 --snx-orange:#F97316;
 --snx-orange-2:#FF6B35;
 --snx-blue:#EEF3FF;
 --snx-purple:#F3EEFF;
 --snx-green:#EAF8EF;
 --snx-warm:#FFF3EA;
 --snx-surface:#F7F8FC;
 --snx-surface-2:#F1F3F7;
 --snx-border:#E3E6EC;
 --snx-text:#1A1A2E;
 --snx-muted:#69707D;
 --snx-white:#fff;
 --snx-radius:28px;
 --snx-radius-sm:18px;
 --snx-shadow:0 14px 40px rgba(26,26,46,.07);
}
html,body{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%}
.snxm-page,.snxm-page *{min-width:0}
.snxm-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.snxm-shell-wide{width:min(1480px,calc(100% - 48px));margin-inline:auto}
.snxm-section{padding-block:clamp(84px,9vw,144px)}
.snxm-section--small{padding-block:clamp(58px,6vw,92px)}
.snxm-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 12px;border-radius:999px;background:var(--snx-warm);color:#A64B0B;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.snxm-title{margin:0;max-width:1100px;font-size:clamp(3.25rem,7vw,7.4rem);line-height:.94;letter-spacing:-.055em;font-weight:750}
.snxm-h2{margin:0;max-width:1000px;font-size:clamp(2.55rem,5vw,5.2rem);line-height:.99;letter-spacing:-.045em;font-weight:720}
.snxm-h3{margin:0;font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.04;letter-spacing:-.025em}
.snxm-lead{max-width:760px;margin:25px 0 0;color:var(--snx-muted);font-size:clamp(1.12rem,1.7vw,1.35rem);line-height:1.68}
.snxm-dark{background:var(--snx-navy);color:#fff}
.snxm-dark .snxm-lead{color:rgba(255,255,255,.72)}
.snxm-soft{background:var(--snx-surface)}
.snxm-warm{background:var(--snx-warm)}
.snxm-accent{color:var(--snx-orange)}

/* Material header */
.snxm-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--snx-border)}
.snxm-header__inner{width:min(1480px,calc(100% - 40px));min-height:76px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.snxm-brand{display:flex;align-items:center;gap:10px;color:var(--snx-navy)!important;text-decoration:none!important;font-weight:850;font-size:1.22rem;letter-spacing:-.03em}
.snxm-brand__mark{width:30px;height:30px;border-radius:10px 10px 10px 4px;background:linear-gradient(145deg,var(--snx-orange),var(--snx-orange-2))}
.snxm-nav{display:flex;justify-content:center;gap:clamp(18px,2.2vw,34px)}
.snxm-nav a{color:var(--snx-navy);text-decoration:none;font-weight:650;font-size:.95rem}
.snxm-nav a:hover{color:var(--snx-orange)}
.snxm-actions{display:flex;align-items:center;gap:12px}
.snxm-login{color:var(--snx-navy)!important;text-decoration:none!important;font-weight:680}
.snxm-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--snx-navy);color:#fff!important;text-decoration:none!important;font-weight:760}
.snxm-menu{display:none;width:44px;height:44px;border:1px solid var(--snx-border);border-radius:50%;background:#fff;color:var(--snx-navy)}
body.logged-in .snxm-only-guest{display:none!important}
body:not(.logged-in) .snxm-only-user{display:none!important}

/* Hero */
.snxm-hero{padding-block:clamp(66px,8vw,120px);background:linear-gradient(180deg,#fff 0%,#F8F9FC 100%)}
.snxm-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:clamp(40px,6vw,84px);align-items:center}
.snxm-hero .snxm-title{font-size:clamp(4rem,7.8vw,8.2rem)}
.snxm-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.snxm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:var(--snx-navy);color:#fff!important;text-decoration:none!important;font-weight:760;transition:.16s ease}
.snxm-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(26,26,46,.15)}
.snxm-btn--orange{background:var(--snx-orange)}
.snxm-btn--ghost{background:#fff;color:var(--snx-navy)!important;border:1px solid var(--snx-border)}
.snxm-hero-visual{position:relative;min-height:610px;border-radius:36px;overflow:hidden;background:#ddd;box-shadow:var(--snx-shadow)}
.snxm-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.snxm-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,26,46,.58),transparent 52%)}
.snxm-floating{position:absolute;z-index:2;left:26px;right:26px;bottom:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.snxm-float-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 8px 26px rgba(26,26,46,.15)}
.snxm-float-card strong{display:block;font-size:1.55rem}
.snxm-float-card span{color:var(--snx-muted);font-size:.86rem}

/* Bento */
.snxm-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:54px}
.snxm-tile{padding:clamp(26px,3vw,42px);border-radius:var(--snx-radius);background:#fff;border:1px solid var(--snx-border);overflow:hidden}
.snxm-tile--navy{background:var(--snx-navy);color:#fff;border-color:transparent}
.snxm-tile--orange{background:var(--snx-orange);color:#fff;border-color:transparent}
.snxm-tile--blue{background:var(--snx-blue)}
.snxm-tile--purple{background:var(--snx-purple)}
.snxm-tile--green{background:var(--snx-green)}
.snxm-tile--warm{background:var(--snx-warm)}
.snxm-tile p{color:var(--snx-muted);line-height:1.65}
.snxm-tile--navy p,.snxm-tile--orange p{color:rgba(255,255,255,.75)}
.snxm-span-4{grid-column:span 4}
.snxm-span-5{grid-column:span 5}
.snxm-span-6{grid-column:span 6}
.snxm-span-7{grid-column:span 7}
.snxm-span-8{grid-column:span 8}
.snxm-span-12{grid-column:span 12}
.snxm-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:54px;border-radius:15px;background:rgba(249,115,22,.13);color:var(--snx-orange);font-weight:850}
.snxm-tile--navy .snxm-icon,.snxm-tile--orange .snxm-icon{background:rgba(255,255,255,.16);color:#fff}

/* Story photo sections */
.snxm-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;min-height:720px}
.snxm-story__photo{min-height:620px;background-size:cover;background-position:center}
.snxm-story__photo--coach{background-image:url("assets/images/coach-athlete.webp");background-position:center 40%}
.snxm-story__photo--parent{background-image:url("assets/images/parent-athlete.webp");background-position:center 38%}
.snxm-story__copy{display:flex;align-items:center;padding:clamp(52px,7vw,104px);background:#fff}
.snxm-story__copy--warm{background:var(--snx-warm)}
.snxm-story__inner{max-width:660px}

/* Steps */
.snxm-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:52px}
.snxm-step{padding:32px;border-radius:24px;background:#fff;border:1px solid var(--snx-border)}
.snxm-step__num{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:58px;border-radius:50%;background:var(--snx-navy);color:#fff;font-weight:800}
.snxm-step p{color:var(--snx-muted);line-height:1.6}

/* Product page feature rows */
.snxm-feature-row{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(40px,7vw,92px);align-items:center}
.snxm-feature-row--reverse{grid-template-columns:1.12fr .88fr}
.snxm-feature-row--reverse>:first-child{order:2}
.snxm-feature-panel{padding:clamp(32px,5vw,64px);border-radius:32px;background:var(--snx-surface)}
.snxm-feature-list{list-style:none;padding:0;margin:24px 0 0}
.snxm-feature-list li{padding:15px 0;border-bottom:1px solid var(--snx-border);font-weight:650}
.snxm-feature-list li::before{content:"✓";color:var(--snx-orange);margin-right:12px}

/* Pricing */
.snxm-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px}
.snxm-price-card{padding:34px;border-radius:28px;background:#fff;border:1px solid var(--snx-border)}
.snxm-price-card--best{background:var(--snx-navy);color:#fff}
.snxm-price{margin:18px 0 28px;font-size:clamp(3rem,5vw,4.8rem);line-height:1;font-weight:780}
.snxm-price small{font-size:.9rem;color:var(--snx-muted);font-weight:550}
.snxm-price-card--best small{color:rgba(255,255,255,.66)}

/* Trust/security */
.snxm-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:48px}
.snxm-trust-card{padding:24px;border-radius:22px;background:#fff;border:1px solid var(--snx-border)}
.snxm-trust-card strong{display:block;margin-bottom:8px;font-size:1.08rem}
.snxm-trust-card span{color:var(--snx-muted);font-size:.92rem;line-height:1.5}

/* CTA */
.snxm-final{position:relative;overflow:hidden;padding:clamp(54px,8vw,112px);border-radius:36px;background:var(--snx-navy);color:#fff}
.snxm-final::after{content:"";position:absolute;right:-90px;bottom:-130px;width:390px;height:390px;border-radius:50%;background:var(--snx-orange);opacity:.25}
.snxm-final h2{position:relative;z-index:1;margin:0;max-width:1000px;font-size:clamp(3.2rem,6vw,6.5rem);line-height:.96;letter-spacing:-.05em}
.snxm-final p,.snxm-final .snxm-buttons{position:relative;z-index:1}
.snxm-final p{color:rgba(255,255,255,.72)}

/* Footer */
.snxm-footer{padding:64px 0 28px;border-top:1px solid var(--snx-border)}
.snxm-footer-grid{width:min(1480px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.3fr repeat(3,.65fr);gap:48px}
.snxm-footer h4{margin:0 0 16px}
.snxm-footer a{display:block;margin:9px 0;color:var(--snx-muted);text-decoration:none}
.snxm-footer a:hover{color:var(--snx-orange)}
.snxm-footer-bottom{width:min(1480px,calc(100% - 48px));margin:42px auto 0;padding-top:22px;border-top:1px solid var(--snx-border);color:var(--snx-muted);font-size:.9rem}

/* Woo/account width */
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-inline:clamp(14px,3vw,42px)!important;overflow:clip!important}

/* Responsive */
@media(max-width:1100px){
 .snxm-nav{display:none}
 .snxm-menu{display:inline-grid;place-items:center}
 .snxm-header.is-open .snxm-nav{display:flex;position:absolute;top:76px;left:16px;right:16px;flex-direction:column;gap:0;padding:14px;border:1px solid var(--snx-border);border-radius:22px;background:#fff;box-shadow:var(--snx-shadow)}
 .snxm-header.is-open .snxm-nav a{padding:13px 10px}
 .snxm-hero-grid{grid-template-columns:1fr}
 .snxm-hero-visual{min-height:520px}
 .snxm-story{grid-template-columns:1fr}
 .snxm-price-grid{grid-template-columns:1fr 1fr}
 .snxm-trust{grid-template-columns:1fr 1fr}
 .snxm-feature-row,.snxm-feature-row--reverse{grid-template-columns:1fr}
 .snxm-feature-row--reverse>:first-child{order:initial}
 .snxm-footer-grid{grid-template-columns:1fr 1fr}
 .snxm-span-4,.snxm-span-5,.snxm-span-6,.snxm-span-7,.snxm-span-8{grid-column:span 6}
}
@media(max-width:782px){
 .snxm-shell,.snxm-shell-wide{width:min(100% - 28px,1480px)}
 .snxm-header__inner{min-height:68px;width:min(100% - 28px,1480px)}
 .snxm-header.is-open .snxm-nav{top:68px}
 .snxm-login{display:none}
 .snxm-cta{font-size:.87rem;padding:0 14px}
 .snxm-title{font-size:clamp(3.35rem,15vw,5.7rem)}
 .snxm-h2{font-size:clamp(2.55rem,12vw,4.4rem)}
 .snxm-hero-visual{min-height:420px}
 .snxm-floating{grid-template-columns:1fr;left:16px;right:16px;bottom:16px}
 .snxm-float-card:nth-child(n+2){display:none}
 .snxm-span-4,.snxm-span-5,.snxm-span-6,.snxm-span-7,.snxm-span-8,.snxm-span-12{grid-column:span 12}
 .snxm-steps,.snxm-price-grid,.snxm-trust,.snxm-footer-grid{grid-template-columns:1fr}
 .snxm-story__photo{min-height:430px}
 .snxm-story__copy{padding:54px 22px}
 .snxm-buttons{flex-direction:column}
 .snxm-btn{width:100%}
 .snxm-final{padding:48px 22px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
