/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* =========================================================
   1) Fonts
   ========================================================= */

/* Inter Light (300) */
@font-face {
  font-family: 'Inter';
  src:
    local('Inter Light'),
    local('Inter-Light'),
    url('/wp-content/uploads/2026/01/Inter18pt-Light.woff2') format('woff2'),
    url('/wp-content/uploads/2026/01/Inter18pt-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Inter Bold (700) */
@font-face {
  font-family: 'Inter';
  src:
    local('Inter Bold'),
    local('Inter-Bold'),
    url('/wp-content/uploads/2026/01/Inter24pt-Bold.woff2') format('woff2'),
    url('/wp-content/uploads/2026/01/Inter24pt-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Futura Bold (700) */
@font-face {
  font-family: 'Futura';
  src:
    local('Futura PT Bold'),
    local('FuturaPT-Bold'),
    url('/wp-content/uploads/2026/01/FuturaPT-Bold-1.woff2') format('woff2'),
    url('/wp-content/uploads/2026/01/FuturaPT-Bold-1.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
   MENU
   ========================================================= */
.ct-sticky-container {
	height: 0px!important;
}
#menu-menu-principal.menu {
	height: 60px !important;
	border-radius: 8px!important;
	background: var(--blanc)!important;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px!important;
	padding-left: 10px!important;
	padding-right: 22px!important;
}

#header-menu-1 {
	position: relative!important;
	top: -20px!important;
}
.ct-header-trigger {
	 position: relative!important;
    top: -30px!important;
}

@media (max-width: 768px) {
	.ct-header-trigger {
		 position: relative!important;
		top: -10px!important;
	}
}

.btn-menu a, .journal-btn {
	border-radius: 8px!important;
	background: var(--orange)!important;
	box-shadow: 0 21px 6px 0 rgba(0, 0, 0, 0.00), 0 13px 5px 0 rgba(0, 0, 0, 0.01), 0 8px 5px 0 rgba(0, 0, 0, 0.05), 0 3px 3px 0 rgba(0, 0, 0, 0.09), 0 1px 2px 0 rgba(0, 0, 0, 0.10)!important;
	font-family: 'nsM06UIG8W0X'!important;
	color: var(--blanc)!important;
	height: fit-content!important;
	padding: 10px!important;
	/*font-weight: 800!important; */
}


#offcanvas {
	height: fit-content!important;
	
	backdrop-filter: blur(5px)!important;
}
@media screen and (max-width:1000px){
	[data-header*="type-1"] #offcanvas .ct-panel-content{
		height: auto!important;
		flex: unset!important;
		justify-content: start!important;
	}
}

@media (min-width: 690px) {
    .ct-panel-actions {
        padding-top: 15px!important;
    }
}

.ct-panel-content-inner {
	padding-top: 0px!important;
}

@media (max-width: 1000px) {
  #offcanvas .btn-menu { width: fit-content!important;
    margin: 0 auto!important;
	}
}

.site-branding {
	    position: relative!important;
    left: -8px!important;
}

/* =========================================================
   HOME
   ========================================================= */


h1 em {
	display: block!important;
	font-style: normal!important;
	font-family: 'Inter'!important;
	font-size: 30px!important;
}

@media (max-width: 768px){
	h1 em {
		font-size: 25px!important;
	}
}
.home .exposants-search-input {
	display: none!important;
}
.horaires {
	padding: 0px!important;
}

.horaires  li {
	list-style-type: none!important;
	border-radius: 16px;
    background: var(--blanc);
	margin-bottom: 5px;
	font-family: "Inter";
	padding: 10px 20px;
	font-size: 16px;
	color: var(--noir);
}

.entree-billet strong {
	display: inline-block;
	padding: 10px;
	border-radius: 999px!important;
}

.expo-habitat {
	padding: 10px!important;
	display: inline-block;
	border-radius: 16px!important;
	background: var(--blanc);
}

.brz-wrapper ul {
	margin-left: 0px!important;
}

.home .exposants-live-bar {
	display:none!important;
}



@media (min-width: 1001px) {
  .img-custom-size .brz-bg { 
	    position: absolute!important;
	  top: 0!important;
	  left: 0!important;
	  width: 120%!important;          
	  height: 100%!important;  
        box-shadow: rgb(100 100 111 / 49%) 0px 7px 29px 0px !important;

	}
}

.shadow-case .brz-bg {
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px!important;
}
/* =========================================================
   2) Variables
   ========================================================= */

:root {
  --noir: #3E4043;
  --blanc: #FCFCFC;
  --orange: #F28C00;
  --jaune: #FFE39A;
  --jaune100: #FDF5DF;
  --bleuclair: #FDF5DF;
  --bleufonce: #0098AA;
}


/* =========================================================
   3) Bannière pub
   ========================================================= */

.pub-slider {
  width: 100%;
}

.pub-slide {
  height: 300px;
  overflow: hidden;
}

.pub-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Responsive */
@media (max-width: 1024px) {
  .pub-slide { height: 240px; }
}
@media (max-width: 768px) {
  .pub-slide { height: 200px; }
}
@media (max-width: 480px) {
  .pub-slide { height: 160px; }
}


/* =========================================================
   4) Helpers
   ========================================================= */

.fit-content-size {
  height: fit-content !important;
}


/* =========================================================
   5) Shape divider (haut)
   ========================================================= */

.custom-shape-divider-top-1767695963 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-top-1767695963 svg {
  position: relative;
  display: block;
  width: calc(152% + 108.3px);
  height: 62px;
}

.custom-shape-divider-top-1767695963 .shape-fill {
  fill: var(--orange) !important;
}


/* =========================================================
   6) Exposants 
   ========================================================= */

.exposants-live-search {
  margin-bottom: 16px;
}

.exposants-live-search{
  position: relative;
}

/* Champ */
.exposants-search-input{
  width: 100%;
  max-width: 400px;
  display: block;

  background-color: #EEE !important;
  border-radius: 16px;

  padding-right: 48px !important; /* ⬅️ place pour l’icône à droite */
  padding-left: 16px !important;
color: #7D7F81!important;
  outline: none;
  font-size: 15px;
}

/* Icône à droite
.exposants-live-search::after{
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);

  width: 20px;
  height: 20px;

  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat center / contain;

  pointer-events: none;
} */


.exposants-search-input::placeholder {
	font-family: "Inter"!important;
	color: #7D7F81!important;
	
}


.exposants-live-search.has-icon {
  position: relative;
}

.exposants-live-search.has-icon .search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
}

.exposants-live-search.has-icon .exposants-search-input {
  background-image: none;
}


/* Form server */
.exposants-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}

.exposants-field span {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.exposants-field {
  background-color: var(--blanc);
  border: none !important;
  border-radius: 999px !important;
}

.exposants-field input {
  width: 100% !important;
  padding: 10px !important;
  background-color: var(--blanc);
  border: none !important;
  border-radius: 999px !important;
  outline: none !important;
	font-family: "Inter"!important;
	font-weight: 300!important;
	font-size: 14px!important;
}

.exposants-field input::placeholder {
	color: var(--noir)!important;
	opacity: 1!important;
	font-family: "Inter"!important;
	font-weight: 300!important;
	font-size: 14px!important;
}

.exposants-btn {
  padding: 10px 14px!important;
	border-radius: 8px!important;
	background: var(--blanc)!important;
	box-shadow: 0 21px 6px 0 rgba(0, 0, 0, 0.00), 0 13px 5px 0 rgba(0, 0, 0, 0.01), 0 8px 5px 0 rgba(0, 0, 0, 0.05), 0 3px 3px 0 rgba(0, 0, 0, 0.09), 0 1px 2px 0 rgba(0, 0, 0, 0.10)!important;
	color: var(--orange)!important;
	font-family: "lHoEAsiIw1Qh"!important;
	width: fit-content!important;
    margin: 0 auto!important;
	
}

.shadow-btn {
	box-shadow: 0 21px 6px 0 rgba(0, 0, 0, 0.00), 0 13px 5px 0 rgba(0, 0, 0, 0.01), 0 8px 5px 0 rgba(0, 0, 0, 0.05), 0 3px 3px 0 rgba(0, 0, 0, 0.09), 0 1px 2px 0 rgba(0, 0, 0, 0.10)!important;
}
/* Résultats */


.exposants-live-title {
	font-family: "lHoEAsiIw1Qh"!important;
	margin-bottom: 0px!important
}
@media (min-width: 768px) and (max-width: 1024px) {
  .exposants-live-title {
	font-size: 30px;
}
}

@media (max-width: 767px) {
	  .exposants-live-title {
		font-size: 28px;
		  margin-bottom: 20px!important;
	}
}
.exposants-live-search {
	display: flex;
    align-items: center;
	justify-content: space-between;
	margin-bottom: 0px!important
}


@media (max-width: 760px) {
	.exposants-live-search {
		display: flex;
		flex-direction: column!important;
		margin-bottom: 0px!important
	}
}

.exposants-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 10px;
}

.exposants-count {
  margin: 10px 0;
  font-size: 14px;
  opacity: 0.8;
}

.exposants-empty {
  padding: 14px;
  border: 1px dashed #ddd;
  border-radius: 14px;
}


/* Cards */
.exposant-card {
  margin: 0;
  padding: 20px;
  border-radius: 16px;
  background: #FDF5DF;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.exposant-card.is-hidden {
  display: none;
}

.exposant-title {
  display: block;
  margin: 0 0 10px;

  font-family: 'Inter';
  font-weight: 700;
  font-size: 18px;
  color: var(--noir);
}

.exposant-metier,
.exposant-adresse {
  font-family: 'Inter';
  font-weight: 300;
  font-size: 15px;
	text-transform: uppercase;
}

.exposant-metier svg,
.exposant-adresse svg {
  margin-right: 5px;
}



/* Responsive exposants */
@media (max-width: 900px) {
  .exposants-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .exposants-grid {
    grid-template-columns: 1fr;
  }
  .exposants-list {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   journal
   ========================================================= */

.page-id-130 .slick-list.draggable {
	overflow: visible !important;
    clip-path: inset(0 -59px 0 0) !important;
}
.journal-slider { 
	margin: 20px 0 0 0; 
	  width: calc(100% + (100vw - 100%));
  margin-right: calc(100% - 100vw);
}

.journal-slide{ 
	padding: 10px; 
}

.journal-card{
      display:flex;
      flex-direction:column;
}

.journal-media{
      display:block;
      width:100%;
      aspect-ratio: 3 / 4;
      overflow:hidden;
      background:#f3f3f3;
}

.journal-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
}

.journal-actions{
      padding: 14px;
      display:flex;
      justify-content:center;
}

.journal-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding: 10px 16px;
      border-radius: 999px;
      text-decoration:none;
      border: 0;
      cursor:pointer;
      background: #F28C00;
      color: #fff;
      transition: transform .15s ease, opacity .15s ease;
}
.journal-btn:hover{ 
		transform: translateY(-1px); opacity:.95; 
}

.journal-btn {
	width: fit-content!important;
}

.journal-action{
  display: flex;
  justify-content: flex-end; 
	margin-top: 20px;
}

    /* Slick petits ajustements */
    .journal-slider .slick-slide{ height:auto; }
    .journal-slider .slick-track{ display:flex; align-items:stretch; }
    .journal-slider .slick-slide > div{ height:100%; }
    .journal-card{ height:100%; }


/* =========================================================
   FOOTER
   ========================================================= */

.ft{ 
	width:100%; 
	font-family: "Inter";
	background-image: url('/wp-content/uploads/2026/01/background-footer.png');
	background-size: cover;
	background-repeat:no-repeat;
}
.ft a:not(.btn-menu a) {
	color: #3E4043;
}

.ft a:not(.btn-menu):hover  {
	color: #F28C00;
}

.btn-menu:hover {
	color: #fff!important;
}

.ft .ct-container{
  padding: 0px 15px;
}

.ft__top{
  display:flex;
  gap:80px;
  align-items:flex-start;
}

/* Logo collé en haut */
.ft__logo{
  display:block;
  flex:0 0 auto;
  padding-top:0;
  margin-top:0;
}
.ft__logo img{
  display:block;
  width:160px;
  max-width:160px;
  height:auto;
}

/* Le reste ne colle pas en haut */
.ft__content{
  flex:1 1 auto;
  min-width:0;
  padding-top:75px;
}

.ft__nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
  flex-wrap:wrap;
}

.ft__menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}

.ft__menu LI {
	list-style-type:none!important;
}

.ft__menu a:not(.btn-menu a){
  text-decoration:none!important;
	font-size: 17px;
	font-style: normal!important;
	font-weight: 400!important;
	line-height: 130%!important; 
}

.ft__cta{
  text-decoration:none;
  font-size:13px;
  line-height:1;
  padding:10px 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

.ft__card{
  margin-top:18px;
  border-radius:14px;
  padding:20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 28px;
}

.title-footer {
	color: #3E4043;
	font-size: 16px;
	font-weight: 700;

}
.ft__card {
	border-radius: 16px;
	background: #FCFCFC;
}
.ft__card p{
  margin:0;
  line-height:1.45;
	color: #3E4043;
}

.padding-custom {
	padding-top: 15px;
	display: block!important;
}
.ft__card em{ font-style:italic; }

.ft__bottom{
  padding:40px 0 20px;
	color: #3E4043;
}

.ft__divider{
  height:1px;
  width:100%;
background: #3E4043;
	opacity: 0.4;
  margin:0 0 12px 0;
}

.ft__copy,
.ft__credit{
  margin:0;
  text-align:center;
  font-size:12px;
  line-height:1.5;
}

.ft__credit svg {
	    position: relative;
    top: 4px;
}

.ft__copy a{ text-decoration:none; }

/* Responsive */
@media (max-width: 1000px){
  .ft__top{ gap:50px; }
  .ft__logo img{ width:190px; max-width:190px; }
  .ft__card{ grid-template-columns:1fr; }
  .ft__content {padding-top: 50px}
}

@media (max-width: 720px){
  .ft .ct-container{ padding:0; }
  .ft__top{
    flex-direction:column;
    align-items:stretch;
	  gap:18px;
  }
	.ft__logo img{ width:130px; max-width:130px; }
  .ft__logo{ align-self:center; }
  .ft__content{ padding-top:0px; }

  .ft__nav{ justify-content:flex-start; }
  .ft__menu{ justify-content:center; gap:10px; }

  .ft__bottom{ padding:16px 0 18px; }
}


/* GRILLE 3 COLONNES COMME SUR L'EXEMPLE */
.posts-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

/* CARTE */
.post-card {
background: var(--blanc)!important;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  display:flex;
  flex-direction: column;
}
.post-card .post-title {
		font-family: 'lHoEAsiIw1Qh';
	font-weight: 800!important;
}
/* IMAGE TOP */
.post-thumb{
  display:block;
  height: 230px; /* ajuste */
  overflow:hidden;
}
.post-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* CONTENU */
.post-content{
  padding: 22px 22px 26px;
}

.post-meta{
	color: #3E4043;
	font-family: 'Inter';
	font-size: 18px;
	font-style: normal;
	/* margin-bottom: 5px;*/
}

.post-title a {
  font-size: 30px;   /* gros titre comme sur l’exemple */
	font-family: 'lHoEAsiIw1Qh';
	color: #3E4043;
}

@media (max-width: 1000px){
	.post-title a {
	  font-size: 22px;   /* gros titre comme sur l’exemple */
	}
}
.post-card:hover .post-title a {
	color: #3E4043!important;
}

/* Zoom image au hover */
.post-thumb img{
  transition: transform .5s ease;
}

.post-card:hover .post-thumb img{
  transform: scale(1.08);
}
.post-excerpt{
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color:#333;
}

/* Optionnel : si tu veux un fond sombre derrière les cards */
.section-bg-dark{ background:#000; padding:40px 0; }

/* RESPONSIVE */
@media (max-width: 1024px){
  .posts-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-title{ font-size: 32px; }
}
@media (max-width: 640px){
  .posts-grid{ grid-template-columns: 1fr; }
  .post-thumb{ height: 200px; }
  .post-title{ font-size: 30px; }
  .post-meta{ font-size: 18px; }
}