/* ===== PAGES VISITEUR (Aristo UI) ===== */
.skip { position: absolute; left: -999px; top: 8px; background: var(--color-primary); color: #FFFFFF; padding: 8px 14px; border-radius: var(--radius); z-index: 400; }
.skip:focus { left: 8px; }
.gnav { padding: 0 max(24px, calc((100vw - 1200px) / 2)); }
.menu-list { display: grid; align-content: start; gap: 4px; }
.menu-link { display: block; padding: 14px 4px; font-family: var(--font-title); font-size: 18px; border-bottom: 1px solid var(--color-divider); }

/* Hero */
.ghero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: center; max-width: 1200px; margin: 0 auto; padding: 72px 24px 80px; }
.ghero h1 { font-size: 52px; line-height: 1.08; margin: 18px 0 18px; font-weight: 700; }
.ghero__lead { font-size: 18px; color: var(--color-text-2); max-width: 520px; }
.ghero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.ghero__proof { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 28px; color: var(--color-text-2); font-size: 14px; }
.ghero__proof li { display: flex; align-items: center; gap: 8px; }
.ghero__proof .i { color: var(--color-primary); }
.ghero__art { position: relative; min-height: 360px; background: rgba(var(--color-primary-rgb), 0.06); border-radius: var(--radius); border: 1px solid var(--color-border); }
.gcard { position: absolute; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 16px; display: flex; align-items: center; gap: 12px; }
.gcard small { display: block; color: var(--color-text-muted); font-size: 12px; }
.gcard--a { top: 34px; left: 28px; right: 70px; }
.gcard--b { top: 130px; left: 70px; right: 28px; flex-direction: column; align-items: stretch; gap: 12px; }
.gcard--c { bottom: 34px; left: 28px; width: 250px; }
.gcard__row { display: flex; justify-content: space-between; align-items: center; }
.gcard .btn { pointer-events: none; }

/* Sections */
.gsec { max-width: 1200px; margin: 0 auto; padding: 72px 24px; }
.gsec--tint { max-width: none; background: rgba(var(--color-primary-rgb), 0.05); }
.gsec--tint > * { max-width: 1152px; margin-left: auto; margin-right: auto; }
.gsec--top { padding-top: 56px; }
.gsec--narrow { max-width: 760px; }
.gsec__head { text-align: center; margin-bottom: 44px; }
.gsec__head h1 { font-size: 40px; margin-bottom: 10px; }
.gsec__head h2 { font-size: 32px; margin-bottom: 10px; }
.gsec__head p { color: var(--color-text-2); font-size: 17px; }

.gsteps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.gstep { display: flex; gap: 16px; }
.gstep__n { width: 44px; height: 44px; flex-shrink: 0; border-radius: var(--radius); background: var(--color-primary); color: #FFFFFF; display: grid; place-items: center; font-family: var(--font-title); font-weight: 700; font-size: 20px; }
.gstep h3 { font-size: 18px; margin-bottom: 6px; }
.gstep p { color: var(--color-text-2); }

.gfeats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gfeats--3 { max-width: 900px !important; }
.gfeat { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 24px; display: grid; gap: 10px; align-content: start; }
.gfeat h3 { font-size: 17px; }
.gfeat p { color: var(--color-text-2); font-size: 14px; }

.gsectors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gsector { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); font-weight: 500; transition: border-color var(--transition); }
.gsector:hover { border-color: var(--color-primary); }

.faqlist { max-width: 760px; margin: 0 auto; display: grid; gap: 10px; }
.faq { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); }
.faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; cursor: pointer; font-weight: 500; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .i { flex-shrink: 0; color: var(--color-primary); transition: transform var(--transition); }
.faq[open] summary .i { transform: rotate(180deg); }
.faq p { padding: 0 20px 18px; color: var(--color-text-2); }

.gcta { max-width: 1152px; margin: 0 auto 72px; padding: 56px 32px; text-align: center; background: var(--color-primary-dark); color: #FFFFFF; border-radius: var(--radius); }
.gcta h2 { font-size: 32px; margin-bottom: 10px; }
.gcta p { color: rgba(255, 255, 255, 0.85); margin-bottom: 24px; }
.gcta__btn { background: #FFFFFF; color: var(--color-primary-dark); border-color: #FFFFFF; }

.plans--guest { max-width: 1100px; margin: 0 auto; }
.gnote { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 28px; color: var(--color-text-muted); font-size: 14px; text-align: center; }
.prose { margin-top: 28px; }
.prose h2 { font-size: 22px; margin-bottom: 8px; }
.prose p { color: var(--color-text-2); }
.g404 { text-align: center; }
.g404__n { font-family: var(--font-title); font-size: 120px; font-weight: 700; line-height: 1; color: rgba(var(--color-primary-rgb), 0.38); }
.g404 h1 { font-size: 32px; margin: 8px 0; }

/* Pied de page */
.gfoot { background: var(--color-surface); border-top: 1px solid var(--color-border); }
.gfoot__in { max-width: 1200px; margin: 0 auto; padding: 48px 24px 32px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
.gfoot h3 { font-size: 14px; margin-bottom: 12px; }
.gfoot a, .gfoot span { display: block; color: var(--color-text-2); font-size: 14px; padding: 4px 0; }
.gfoot a:hover { color: var(--color-primary); }
.gfoot__brand p { color: var(--color-text-muted); font-size: 14px; margin-top: 12px; max-width: 280px; }
.gfoot__bar { border-top: 1px solid var(--color-divider); text-align: center; padding: 16px 24px; font-size: 12px; color: var(--color-text-muted); }

/* Cookies : refuser aussi visible qu'accepter */
.cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 300; max-width: 960px; margin: 0 auto; display: flex; gap: 20px; align-items: center; justify-content: space-between; background: var(--color-surface); border: 1px solid var(--color-border-strong); border-radius: var(--radius); padding: 18px 20px; box-shadow: var(--shadow-float); }
.cookie[hidden] { display: none; }
.cookie__txt p { color: var(--color-text-2); font-size: 13px; margin-top: 2px; }
.cookie__btns { display: flex; gap: 8px; flex-shrink: 0; }

@media (max-width: 1099px) {
	.ghero { grid-template-columns: 1fr; gap: 40px; padding-top: 48px; }
	.gfeats, .gsectors { grid-template-columns: 1fr 1fr; }
	.gfoot__in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.gnav { padding: 0 16px; }
	.ghero { padding: 28px 16px 48px; }
	.ghero h1 { font-size: 34px; }
	.ghero__lead { font-size: 16px; }
	.ghero__cta .btn { width: 100%; }
	.ghero__art { min-height: 330px; }
	.gcard--a { right: 24px; } .gcard--b { left: 24px; } .gcard--c { width: auto; right: 24px; }
	.gsec { padding: 48px 16px; }
	.gsec__head h1 { font-size: 30px; }
	.gsec__head h2 { font-size: 26px; }
	.gsteps, .gfeats, .gsectors { grid-template-columns: 1fr; }
	.gcta { margin: 0 16px 48px; padding: 40px 20px; }
	.gfoot__in { grid-template-columns: 1fr; padding: 32px 16px; }
	.cookie { flex-direction: column; align-items: stretch; left: 0; right: 0; bottom: 0; border-radius: 12px 12px 0 0; padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
	.cookie__btns { flex-direction: column; }
	.only-m { display: inline-flex; }
}
@media (min-width: 768px) { .only-m { display: none; } }
@media (max-width: 767px) {
	.ghero__art { min-height: 0; display: grid; gap: 12px; padding: 16px; }
	.gcard, .gcard--a, .gcard--b, .gcard--c { position: static; width: auto; }
}
