/**
Theme Name: declic-photos
Author: jrmyfranck
Author URI: https://jrmyfranck.com
Description: A custom theme for https://declicphotos.com, to be able to customize the functions.php file
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: declic-photos
Template: astra
*/

/** ======================================================================== */
/* GLOBAL STYLING                                                            */
/* ========================================================================= */

/* Site Background */

/* When the template is set as “Narrow” in the Customizer, the body of the page doesn't get a background (unlike other layout options). This fixes it. */

body.ast-narrow-container {
    background-color: var(--ast-global-color-7);
}



/** ======================================================================== */
/* GLOBAL TYPOGRAPHY                                                         */
/* ========================================================================= */

/* Special inline elements */

code {
	background-color: hsla(0, 0%, 0%, .1);
    font-weight: 600;
}


/* Headings vertical rythm */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 1em;
	margin-bottom: 1.333rem;
}


h1, .entry-content h1 {
	margin-top: 1em;
	margin-bottom: 1.333rem;
}
h1:first-of-type, .entry-content h1:first-of-type {
	margin-top: 0;
}
h2, .entry-content h2 {
	margin-top: 1em;
	margin-bottom: 1.333rem;
}
h3, .entry-content h3 {
	margin-top: 1em;
	margin-bottom: 1.333rem;
}
h4, .entry-content h4 {
	margin-top: 48px;
	margin-bottom: 1.333rem;
}
h5, .entry-content h5 {
	margin-top: 24px;
	margin-bottom: 1.333rem;
}
h6, .entry-content h6 {
	margin-top: 24px;
	margin-bottom: 12px;
}


/* Zion Builder specific headings styles */

h1.zb-element,
h2.zb-element,
h3.zb-element,
h4.zb-element,
h5.zb-element,
h6.zb-element {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}


/* Remove bottom margin if elements are the last child of their div/section */

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child {
	margin-bottom: 0;
}


/* Styles for responsive text */

span.rwd {
	display: none;
}

@media screen and (min-width: 1441px) { 
	span.rwd.xl {
		display: unset;
	}
}

@media screen and (max-width: 1440px) and (min-width: 992px) {
	span.rwd.desktop {
		display: unset;
	}
}

@media screen and (max-width: 991px) and (min-width: 768px) {
	span.rwd.laptop {
		display: unset;
	}
}

@media screen and (max-width: 767px) and (min-width: 576px) {
	span.rwd.tablet {
		display: unset;
	}
}

@media screen and (max-width: 575px) and (min-width: 375px) {
	span.rwd.mobile {
		display: unset;
	}
}

@media screen and (max-width: 374px) {
	span.rwd.xs {
		display: unset;
	}
}




/* Styles for responsive linebreaks */

br.rwd {
	display: none;
}

/* XL screen (larger than 1440px) */
@media screen and (min-width: 1441px) { 
	br.rwd.xl {
		display: unset;
	}
}

/* Desktop (992px–1440px) */
@media screen and (max-width: 1440px) and (min-width: 992px) {
	br.rwd.desktop {
		display: unset;
	}
}

/* Laptop (768px–991px) */
@media screen and (max-width: 991px) and (min-width: 768px) {
	br.rwd.laptop {
		display: unset;
	}
}

/* Tablet (576px–767px) */
@media screen and (max-width: 767px) and (min-width: 576px) {
	br.rwd.tablet {
		display: unset;
	}
}

/* Mobile (375px–575px) */
@media screen and (max-width: 575px) and (min-width: 375px) {
	br.rwd.mobile {
		display: unset;
	}
}

/* XS Mobile (less than 375px) */
@media screen and (max-width: 374px) {
	br.rwd.xs {
		display: unset;
	}
}




/* FA Icons styles */

.zb-element span.zb-el-iconBox-icon:before, 
.zb-element span.zb-el-iconBox-icon,
.zb-element [data-znpbiconfam="Font Awesome 5 Free Regular"]:before, 
.zb-element [data-znpbiconfam="Font Awesome 5 Free Regular"] {
	line-height: 1;
}


/** ======================================================================== */
/* GLOBAL LAYOUT                                                             */
/* ========================================================================= */

/* Handle iPhone notch (landscape) */

body > section,
body > main {
	padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}



/** ======================================================================== */
/* CONTENT HELPER CLASSES                                                    */
/* ========================================================================= */

/* Callouts */

.declic-callout {
}

.declic-callout__container {
}

.declic-callout .declic-callout__icon svg {
	fill: none;
	vertical-align: text-bottom;
}

.declic-callout__text {
}

.declic-callout.declic-callout--info {
	background-color: hsla(220, 80%, 94%, 0.8);
	border-color: hsla(220, 70%, 60%, 0.7);
}
.declic-callout.declic-callout--info svg {
	color: hsla(220, 70%, 60%, 1);
}

.declic-callout.declic-callout--warning {
	background-color: hsla(0, 80%, 94%, 0.5);
	border-color: hsla(0, 70%, 60%, 0.7);
}

.declic-callout.declic-callout--warning svg {
	color: hsla(0, 70%, 60%, 1);
}

.declic-callout.declic-callout--question {
	background-color: hsla(50, 80%, 94%, 0.5);
	border-color: hsla(50, 70%, 60%, 0.7);
}
.declic-callout.declic-callout--question svg {
	color: hsla(50, 70%, 60%, 1);
}


/** ======================================================================== */
/* HEADER																     */
/* ========================================================================= */

/* Astra header behaves in a weird way, we need to force the content to be 100% width */

.ast-header-html-1 {
	flex-grow: 1;
}
.ast-header-html-1 .ast-header-html {
	flex-grow: 1;
}


/* Fix for product variation swatches overlapping with mega menu */
.site-header {
	z-index: 200;
}





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

.site-footer-section-1 .footer-widget-area-inner {
    flex-grow: 1;
}

/* 
label[for="pa_format"]:after {
	content: "i";
	display: inline-flex;
	margin-left: 6px;
	border: solid 2px black;
	width: 24px;
	height: 24px;
	font-size: 14px;
	line-height: 1;
	justify-content: center;
	align-items: center;
	padding: 4px;
	border-radius: 100%;
}
*/

#sec_g2g1j1d29192 {
    display: flex;
    width: max-content;
    justify-content: flex-start;
    align-items: center;
    padding: 24px 12px;
    background-color: red;
}

#sec_g2g1j1d29192 .wcpa_row:nth-child(odd) {
    background-color: unset;
    border: unset;
}

/* Infos commandes tooltip styles */

#wcpa_img_preview .wcpa_tooltip {
    display: flex;
    flex-direction: column;
    max-width: 800px;
    gap: 12px;
    padding: 24px !important;
    font-size: 18px;
    line-height: 1.2;
}

.infos-commande__title {
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.2;
}

.infos-commande__img {
}

.infos-commande__text {
    font-size: 18px;
    line-height: 1.2;
}

.infos-commande__text a {
    text-decoration: underline !important;
    font-weight: 600 !important;
}



/** ======================================================================== */
/* SINGLE BLOG POST													         */
/* ========================================================================= */



/* Title banner */

.ast-narrow-container .ast-single-entry-banner[data-post-type="post"] {
    border-radius: 12px;
    overflow: hidden;
}

.ast-narrow-container .ast-single-entry-banner[data-post-type="post"] .ast-container {
    max-width: unset;
    padding-top: 36px;
    padding-bottom: 24px;
    padding-right: 24px;
    padding-left: 24px;
}

.ast-single-entry-banner[data-post-type="post"] .post-thumb-img-content {
    width: 100%;
    margin-top: 36px;
    border-radius: 6px;
    overflow: hidden;
}

.ast-single-entry-banner[data-post-type="post"] .post-thumb-img-content img {
    width: 100%;
    height: 100%;
    max-height: 400px;
    object-fit: cover;
    object-position: center center;
}



/* Social sharing module */

.ast-post-social-sharing {
	display: flex;
	flex-direction: row;
	justify-content: start;
	align-items: center;
	column-gap: 60px;
	margin-top: 120px;
	padding: 24px;
	border-radius: 12px;
	background-color: var(--ast-global-color-8);
	box-shadow: 
		6px 12px 50px -10px rgba(0, 0, 0, .05),
		4px 10px 30px -6px rgba(0, 0, 0, .05),
		1px 3px 5px rgba(0, 0, 0, .05);
}
.ast-post-social-sharing .ast-social-sharing-heading {
	margin-bottom: 0;
}
.ast-post-social-sharing .ast-social-inner-wrap {
	margin-top: 0;
}
.ast-post-social-sharing .ast-social-inner-wrap {
	display: flex;
}
.ast-post-social-sharing a.ast-social-icon-a {
	display: flex;
}


/** ======================================================================== */
/* GUIDES - Single                                                           */
/* ========================================================================= */

.guide-module-card {
	
}

.guide-module-card__content {
	
}
.guide-module-card__title {
	
}

.guide-module-card__description {
	
}

.guide-module-card__media-container {
	
}

.guide-module-card__image {
	transition: transform .25s ease-in-out;
}
.guide-module-card__image:hover {
	transform: scale(1.05);
}





/** ======================================================================== */
/* AVIS CLIENTS                                                              */
/* ========================================================================= */

/* Cartes avis clients sur la page “Avis Clients” */

.avis-client__card {

}

.avis-client__rating {
	  
}

.avis-client__star-icon {
	  
}

.avis-client__title {
	  
}

.avis-client__infos {
	  
}

.avis-client__role {
	  font-weight: 600;
}

.avis-client__company {
	  
}

.avis-client__text {
	  
}



/** ======================================================================== */
/* WOOCOMMERCE - GLOBAL  													 */
/* ========================================================================= */

/* For some reasons Astra styles for this don't get updated by the Customizer, so we need those rules to fix it */


.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	display: flex;
	justify-content: start;
	align-items: center;
	flex-direction: row-reverse;
	background-color: var(--ast-global-color-8);
	border-width: 2px;
	border-style: solid;
	border-color: var(--ast-global-color-1);
	border-radius: 12px;
	box-shadow: 
			6px 12px 50px -10px rgba(0, 0, 0, .1),
			4px 10px 30px -6px rgba(0, 0, 0, .05),
			1px 3px 5px rgba(0, 0, 0, .05); 
}
.woocommerce .woocommerce-info .button {
	margin-left: auto;
}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
	top: unset;
}



/** ======================================================================== */
/* PRODUCT PAGE																 */
/* ========================================================================= */

/* LAYOUT ------------------------------------------------------------------ */

/* We want Product Single pages to be extra-large to better showcase the product */

.ast-article-single.type-product {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}

/* PRODUCT INFOS ----------------------------------------------------------- */

/* Product title */
.single-product div.product .entry-title {
	max-width: 30ch;
	letter-spacing: 0.025em;
	margin-bottom: 12px;
}


/* Product price */
.single-product div.product p.price, 
.single-product div.product span.price {
	margin-bottom: 24px;
}


/* Étiquette prochainement disponible (pour les produits de la catégorie "Prochainement") */

div.product__available-soon {
    display: flex;
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: 600;
    background: var(--ast-global-color-3);
    color: var(--ast-global-color-8);
    width: max-content;
    padding: 6px 12px;
    border-radius: 12px;
}

/* VARIATIONS -------------------------------------------------------------- */

/* Styles pour les étiquettes de variations */

.acovsw-selected .acovsw-variation {
	font-weight: 600;
}
ul.acovsw-attribute-style li {
	margin: 6px 12px 6px 0px !important;
}
ul.acovsw-button-style li span.acovsw-variation {
	padding: 6px 18px;
	transition: background-color .25s ease-in-out, font-weight .25s ease-in-out;
}

/* Hide default selected state items */
ul.acovsw-button-style li.acovsw-selected .acovsw-variation:before,
ul.acovsw-button-style li.acovsw-selected .acovsw-variation:after {
	display: none !important;
}

/* Space below the variations */
.woocommerce-js div.product form.cart .variations {
	padding-bottom: 24px !important;
	margin-bottom: 12px !important;
}

/* Space below the price (one ce a variation is selected) */
.woocommerce-js div.product form.cart .single_variation_wrap .single_variation {
	margin-bottom: 24px !important;
}

/* Right-align price */
.single_variation_wrap .woocommerce-variation-price {
	text-align: right;
}


/* PRODUCT CONFIGURATOR ---------------------------------------------------- */

/* Styles globaux pour les champs du formulaire produit */

.wcpa_form_outer {
	margin-top: 24px;
}

/* Space between sections */
.product-configurator-section:not(:first-of-type) {
	padding-top: 24px;
}


.product-configurator-section__title h2 {
	font-family: Bantayog Sans,Bantayog,Helvetica Neue,Helvetica,Arial,sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
	letter-spacing: unset;
}

.product-configurator-section__field {
	
}

/* hide label if field has "hide-label" class */
/* .product-configurator-section__field.hide-label > label.wcpa_field_label {
	display: none;
} */


/* Appliquer une couleur de fond aux champs custom, et alterner les couleurs (entre nombre pairs et impairs) pour les différencier */

.wcpa_row,
.wcpa_type_radio-group {
    border: solid 1px red;
}

.wcpa_section:nth-child(odd) {
    background-color: #fef9c3;
    border-radius: 4px;
}

.wcpa_section:nth-child(even) {
    background-color: #d1fae5;
    border-radius: 4px;
}


/* Personnaliser la vignette de l’option sélectionnée */

.wcpa_image input:checked ~ .wcpa_image_wrap img {
    filter: brightness(0.5);
}

.wcpa_image input:checked ~ .wcpa_image_wrap img:after {
    content: "";
    display: block;
    position: absolute;
    left: 32px;
    top: 26%;
    width: 20px;
    height: 30px;
    border-style: solid;
    border-width: 0 5px 5px 0;
    border-color: #fff;
    transform: rotate(45deg);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: -7px;
    margin-left: -3px;
}

.wcpa_form_outer .wcpa_form_item .wcpa_sel_type_tick .wcpa_image input:checked ~ label:after,
.wcpa_form_outer .wcpa_form_item .wcpa_sel_type_tick-shadow .wcpa_image input:checked ~ label:after,
.wcpa_form_outer .wcpa_form_item .wcpa_product_sel_type_tick input:checked ~ label:after,
.wcpa_form_outer .wcpa_form_item .wcpa_product_sel_type_tick-shadow input:checked ~ label:after {
    left: 32px;
    top: 26%;
    width: 20px;
    height: 30px;
    border-width: 0 5px 5px 0;
    border-color: #fff;
    filter: drop-shadow(0px 0px 2px #000000);
}



/** ======================================================================== */
/* CART																         */
/* ========================================================================= */

/* Hide product quantity in cart */

.woocommerce table.cart td:nth-of-type(5),
.woocommerce table.cart th:nth-of-type(5) {
    display: none;
}



/** ======================================================================== */
/* CHECKOUT																     */
/* ========================================================================= */

body.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin-bottom: 120px;
}

.checkout-submit-help-message {
    margin-top: 60px;
}

body.woocommerce-checkout .form-row input {
    border: solid 1px #bcbbbb !important;
    border-radius: 12px !important;
}

.woocommerce form .form-row ::-webkit-input-placeholder,
.woocommerce form .form-row ::-moz-input-placeholder,
.woocommerce form .form-row ::input-placeholder {
    color: #bcbbbb !important;
}



/* Styles for the FREE SHIPPING notice */

.woocommerce .cart_free_shipping_granted {
	background-color: var(--ast-global-color-6);
	padding: 6px 12px;
	border-radius: 4px;
	text-align: center;
	font-weight: 700;
}


/* Shipping options styles */

ul#shipping_method li label {
	font-weight: 600;
}
ul#shipping_method li label span:not(.amount) {
	font-weight: 400;
}



/**
 * TODO: “Total panier” n'a pas de top margin 
 */

/**
 * TODO: LEs images des transporteurs ne font pas la même taille
 */
  
/**
 * TODO: LE logo colissimo est flou. (remplacer img avec JS)
 */


/**
 * TODO: contrôler les options affichées dans la colonne de droite. 
 */
  
/**
 * TODO: La colonne de droite (avec les options) sort de son container. 
 */


/** ======================================================================== */
/* THANK YOU PAGE   														 */
/* ========================================================================= */

/**
 * TODO: Contrôles les champs affichés sur la page de remerciement
 */

/**
 * TODO: Ajouter du contenu à la page de remerciement pour revenir au reste du site
 */



/** ======================================================================== */
/* ACCOUNT   																 */
/* ========================================================================= */

/**
 * TODO: Dans le compte utilisateur (lorsque connecté), les onglets de navigation n'ont pas les bonnes couleurs.
 */





/** ======================================================================== */
/* FORMINATOR																 */
/* ========================================================================= */

/* Forminator styles for registration Form */

.forminator-pagination-footer .forminator-button.forminator-button-back:before {
    content: "\003C";
}

.forminator-pagination-footer .forminator-button.forminator-button-next:after {
    content: "\003E";
}

/** ======================================================================== */
/* WP DATA TABLES															 */
/* ========================================================================= */

/* Hide the WP Data Tables attribution text */

.wpdt-c + .powered_by_link {
    display: none;
}


/** ======================================================================== */
/* RANK MATH															 */
/* ========================================================================= */

/* Change the size for the title of the TOC block */


.guide-toc > h2 {
	font-family: Bantayog Sans,Bantayog,Helvetica Neue,Helvetica,Arial,sans-serif;
	font-size: 24px;
	font-weight: 600;
}

.single-guide .guide-toc li > a {
	text-decoration: none;
}

/** ======================================================================== */
/* SHORTCODES																 */
/* ========================================================================= */

/* Payment options icons */

.list--inline > li {
    list-style: none;
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
}

.payment-icons {
    margin: 0;
}
.payment-icons > li {
    margin: 0 0.25rem;
}
.payment-icons > li:first-child {
    margin-left: 0;
}
.payment-icons > li:last-child {
    margin-right: 0;
}


/** ======================================================================== */
/* LAYOUT UTILITY CLASSES                                                    */
/* ========================================================================= */

.grid-2 {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(auto, 1fr));
	gap: 1.5rem;
	align-items: center;
}



/** ======================================================================== */
/* OTHER UTILITY CLASSES                                                     */
/* ========================================================================= */

/* Shadow utility class */

.fx-shadow {
	box-shadow: 
		6px 12px 50px -10px rgba(0, 0, 0, .1),
		4px 10px 30px -6px rgba(0, 0, 0, .05),
		1px 3px 5px rgba(0, 0, 0, .05);
}


/* Shadow on hover utility class */

.fx-shadow-hover {
	box-shadow: 
		0px 0px 50px -10px rgba(0, 0, 0, 0),
		0px 0px 30px -6px rgba(0, 0, 0, 0),
		0px 0px 5px rgba(0, 0, 0, 0);
}
.declic-utils-shadow-hover:hover {
	box-shadow: 
		6px 12px 50px -10px rgba(0, 0, 0, .05),
		4px 10px 30px -6px rgba(0, 0, 0, .1),
		2px 3px 10px -2px rgba(0, 0, 0, .2);
}



/** ======================================================================== */
/* MOTION																 */
/* ========================================================================= */

.animate {
	-webkit-transition-duration: 0.25s;
	transition-duration: 0.25s;
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-timing-function: ease-in-out;
	transition-timing-function: ease-in-out;
}

/* * */

.animate.delay-05s {
	animation-delay: .5s;
	transition-delay: .5s;
}

.animate.delay-1s {
	animation-delay: 1s;
		transition-delay: 1s;
}
.animate.delay-2s {
	animation-delay: 2s;
	transition-delay: 2s;
}
.animate.delay-3s {
	animation-delay: 3s;
	transition-delay: 3s;
}
.animate.delay-4s {
	animation-delay: 4s;
	transition-delay: 3s;
}
.animate.delay-5s {
	animation-delay: 5s;
	transition-delay: 5s;
}

/* * */

.animate.faster	{
	animation-duration: .25s;
	transition-duration: .25s;
}
.animate.fast	{
	animation-duration: .5s;
	transition-duration: .5s;
}
.animate.slow	{
	animation-duration: 2s;
	transition-duration: 2s;
}
.animate.slower	{
	animation-duration: 3s;
	transition-duration: 3s;
}

/* * */

.animate.motion-float-up-hover {
	transform: translate3d(0, 0, 0);
}
.animate.motion-float-up-hover:hover {
	transform: translate3d(0, -10%, 0);
}

