/*
Theme Name: igaubusson
Author: lutra.fr
Description: Thème FSE pour le site des IG tapis et tapisseries d'Aubusson.
*/

/* COLORS
--------------------------------------------------------*/

.fill-dark {
	fill: var(--wp--preset--color--dark);
}

.fill-light {
	fill: var(--wp--preset--color--light);
}

.fill-blue {
	fill: #4a60d9;
}

.fill-white {
	fill: #efefef;
}

.fill-red {
	fill: #e30613;
}



/* ELEMENTS
--------------------------------------------------------*/

html {
	scroll-behavior: smooth;
}

img {
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

time {
	background-color: var(--wp--preset--color--jaune);
	padding: .25rem .5rem;
	margin-bottom: .25rem;
	display: inline-block;
	font-size: var(--wp--preset--font-size--normal);
}

textarea {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--dark);
	width: 100%;
	margin-top: 1rem;
	padding: .5rem;
	box-sizing: border-box;
}

input {
	font-size: var(--wp--preset--font-size--medium);
	font-family: var(--wp--preset--font-family--afacad);
	background-color: transparent;
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--dark);
	margin-top: .25rem;
	padding: .5rem 0;
	width: 100%;
}

input:focus-visible,
textarea:focus-visible {
	outline: none;
}

input::placeholder {
	color: var(--wp--preset--color--dark);
}

input:focus-visible::placeholder {
	opacity: .3;
}

textarea::placeholder {
	font-size: 1rem;
}

input[type="submit"] {
	display: block;
	width: auto;
	margin-top: 1rem;
	padding: 1rem;
	font-size: 1rem;
	background-color: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--jaune);
	border: 1px solid var(--wp--preset--color--dark);
	cursor: pointer;
	transition: all .3s ease-in-out;
}

input[type="submit"]:hover {
	background-color: transparent;
	color: var(--wp--preset--color--dark);
}

.has-light-color figcaption {
	color: var(--wp--preset--color--light);
}


/* UTILITIES
--------------------------------------------------------*/
.d-flex {
	display: flex;
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
}
.gap-4 {
	gap: 1.5rem !important;
}

.position-relative {
	position: relative !important;
}

.ratio-1x1,
figure.ratio-1x1 > img {
	aspect-ratio: 1;
}

.m-0 {
	margin: 0 !important;
}

.mt-0,
.my-0 {
	margin-top: 0 !important;
}

.mr-0,
.mx-0 {
	margin-right: 0 !important;
}

.mb-0,
.my-0 {
	margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
	margin-left: 0 !important;
}

.m-1 {
	margin: 0.25rem !important;
}

.mt-1,
.my-1 {
	margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
	margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
	margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
	margin-left: 0.25rem !important;
}

.m-2 {
	margin: 0.5rem !important;
}

.mt-2,
.my-2 {
	margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
	margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
	margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
	margin-left: 0.5rem !important;
}

.m-3 {
	margin: 1rem !important;
}

.mt-3,
.my-3 {
	margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
	margin-right: 1rem !important;
}

.mb-3,
.my-3 {
	margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
	margin-left: 1rem !important;
}

.m-4 {
	margin: 1.5rem !important;
}

.mt-4,
.my-4 {
	margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
	margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
	margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
	margin-left: 1.5rem !important;
}

.m-5 {
	margin: 3rem !important;
}

.mt-5,
.my-5 {
	margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
	margin-right: 3rem !important;
}

.mb-5,
.my-5 {
	margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
	margin-left: 3rem !important;
}

.m-auto {
	margin: auto !important;
}

.mt-auto,
.my-auto {
	margin-top: auto !important;
}

.mr-auto,
.mx-auto {
	margin-right: auto !important;
}

.mb-auto,
.my-auto {
	margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
	margin-left: auto !important;
}

.border-top {
	border-top: 1px solid !important;
}

.stretched-link::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.position-sticky {
	position: sticky !important;
	top:0;
}

.uppercase {
	text-transform: uppercase;
}

.small {
	font-size: 0.875rem;
}

.text-end {
	text-align: end;
}
/* TYPOGRAPHY
--------------------------------------------------------*/
figcaption {
	font-size: 0.875rem;
}


/* MARGINS & PADDINGS
--------------------------------------------------------*/
@media screen and (min-width: 1200px) {
	.px-xl-2 {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}


/* LAYOUT
--------------------------------------------------------*/
main {
	margin:0 5vw
}

aside p {
	margin-block-start: .5rem;
}

/* GRID COLUMNS USING FLEX-BASIS
--------------------------------------------------------*/
[class^="col-"] {
	flex: 0 0 auto;
	max-width: 100%;
}

.col-1 {
	flex-basis: 8.333333%;
	max-width: 8.333333%;
}

.col-2 {
	flex-basis: 16.666667%;
	max-width: 16.666667%;
}

.col-3 {
	flex-basis: 25%;
	max-width: 25%;
}

.col-4 {
	flex-basis: 33.333333%;
	max-width: 33.333333%;
}

.col-5 {
	flex-basis: 41.666667%;
	max-width: 41.666667%;
}

.col-6 {
	flex-basis: 50%;
	max-width: 50%;
}

.col-7 {
	flex-basis: 58.333333%;
	max-width: 58.333333%;
}

.col-8 {
	flex-basis: 66.666667%;
	max-width: 66.666667%;
}

.col-9 {
	flex-basis: 75%;
	max-width: 75%;
}

.col-10 {
	flex-basis: 83.333333%;
	max-width: 83.333333%;
}

.col-11 {
	flex-basis: 91.666667%;
	max-width: 91.666667%;
}

.col-12 {
	flex-basis: 100%;
	max-width: 100%;
}

/* BUTTONS LINKS & PILLS 
--------------------------------------------------------*/
a {
	text-decoration: underline;
}

.wp-block-post-excerpt__more-link {
	display: inline-block;
	font-weight: bold;
}

.wp-block-post-excerpt__more-link::before {
	content: "➮";
	text-decoration: none;
	display: inline-block;
	margin-left: .5rem;
	margin-right: .25rem;
	font-size: 2rem;
	line-height: 1rem;
	position: relative;
	top: 0.438rem;
}

h3 > a {
	text-decoration: none;
}

.taxonomy-type_ig a{
	border: 1px solid;
	padding: 0 .75rem;
	border-radius: 1rem;
	margin: .5rem .125rem;
	display: inline-block;
	text-decoration: none;
}

.taxonomy-type_ig a,
.taxonomy-category a {
	text-decoration: none;
	font-size: 1rem;
	pointer-events: none;
}

.single-post .taxonomy-category a {
	pointer-events: visible;
	border: 1px solid;
	border-radius: 2rem;
	padding: .25rem .5rem;
}

.taxonomy-category a:first-child::before {
	content: "→";
	margin-right: .25rem;
}

.single-post .taxonomy-category a::before {
	content: "";
}

.page-numbers {
	width: 2.5rem;
	height: 2.5rem;
	display: inline-flex;
	background-color: var(--wp--preset--color--jaune);
    border: 1px solid var(--wp--preset--color--jaune);
	border-radius: 2rem;
	justify-content: center;
	align-items: center;
}

.page-numbers.current {
	background-color: var(--wp--preset--color--light);
    border-color: var(--wp--preset--color--dark);
}

.large-btn {
	width: 100%;
	max-width: 400px;
}

/* HEADER 
--------------------------------------------------------*/

.header-logo {
	display: block;
	max-width: 200px;
	margin: 0 auto;
}

.site-header {
	margin: 0 5vw;
}

.wp-block-navigation__responsive-container-close {
	right: 2rem;
}

.header-nav-1 {
	display: none;
}

.header-nav-2 {
	justify-content: end;
}
  
.wp-block-navigation__responsive-container-open {
	display: flex;
}

@media (min-width: 600px) {

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-open {
		display: none;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
	display: none;
}
}

@media (min-width: 1200px) {

  .site-header {
    margin: unset;
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }

  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block;
  }

  .header-nav-1 {
	display: flex;
  }

  .header-nav-2 {
	justify-content: center;
  }
}

/* LANDING PAGE 
--------------------------------------------------------*/

.previous-news li.wp-block-post:not(:last-child) {
	border-bottom: 1px solid;
	padding-bottom: 2rem;
}

.wp-block-post figure a::before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #00000082;
    position: absolute;
	top: 0;
	left: 0;
	transition: all .3s ease-in-out;
	transition: all 1s;
	opacity: 0;
}

.wp-block-post figure a:hover::before {
	opacity: 1;
}

.wp-block-post figure a:hover::after {
    content: "➺";
    color: #fff;
    display: block;
    font-size: 3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

/* SINGLE OPERATEUR 
--------------------------------------------------------*/

.featured-image-hero .featured-image {
	aspect-ratio: 16/9;
	width: 100%;
}

.featured-image-caption {
	text-align: right;
}

/* FOOTER 
--------------------------------------------------------*/

.site-footer .wp-block-cover {
	overflow: visible;
}

.footer-logo {
	display: block;
	max-width: 200px;
}

footer form[aria-label="Formulaire de contact"] {
	background-color: white;
	padding: .25rem 1.5rem 0;
	box-shadow: 1rem -1rem 2rem #35353517;
}

@media screen and (min-width: 782px) {
	.site-footer {
		margin-top: 5rem;
	}

	footer form[aria-label="Formulaire de contact"] {
		transform: translateY(-6rem);
	}	
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin {
	background-color: var(--wp--preset--color--dark);
	color: #fff;
}

.wp-block-social-links {
	gap: .75rem;
}

footer .footer-menu {
	display: flex;
	padding-top: 5vw;
	padding-bottom: 5vw;
}

.footer-menu li a:hover {
	color: var(--wp--preset--color--jaune)!important;
}

.footer-menu a::before {
	content: "";
	position:absolute;
	bottom:0;
	width:0;
	transition: all .3s ease-in-out;
	border-bottom:1px solid;
}

.footer-menu a:hover::before {
	width:100%;
}

.footer-menu nav {
	gap: .75rem;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
	flex: unset;
	object-fit: contain;
}

.site-footer .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: auto;
	max-width: 200px;
	max-height: 74px;
}
