/*
Theme Name: TAKE CAP
Theme URI: https://takecap.com
Author: TAKE CAP
Description: Thème officiel TAKE CAP. À l'activation, il crée automatiquement le site complet : accueil, programme et tarifs, diagnostic interactif, à propos et contact, pages légales et blog. Formulaire de contact et diagnostic intégrés, sans extension.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: takecap
*/

:root{
	--tc-navy:#14365C;--tc-navy-950:#0E2845;--tc-blue:#2563EB;--tc-blue-700:#1D4FC4;--tc-blue-50:#EAF1FE;
	--tc-mint:#5FD3B0;--tc-mint-800:#176C55;--tc-mint-50:#E4F7F0;--tc-ink:#1A2433;--tc-muted:#5B6675;
	--tc-border:#E3E8EF;--tc-border-strong:#7C8695;--tc-surface:#F5F7FA;
	--tc-ease:cubic-bezier(.2,.8,.2,1);
	--tc-shadow-1:0 1px 2px rgba(20,54,92,.05),0 4px 12px rgba(20,54,92,.05),0 16px 32px rgba(20,54,92,.04);
	--tc-shadow-2:0 2px 4px rgba(20,54,92,.06),0 12px 28px rgba(20,54,92,.10),0 32px 64px rgba(20,54,92,.10);
	--tc-heading:"Poppins","Segoe UI",system-ui,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
::selection{background:var(--tc-mint);color:var(--tc-navy)}

/* ---------- Sections ---------- */
.tc-section{padding:96px 24px;position:relative}
@media (max-width:781px){.tc-section{padding:56px 18px}}
.tc-surface{background:var(--tc-surface)}
.tc-navy{background:var(--tc-navy);color:#E3E8EF;overflow:hidden}
.tc-navy h1,.tc-navy h2,.tc-navy h3{color:#ffffff}
.tc-navy::before{content:"";position:absolute;inset:-30% -10% auto auto;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(95,211,176,.16),transparent 65%);pointer-events:none}
.tc-center{text-align:center}
.tc-hero{background:radial-gradient(55% 75% at 88% 18%,rgba(95,211,176,.18),transparent 62%),radial-gradient(45% 60% at 4% 96%,rgba(37,99,235,.10),transparent 60%),var(--tc-surface);overflow:hidden}

/* ---------- Textes ---------- */
.tc-overline{font-family:var(--tc-heading);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tc-mint-800);margin-bottom:12px}
.tc-navy .tc-overline{color:var(--tc-mint)}
.tc-lead{font-size:20px;line-height:1.55}
.tc-muted{color:var(--tc-muted)}
.tc-navy .tc-muted{color:#C9D3DF}
.tc-small{font-size:15px}
.tc-strong{font-weight:600;color:var(--tc-navy)}
.tc-price{font-family:var(--tc-heading);font-size:34px;line-height:1.1;font-weight:600;color:var(--tc-navy);margin:4px 0 8px}
.tc-step{font-family:var(--tc-heading);font-size:14px;font-weight:600;color:var(--tc-muted);margin:0}
.tc-legal h2{font-size:22px;margin-top:40px}

/* ---------- Images et profondeur ---------- */
.tc-round{margin:0}
.tc-round img{border-radius:20px;width:100%;height:auto;object-fit:cover;display:block}
.tc-shadow img{box-shadow:var(--tc-shadow-2)}
.tc-hero-visual{position:relative;perspective:1400px;padding:24px 8px}
.tc-hero-visual .tc-hero-img{transform:rotateY(calc(var(--px,0) * -7deg)) rotateX(calc(var(--py,0) * 6deg));transform-style:preserve-3d;transition:transform .7s var(--tc-ease)}
.tc-float{position:absolute;z-index:3;min-width:190px;margin:0;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.75);box-shadow:var(--tc-shadow-2);transform:translate3d(calc(var(--px,0) * 28px),calc(var(--py,0) * 22px),0);transition:transform .7s var(--tc-ease);animation:tc-bob 7s ease-in-out infinite}
.tc-float p{margin:0}
.tc-float-1{left:-20px;bottom:40px}
.tc-float-2{right:-12px;top:44px;animation-delay:-3.5s}
.tc-float-label{font-size:13px;color:var(--tc-muted)}
.tc-float-value{font-family:var(--tc-heading);font-weight:600;color:var(--tc-navy);font-size:15px}
.tc-bar{height:8px;border-radius:999px;background:var(--tc-border);position:relative;overflow:hidden;margin-top:8px !important}
.tc-bar::after{content:"";position:absolute;inset:0 34% 0 0;border-radius:999px;background:linear-gradient(90deg,var(--tc-blue),#4F86F7)}
@keyframes tc-bob{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media (max-width:781px){.tc-float{min-width:0;padding:10px 14px}.tc-float-1{left:4px;bottom:12px}.tc-float-2{right:4px;top:12px}}
.tc-photo{margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--tc-shadow-2);aspect-ratio:4/5;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--tc-ease)}
.tc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tc-photo-fallback{background:linear-gradient(160deg,var(--tc-navy),var(--tc-navy-950));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:32px;text-align:center}
.tc-photo-fallback img{width:120px;height:120px;border-radius:24px}
.tc-photo-fallback p{color:#ffffff;font-family:var(--tc-heading);font-weight:600;font-size:20px;margin:0}

/* ---------- Cartes 3D ---------- */
.tc-card{position:relative;background:#ffffff;border:1px solid var(--tc-border);border-radius:20px;padding:28px 24px;box-shadow:var(--tc-shadow-1);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transform-style:preserve-3d;transition:transform .6s var(--tc-ease),box-shadow .5s var(--tc-ease),border-color .4s}
.tc-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(400px circle at var(--gx,50%) var(--gy,50%),rgba(37,99,235,.08),transparent 45%)}
.tc-card:hover{--ty:-6px;box-shadow:var(--tc-shadow-2);border-color:#D3DCE8}
.tc-card:hover::after{opacity:1}
.tc-card.is-tilting{transition:transform .12s linear,box-shadow .5s var(--tc-ease)}
.tc-card h3{margin-top:0}
.tc-featured{border:2px solid var(--tc-blue);box-shadow:var(--tc-shadow-2)}
.tc-pricing .tc-card{padding:36px 28px;display:flex;flex-direction:column}
.tc-pricing .tc-card .wp-block-buttons{margin-top:auto}
.tc-pricing .tc-card .wp-block-button,.tc-pricing .tc-card .wp-block-button__link{width:100%}
.tc-info{background:var(--tc-blue-50);border-radius:16px;padding:20px 24px;color:var(--tc-navy)}
.tc-phase{border-top:4px solid var(--tc-navy);padding-top:20px}
.tc-phase-blue{border-top-color:var(--tc-blue)}
.tc-phase-mint{border-top-color:var(--tc-mint)}
.tc-feature h3{font-size:19px;margin-bottom:4px}
.tc-chip{display:inline-block;margin:0 6px 8px 0;padding:6px 12px;border-radius:8px;background:var(--tc-blue-50);color:var(--tc-navy);font-size:15px;font-weight:600}
p.tc-chip{margin:0}
.tc-navy .tc-chip{background:rgba(255,255,255,.1);color:#ffffff}

/* ---------- Apparition au défilement ---------- */
.tc-js .tc-reveal{opacity:0;translate:0 28px;transition:opacity .9s var(--tc-ease),translate .9s var(--tc-ease),transform .6s var(--tc-ease),box-shadow .5s var(--tc-ease)}
.tc-js .tc-reveal.is-visible{opacity:1;translate:0 0}

/* ---------- Listes ---------- */
.tc-checklist ul,.tc-bullets ul{list-style:none;padding-left:0}
.tc-checklist li,.tc-bullets li{position:relative;padding-left:32px;margin-bottom:12px}
.tc-checklist li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23176C55' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/contain}
.tc-bullets li::before{content:"";position:absolute;left:4px;top:9px;width:12px;height:12px;border-radius:50%;border:2px solid var(--tc-navy)}

/* ---------- Boutons ---------- */
.wp-block-button__link,.tc-btn{transition:transform .35s var(--tc-ease),box-shadow .35s var(--tc-ease),background-color .25s}
.wp-block-button__link:hover,.tc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(37,99,235,.25)}
.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;border:1.5px solid var(--tc-navy);color:var(--tc-navy)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:#ffffff;box-shadow:var(--tc-shadow-1)}
.tc-navy .wp-block-button__link{background:#ffffff;color:var(--tc-navy)}
.tc-navy .wp-block-button__link:hover{background:#ffffff;color:var(--tc-navy);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.tc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:10px;border:0;background:var(--tc-blue);color:#ffffff;font:600 15px/1.4 "Source Sans 3","Segoe UI",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.tc-btn:hover{background:var(--tc-blue-700);color:#ffffff}
.tc-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.tc-btn-outline{background:transparent;border:1.5px solid var(--tc-navy);color:var(--tc-navy)}
.tc-btn-outline:hover{background:#ffffff;color:var(--tc-navy);box-shadow:var(--tc-shadow-1)}

/* ---------- FAQ ---------- */
.wp-block-details{background:#ffffff;border:1px solid var(--tc-border);border-radius:16px;padding:20px 24px;margin-bottom:12px;transition:box-shadow .4s var(--tc-ease)}
.wp-block-details:hover,.wp-block-details[open]{box-shadow:var(--tc-shadow-1)}
.wp-block-details summary{font-family:var(--tc-heading);font-weight:600;font-size:18px;color:var(--tc-navy);cursor:pointer}
.wp-block-details p{color:var(--tc-muted)}

/* ---------- En-tête ---------- */
header.wp-block-template-part{position:sticky;top:0;z-index:100;transition:box-shadow .4s var(--tc-ease)}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
header.wp-block-template-part.is-scrolled{box-shadow:0 8px 30px rgba(20,54,92,.08)}
.tc-header{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-bottom:1px solid rgba(227,232,239,.8);padding:12px 24px}
.tc-logo{margin:0}
.tc-logo img{height:40px;width:auto;display:block}
.tc-nav{font-size:15px;font-weight:600}
.tc-nav a{color:var(--tc-navy);text-decoration:none}
.tc-nav a:hover{color:var(--tc-blue)}
.tc-header .wp-block-button__link{padding:10px 20px}
@media (max-width:600px){.tc-header .wp-block-buttons{display:none}}

/* ---------- Pied de page ---------- */
.tc-footer{background:var(--tc-navy-950);color:#E3E8EF;padding:72px 24px 32px}
.tc-footer a{color:#E3E8EF;text-decoration:none}
.tc-footer a:hover{color:#ffffff;text-decoration:underline}
.tc-footer h3{color:#ffffff;font-size:15px;margin:0 0 8px}
.tc-footer p{margin:6px 0;font-size:15px}
.tc-footer-legal{border-top:1px solid rgba(227,232,239,.18);padding-top:24px;margin-top:40px}
.tc-footer-legal p{font-size:13px;color:#B8C2CF}

/* ---------- Formulaires ---------- */
.tc-form{display:flex;flex-direction:column;gap:4px}
.tc-form-row{display:flex;flex-wrap:wrap;gap:0 20px}
.tc-form-row .tc-field{flex:1 1 220px}
.tc-field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.tc-field label{font-weight:600;font-size:15px;color:var(--tc-ink)}
.tc-field input,.tc-field select,.tc-field textarea{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;border-radius:10px;border:1px solid var(--tc-border-strong);background:#ffffff;font:400 17px/1.5 "Source Sans 3","Segoe UI",system-ui,sans-serif;color:var(--tc-ink);transition:border-color .2s,box-shadow .2s}
.tc-field textarea{resize:vertical}
.tc-field input:focus,.tc-field select:focus,.tc-field textarea:focus{outline:none;border-color:var(--tc-blue);box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.tc-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--tc-muted);margin:0 0 16px}
.tc-check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--tc-blue)}
.tc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tc-alert{border-radius:12px;padding:14px 18px;margin-bottom:20px;font-weight:600}
.tc-alert-success{background:var(--tc-mint-50);color:var(--tc-mint-800)}
.tc-alert-error{background:#FEF3F2;color:#B42318}
.tc-coord{display:flex;gap:12px;align-items:baseline}
.tc-coord-label{font-family:var(--tc-heading);font-weight:600;font-size:13px;color:var(--tc-muted);text-transform:uppercase;letter-spacing:.06em;min-width:80px}

/* ---------- Diagnostic ---------- */
.tc-diag{background:#ffffff;border:1px solid var(--tc-border);border-radius:24px;padding:40px;box-shadow:var(--tc-shadow-2);max-width:760px;margin:0 auto;text-align:left}
@media (max-width:600px){.tc-diag{padding:24px 18px}}
.tc-diag-progress{height:8px;border-radius:999px;background:var(--tc-border);overflow:hidden}
.tc-diag-progress span{display:block;height:100%;width:14%;border-radius:999px;background:linear-gradient(90deg,var(--tc-blue),var(--tc-mint));transition:width .6s var(--tc-ease)}
.tc-diag-count{font-size:14px;color:var(--tc-muted);margin:12px 0 8px}
.tc-diag-step{display:none;border:0;padding:0;margin:0}
.tc-diag-step.is-active{display:block;animation:tc-step .55s var(--tc-ease)}
@keyframes tc-step{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.tc-diag-step legend{font-family:var(--tc-heading);font-weight:600;font-size:24px;line-height:1.3;color:var(--tc-navy);margin-bottom:20px;padding:0}
.tc-diag-help{color:var(--tc-muted);margin:-8px 0 16px}
.tc-opt{display:block;position:relative;margin-bottom:12px;cursor:pointer}
.tc-opt input{position:absolute;opacity:0;width:1px;height:1px}
.tc-opt span{display:flex;align-items:center;gap:14px;min-height:56px;padding:14px 18px;border:1.5px solid var(--tc-border);border-radius:14px;background:#ffffff;font-size:17px;transition:border-color .25s,box-shadow .35s var(--tc-ease),transform .35s var(--tc-ease),background-color .25s}
.tc-opt span::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--tc-border-strong);transition:border .2s,background .2s}
.tc-opt:hover span{border-color:#B9C7DA;transform:translateY(-2px);box-shadow:var(--tc-shadow-1)}
.tc-opt input:checked+span{border-color:var(--tc-blue);background:var(--tc-blue-50);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.tc-opt input:checked+span::before{border:6px solid var(--tc-blue)}
.tc-opt input:focus-visible+span{box-shadow:0 0 0 3px #ffffff,0 0 0 5px var(--tc-blue)}
.tc-diag-nav,.tc-diag-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
.tc-diag-result{animation:tc-step .6s var(--tc-ease);margin-top:24px}
.tc-diag-result h2{margin-top:0}
.tc-plan-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}
.tc-plan-list li{display:flex;gap:16px;align-items:center;padding:12px 16px;border-radius:12px;background:var(--tc-surface)}
.tc-plan-weeks{font-family:var(--tc-heading);font-weight:600;color:var(--tc-blue);min-width:96px}
.tc-diag-send{margin-top:32px;padding-top:28px;border-top:1px solid var(--tc-border)}
.tc-diag-send h3{margin:0 0 4px}

/* ---------- Accessibilité ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff,0 0 0 5px var(--tc-blue)}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation:none !important;transition:none !important}
	.tc-card,.tc-photo,.tc-float,.tc-hero-visual .tc-hero-img{transform:none !important}
}
.tc-float > * + *{margin-block-start:4px !important}
.tc-hero-visual > .tc-float{margin:0 !important}
/* Sections bord à bord, sans espace blanc entre elles */
.wp-site-blocks > *,.wp-block-post-content > *,main.wp-block-group > *{margin-block-start:0 !important;margin-block-end:0}
.tc-info,.tc-card,.tc-diag{box-sizing:border-box}
.tc-contact-card,.tc-contact-card:hover{transform:none;--ty:0px}
.tc-diag [hidden]{display:none !important}
.tc-diag-nav,.tc-diag-actions{align-items:center}
p:has(> .tc-chip){margin-block:20px 4px}
