/*
Theme Name: Tevily
Theme URI: https://gaviaspreview.com/wp/tevily/
Author URI: https://themeforest.net/user/gavias
Author: Gaviasthemes Team
Description: The 2021 theme for WordPress is a fully responsive theme that looks great on any device.
Version: 1.3.3
Tested up to: 5.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, sticky-post, theme-options, translation-ready
Text Domain: tevily

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
.wp-caption-text{
   font-weight: 400;
   font-size: 14px;
   font-style: italic;
   color: #3f3836;
}
.gallery-caption{
   font-weight: 500;
}
.bypostauthor{
   text-align: left;
}

/* FFSP tweak: slightly larger H2/sub-title typography */
h2,
.h2 {
   font-size: calc(5rem + 0.72vw);
}

@media (min-width: 1200px) {
   h2,
   .h2 {
      font-size: 1.5rem;
      
   }
}

.gsc-heading .sub-title {
   font-size: 22px;
}

/* FFSP account: refreshed "Mes informations" form */
.ffsp-account-layout .ffsp-account-form {
   margin-top: 12px;
}

.ffsp-account-layout .ffsp-account-form__panel {
   background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
   border: none;
   border-radius: 14px;
   padding: 20px 18px;
   box-shadow: 0 10px 24px rgba(15, 45, 74, 0.06);
}

.ffsp-account-layout .ffsp-account-content--form .ffsp-account-form__panel {
   padding: 24px 22px;
}

.ffsp-account-layout .ffsp-account-form__panel + .ffsp-account-form__panel {
   margin-top: 22px;
   position: relative;
}

.ffsp-account-layout .ffsp-account-content--form .ffsp-account-form__panel + .ffsp-account-form__panel {
   margin-top: 28px;
}

.ffsp-account-layout .ffsp-account-form__panel + .ffsp-account-form__panel:before {
   content: "";
   position: absolute;
   top: -12px;
   left: 18px;
   right: 18px;
   height: 1px;
   background: linear-gradient(90deg, rgba(15, 131, 143, 0), rgba(15, 131, 143, 0.28), rgba(15, 131, 143, 0));
}

.ffsp-account-layout .ffsp-account-form__panel--password {
   background: linear-gradient(180deg, #ffffff 0%, #f3fbfb 100%);
}

.ffsp-account-layout .ffsp-account-form__legend {
   margin: 0 0 14px;
   font-size: 12px;
   font-weight: 600;
   color: #b3261e;
}

.ffsp-account-layout .ffsp-account-form__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px 16px;
}

.ffsp-account-layout .ffsp-account-form__grid--password {
   margin-top: 12px;
}

.ffsp-account-layout .ffsp-account-field {
   margin: 0;
}

.ffsp-account-layout .ffsp-account-field--full {
   grid-column: 1 / -1;
}

.ffsp-account-layout .ffsp-account-field label {
   display: inline-block;
   margin-bottom: 7px;
   color: #1f2f46;
   font-weight: 700;
   font-size: 13px;
   letter-spacing: 0.01em;
}

.ffsp-account-layout .ffsp-account-required {
   color: #d14343;
   font-weight: 700;
   margin-left: 3px;
}

.ffsp-account-layout .ffsp-account-form .ffsp-account-field input[type="text"],
.ffsp-account-layout .ffsp-account-form .ffsp-account-field input[type="email"],
.ffsp-account-layout .ffsp-account-form .ffsp-account-field input[type="password"] {
   width: 100%;
   max-width: none;
   min-height: 50px;
   border-radius: 11px;
   border: 1px solid #cfdae5;
   background: #fff;
   box-shadow: inset 0 1px 1px rgba(13, 45, 74, 0.03);
   transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ffsp-account-layout .ffsp-account-form .ffsp-account-field input[type="text"]:focus,
.ffsp-account-layout .ffsp-account-form .ffsp-account-field input[type="email"]:focus,
.ffsp-account-layout .ffsp-account-form .ffsp-account-field input[type="password"]:focus {
   border-color: #0f838f;
   background: #fff;
   box-shadow: 0 0 0 3px rgba(15, 131, 143, 0.12);
}

.ffsp-account-layout .ffsp-account-form__subtitle {
   margin: 0;
   color: #0f4254;
}

.ffsp-account-layout .ffsp-account-form__hint {
   margin: 6px 0 0;
   color: #4c6178;
   font-size: 14px;
}

.ffsp-account-layout .ffsp-password-live {
   margin-top: 16px;
   padding: 14px;
   border-radius: 12px;
   border: 1px solid #d8e5ef;
   background: #ffffff;
}

.ffsp-account-layout .ffsp-password-live__meter {
   height: 8px;
   border-radius: 999px;
   background: #e6edf4;
   overflow: hidden;
}

.ffsp-account-layout .ffsp-password-live__meter span {
   display: block;
   width: 0%;
   height: 100%;
   border-radius: 999px;
   transition: width 0.2s ease;
   background: #d14343;
}

.ffsp-account-layout .ffsp-password-live__meter span.is-weak {
   background: #d14343;
}

.ffsp-account-layout .ffsp-password-live__meter span.is-medium {
   background: #d18a27;
}

.ffsp-account-layout .ffsp-password-live__meter span.is-strong {
   background: #118a54;
}

.ffsp-account-layout .ffsp-password-live__status {
   margin: 8px 0 0;
   font-size: 13px;
   font-weight: 600;
   color: #31465f;
}

.ffsp-account-layout .ffsp-password-live__rules {
   list-style: none;
   margin: 10px 0 0;
   padding: 0;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 6px 10px;
}

.ffsp-account-layout .ffsp-password-live__rules li {
   font-size: 12px;
   color: #5a7087;
   padding-left: 16px;
   position: relative;
}

.ffsp-account-layout .ffsp-password-live__rules li:before {
   content: '';
   position: absolute;
   left: 0;
   top: 7px;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #cbd7e2;
}

.ffsp-account-layout .ffsp-password-live__rules li.is-valid {
   color: #0f6f45;
}

.ffsp-account-layout .ffsp-password-live__rules li.is-valid:before {
   background: #118a54;
}

.ffsp-account-layout .ffsp-password-live__rules li.is-invalid {
   color: #8b3e3e;
}

.ffsp-account-layout .ffsp-password-live__rules li.is-invalid:before {
   background: #d14343;
}

.ffsp-account-layout .ffsp-password-live__error {
   margin: 10px 0 0;
   font-size: 13px;
   font-weight: 600;
   color: #b3261e;
}

.ffsp-account-layout .ffsp-account-form__actions {
   margin: 16px 0 0;
}

.ffsp-account-layout .ffsp-account-form__actions .btn-theme {
   min-width: 240px;
   border-radius: 999px;
   padding-left: 22px;
   padding-right: 22px;
}

@media (max-width: 767px) {
   .ffsp-account-layout .ffsp-account-form__grid,
   .ffsp-account-layout .ffsp-password-live__rules {
      grid-template-columns: minmax(0, 1fr);
   }

   .ffsp-account-layout .ffsp-account-form__panel {
      padding: 16px 14px;
   }

   .ffsp-account-layout .ffsp-account-content--form .ffsp-account-form__panel {
      padding: 18px 16px;
   }

   .ffsp-account-layout .ffsp-account-form__actions .btn-theme {
      width: 100%;
      min-width: 0;
   }
}

/* FFSP shared files listing (articles + espace association) */
.ffsp-files-list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: block;
}

.ffsp-files-list li {
   margin: 0;
}

.ffsp-files-list .ffsp-files-list__link {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 0;
   border: 0;
   border-radius: 0;
   background: transparent;
   text-decoration: none !important;
   color: #1f2f46;
   transition: none;
}

.ffsp-files-list .ffsp-files-list__link:hover {
   text-decoration: none !important;
   color: var(--tevily-theme-color, #459d07);
}

.ffsp-files-list .ffsp-files-list__link:focus,
.ffsp-files-list .ffsp-files-list__link:active {
   text-decoration: none !important;
}

.ffsp-files-list .ffsp-files-list__icon {
   display: none !important;
}

.ffsp-files-list .ffsp-files-list__content {
   min-width: 0;
   display: grid;
   gap: 2px;
}

.ffsp-files-list .ffsp-files-list__title {
   font-weight: 600;
   line-height: 1.35;
   overflow-wrap: anywhere;
}

.ffsp-files-list .ffsp-files-list__meta {
   font-size: 12px;
   color: #667b8e;
}

/* Global hard reset for file list links (all pages) */
.ffsp-filebird-browser a,
.ffsp-filebird-browser a:hover,
.ffsp-filebird-browser a:focus,
.ffsp-filebird-browser a:active,
.ffsp-files-list a,
.ffsp-files-list a:hover,
.ffsp-files-list a:focus,
.ffsp-files-list a:active {
   text-decoration: none !important;
   transition: none !important;
   animation: none !important;
}

.ffsp-filebird-browser a::before,
.ffsp-filebird-browser a::after,
.ffsp-files-list a::before,
.ffsp-files-list a::after {
   content: none !important;
   display: none !important;
}

/* FFSP responsive hardening: keep desktop intact, stabilize tablet/mobile */
@media (max-width: 1200px) {
   .header_mobile_screen {
      display: block !important;
   }

   .header_default_screen {
      display: none !important;
   }
}

/* Dynamic fallback: switch to mobile header whenever desktop nav overflows */
body.ffsp-nav-overflow .header_mobile_screen {
   display: block !important;
}

body.ffsp-nav-overflow .header_default_screen {
   display: none !important;
}

@media (max-width: 1024px) {
   html,
   body {
      overflow-x: hidden;
   }

   .wrapper-page {
      overflow-x: clip;
   }

   .container,
   .container-fluid,
   .elementor-section .elementor-container {
      max-width: 100%;
   }

   .header-mobile .topbar-mobile {
      display: none;
   }

   .header-mobile .header-mobile-content {
      padding: 10px 14px;
   }

   .header-mobile .header-mobile-content .header-content-inner .header-left .logo-mobile {
      max-width: 128px;
      padding-top: 0;
   }

   .header-mobile .header-mobile-content .header-content-inner .header-right {
      padding-top: 2px;
   }

   .header-mobile .header-mobile-content .header-content-inner .header-right .canvas-mobile {
      margin-left: 12px;
   }

   .header-mobile .header-mobile-content .header-content-inner .header-right .canvas-mobile .dropdown-toggle .icon {
      font-size: 27px;
   }

   .header-mobile .header-mobile-content .header-content-inner .header-right .main-search .control-search .icon {
      font-size: 18px;
   }

   img,
   svg,
   iframe,
   video {
      max-width: 100%;
      height: auto;
   }

   table {
      display: block;
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
   }
}

@media (max-width: 767px) {
   .elementor-section.elementor-section-boxed > .elementor-container {
      padding-left: 12px;
      padding-right: 12px;
   }

   .elementor-widget-spacer {
      max-height: 26px;
      overflow: hidden;
   }

   .elementor-widget-google_maps iframe {
      min-height: 220px;
   }
}
