/*
Theme Name:        Simplizza
Theme URI:         https://simplizza.fr
Author:            JM SUD INFORMATIQUE (JMLAB)
Author URI:        https://jmlab.eu
Description:        Thème bloc buildless pour les sites restaurant Simplizza. Base neutre ; la marque du client (logo, couleurs) et le contenu vivant (horaires, zones, carte…) sont injectés par Simplizza Core.
Requires at least: 6.5
Tested up to:      7.0
Requires PHP:      8.1
Version:           0.2.1
License:           GPL-2.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       simplizza
*/

/* Block theme buildless : la structure vit dans theme.json, l'habillage artisanal ici.
   Toutes les couleurs lisent les tokens de marque --sz-* (émis par Simplizza Core / Brand). */

/* --- Toile de fond : grain craie discret sur toute la page (intensité par ambiance) --- */
body {
	position: relative;
	background-color: var(--sz-surface, #ffffff);
	color: var(--sz-ink, #1a1a1a);
}
body::before {
	content: "";
	position: fixed; inset: 0; z-index: -1;
	pointer-events: none;
	opacity: var(--sz-texture-opacity, 0.05);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
	background-size: 160px 160px;
	mix-blend-mode: multiply;
}

/* --- En-tête de site : bandeau signé, collant, lisible sur tout fond --- */
.sz-siteheader {
	position: sticky; top: 0; z-index: 60;
	background: color-mix(in srgb, var(--sz-surface, #fff) 90%, transparent);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--sz-border, #eee);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--sz-primary, #c1440e) 18%, transparent);
}
.sz-siteheader__row { padding: .65rem 0; align-items: center; }
.sz-siteheader__brand { align-items: center; }
.sz-siteheader .wp-block-site-logo img { max-height: 46px; width: auto; display: block; }
.sz-siteheader__title,
.sz-siteheader .wp-block-site-title {
	margin: 0;
	font-family: var(--sz-font-display, inherit);
	font-size: 1.45rem; letter-spacing: .015em;
	text-transform: uppercase;
}
.sz-siteheader .wp-block-site-title a { text-decoration: none; color: var(--sz-ink, #1a1a1a); }
.sz-siteheader .wp-block-site-title a:hover { color: var(--sz-primary, #c1440e); }

/* Navigation : liens travaillés, soulignement vivant */
.sz-siteheader__nav a {
	font-weight: 600; font-size: .95rem;
	color: var(--sz-ink, #1a1a1a);
	text-decoration: none;
	padding: .35rem .15rem;
	background-image: linear-gradient(var(--sz-primary, #c1440e), var(--sz-primary, #c1440e));
	background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 2px;
	transition: background-size .22s ease, color .15s ease;
}
.sz-siteheader__nav a:hover,
.sz-siteheader__nav .current-menu-item > a,
.sz-siteheader__nav a[aria-current="page"] {
	color: var(--sz-primary, #c1440e);
	background-size: 100% 2px;
}
.sz-siteheader__nav .wp-block-navigation__responsive-container-open { color: var(--sz-ink, #1a1a1a); }

/* --- Titres : caractère partout (display + filet de marque) --- */
h1, h2, h3 { letter-spacing: .01em; }
.sz-front .wp-block-post-content > h2 {
	font-family: var(--sz-font-display, inherit);
}

/* --- Pied de page : carte d'identité du restaurant --- */
.sz-sitefooter {
	margin-top: 3.5rem;
	background: var(--sz-surface-alt, #f7f7f7);
	border-top: 3px solid var(--sz-primary, #c1440e);
	padding: 2.2rem 0 1.4rem;
}
.sz-contact {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.4rem; padding: 0 0 1.2rem;
}
.sz-contact__h {
	margin: 0 0 .5rem;
	font-family: var(--sz-font-display, inherit);
	font-size: 1.05rem; text-transform: uppercase; letter-spacing: .06em;
	color: var(--sz-ink, #1a1a1a);
	position: relative; padding-bottom: .35rem;
}
.sz-contact__h::after {
	content: ""; position: absolute; left: 0; bottom: 0;
	width: 34px; height: 3px; border-radius: 2px;
	background: var(--sz-primary, #c1440e);
}
.sz-contact p { margin: .3rem 0; color: var(--sz-muted, #666); font-size: .95rem; }
.sz-contact a { color: var(--sz-ink, #1a1a1a); text-decoration: none; border-bottom: 1px solid var(--sz-border, #ddd); }
.sz-contact a:hover { color: var(--sz-primary, #c1440e); border-color: var(--sz-primary, #c1440e); }
.sz-contact a.sz-btn, .sz-contact a.sz-social { border-bottom: none; }
.sz-contact a.sz-btn:hover { color: var(--sz-ink, #1a1a1a); }
.sz-sitefooter__sign {
	margin: 0; padding-top: 1.1rem;
	border-top: 1px dashed var(--sz-border, #ddd);
	color: var(--sz-faint, #999); text-align: center;
	font-size: .74rem; opacity: .65; letter-spacing: .03em;
}

/* --- Divers --- */
.wp-block-site-title a { text-decoration: none; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus {
	left: 1rem; top: 1rem; z-index: 100;
	background: var(--sz-primary, #c1440e); color: var(--sz-on-primary, #fff);
	padding: .5rem .9rem; border-radius: 8px;
}
::selection { background: var(--sz-primary, #c1440e); color: var(--sz-on-primary, #fff); }

/* Header CTA: "Commander" nav item rendered as a real action button */
.sz-siteheader__nav .sz-headcta a {
	background: var(--sz-primary, #c1440e);
	color: var(--sz-on-primary, #ffffff) !important;
	border-radius: 11px;
	padding: .5rem 1.1rem;
	font-weight: 700;
	transition: filter .15s ease, transform .12s ease;
}
.sz-siteheader__nav .sz-headcta a::after { display: none; }
.sz-siteheader__nav .sz-headcta a:hover { filter: brightness(1.08); transform: translateY(-1px); color: var(--sz-on-primary, #ffffff); }
