/*
Theme Name: pcl
Theme URI: https://exemple.com/
Author: Ton Nom
Author URI: https://exemple.com/
Description: Thème WordPress moderne avec Bootstrap 5.3.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prestwick
Tags: bootstrap, responsive, custom
*/

:root {
    --shadow-color: rgba(0, 0, 0, 0.3);
    --shadow-blur: 15px;
    --shadow-offset: 10px;
    --red-color1: #d6001c;
    --red-color2: #d6001c;
}

@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSansLight-Italic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('assets/fonts/OpenSans-ExtraBoldItalic.ttf') format('truetype');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

/* GLOBAL */
img { border: 0 none !important; }
.header-main {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition: transform 0.3s ease;
  will-change: transform;
}
a {
    color: var(--red-color2);
}
/* END GLOBAL */    

/* LAYOUT */

.container-main {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
/* END LAYOUT */

/* HEADER */
  .pcl-logo {
      width: 220px;
  }
  .page-header-section {
      background-color: #e2e2e2;
      /* position: sticky;
      top: 0;
      z-index: 10; */
      background: url(assets/img/texture-bw.png) 50% repeat;
  }
  .page-header-title {
      font-weight: bold;
      font-size: 3rem;
      color: #212529;
      transform: translate3d(0.03em, -0.03em, 0);
      /* text-shadow: -0.03em 0.03em #ccc; */
      text-transform: uppercase;
  }
  .page-presentation{
      background-color: #ea0000;
      color: #fff;
      font-size: 1rem;
  }
  /* END HEADER */

  footer {
      background-color: #abaaa4;
      color: #000;
  }
  footer h3{
      color: #000;
      font-size: 1.75rem;
  }
  footer li {
      line-height: 1.1rem;
      margin-bottom: 1rem;
  }

/* UTILITIES */
.ps-6 { padding-left: 4rem !important; }
.pe-6 { padding-right: 4rem !important; }
.px-6 { padding-left: 4rem !important; padding-right: 4rem !important; }
.no-underline { text-decoration: none !important; }
.bold { font-weight: 900 !important; }
.pcl-red {color: red !important;}
.pcl-red-1 {color: var(--red-color1) !important;}
.pcl-red-2 {color: var(--red-color2) !important;}
.bottom-shadow {
    box-shadow: 0 10px 10px -6px rgba(0, 0, 0, 0.8);
    position: relative; 
}
.top-shadow {
    box-shadow: 0 -10px 10px -6px rgba(0,0,0,0.8);
    position: relative; 
}
/* END UTILITIES */
body {
  font-family: 'Open Sans', Arial, sans-serif;
}


.main-header--unpinned {
  transform: translateY(-100%);
}

.main-header--pinned {
  transform: translateY(0);
}

.main-header--top {
  /* Styles when at top of page */
}

.main-header--not-top {
  /* Styles when scrolled past offset */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
/*  Custom PCL Theme rules */
.publication-item:nth-of-type(odd) {
    background-color: #f8f9fa3d;
}
.left-bordered-text {
    border-left: 6px solid red;
}
.badge-dark {
    color: #fff;
    background-color: #343a40;
    border-radius: 6px;
}
.highlighted-text{
    color: var(--red-color2);
    font-weight: bold;
}
.post-odd {
    background-color: #e2e2e2 !important;
}
/* End Custom PCL Theme rules */

.current-menu-item > a, .current-menu-ancestor > a {
    color: var(--red-color2) !important;
}   
.content-section{
    /* font-size: 0.75rem; */
}
.content-section h2{
    font-weight: bolder;
    margin-bottom: 2rem !important;
}
.content-section ul{
    /*padding-left: 1rem;*/
}
.content-section--darkened{
    background-color: #e2e2e2;
}   
.block-darkened{
    background-color: #d2d3ce;
}

.img-rounded img{
    border-radius: 6px;
}
.block-rounded{
    border-radius: 6px;
}   
.text-center{
    text-align: center;
}
/* Slider section */
[data-role="slider"] {
    position: relative;
    overflow: hidden;
}

[data-role="slider-item"] {
    opacity: 0;
    transform: translateX(20px);
    transition: opacity .45s ease, transform .45s ease;
}

[data-role="slider-item"]:not(.active) {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

[data-role="slider-item"].active {
    opacity: 1;
    transform: translateX(0);
    position: relative;
}
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    background: rgba(0,0,0,.4);
    color: white;
    border: 0;
    padding: 10px 14px;
    cursor: pointer;
}

.slider-prev { left: 10px; }
.slider-next { right: 10px; }

.slider-dots {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.slider-dot {
    width: 10px;
    height: 16px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    cursor: pointer;
}

.slider-dot.active {
    background: white;
}
/* .slider-section {
    background-color: #e2e2e2;
    position: relative;
    z-index:999;
} */
.slider-left-bg {
    background: url(assets/img/texture-bw.png) 50% repeat;
}
.slider-left h2{
    color: var(--red-color2) ;
    font-size: 2.25rem;
    font-weight: 700;
}
.slider-left h3{
    color: #666;
    font-size: 2.5rem;
    line-height: 2.6rem;
}
.slider-left {
    color: #000;
}
/* Offer section */
.offer-section {
    background-color: #e2e2e2;
    background-image: url('assets/img/whatweoffer_fond.jpg');
    background-size: cover;
    /* background-position: center; */
    position: relative;
    z-index:99;
}
.offer-section h2{
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    padding-left: 0;
}
.offer-item-text{
    background-color: #fff;
    color: #000;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 0px;
    min-height: 160px;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.offer-item-img img{
    border-top-right-radius: 0px;
    border-bottom-right-radius: 12px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 12px;
    min-height: 160px;
    margin-top:-1px;
}

.offer-item-text-title{
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--red-color1);
}
.offer-item-text-subtitle{
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 1px solid #000;
    margin-bottom: 6px;
}
.offer-item-text-content{
    font-size: 0.75rem;
}
.offer-footer{
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
}
.all-libraries-section{
    /*background-color: red;*/
    background-color: #0F2A38;
    background: linear-gradient(
      180deg,   
      #0F2A38 0%,
      #132F3F 20%,
      #1C3854 55%,
      #254061 100%
    );
}
.section-title{
    font-size: 2.5rem;
    font-weight: 700;   
    color: #fff;
    letter-spacing: -0.02em;
    /* text-transform: capitalize; */
    /* text-shadow: 0 2px 4px rgba(0,0,0,0.3); */
    /* filter: drop-shadow(0 4px 6px rgba(0,0,0,0.2)); */
    transform: translate3d(0.01em, -0.01em, 0);
    text-shadow: -0.01em 0.01em #ccc;
    text-transform: uppercase;
}

/* ALL LIBRARIES SECTION */
.all-libraries-item{
    background-color: #fff;
    border-radius: 6px;
    margin-bottom: 1rem;
    min-height: 3rem;
    font-weight: 600;
    text-align: center;
    font-size: 1rem;
    position: relative;
    transition: transform 0.2s ease;
}   
.all-libraries-item::before {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: -2.5em;
    transform: translateY(-50%);
    inline-size: 2rem;
    block-size: 2rem;
    background-image: var(--library-icon);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.all-libraries-item:hover {
    /* background-color: #ddd  !important; */
    transform: translate(2px, -2px);
}
.btn-library-item  {
    transition: all 0.08s ease;
    border: 1px solid transparent;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px; /* Aligne la hauteur si les textes varient */
    font-weight: bold;
    width: 100%;
}
.library-item-picto {
    /* opacity: 0.75; */
    filter: grayscale(75%) brightness(90%);
    transition: filter 0.3s ease;
}
.btn-library-item:active {
    background-color: #ccc  !important;
    border:1px solid #ccc !important;
}
.btn-library-item:hover .library-item-picto {
    /* opacity: 1; */
    filter: grayscale(0%);

}
/* END ALL LIBRARIES SECTION */


.btn-success-stories {
    color: red;
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: bold;
    font-size: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    background-color: #fff;
}
.btn-inversed,
.btn-success-stories-inversed {
    color: #fff;
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: bold;
    font-size: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    background-color:var(--red-color2);
    border-radius: 6px;
    display: inline-block;
    margin-left: 2rem;
    margin-top: 1rem;
}
/* Styles pour le shortcode [list] */
.list-widget {
    list-style: none;
    padding-left: 0;
    margin: 1rem 0;
}
.list-widget li {
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
}

.list-widget li:before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--red-color2);
    font-weight: bold;
}

.list-widget li a {
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

.list-widget li a:hover {
    color: var(--red-color2);
    text-decoration: underline;
}

/* Style pour le titre h3 généré par le shortcode */
.list-widget + h3,
h3 + .list-widget {
    margin-top: 1rem;
}

.page-id-119 .content-section .wp-block-gallery img{
    object-fit: contain !important  ;
    width: 160px !important;
    height: 160px !important;
}

.page-id-119 .content-section .wp-block-gallery .wp-block-image {
    width: 160px !important;
    height: 160px !important;
}

/* .page-id-119 .pdfl-format {
    border-collapse: collapse;
}
.page-id-119 .pdfl-format td, .page-id-119 .pdfl-format th {
    border:none;
}
.page-id-119 .pdfl-format tr th{
    background-color: #dddddd;
}
.page-id-119 .pdfl-format tr:nth-child(odd){
    background-color: #eeeeee;
} */

/* Extra small (xs) : <576px */
/* Pas besoin de media query, c'est le style par défaut */

.pagination {
    margin: 20px 0;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    border-radius: 0;
  }
  .pagination > li > a,
  .pagination > li > span {
    padding: 6px 12px;
    line-height: 1.42857143;
    text-decoration: none;
    color: #da4d4d;
    background-color: #fff;
    border: 1px solid #ddd;
  }
  .pagination > li > a:focus,
  .pagination > li > a:hover,
  .pagination > li > span:focus,
  .pagination > li > span:hover {
    color: #da4d4d;
    background-color: #f4cccc;
    border-color: #ddd;
  }
  .pagination > .active > a,
  .pagination > .active > a:focus,
  .pagination > .active > a:hover,
  .pagination > .active > span,
  .pagination > .active > span:focus,
  .pagination > .active > span:hover {
    z-index: 2;
    color: #fff;
    background-color: #da4d4d;
    border-color: #da4d4d;
  }
  .pagination > .disabled > a,
  .pagination > .disabled > a:focus,
  .pagination > .disabled > a:hover,
  .pagination > .disabled > span,
  .pagination > .disabled > span:focus,
  .pagination > .disabled > span:hover {
    color: #999;
    background-color: #fff;
    border-color: #ddd;
  }
  [data-role="slider"] .img-fluid {
    aspect-ratio: 4 / 3 !important; /* Force le ratio 1024x768 */
    width: 100%;
    height: auto;
    object-fit: cover; /* Important : pour que l'image ne soit pas écrasée */
}
/* Small (sm) : ≥576px */
@media (min-width: 576px) {
    /* Styles pour sm et + */
    .offer-item-text{
        border-top-left-radius: 6px;
        border-bottom-left-radius: 0px;
    }
    .offer-item-img img{
        border-top-right-radius: 6px;
        border-bottom-right-radius: 0px;
    }
    .all-libraries-list-left{
        padding-right: 0;
    }
    .all-libraries-list-right{
        padding-left: 0;
    }
    .padded-heading {
        padding-left: 3rem !important;
        text-align: left !important;
    }
}
  
/* Medium (md) : ≥768px */
@media (min-width: 768px) {
    /* Styles pour md et + */
    .offer-item-text{
        border-top-left-radius: 6px;
        border-bottom-left-radius: 6px;
        border-top-right-radius: 0px;
    }
    .offer-item-img img{
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px;
        border-bottom-left-radius: 0px;
        margin-top:0;
    }
    .all-libraries-list-left{
        padding-right: 8px;
    }
    .all-libraries-list-right{
        padding-left: 0.5rem;
    }
    .all-libraries-item{
        font-size: 0.8rem;
    }
}
  
/* Large (lg) : ≥992px */
@media (min-width: 992px) {
/* Styles pour lg et + */
}
  
/* Extra large (xl) : ≥1200px */
@media (min-width: 1200px) {
/* Styles pour xl et + */
}
  
/* Extra extra large (xxl) : ≥1400px */
@media (min-width: 1400px) {
/* Styles pour xxl et + */
}

.form-control:focus {
    box-shadow: none !important;
    border-color: var(--red-color2) !important;

}
