@font-face{
  font-family:"SignPaintingScript";
  src:url("../fonts/Sign-Painting-Script.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face {
	font-family: "Lato";
	src: url("../fonts/Lato-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Anton";
	src: url("../fonts/Anton-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

html{
	scroll-behavior: smooth;
}


body {
	margin: 0;
	font-family: "Lato";
	cursor: crosshair; 
}

p {
	line-height: 1.5em;
}

/* Liens */
a {
	text-decoration: none;
	color: #1591B7;
}

a:hover {
	opacity: 0.8;
}

/* Wrapper global */
.wp-site-blocks > main {
	max-width: 960px;
	margin: 0 auto;
	padding: 1.5rem;
}

/* Navigation */
.wp-block-navigation {
	font-size: 0.95rem; 
}

/* Responsive 960px */
@media (max-width: 960px) {
	.wp-site-blocks > main {
		padding: 1rem;
	}
}

/* Sécurité box-sizing */
.wp-block-group {
	box-sizing: border-box;
}

/* Headers / footer centrés */
.site-header-top,
.site-header-left-inner,
.site-footer {
	max-width: 1200px;
	margin: 0 auto;
}

/******* Header gauche : sidebar ***********/
.site-header-left {
	background-color: var(--wp--preset--color--background-alt);
}

.site-header-left-inner {
	min-height: 100vh;
}

.wp-block-navigation__responsive-container-open {
  background: #fff;
  border-radius: 50%;
  padding: 10px;
}

.wp-block-navigation__responsive-container-open svg {
  height: 35px;
  width: 35px;
}

/* Le container responsive = overlay WP */
.wp-block-navigation__responsive-container {
	position: fixed !important;
	top: 0;
	left: 0;
	height: 100vh;
	width: min(360px, 85vw);
	margin: 0;
	padding: 1.25rem;
	background: #1591b7;
	border-right: 1px solid #1591b7;
	box-shadow: 0 10px 30px rgba(0,0,0,.15);

	/* état fermé */
	transform: translateX(-110%);
	transition: transform .25s ease;
	z-index: 99999;
}

/* Quand WP ouvre le menu, il ajoute cette classe */
.wp-block-navigation__responsive-container.is-menu-open {
	transform: translateX(0);
}

.wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
}

ul.wp-block-navigation__container {
	margin: 1em;
}

.wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--anton) !important;
}

.sofiab-header-grid {
	margin-bottom: 0;
}

.sofiab-header-grid h1 {
  margin: 0.4em;
  text-shadow: 0 4px 4px rgba(0,0,0,0.2);
} 

.wp-block-navigation__responsive-container{
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
}

.wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container-close{
	z-index: 2147483647 !important;
}

.page-id-30 .wp-block-column p:nth-child(1),
.page-id-30 .wp-block-media-text__content p:nth-child(1) {
	margin-top: 0;
}

/* Header layout */
.sofiab-header-center{
	justify-self: center;
	text-align: center;
}

.sofiab-header-left{
	justify-self: start;
}

.sofiab-header-left .wp-block-navigation__responsive-container-open{
	position: relative;
	z-index: 10;
}

.hamb,
.sofiab-header-left{
	position: relative !important;
}

.sofiab-header-left .wp-block-navigation__responsive-container-open{
	position: fixed;
	top: 0.6em; 
	left: 0.25em; 
	z-index: 2147483647;
}

/* Optionnel : évite que le bouton “saute” sur le contenu */
@media (min-width: 1px){
	body { padding-top: 0; }
}


/*Dates*/
.dates .wp-block-columns {
  border-bottom: 1px solid;
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
}

.dates .wp-block-columns {
	padding: 0 1em 1.5em;
}

.dates .wp-block-columns.has-background {
	padding: 1em;
}

.dates .paris,
.dates .wp-block-columns:last-child {
  border-bottom: 0;
}

.dates .wp-block-button__link {
	background: #1591B7;
	border: 2px solid #1591B7;
	font-weight: bold;
	position: relative;
}

.dates .complet .wp-block-button__link {
	background: transparent;
	border: 2px solid #bf2422;
	border-radius: 0;
	transform: rotate(-2deg);
	color: #bf2422;
	pointer-events: none;
}

.dates .nouvelle .wp-block-button__link::before {
	content:"Nouvelle date";
	position: absolute;
	top: -20px;
	left: 32px;
	color: #1591b7;
	font-size: 0.7em;
	font-weight: normal;
}

.dates .dernieres .wp-block-button__link::after {
	content:"Dernières places !";
	position: absolute;
	bottom: 0;
	color: #fff;
	font-size: 0.7em;
	right: 0;
	margin-bottom: -1.3em;
	margin-right: -3em;
	transform: rotate(-4deg);
	background: #FE9CB8;
	padding: 4px;
	font-weight: normal;
}

.dates .vote .wp-block-button__link {
	background: transparent;
	border: 2px solid #1591B7;
	color: #1591B7;
	font-weight: normal;
}

/* Effets Ketchup */
.btn-ketchup a {
	background: transparent;
}

.ketchup {
  background: url(https://sofiabelabbes.fr/wp-content/uploads/2025/12/tache-ketchup-S.png);
    background-position-x: 0%;
    background-position-y: 0%;
    background-repeat: repeat;
    background-size: auto;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
  width: 300px;
  height: 150px;
  background-position: center;
}

.ketchup .wp-block-buttons {
  position: absolute;
  bottom: 2.3em;
  left: 29%;
  text-transform: uppercase;
}

.ketchupcoulant {
  position: absolute;
  left: 0;
  margin-top: -1em;
  z-index: 2;
}

.cover {
	padding: 0;
	z-index: 10;
}

.logo-curved{
  display: block;
  margin-inline: auto; 
  flex: 0 0 auto;
  width: 100%;
  max-width: 720px;  
  height: auto;
}

.logo-curved__text{
	font-family: "SignPaintingScript", system-ui, sans-serif; /* ou ta script */
	font-size: 70px;
	font-weight: 900;
	fill: #fff;
	stroke: #000;
	stroke-width: 5px;
	paint-order: stroke fill;
}

.neon {
  position: relative;
  display: inline-block;   /* largeur au texte */
  margin: 0 auto;          /* centrage horizontal */
  padding: 0.5em 0.9em;

  text-align: center;
  color: #1591B7;

  /* Illusion de relief (texte centré et lisible) */
  text-shadow:
    0 -1px 0 rgba(255,255,255,0.7),
    0  1px 0 rgba(13,96,130,0.45),
    0  0  2px rgba(21,145,183,0.35);
}

.neonwrap {
	text-align: center;
}

/* Bordure néon plus présente (fond blanc) */
.neon::before {
  content: "";
  position: absolute;
  inset: 0;

  border: 2px solid #1591B7;
  border-radius: 5px;

  box-shadow:
    0 0 2px  rgba(21,145,183,0.8),
    0 0 6px  rgba(21,145,183,0.65),
    0 0 14px rgba(0,234,255,0.55),
    0 0 24px rgba(0,234,255,0.35);

  pointer-events: none;
}

.neonrose {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  padding: 0.5em 0.9em;

  text-align: center;
  color: #FE9CB8;

  /* Illusion de relief (tube rose) */
  text-shadow:
    0 -1px 0 rgba(255,255,255,0.75),   /* reflet haut */
    0  1px 0 rgba(160,70,105,0.45),    /* ombre basse */
    0  0  2px rgba(254,156,184,0.35);  /* lissage */
}

.neonrose::before {
  content: "";
  position: absolute;
  inset: 0;

  border: 2px solid #FE9CB8;
  border-radius: 5px;

  /* Glow rose */
  box-shadow:
    0 0 2px  rgba(254,156,184,0.85),
    0 0 6px  rgba(254,156,184,0.65),
    0 0 14px rgba(255,120,170,0.55),
    0 0 24px rgba(255,90,160,0.35);

  pointer-events: none;
}

.neonblanc{
	color: #fff;
	text-shadow:0 0 10px #eee, 0 0 20px #ccc, 0 0 30px #fff;
	border: 4px solid #FFF;
  width: fit-content;
  margin: 1em auto;
    margin-right: auto;
    margin-left: auto;
  padding: 0.25em 0.5em;
  box-shadow: 0 0 4px #fff, 0 0 10px #eee, 0 0 20px #ccc, 0 0 30px #fff, 0 0 5px #00eaff;
  border-radius: 5px;
}

.voteform {
  text-align: center;
}

.home .wp-block-navigation__responsive-container-open {
	position: fixed;
	top: 1em;
	left: 1em;
	z-index: 1000;
	box-shadow: 1px 1px 10px #ccc;
}

.nomaffiche {
	text-shadow: 2px 4px 4px #000000;
	margin: 0;
}

.typewriter {
  width: 0;
  overflow: hidden;
  white-space: nowrap;

  animation:
    typing 3s steps(14, end) forwards;
}

@keyframes typing {
  from { width: 0; }
  to { width: 14ch; }
}

@keyframes blink {
  50% { border-color: transparent; }
}

.home .wp-block-cover {
	align-items: initial;
	min-height: 230px;
	padding: 0;
}

.wp-block-query .wp-block-post h4 {
	font-size: 0.85em !important;
}

.news h2 {
	margin-top: 0;
}

#actus .wp-block-query .wp-block-group {
	padding: 0 !important;
}

#actus .wp-block-query .wp-block-post h4 {
	font-size: 1em !important;
	padding: 0 1em 0;
}
	
.wp-block-post-excerpt {
  padding: 0 1em 2em;
  font-size: 0.9em;
  text-align: center;
}

#actus .attachment-post-thumbnail {
	max-height: 150px;
}

.sofiab-header-grid {
  box-shadow: 1px 1px 8px #ccc;
}

/* ========== Header SofiaB : desktop custom, mobile 100% WP stack ========== */

/* MOBILE (WP breakpoint) : ne surtout pas forcer grid/fixed */
@media (max-width: 781px){
	.wp-block-columns.sofiab-header-left{
		display: flex !important;   /* WP core stack */
	}

	/* si on avait fixé le bouton hamburger */
	.wp-block-columns.sofiab-header-left .wp-block-navigation__responsive-container-open{
		position: static !important;
		top: auto !important;
		left: auto !important;
	}
}

/* DESKTOP : layout centré + burger à gauche (si tu veux le garder) */
@media (min-width: 782px){
	.wp-block-columns.sofiab-header-left{
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
	}

	/* centre la colonne du logo (si tu lui as mis une classe) */
	.wp-block-columns.sofiab-header-left .sofiab-header-center{
		justify-self: center;
		text-align: center;
	}

	/* colonne gauche (hamburger) */
	.wp-block-columns.sofiab-header-left .sofiab-header-left{
		justify-self: start;
	}
}

/* Bloc séparateur "vague" */
.vague {
  display: block;
  width: 100%;
  height: clamp(30px, 5vw, 90px);
}

.vague path {
  fill: #1591B7;
  transform: translateY(1px);
}

.vaguebas {
  transform: rotate(180deg);
}

.vaguerose path {
  fill: #FE9CB8;
}

#sb_instagram, .sbtt-tiktok-feed {
	padding: 0 1em;
}

.contact .wp-block-social-links {
	padding-bottom: 0.5em;
}

.aos[data-aos] {
	will-change: transform, opacity;
}

html:not(.aos-ready) .aos { opacity: 0; }

.wp-block-query .category-actus .wp-block-group {
	padding:0 !important;
}

.wp-block-query .category-actus .wp-block-group .wp-block-post-featured-image img {
	max-height: 130px;
}

.wp-block-query .category-actus .wp-block-group h4 {
	padding: 0 20px 30px;
}

.wp-block-post-excerpt__more-link {
	border: 1px solid;
	padding: 5px 10px;
	margin-top:1em;
}


/* Mobile*/

@media (min-width: 782px){
	.wp-block-columns.sofiab-header-left .wp-block-navigation__responsive-container-open{
		position: fixed;
		top: 1.25rem;
		left: 1rem;
		z-index: 2147483647;
	}
}

@media (max-width: 960px) {
	.wp-block-navigation__container {
		display: none;
	}
	
	nav.wp-block-navigation {
		height: 0;
	}
	
	.nomaffiche {
	  font-size: 14vw !important;
	  white-space: initial;
	  width: auto;
	  animation: none;
	  padding: 1.5em 0.5em 0.5em;
	}
	
	.home .cover .wp-block-spacer {
		height: 0 !important;
	} 
	
	#dates {
		padding: 0 2em;
	}
	
	.home .wp-block-navigation__responsive-container-open,
	.sofiab-header-left .wp-block-navigation__responsive-container-open {
	  position: relative;
	  top: 1em;
	  left: 0;
	}
	
	.sofiab-header-grid {
		gap: 0;
	}
	
	.sofiab-header-center {
	  padding-top: 2em;
	}
	
	.wp-block-social-links {
	  margin-top: 0;
	}
	
	.dates .wp-block-columns.is-layout-flex {
		gap: 0;
	}
		
	.dates .wp-block-columns {
  		padding-bottom: 2em;
		margin-bottom: 2em;
	}
	
	.dates .wp-block-columns p {
		margin:0 auto 0.7em;
	}
	
	.contact, 
	.actus, 
	.RS,
	#vote	{
		padding: 0.5em 1em;
	}
	
	.ketchupcoulant {
		width: 50%;
	}
	
	.news {
		padding: 0 1em;
	}
	
	.dates .wp-block-columns.has-background {
	  padding: 2em 1em;
	}
	
	.dates .wp-block-button.nouvelle {
	  margin-top: 1em;
	}

	footer p {
		text-align: center !important;
	}
	
	footer .wp-block-columns.is-layout-flex {
		gap: 0;
	}
	
	.bio p:nth-child(1) {
		margin-top: 0
	}	
		
	.entry-content .wp-block-group {
		padding-left: 1em;
		padding-right: 1em;
	}
	
	.wp-block-group.cover {
		padding-left: 0;
		padding-right: 0;
	}
	
	.post-template .wp-block-group.has-background {
	  padding: 0.5em 1em;
	}
	
	.post-template .wp-block-group.has-background h2,
	.archive .wp-block-post-title {
		font-size: 1em !important;
		text-align: center;
	}
	
	.post-template .entry-content,
	.post-template li.wp-block-post {
		padding: 0 1em;
	}
	
	.post-template li.wp-block-post .wp-block-post-featured-image,
	.category-presse li.wp-block-post .wp-block-post-featured-image {
		max-width: 100px;
		margin: 0 auto;
		display: block;
	}
}