/* 
Theme Name: Theme Idylliq
Theme URI: https://idylliq.ca/
Description: Theme wordpress/woocommerce
Author: Idylliq team
Author URI: https://idylliq.ca/
Template: hello-elementor
Version: 2.0.0
Text Domain: theme-idylliq
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/**** General ****/
body {
	overflow-x: hidden;
}
html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}
:focus {
	outline: none;
}
a {
	text-decoration: none;
}
ul, ol {
	margin-bottom: 15px;
}
::marker {
	color: var(--e-global-color-primary);
	font-weight: 600;
}
blockquote {
	border-left: 3px solid var(--e-global-color-primary);
	padding-left: 20px;
}
b, strong {
	font-weight: 600;
}
.color-primary {
	color: var(--e-global-color-primary) !important;
}
.color-secondary {
	color: var(--e-global-color-secondary) !important;
}
.color-accent {
	color: var(--e-global-color-accent) !important;
}
svg .first-color {
	fill: var(--e-global-color-text) !important;
}
svg .second-color {
	fill: var(--e-global-color-primary) !important;
}
/**** Elementor ****/
.elementor-widget-image a {
	width: 100%;
}
.elementor-nav-menu--layout-vertical .elementor-nav-menu .sub-menu {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    display: none;
}
.elementor-nav-menu--layout-vertical .elementor-nav-menu li:hover > .sub-menu {
    display: block;
	width: 100%;
}
/**** Form - Input ****/
.elementor-field-group .elementor-field-textual:focus {
	box-shadow: none !important;
}
/**** Form - Checkbox & Radio ****/
.elementor-field-option input[type="checkbox"], .elementor-field-option input[type="radio"] {
	display: none !important;
}
.elementor-field-option input ~ label::before {
	content: '';
	display: inline-block;
    position: relative;
	top: 4px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid var(--e-global-color-primary) !important;
	margin-right: 6px !important;
}
.elementor-field-option input:checked ~ label::before {
	background-color: var(--e-global-color-primary);
	box-shadow: inset 0px 0px 0px 3px white !important;
}
.elementor-field-type-acceptance .elementor-field-option label {
    display: inline-flex !important;
	font-size: 14px !important;
	line-height: 19px !important;
	margin-bottom: 5px;
}
.elementor-field-type-acceptance .elementor-field-option label::before {
	min-width: 18px;
	top: 2px !important;
}
/**** Form - Select ****/
.elementor-field-type-select select {
	padding-left: 10px !important;
}
.elementor-field-type-select .select-caret-down-wrapper {
    height: 100%;
}
.elementor-field-type-select .select-caret-down-wrapper svg {
    fill: var(--e-global-color-primary);
    height: 100%;
    padding-bottom: 10px;
}
/* Form - File upload BTN - Custom wrapper */
.custom-file-upload {
    display: flex;
    align-items: center;
    gap: 15px;
}
.file-upload-btn {
    background-color: var(--e-global-color-secondary) !important;
	display: flex;
    gap: 15px;
    cursor: pointer;
}
.file-upload-btn:hover {
    background-color: var(--e-global-color-primary) !important;
	display: flex;
    gap: 15px;
    cursor: pointer;
}
.file-upload-btn .icon::before {
    content: '\e952';
    font-family: 'eicons';
    padding: 6px 10px;
    font-size: 20px;
    color: white;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) skew(25deg);
}
.file-upload-label {
    font-size: 14px;
    color: #666;
}
/* Form - Upload + Submit sur la même ligne (desktop uniquement) */
@media (min-width: 1100px) {
    .elementor-form-fields-wrapper {
        display: flex !important;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .elementor-field-type-upload,
    .elementor-field-group.elementor-field-type-upload {
        flex: 1;
        min-width: 0;
        width: auto !important;
    }
    .elementor-field-type-submit,
    .elementor-field-group.elementor-field-type-submit {
        flex: 0 0 auto;
        margin-left: auto;
        width: auto !important;
    }
    /* Forcer les colonnes Elementor à ne pas prendre 100% */
    .elementor-field-type-upload.elementor-col-100,
    .elementor-field-type-submit.elementor-col-100 {
        width: auto !important;
    }
}
/**** BTN ****/
.elementor-button, .file-upload-btn {
  transform: skew(-25deg);
}
.elementor-button-text, .file-upload-btn .btn-text {
  transform: skew(25deg);
}
/**** Intro ****/
#intro {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  background: url('/wp-content/uploads/2025/11/img-intro.jpg') center/cover no-repeat;
  overflow: hidden;
}
#intro::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 32, 11, 0.6);
  z-index: 1;
}
#logo-intro {
  position: relative;
  z-index: 2;
  width: 70vw;
  max-width: 500px;
  opacity: 0;
}
#logo-intro path {
  fill: none;
  stroke: #c2c5a8;
  stroke-width: 3;
}
#skip-intro {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
  aspect-ratio: 1 / 1 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  box-sizing: content-box !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  backdrop-filter: blur(10px);
}
#skip-intro:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}
#skip-intro svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  stroke: #fff !important;
  stroke-width: 2 !important;
  fill: none !important;
  overflow: visible !important;
}
#skip-intro path {
  stroke: #fff !important;
  fill: none !important;
  vector-effect: non-scaling-stroke;
}
@media (max-width: 768px) {
  #skip-intro {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
  }
  #skip-intro svg {
    width: 16px;
    height: 16px;
  }
}
/******************************* Animations  *******************************/
/* Animation texte */
.anim-title {
   overflow: visible !important;
}
.anim-title .elementor-heading-title {
   overflow: visible !important;
}
.anim-title .word {
   display: inline-block;
   white-space: nowrap;
}
.anim-title .char {
   display: inline-block;
}
/* Classes de base pour l'overlay */
.overlay-ltr,
.overlay-rtl {
   position: relative;
   overflow: hidden;
}
/* Overlay pour les effets overlay-ltr et overlay-rtl */
.overlay-ltr .overlay,
.overlay-rtl .overlay {
   position: absolute;
   top: 0;
   left: 10%;
   width: 120%;
   height: 100%;
   background: #004529;
   transform: skewX(-10deg) translateX(-20%);
   opacity: 0.3;
   z-index: 1;
   pointer-events: none; /* Ne pas bloquer les clics */
}
/* Transform origin pour overlay-ltr */
.overlay-ltr .overlay {
   transform-origin: left;
}
/* Transform origin pour overlay-rtl */
.overlay-rtl .overlay {
   transform-origin: right;
}