/* Signature visuelle growww : bordures animées en dégradé (violet → rose clair → bleu ciel → bleu électrique),
   cartes en verre dépoli, halos pastel. Mêmes valeurs que l'outil (start.growww.app, web/src/index.css). */

@property --growww-angle {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}
@keyframes growww-spin { to { --growww-angle: 360deg; } }

:root {
	--growww-gradient: var(--wp--preset--gradient--bordure);
	--growww-conic: var(--wp--custom--gradient-border);
	--growww-radius: var(--wp--custom--radius--m);
}

body {
	background:
		radial-gradient(900px 520px at 8% -8%, rgba(172, 218, 250, 0.28), transparent 60%),
		radial-gradient(820px 520px at 100% 0%, rgba(229, 184, 247, 0.26), transparent 60%),
		radial-gradient(900px 600px at 70% 110%, rgba(136, 119, 245, 0.12), transparent 60%),
		var(--wp--preset--color--fond);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
}

:where(h1, h2, h3) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }
:focus-visible { outline: 3px solid rgba(136, 119, 245, 0.5); outline-offset: 2px; }

/* ---------------------------------------------------------------- cartes */
.is-style-carte,
.is-style-carte-degrade,
.growww-card {
	position: relative;
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: blur(18px) saturate(160%);
	-webkit-backdrop-filter: blur(18px) saturate(160%);
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: var(--growww-radius);
	box-shadow: var(--wp--preset--shadow--carte);
	padding: var(--wp--preset--spacing--30);
}
a.growww-card { color: inherit; text-decoration: none; display: block; transition: box-shadow .2s, transform .2s; }
a.growww-card:hover { box-shadow: var(--wp--preset--shadow--survol); transform: translateY(-2px); }

/* Liseré dégradé en haut de la carte */
.is-style-carte-degrade::after,
.growww-card--lisere::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--growww-gradient);
}

/* ---------------------------------------------------------------- bordure animée */
.is-style-bordure-degrade,
.growww-gradient-border,
.wp-block-button.is-style-bordure-degrade .wp-block-button__link {
	position: relative;
	isolation: isolate;
}
.is-style-bordure-degrade::before,
.growww-gradient-border::before,
.wp-block-button.is-style-bordure-degrade .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: -1.5px;
	border-radius: inherit;
	padding: 1.5px;
	background: var(--growww-conic);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: growww-spin 4s linear infinite;
	pointer-events: none;
	z-index: -1;
}
.wp-block-button.is-style-bordure-degrade::before { content: none; }
.wp-block-group.is-style-bordure-degrade { border-radius: var(--growww-radius); background: #fff; padding: var(--wp--preset--spacing--30); }

/* Bouton à bordure animée : fond blanc, texte encre (jamais plein) */
.wp-block-button.is-style-bordure-degrade .wp-block-button__link {
	background: #fff;
	color: var(--wp--preset--color--encre);
	box-shadow: 0 6px 20px -10px rgba(136, 119, 245, 0.55);
}
.wp-block-button.is-style-bordure-degrade .wp-block-button__link:hover { color: var(--wp--preset--color--violet-fonce); }
.wp-block-button.is-style-outline .wp-block-button__link { background: rgba(255, 255, 255, 0.8); color: var(--wp--preset--color--encre); border: 1px solid rgba(15, 23, 42, 0.14); }

@media (prefers-reduced-motion: reduce) {
	.is-style-bordure-degrade::before,
	.growww-gradient-border::before,
	.wp-block-button.is-style-bordure-degrade .wp-block-button__link::before { animation: none; }
}

/* ---------------------------------------------------------------- textes */
.is-style-degrade,
.growww-gradient-text {
	background: linear-gradient(90deg, #2E6FF0, #8877F5);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
p.is-style-badge,
.growww-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	width: fit-content;
	padding: 0.2rem 0.75rem;
	border-radius: 999px;
	background: rgba(136, 119, 245, 0.12);
	color: var(--wp--preset--color--violet-fonce);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.6;
}
.growww-badge--emergent { background: rgba(46, 111, 240, 0.1); color: var(--wp--preset--color--bleu-fonce); }
.growww-badge--fond { background: rgba(136, 119, 245, 0.14); color: var(--wp--preset--color--violet-fonce); }
.growww-badge--saison { background: rgba(172, 218, 250, 0.4); color: #1f6fb0; }
.growww-badge--declin { background: rgba(244, 63, 94, 0.1); color: var(--wp--preset--color--rouge); }
.growww-badge--evergreen { background: rgba(0, 230, 118, 0.12); color: var(--wp--preset--color--vert); }
.growww-badge--stable { background: rgba(100, 116, 139, 0.1); color: #475569; }

.growww-up { color: var(--wp--preset--color--vert); font-weight: 700; }
.growww-down { color: var(--wp--preset--color--rouge); font-weight: 700; }
.growww-muted { color: var(--wp--preset--color--gris); }
.tabular { font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------- en-tête */
.growww-header {
	position: sticky;
	top: 0;
	z-index: 30;
	background: rgba(246, 247, 253, 0.78);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.growww-header .wp-block-site-logo img { width: 32px; height: 32px; }

/* ---------------------------------------------------------------- tableaux */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th { text-align: left; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: 0.04em; color: var(--wp--preset--color--gris); }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid rgba(15, 23, 42, 0.07); padding: 0.6rem 0.75rem; }

/* ---------------------------------------------------------------- compositions */
.growww-hero { overflow: hidden; }
.growww-hero::before {
	content: "";
	position: absolute;
	right: -120px;
	top: -140px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(229, 184, 247, 0.45), rgba(172, 218, 250, 0.25) 45%, transparent 70%);
	pointer-events: none;
}
.growww-hero > * { position: relative; }

.growww-tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0.9rem; }
.growww-tool-grid a { display: flex !important; flex-direction: column; gap: 0.5rem; }
.growww-tool-grid__go { margin-top: auto; font-size: 0.875rem; font-weight: 700; color: var(--wp--preset--color--violet-fonce); }

.growww-pricing { align-items: stretch !important; }
.growww-pricing > .wp-block-column { display: flex; flex-direction: column; gap: 0.6rem; }
.growww-pricing > .wp-block-column > .wp-block-buttons { margin-top: auto; }
.growww-pricing__featured { background: #fff; border-radius: var(--growww-radius); padding: var(--wp--preset--spacing--30); box-shadow: var(--wp--preset--shadow--survol); }
.growww-pricing__price { margin: 0; }
.growww-pricing__price strong { font-size: 2.1rem; font-weight: 800; letter-spacing: -0.03em; }
.growww-checks { list-style: none; padding: 0; margin: 0; }
.growww-checks li { position: relative; padding-left: 1.5rem; margin: 0.35rem 0; }
.growww-checks li::before { content: ""; position: absolute; left: 0; top: 0.45em; width: 0.9rem; height: 0.5rem; border-left: 2px solid var(--wp--preset--color--violet); border-bottom: 2px solid var(--wp--preset--color--violet); transform: rotate(-45deg); }

.growww-faq { padding: 0.9rem 1.1rem !important; margin-block: 0.6rem !important; }
.growww-faq summary { cursor: pointer; font-weight: 700; }
.growww-faq[open] summary { margin-bottom: 0.5rem; }

.growww-cta { padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important; }
.growww-cta .growww-fp { margin-inline: auto; }
.growww-cta .growww-fp__note { text-align: center; }

.growww-sectors { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.growww-sectors a { padding: 0.3rem 0.8rem; border-radius: 999px; background: rgba(255, 255, 255, 0.8); border: 1px solid rgba(15, 23, 42, 0.1); color: var(--wp--preset--color--encre); font-size: 0.875rem; text-decoration: none; }
.growww-sectors a:hover { border-color: var(--wp--preset--color--violet); }
.growww-sectors a[aria-current="page"] { background: #fff; border-color: var(--wp--preset--color--violet); color: var(--wp--preset--color--violet-fonce); font-weight: 700; }

.growww-footer-list { list-style: none; padding: 0; }
.growww-footer-list li { margin: 0.35rem 0; }
.growww-footer-list a, footer .wp-block-heading { color: var(--wp--preset--color--encre); text-decoration: none; }
.growww-footer-list a:hover { color: var(--wp--preset--color--violet-fonce); text-decoration: underline; }

@media (max-width: 781px) {
	.growww-header .wp-block-buttons .is-style-outline { display: none; }
}

/* Thèmes portés par plusieurs sites qui montent */
.growww-themes { display: flex; flex-direction: column; gap: 0.4rem; align-items: flex-start; }
.growww-themes li { border-radius: 12px !important; }
