/*
Theme Name: ZINA pour Astra
Theme URI: https://zinaapp.eu
Author: ZINA
Description: Thème enfant d'Astra avec le design system ZINA (zina-brand.css). Rail de marque, navigation horizontale, sombre/clair. Astra garantit la compatibilité Live Composer, WooCommerce et Gutenberg ; ce thème enfant remplace uniquement le chrome (header.php / footer.php) et les styles.
Template: astra
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GPL v2 or later
Text Domain: zina-astra
*/

/* ====== CORPS — prévaut sur le CSS dynamique d'Astra (spécificité supérieure, ordre indifférent) ====== */
body.zina-site {
	background: var(--zina-bg, #0b0d12);
	color: var(--zina-text, #e8e8ea);
	font: 400 var(--zina-font-size, 15px)/1.5 var(--zina-font, system-ui, sans-serif);
}
html { background: var(--zina-bg, #0b0d12); }

/* Titres : lisibles sur fond sombre (les styles inline des modules LC restent prioritaires) */
body.zina-site h1, body.zina-site h2, body.zina-site h3,
body.zina-site h4, body.zina-site h5, body.zina-site h6 {
	color: var(--zina-text, #e8e8ea);
}

/* ====== NAVIGATION WORDPRESS (wp_nav_menu → ul/li) ====== */
.site-top { grid-template-columns: 1fr auto 1fr; }
.site-top .site-mainnav ul {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-top .site-mainnav li { margin: 0; padding: 0; }
.site-top .site-mainnav .current-menu-item > a,
.site-top .site-mainnav .current_page_item > a {
	color: var(--zina-text, #e8e8ea);
	border-color: var(--zina-border-strong, #444);
	background: var(--zina-surface-raised, rgba(255,255,255,.06));
}

/* ====== ZONE DE CONTENU DES PAGES ====== */
.site-maincontent {
	width: 100%;
	padding-block: clamp(24px, 4vw, 56px) 0;
}
/* Liens « nus » du contenu (sans classe) : accent ZINA, ne touche ni nav ni footer */
body.zina-site .site-maincontent a:not([class]) {
	color: var(--zina-blue, #6c7bff);
}

/* ====== PIED DE PAGE ====== */
.site-footer nav ul {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ====== RAIL STICKY SOUS LA BARRE D'ADMIN (connecté) ====== */
body.admin-bar .site-rail { top: 32px; }

/* ====== NEUTRALISATION DU CHROME ASTRA RESIDUEL (pages WooCommerce…) ====== */
body.zina-site .site-content {
	background: transparent;
	max-width: 100%;
	padding: 0;
	margin: 0;
}
body.zina-site .site-content .ast-container {
	max-width: 100%;
	padding-inline: 0;
}
body.zina-site .site-content .ast-row { margin-inline: 0; }

/* ====== WOOCOMMERCE : cartes produits ZINA (utile sur les pages boutique) ====== */
.woocommerce ul.products li.product {
	background: var(--zina-surface, rgba(255,255,255,.03));
	border: 1px solid var(--zina-border, rgba(128,128,128,.2));
	border-radius: 12px;
	padding: 20px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--zina-text); }
.woocommerce ul.products li.product .price { color: var(--zina-blue, #6c7bff); font-weight: 600; }
.woocommerce ul.products li.product .button {
	display: inline-block;
	padding: 8px 16px;
	border-radius: var(--zina-pill, 999px);
	background: var(--zina-blue, #6c7bff);
	color: #fff;
	text-decoration: none;
	font-size: .85rem;
	font-weight: 500;
	border: none;
	cursor: pointer;
}
.woocommerce ul.products li.product .button:hover { opacity: .85; }

/* ====== BASCULE DE THÈME ====== */
.site-theme-toggle { cursor: pointer; }

/* ====== ACCUEIL — composition LC calquée sur le site d'origine ====== */

/* Piliers (row .site-topics) : les enfants directs sont les areas LC */
body.zina-site .site-topics .dslc-modules-area { position: relative; flex: 1 1 0; width: auto; }
body.zina-site .site-topics .dslc-modules-area + .dslc-modules-area::before {
	content: "→";
	position: absolute;
	left: calc(-1 * clamp(14px, 2.2vw, 32px));
	top: 2px;
	color: var(--zina-subtle, #777);
}
body.zina-site .site-topics .dslc-module-front { text-align: center; }

/* Fenêtre de conversation (row .site-stage) : padding du design system */
body.zina-site .site-stage {
	padding: clamp(24px, 4vw, 56px) clamp(18px, 3.4vw, 48px) clamp(20px, 3vw, 36px) !important;
}

/* Pieuvre : styles .site-mascot appliqués au module Image LC */
body.zina-site .site-stage .dslc-module-DSLC_Image {
	margin-block: -6px 2px;
	display: flex;
	justify-content: center;
}
body.zina-site .site-stage .dslc-module-DSLC_Image img {
	width: min(200px, 44vw);
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	filter: drop-shadow(0 15px 25px var(--zina-focus-shadow, rgba(108, 123, 255, .35)));
	animation: zina-float 5s ease-in-out infinite;
}

/* Modules internes du stage : pleine largeur, pas de marges parasites */
body.zina-site .site-stage .dslc-module-front { margin-inline: 0; }
