/*
Theme Name: Voix de Passage
Author: emma.satti
Author URI: https://emmasatti.fr
Version: 1.0.0
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
/*@import url("style-perso.css");*/

:root {
	--bordeaux: #ab0205;
    --orange:   #e49800;
    --orange:   #ff9000;
	--grisf:    #696969;
	--grisc:    #878787;
    --gristc:   #f3f3f3;
    --blanc:    #fff;
	--h1:       #000;
	--h2:       #ab0205;
	--h3:       #ff9000;
	--text:     #444245;
    --menu:     #000;
    --menuh:    #696969;
    --blckq:    #ffeab7;
    
    --width:   1140px;
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
    padding: 0;
}

site { width: 100% }

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 600;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img { border: none }
.site-content img {
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
	border-top: 1px dotted #707866;
	margin: 25px auto;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="cVDPkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #CCC;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th, td { padding: 8px; border-bottom: 1px solid #aaa }
th { font-weight: 600 }

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	font-family: "Inter", sans-serif;
	font-size: 17px;
	font-weight: 300;
	line-height: 24px;
	color: var(--text);
}

h1 {
	line-height: 1.3em;
	font-size: 72px;
	font-weight: 300;
	color: var(--h1);
	margin: 0;
    text-align: center;
}
@media screen and (max-width: 880px) { h1 { font-size: 50px } }

/* masquage titre */
.entry-title { display: none }

h2 {
	line-height: 1.3em;
	font-size: 26px;
	font-weight: 600;
    color: white;
	background: var(--h2);
	margin: 0 0 15px 0;
    padding: 5px 12px;
}
@media screen and (max-width: 700px) { h2 { font-size: 24px } }

p ~ h2 { margin: 30px 0 15px 0 }

h3 {
	line-height: 1.2em;
	font-size: 22px;
	color: var(--h3);
	font-weight: 500;
	margin: 0 0 10px 0;
}
.site-content p {
	margin: 0 0 10px 0;
    line-height: 1.5em;
	text-align: justify;
}

em,
i {
	font-style: italic;
}

blockquote {
	margin: 0;
	background: black;
	padding: 20px 20px 20px 20px;
    font-weight: 400;
	color: white;
    font-style: italic;
    border-radius: 0 20px 20px 20px;
}
.site-content blockquote p { margin: 0 !important }

address {
	margin: 0 0 1.5em;
}

figcaption {
	font-size: 0.8em;
	font-style: italic;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

/* fond */
body {
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
a.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.elementor-button-wrapper .elementor-button,
.elementor .e-button-base ,
.obfx-grid-footer a {
	background-color: black;
	color: white !important;
	border: none;
	border-radius: 0 !important;
	font-size: 13px;
	font-weight: 400;
	padding: 5px 12px !important;
	text-transform: uppercase;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}

a.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover ,
.elementor-button-wrapper .elementor-button:hover,
.elementor .e-button-base:hover,
.obfx-grid-footer a:hover {
	background: var(--bordeaux);
}

.read-more .btn:hover {
	background-color: var(--bordeaux);
}


.obfx-grid-footer a, .obfx-grid-footer a:hover {
	text-decoration: none;
	font-size: 11px;
	padding: 5px;
	text-transform: inherit;
}
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border: 1px solid #ccc;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	background: #fafafa;
	color: var(--text);
	font-weight: 400;
	border: none;
	border-bottom: 1px solid #ccc;
	padding: 3px;
	width: 100%;
}

select {
	border: 1px solid #ccc;
}

/*input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #000;
}*/

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #CCC;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #707866;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	float: left;
	margin-right: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget-area { display: inline-block}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0;
}

.entry-header, .entry-footer { 
    width: var(--width);
    margin: auto;
}

.post { 
	/*padding-bottom: 20px;
	border-bottom: 1px solid #aaa;*/
}
.post:last-child { border-top: none }

.nav-links,
.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}
.post-navigation { font-size: 0.8em }
.nav-previous, .nav-next { display: block; float: left }
.nav-previous:before { content: "<< "; color: #707866 }
.nav-next { float: right }
.nav-next:after { content: " >"; color: #707866 }

.share-icon {margin-left: 30px }
.sd-content ul li:before { content: "" }
.sd-content ul li { width: 32px }


/* PAGE */
.site-content {
	margin: 0 auto;
}
.elementor a,
.site-content a {
	color: var(--bordeaux);
	text-decoration: none !important;
}
.site-content h1 a, .site-content h2 a, .site-content h3 a { text-decoration: none !important }
.elementor a:hover,
.site-content a:hover {
	color: var(--bordeaux);
}
.elementor .elementor-button-link { text-decoration: none !important }

.site-content ul,
.site-content ol {
    padding-left: 15px;
    text-indent: -15px;
	margin: 0 0 10px 0;
}

.site-content ul {
	list-style: none;
}

.site-content ol {
	list-style: decimal;
}

.site-content li:before {  content: "● "; color: var(--bordeaux); font-weight: 700 }

.site-content li {
	margin: 0 0 10px 0;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* posts */
.type-post .post-thumbnail, article.type-offer ~ .post-navigation { display: none }

/* Conteneur principal pour les articles */
.posts-container, .latest-posts-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligner les articles à gauche */
}

/* Style des articles */
.post-preview {
    border: 1px solid #ccc;
	background: white;
    padding: 10px 10px 15px 10px;
    margin: 10px;
    box-sizing: border-box;
    flex: 1 1 calc(33.333% - 20px); /* 3 articles par ligne sur grand écran */
    max-width: calc(33.333% - 20px); /* Empêche les articles de s'étendre plus que 33% */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between; /* Espace entre les éléments pour aligner le bouton en bas */
}
/* Conteneur de la vignette */
.post-preview .post-thumbnail {
    width: 100%;
    padding-top: 75%; /* Ratio 1:1 pour faire un carré */
    position: relative;
    overflow: hidden;
}

.post-preview img /*, .post-thumbnail img */ {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover; /* L'image couvre tout le conteneur, en conservant le ratio */
	-webkit-transition: transform 0.3s ease;
	transition: transform 0.3s ease;
}

.post-preview:hover img, .post-preview  .post-thumbnail:hover img {
    transform: scale(1.1); /* Applique un zoom de 10% au survol */
}

/* Style du titre de l'article */
.post-title {
    font-size: 18px;
    margin: 15px 0;
	padding: 0 15px;
    text-align: center;
}
.post-title a { color: var(--bordeauxc) }

/* Style du bouton Lire la suite */
.read-more { margin-top: auto; /* Pousse le conteneur de "Lire la suite" vers le bas */ }
.read-more .btn {
    margin: auto;
}


/* Responsive: 1 article par ligne sur mobile */
@media (max-width: 768px) {
    .post-preview {
        flex: 1 1 100%;
        max-width: 100%;
    }
}

/*--------------------------------------------------------------
## Pagination Styles
--------------------------------------------------------------*/
.pagination {
    text-align: center;
    margin: 20px 0;
}

.pagination a, .pagination span {
	background: #fff;
    color: var(--bordeaux);
    padding: 8px 16px;
    text-decoration: none;
    border: 1px solid var(--bordeaux);;
    margin: 0 4px;
}

.pagination a:hover {
    background-color: #eee;
}

.pagination .current {
    background-color: var(--bordeaux);
    color: #fff;
    border: 1px solid var(--bordeau);
}


/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	line-height: 30px;
	padding: 0px 0 0 0;
	color: var(--bordeau);
	font-size: 14px;
	font-weight: 400;
	text-align: center;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
	margin: 1%;
}

.gallery-columns-2 .gallery-item {
	max-width: 48%;
}

.gallery-columns-3 .gallery-item {
	max-width: 31.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 23%;
}

.gallery-columns-5 .gallery-item {
	max-width: 18%;
}

.gallery-columns-6 .gallery-item {
	max-width: 14.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 12.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 10.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 9.11%;
}

.gallery-caption {
	display: block;
}
@media (max-width: 767px) {
  .gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* espace horizontal/vertical entre les images */
  }

  .gallery-item {
    width: calc(50% - 5px); /* 2 colonnes avec un petit espace */
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
  }

  .gallery-icon {
    width: 100%;
  }

  .gallery-icon img {
    width: 100%;
    height: auto;
    display: block;
  }
  .gallery.gallery-columns-5 .gallery-item {
    width: calc(50% - 5px) !important;
  }

}
/*-------------------------------------------*/
/* ADDONS
/*-------------------------------------------*/
li.country { list-style: none }

/*------------------------------------------------------------*/
/* Contact Form 7
/*------------------------------------------------------------*/
label {
    display: block;
    text-align: left;
    font-weight: 400;
}
.wpcf7 p { margin: 0 0 20px 0; font-weight: 400 }
.wpcf7-list-item { margin: 0 0 10px 0 }
.wpcf7 input:not([type="checkbox"], type="submit") { width: 100% }
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--bordeaux);
	background: var(--bordeaux);
	color: #fff;
}

/*------------------------------------------*/
/* COOKIE YES
/*------------------------------------------*/
.cky-consent-container { border-left: 8px solid var(--bordeaux); box-shadow: 0 0 20px rgba(0,0,0,0.4) }
.cky-consent-container a { color: var(--bordeaux) !important }
.cky-consent-container a:hover { color: var(--grisc) !important }
button.cky-btn { background: var(--bordeaux) !important; border: none; color: #fff !important }
button.cky-btn-accept, button.cky-btn-reject { background: var(--bordeaux) !important }
button.cky-accordion-btn { color: var(--grisc) !important }
