/* Ticsenn UI : sections de vitrine (accueil et pages de présentation), d'après la maquette Router.
   Grille à filets, fonds brumeux, panneaux « terminal », marquee de marques, appel final sur symbole flouté.
   Les couleurs et polices reprennent les variables du kit (--tc-*). */
:root{--tc-frame:#D5DAE0;--tc-term:#111316;--tc-term-line:#23272D}

/* Sections Ticsenn : pas de marge intérieure ni d'espacement par défaut (chaque bloc fixe les siens dans Elementor) */
.tc-sec.e-con,.tc-sec .e-con{--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px}
.tc-sec.elementor-element,.tc-sec .elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
.tc-sec .elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- Grille à filets (cases partagées, repères d'angle) ---------- */
.tc-grid{position:relative;border-top:1px solid var(--tc-frame);border-left:1px solid var(--tc-frame)}
.tc-grid .tc-c{border-right:1px solid var(--tc-frame);border-bottom:1px solid var(--tc-frame);background-color:#fff}
.tc-grid::before,.tc-grid::after{content:'';position:absolute;width:9px;height:9px;pointer-events:none;z-index:3}
.tc-grid::before{left:-5px;top:-5px;border-left:1px solid var(--tc-ink);border-top:1px solid var(--tc-ink)}
.tc-grid::after{right:-5px;bottom:-5px;border-right:1px solid var(--tc-ink);border-bottom:1px solid var(--tc-ink)}
.tc-grid .tc-c.tc-haze,.tc-grid .tc-c.tc-tex,.tc-grid .tc-c.tc-dark{background-color:transparent}

/* Onglets numérotés « 01 / 02 / 03 » */
.tc-tab .elementor-heading-title{display:flex;align-items:center;gap:14px}
.tc-num{font-family:var(--tc-mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--tc-muted)}
.tc-tab.is-on{box-shadow:inset 0 2px 0 var(--tc-cyan)}
.tc-tab.is-on .tc-num{color:var(--tc-cyan)}

/* Libellés mono */
.tc-label p,.tc-label{font-family:var(--tc-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tc-muted);margin:0}
.tc-label b{color:var(--tc-ink);font-weight:500}
.tc-arrow a,a.tc-arrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--tc-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tc-ink);text-decoration:none}
.tc-arrow a::after,a.tc-arrow::after{content:'→';transition:transform .2s ease}
.tc-arrow a:hover::after,a.tc-arrow:hover::after{transform:translateX(4px)}
.tc-arrow a:hover,a.tc-arrow:hover{color:var(--tc-cyan)}
.tc-arrow p{margin:0}

/* ---------- Fonds brumeux (effet photo floue) ---------- */
.tc-haze{position:relative;overflow:hidden;isolation:isolate;background-color:#DCE3E9;background-image:radial-gradient(70% 60% at 22% 18%,rgba(255,255,255,.92),rgba(255,255,255,0) 70%),radial-gradient(50% 55% at 88% 26%,rgba(2,129,188,.24),rgba(2,129,188,0) 72%),radial-gradient(45% 45% at 72% 92%,rgba(202,13,115,.12),rgba(202,13,115,0) 72%),radial-gradient(55% 55% at 4% 96%,rgba(82,144,50,.12),rgba(82,144,50,0) 72%),linear-gradient(160deg,#EEF2F5 0%,#C9D3DC 100%)}
.tc-haze--magenta{background-image:radial-gradient(70% 60% at 25% 18%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%),radial-gradient(55% 55% at 85% 30%,rgba(202,13,115,.24),rgba(202,13,115,0) 72%),radial-gradient(45% 45% at 15% 95%,rgba(2,129,188,.14),rgba(2,129,188,0) 72%),linear-gradient(160deg,#F3EEF1 0%,#D7C9D2 100%)}
.tc-haze--green{background-image:radial-gradient(70% 60% at 25% 18%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%),radial-gradient(55% 55% at 85% 30%,rgba(82,144,50,.26),rgba(82,144,50,0) 72%),radial-gradient(45% 45% at 15% 95%,rgba(2,129,188,.14),rgba(2,129,188,0) 72%),linear-gradient(160deg,#EFF3EE 0%,#CDD7C9 100%)}
.tc-haze::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.tc-haze>*{position:relative;z-index:1}
/* Hero : brume gris-bleu plus dense, centre éclairci pour la lisibilité du titre */
.tc-hero.tc-haze{background-image:radial-gradient(55% 45% at 50% 36%,rgba(255,255,255,.88),rgba(255,255,255,0) 72%),radial-gradient(40% 50% at 10% 18%,rgba(2,129,188,.24),rgba(2,129,188,0) 70%),radial-gradient(38% 45% at 92% 22%,rgba(202,13,115,.12),rgba(202,13,115,0) 70%),radial-gradient(50% 50% at 86% 88%,rgba(2,129,188,.2),rgba(2,129,188,0) 70%),radial-gradient(45% 45% at 8% 92%,rgba(82,144,50,.14),rgba(82,144,50,0) 70%),linear-gradient(180deg,#CCD6DE 0%,#AFBECB 62%,#D6DEE5 100%)}
/* Visuels d'univers : brume plus soutenue pour faire ressortir le pictogramme blanc */
.tc-vis.tc-haze{background-image:radial-gradient(60% 55% at 25% 20%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%),radial-gradient(55% 60% at 85% 30%,rgba(2,129,188,.5),rgba(2,129,188,0) 72%),radial-gradient(50% 50% at 70% 95%,rgba(202,13,115,.2),rgba(202,13,115,0) 72%),linear-gradient(160deg,#C4CFD8 0%,#8FA2B2 100%)}
.tc-vis.tc-haze--magenta{background-image:radial-gradient(60% 55% at 25% 20%,rgba(255,255,255,.45),rgba(255,255,255,0) 70%),radial-gradient(55% 60% at 85% 30%,rgba(202,13,115,.5),rgba(202,13,115,0) 72%),radial-gradient(50% 50% at 20% 95%,rgba(2,129,188,.22),rgba(2,129,188,0) 72%),linear-gradient(160deg,#D3C5CE 0%,#A1879A 100%)}
.tc-vis.tc-haze--green{background-image:radial-gradient(60% 55% at 25% 20%,rgba(255,255,255,.45),rgba(255,255,255,0) 70%),radial-gradient(55% 60% at 85% 30%,rgba(82,144,50,.55),rgba(82,144,50,0) 72%),radial-gradient(50% 50% at 20% 95%,rgba(2,129,188,.2),rgba(2,129,188,0) 72%),linear-gradient(160deg,#CAD4C5 0%,#8FA087 100%)}

/* ---------- Hero ---------- */
.tc-hero{position:relative;overflow:hidden;isolation:isolate}
.tc-hero::before{content:'';position:absolute;top:auto;left:0;right:0;bottom:0;height:140px;opacity:1;mix-blend-mode:normal;z-index:1;pointer-events:none;background:linear-gradient(rgba(255,255,255,0),#fff)}
.tc-abs{position:absolute!important;inset:0;width:100%!important;max-width:none!important;margin:0!important;z-index:0;pointer-events:none}
.tc-front{position:relative;z-index:2}
.tc-deco{position:absolute;inset:0}
.tc-net{position:absolute;inset:0;width:100%;height:100%}
.tc-net path,.tc-net line{fill:none;stroke:rgba(255,255,255,.95);stroke-width:1.2;stroke-dasharray:2 6}
.tc-net circle{fill:#fff}
.tc-net .p{animation:tc-pulse 3.4s ease-in-out infinite}
.tc-net .p2{animation-delay:1.1s}
.tc-net .p3{animation-delay:2.2s}
.tc-giant{position:absolute;left:50%;bottom:-.19em;transform:translateX(-50%);font-family:'Inter Tight',sans-serif;font-weight:600;font-size:clamp(150px,27vw,470px);line-height:1;letter-spacing:-.055em;color:rgba(255,255,255,.9);filter:blur(7px);white-space:nowrap;text-shadow:0 0 50px rgba(255,255,255,.7)}
@keyframes tc-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes tc-blink{50%{opacity:0}}

/* ---------- Panneau « terminal » ---------- */
.tc-term{width:100%;max-width:540px;margin:0 auto;background:var(--tc-term);color:#C9CED5;font-family:var(--tc-mono);font-size:12.5px;line-height:1.5;border:1px solid var(--tc-term-line);box-shadow:0 40px 70px -35px rgba(14,16,19,.6)}
.tc-term__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--tc-term-line);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#8A9099}
.tc-term__bar b{color:#E6E9ED;font-weight:500}
.tc-live{display:inline-flex;align-items:center;gap:7px;color:#9BD27F}
.tc-live::before{content:'';width:6px;height:6px;border-radius:50%;background:#7CC55A;box-shadow:0 0 8px #7CC55A;animation:tc-pulse 2.2s ease-in-out infinite}
.tc-term__rows{padding:6px 0}
.tc-term__row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px 16px}
.tc-term__row:nth-child(odd){background:rgba(255,255,255,.025)}
.tc-term__ref{color:#6F7680}
.tc-term__name{color:#E6E9ED;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-term__qty{color:#4FB3E6;text-align:right}
.tc-term__ok{color:#9BD27F;text-align:right}
.tc-term__wait{color:#F0B95A;text-align:right}
.tc-term__foot{padding:12px 16px 14px;border-top:1px solid var(--tc-term-line);color:#8A9099}
.tc-term__foot b{color:#4FB3E6;font-weight:500}
.tc-caret{display:inline-block;width:7px;height:13px;margin-left:4px;vertical-align:-2px;background:#C9CED5;animation:tc-blink 1.05s steps(1) infinite}
@media (max-width:767px){.tc-term{font-size:11.5px}.tc-term__row{grid-template-columns:58px minmax(0,1fr) auto;gap:10px;padding:8px 12px}}

/* Recherche en version « copier » */
.tc-search.tc-search--mono{border-color:var(--tc-line);background:var(--tc-bg)}
.tc-search.tc-search--mono input[type=search]{font-family:var(--tc-mono);font-size:14px}

/* ---------- Marquee de marques ---------- */
.tc-brands{overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.tc-brands__track{display:inline-flex;align-items:center;gap:68px;padding:28px 0 28px 68px;animation:tc-ticker 70s linear infinite}
.tc-brands a{display:inline-block;font-family:'Inter Tight',sans-serif;font-size:23px;font-weight:600;letter-spacing:-.025em;color:#8E949C;text-decoration:none;transition:color .2s ease}
.tc-brands a:hover{color:var(--tc-ink)}
.tc-brands:hover .tc-brands__track{animation-play-state:paused}

/* ---------- Cases univers ---------- */
.tc-uni{text-decoration:none;color:inherit;transition:background-color .25s ease}
.tc-uni .elementor-heading-title,.tc-uni p{transition:color .25s ease}
.tc-uni:hover{background-color:var(--tc-dark)!important}
.tc-uni:hover .elementor-heading-title{color:#fff!important}
.tc-uni:hover p{color:#9AA1AB!important}
.tc-uni:hover .tc-arrow p,.tc-uni:hover .tc-arrow span{color:var(--tc-cyan-dark)!important}
.tc-vis{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.tc-vis svg{position:relative;z-index:2;width:58px;height:58px;fill:none;stroke:#fff;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 14px rgba(14,16,19,.28));transition:transform .4s cubic-bezier(.16,1,.3,1)}
.tc-uni:hover .tc-vis svg{transform:scale(1.08)}
.tc-vis .tc-num{position:absolute;left:14px;top:12px;z-index:2;color:rgba(14,16,19,.55)}
@media (max-width:767px){.tc-vis{aspect-ratio:12/5}.tc-vis svg{width:46px;height:46px}}
.tc-subs p{font-size:13.5px;line-height:1.5;color:var(--tc-muted);margin:0}
.tc-dark{background:var(--tc-dark)!important;color:#fff}
.tc-dark .elementor-heading-title{color:#fff}
.tc-dark p{color:#9AA1AB}
.tc-dark .tc-arrow span,.tc-dark .tc-arrow p{color:var(--tc-cyan-dark)}
.tc-dark:hover{background:#000!important}

/* Texte « arrow » sans lien (case entière cliquable) */
.tc-arrow span{display:inline-flex;align-items:center;gap:8px;font-family:var(--tc-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tc-cyan)}
.tc-arrow span::after{content:'→';transition:transform .2s ease}
.tc-uni:hover .tc-arrow span::after,.tc-dark:hover .tc-arrow span::after{transform:translateX(4px)}

/* ---------- Cartes texturées ---------- */
.tc-tex{position:relative;overflow:hidden;isolation:isolate;color:#fff}
.tc-tex--cyan{background:radial-gradient(70% 90% at 82% 8%,rgba(79,179,230,.55),rgba(79,179,230,0) 62%),radial-gradient(60% 70% at 8% 100%,rgba(2,97,143,.85),rgba(2,97,143,0) 70%),linear-gradient(135deg,#0B2E3F 0%,#0F4A66 52%,#0A1F2B 100%)}
.tc-tex--magenta{background:radial-gradient(70% 90% at 85% 10%,rgba(240,120,90,.45),rgba(240,120,90,0) 62%),radial-gradient(60% 70% at 6% 100%,rgba(202,13,115,.75),rgba(202,13,115,0) 70%),linear-gradient(135deg,#3B0F25 0%,#6E1840 50%,#2A0B1A 100%)}
.tc-tex::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.28;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.tc-tex>*{position:relative;z-index:1}
.tc-tex .tc-abs{z-index:0}
.tc-curves{position:absolute;inset:0;width:100%;height:100%}
.tc-curves path{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1}
.tc-curves circle{fill:rgba(255,255,255,.55)}
.tc-tex .elementor-heading-title{color:#fff!important}
.tc-tex p{color:rgba(255,255,255,.8)}
.tc-tex .tc-arrow a,.tc-tex a.tc-arrow{color:#fff}
.tc-tex .tc-arrow a:hover{color:var(--tc-cyan-dark)}

/* ---------- Étapes ---------- */
.tc-steps{list-style:none;margin:0;padding:0}
.tc-steps li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:18px 0;border-top:1px solid var(--tc-line)}
.tc-steps li:last-child{border-bottom:1px solid var(--tc-line)}
.tc-steps i{grid-row:span 2;font-style:normal;font-family:var(--tc-mono);font-size:12px;font-weight:500;color:var(--tc-cyan);padding-top:4px}
.tc-steps b{font-size:17px;font-weight:600;color:var(--tc-ink)}
.tc-steps span{font-size:15px;line-height:1.55;color:var(--tc-ink2)}

/* ---------- Coordonnées ---------- */
.tc-coord p{margin:0;font-size:17px;line-height:1.5;color:var(--tc-ink)}
.tc-coord a{color:var(--tc-ink);text-decoration:none}
.tc-coord a:hover{color:var(--tc-cyan)}

/* ---------- Appel final sur symbole flouté ---------- */
.tc-cta{position:relative;overflow:hidden;isolation:isolate}
.tc-blob{position:absolute;left:50%;top:50%;width:min(760px,118vw);transform:translate(-50%,-50%);filter:blur(34px) saturate(1.15);opacity:.78;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
/* Cartes produits du carrousel ShopLentor dans les sections Ticsenn */
.tc-sec .ht-product.mb-30{margin-bottom:0}
.tc-sec .ht-product-inner{border:1px solid var(--tc-line)!important;border-radius:0!important;box-shadow:none!important;background:#fff;transition:border-color .2s ease}
.tc-sec .ht-product-inner:hover{border-color:var(--tc-ink)!important}
.tc-sec .ht-product-title,.tc-sec .ht-product-title a{font-size:14px!important;font-weight:500!important;line-height:1.4!important;color:var(--tc-ink)!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tc-sec .slick-arrow{border-radius:0!important;border:1px solid var(--tc-ink)!important;background:#fff!important;color:var(--tc-ink)!important}
.tc-sec .slick-arrow:hover{background:var(--tc-ink)!important;color:#fff!important}
.tc-blob svg{display:block;width:100%;height:auto}
@media (max-width:767px){.tc-blob{filter:blur(22px)}}

@media (prefers-reduced-motion:reduce){.tc-brands__track,.tc-net .p,.tc-live::before,.tc-caret{animation:none}}
