/*
Theme Name: ELIAS
Theme URI: 
Author: Mathilde Rivoire
Author URI: 
Description: Le portfolio d'Elias
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 7.3
Version: 1.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elias
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks

elias WordPress Theme, (C) 2026 Mike McAlister.
elias is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
	padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

.entry-content ul:where(:not([class*="wp-block"])) > li::marker {
	content: "–  ";
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

img,
figure {
	max-width: 100%;
	height: auto;
}

/* Temporary fix for text-decoration-thickness in Firefox */
@-moz-document url-prefix() {
	a {
		text-decoration-thickness: .1rem !important;
	}
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

input:not([type="submit"]):not([type="radio"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 20%);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	background-color: #fff;
	box-shadow: 
		0 1px 2px rgba(0, 0, 0, 0.02),
		0 0.5px 1px rgba(0, 0, 0, 0.04);
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline-color: var(--wp--preset--color--main);
	outline-offset: 1px;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

select {
	-webkit-appearance: none;
	appearance: none;
	background: var(--wp--preset--color--base) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
    background-size: 16px;
    background-position: calc(100% - 12px) 50%;
	padding-right: 2.2em;
}

label {
	width: 100%;
	display: block;
}

::placeholder {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.75;
}

/* Helper styles
---------------------------------------------------------------------------- */

a.more-link {
	display: block;
}

/* Inline code */
*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--tertiary);
	padding: 3px 5px;
	position: relative;
	border-radius: 3px;
}

.wp-block-categories {
	position: relative;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
	display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
	display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
	display: none;
}

.row-logos > figure {
	flex-shrink: 1 !important;
}

/* Sticky header */

body:not(.wp-admin) header:has(>.is-position-sticky) {
	position: sticky;
	top: calc( 0px + var( --wp-admin--admin-bar--height, 0px ) );
	z-index: 100;
}

/* Account for admin bar on mobile */

@media (max-width: 600px) {
	header:has(>.is-position-sticky) {
		top: 0;
	}
}

/* Mobile helper classes */

@media (max-width: 781px) {
	.elias-hide-on-mobile {
		display: none;
	}

	.elias-unstick-mobile {
		position: static;
	}

	header:has(>.elias-unstick-mobile) {
		position: static;
	}
}

/* Table
--------------------------------------------- */

.wp-block-table table {
	background: var(--wp--preset--color--base);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--border-light);
	font-size: var(--wp--preset--font-size--x-small);
}
.wp-block-table.is-style-stripes {
	border-bottom: none;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--tertiary);
}

.wp-block-table td, 
.wp-block-table th,
.wp-block-table thead {
	border: none;
	border-bottom: solid 1px color-mix(in srgb, var(--wp--preset--color--border-light) 50%, var(--wp--preset--color--base) 5%);
}

.wp-block-table th,
.wp-block-table tfoot {
	text-align: left;
	background-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 75%, var(--wp--preset--color--base) 5%);
}

.wp-block-table td, 
.wp-block-table th {
	padding: .8em 1em;
}

.wp-block-table tfoot {
	border-top: solid 1px var(--wp--preset--color--border-light);
}

.wp-block-table tfoot td {
	border-bottom: none;
}
/* CSS Mathilde
--------------------------------------------- */
:root {
  scroll-behavior: smooth;
  :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover)
 {
    text-decoration: none;
}
} 
/* -------   ACCUEIL -------  */
/* ------- WP PORTFOLIO ---------- */
.vp-portfolio__preloader::after, .vp-portfolio__preloader {
    display: none!important;
}
.vp-portfolio.vp-portfolio__ready .vp-portfolio__items-wrap, .vp-portfolio.vp-portfolio__ready .vp-portfolio__layout-elements, .vp-portfolio.vp-portfolio__ready .vp-portfolio__thumbnails-wrap {
overflow: visible;
}
/* portfolio eclaté 2 */
/* 1, 7, 13… */
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 1) {
	    transform: translate(-9%, 20%);
    transform-origin: top left;
}
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 2) {
	    transform: translate(0%, 10%);
}
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 3) {
   transform: translate(-15%, 25%);
}
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 4) {
	    transform: translate(12%, 10%)
}
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 5) {
	 transform: translate(10%, 15%);
}
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 6) {
   transform:  translate(-3%, 5%);
}
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 7) {
   transform:  translate(-15%, 45%);
} 
.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n + 8) {
   transform:  translate(0%, 30%);
} 
@media (max-width: 1023px) {
	.portfolio-eclate2 .vp-portfolio__item-wrap:nth-child(8n+1) {
  transform: translate(-10%, 0%);
}
	}

.vp-portfolio__items-style-fade {
    --vp-items-style-fade--image-hover__transform: scale(1);
}
.page .vp-portfolio__items-style-fade .vp-portfolio__item-overlay {
    background-color: var(--wp--preset--color--base);
/* recouvre également les contours encore visibles au survol */
	  transform: translateZ(0) scale(1.002);
}
.vp-portfolio__items-style-fade .vp-portfolio__item-meta>* {
	transform: none!important;
	text-transform:none;
}
.vp-portfolio__items-style-fade .vp-portfolio__item-meta{
	padding:15px;
}
.vp-portfolio__item-meta-title{
       font-size:var(--wp--preset--font-size--x-small)!important; 
}
 .vp-portfolio__item-wrap:hover {
    position: relative;
    z-index: 1000;
}


/*  PAGE PROJET  */
.single-post .vp-portfolio__items-style-fade .vp-portfolio__item-overlay{
	opacity:.98;
}
/*  lightbox  */
:root :where(.wp-block-button.is-style-fleche--4 .wp-block-button__link):after, span.stk--svg-wrapper:before, button.fancybox-button.fancybox-button--close:before, .fancybox-navigation .fancybox-button--arrow_left:before, .fancybox-navigation .fancybox-button--arrow_right:before {
       font-size: 30px;
    }
.fancybox-button, .fancybox-button:link, .fancybox-button:visited {
    color:var(--wp--preset--color--main);
}
.fancybox-button {
    background: transparent;
}
.fancybox-is-open .fancybox-bg {
    opacity: 1;
}
/* icônes page et bouton */
.fancybox-toolbar {
    right: 10px;
}
.fancybox-navigation .fancybox-button{
   padding: 20px;
}
.fancybox-navigation .fancybox-button {
    width: 80px;
}
.fancybox-button:hover, .fancybox-button:focus  {
   color:var(--wp--preset--color--main)!important;
    background-color: transparent!important;
}
/* charger plus */
.vp-portfolio__layout-elements-align-center {
    justify-content: left;
	    margin-top: 100px;
}
.vp-pagination__style-minimal .vp-pagination__item>* {
    padding: 20px 0;
}
.vp-pagination__style-minimal .vp-pagination__item a{
    display: flex;
}
.vp-pagination__style-minimal .vp-pagination__item a::after{
content:"→";
padding-left:10px;
}
@media (max-width: 1023px) {
	.groupe-images-projet{
		margin-top: 0!important;
	}
	}
/* -------  HEADER ------- */
.wp-block-site-title :where(a), .site-footer :where(a)  {
        text-decoration: none!important;
}
/* NAVIGATION */
/* sous-menus */
.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{
    padding-right: 1.3em;
}
.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon {
    font-size: x-large;
	margin-bottom: .1em;
}
.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{
	border: 1px solid var(--wp--preset--color--main) !important;
	color:var(--wp--preset--color--main);
	border-radius:0px!important;
	margin-top:1em!important;
}
/* menu mobile */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{
	color:var(--wp--preset--color--base);
	font-size:var(--wp--preset--font-size--medium);
} 
.wp-block-navigation__responsive-container-close {
    color:var(--wp--preset--color--base);
} 
.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
  stroke: var(--wp--preset--color--main);
} 
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
  background: var(--wp--preset--color--main);
}  
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
  padding-top: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .current-menu-item > .wp-block-navigation-item__content, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-navigation-item:hover > .wp-block-navigation-item__content{
	background: none !important;
} 
.wp-block-navigation__responsive-container-close{
  padding: 10px 10px 0 0;
}
@media (max-width: 1023px) {
/* Le bloc Navigation occupe l’espace restant */
	.site-header .wp-block-navigation {
		flex-grow: 1;
	}
	/* Menu fermé : hamburger poussé à droite */
	.site-header .wp-block-navigation__responsive-container-open {
		margin-left: auto;
	}
	/* Menu ouvert : contenu aligné à gauche */
	.site-header
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		text-align: left;
		width: 100%;
	}
	.site-header
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
		align-items: flex-start;
		justify-content: flex-start;
		width: 100%;
	} 
    .has-modal-open .admin-bar .is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-dialog {
        margin-top: 0;
    }
}
/* -------  FOOTER et HEADER MEDIAQUERIES------- */
@media (max-width: 1023px) {
	.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
		border: none !important;
		outline: none !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
  padding: 15px 60px 15px 5px;
}

}
@media (max-width: 767px) {
   .footer-colonne1 p, .footer-colonne3 p{
	justify-self: center;
   }
  }  
/* RECHERCHE */
input.kb-search-input::placeholder{
	font-size:2rem;
	color:var(--wp--preset--color--main)!important;
}
.kb-search-input[type="text"]{
	font-size:2rem!important;
	padding-left:0!important;
}
input.kb-search-input:focus, input.kb-search-input:focus-visible{
	border-radius: 0px!important;
		outline: none;
}
.tippy-box {
	background-color: var(--wp--preset--color--main) !important;
}
.tippy-arrow {
	color: var(--wp--preset--color--main) !important;
}

/* ARCHIVES */
/* hauteurs vignettes */
.wp-block-post-template.is-layout-grid > .wp-block-post {
    display: flex;
}
.wp-block-post-template.is-layout-grid > .wp-block-post > .tw-stretched-link:where(.wp-block-group,.wp-block-column,.wp-block-media-text,.wp-block-post-navigation-link),
.wp-block-columns.tw-stretched-link>.wp-block-column,
.wp-block-latest-posts.tw-stretched-link>li{
    height: 100%;
    width: 100%;
}
.wp-block-post-template.is-layout-grid > .wp-block-post > .tw-stretched-link {
    display: flex;
    flex-direction: column;
}
.wp-block-post-template.is-layout-grid > .wp-block-post > .tw-stretched-link > .wp-block-group:last-child {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.wp-block-post-template.is-layout-grid > .wp-block-post > .tw-stretched-link > .wp-block-group:last-child > .wp-block-group:last-child {
    margin-top: auto;
}

/* TYPOGRAPHIE */
/* liens */
p a{
	text-underline-offset: 4px;
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
}
.wp-block-navigation-item__content, .wp-block-breadcrumbs a, ul li a{
	text-decoration:none!important;	
}
p a:hover, .current-menu-item a, .wp-block-navigation-item__content:hover, button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:hover, .wp-block-breadcrumbs a:hover, ul li.cat-item a:hover, span.wp-block-accordion-heading__toggle-title:hover{
	text-underline-offset: 4px;
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	opacity:0.8;
}
.titre-vignette-archive a:hover{
	text-underline-offset: 6px;
	text-decoration: underline !important;
	text-decoration-thickness: 2px!important;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
	border-bottom: none;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label{
	text-underline-offset: 4px;
	text-decoration: underline !important;
	text-decoration-thickness: 2px;
}
/* figcaption */
div[class*="wp-block-"] figcaption {
	/* margin-top: 5px!important; */
	text-align: left!important;
	text-transform: uppercase;
	font-size: 0.85rem !important;
}
.wp-block-gallery.has-nested-images figcaption {
    margin-top: -20px !important;
		text-align: center!important;
}
/* ------- BLOCKS ------- */
/* accordéons */
.wp-block-accordion-heading__toggle-icon {
    align-items: flex-start;
}
.wp-block-accordion.alignwide.is-layout-flow.wp-block-accordion-is-layout-flow.tw-has-icon.tw-icon-plus{
	padding: 0 !important;
}
/* listes catégories */
li.cat-item{
	list-style: none;
}
/* Boutons */
.wp-block-button.is-style-outline .wp-block-button__link{
    outline: 1px solid currentColor!important;
    outline-offset: 0px!important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-post-terms:is(.is-style-tw-outline,.is-style-tw-outline-pill,.is-style-tw-outline-rounded) a:hover{
    color: var(--wp--preset--color--main)!important;
    background-color: var(--wp--preset--color--primary-alt-accent)!important;
    outline-color: var(--wp--preset--color--main)!important;
}
.wp-block-post-terms:is(.is-style-tw-outline,.is-style-tw-outline-pill,.is-style-tw-outline-rounded) a {
    padding: .2rem .5rem;
}
/* ------- bouton catégorie------- */
.button-categorie {
    display: inline-block;
    color: var(--wp--preset--color--main);
    background-color: transparent;
    border: 1px solid var(--wp--preset--color--main);
    border-radius: var(--wp--preset--border-radius--full);
    padding: 15px 18px;
    font-size: 15px;
	text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none!important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.button-categorie:hover {
text-decoration: none!important;
    background-color: var(--wp--preset--color--primary-alt-accent);
		color: var(--wp--preset--color--main);
}
/* ------- Carroussel ------- */
.tw-gallery-carousel .tw-carousel-arrow {
    color: var(--wp--preset--color--main);
    background-color: var(--wp--preset--color--base);
    border-radius: 0;
    border: 1px solid var(--wp--preset--color--main)!important;
    line-height: 0;
    padding: 6px;
}
.tw-gallery-carousel-list figure.wp-block-image {
  align-self: center;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img{
  height: 100px;
  width: auto;
  object-fit: contain;
}
/* ------- Galerie ------- */
.wp-block-image>a, .wp-block-image>figure>a {
    display: flex;
}
.wp-block-gallery.has-nested-images figure.wp-block-image>a:hover {
opacity:0.8;
}
/* Remettre le figure en flux normal */
.wp-block-gallery .wp-block-image figure {
  display: flex!important;
  flex-direction: column!important;
}
/* Sortir la figcaption du positionnement absolu */
.wp-block-gallery .wp-block-image figcaption {
  position: static!important;
  background: transparent!important;
  color: inherit!important; /* ou ta couleur de texte */
  text-align: center;
  padding: 0.5em 0!important;
  margin-top: 0.25em!important;
  text-shadow: none!important;
  text-transform:uppercase;
  font-size:14px!important;
}
/* ------- notes en bas de page ------- */
ol.wp-block-footnotes {
    margin-top: 50px;
	padding-left: 20px;
}
ol.wp-block-footnotes::before {
content:"_______";
    margin: 0 0 0 -20px;
	line-height: 3em;
}
/* ------- icône ------- */
:root :where(.wp-block-icon svg) {
    width: 34px;
}
/* ------- Nobs • Share Buttons ------- */
.juiz_sps_hide_name .juiz_sps_item .juiz_sps_button {
        padding: 0.2em;
	background: var(--wp--preset--color--main);
}

/* ------- COMPLIANZ ---------- */
.cmplz-cookiebanner{
    padding: 0px 50px 20px 30px!important;
    right: -25px !important; 
    bottom: 50px !important; 
      grid-row-gap: 0px!important;
}
.cmplz-cookiebanner p{
    font-size: var(--cmplz_text_font_size)!important;
}
.cmplz-cookiebanner .cmplz-header {
    grid-template-columns: 1fr 1fr 100px!important;
    grid-column: span 3;
}
.cmplz-cookiebanner .cmplz-title {
    justify-self: flex-start!important;
    grid-column-start: 1!important;
    padding-top: 25px;
    letter-spacing: 0.8px !important;
    text-transform: uppercase;
    font-weight: 600 !important;
}
.cmplz-cookiebanner .cmplz-links .cmplz-link {
      text-decoration: none!important;
}
a.cmplz-link.privacy-statement {
      display: none;
    }
  .cmplz-cookiebanner .cmplz-links.cmplz-documents {
      justify-content: flex-start!important;
      padding: 5px 0px 7px 0px !important;
    }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
      letter-spacing: 0.8px!important;
      text-transform: uppercase;
      text-align: left!important;
      padding: 0px!important;
    }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover, a.cmplz-link.cookie-statement:hover{
    text-decoration: underline 1px!important;
    text-underline-offset: .25em!important;
  }
.cmplz-cookiebanner .cmplz-categories .cmplz-category{
      background-color:rgba(255, 255, 255, 0)!important;  
    }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
      padding: 10px 10px 10px 0px !important;
    }
