/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

.more-link {
	display: block;
}

.custom-header {
  background-color: #000;
  color: #fff;
  padding-bottom: 1rem;
}

.header-grid {
  display: grid;
  grid-template-columns: 2fr 10fr;
  margin: 2.5rem 4rem 0 4rem;
  border-bottom: 1px solid #f5f5f5;
  max-width: 80vw;
}

.header-menu {
  display: flex;
  flex-direction: column;
  justify-content: end;
  text-transform: uppercase;
  font-size: 0.875rem;
  padding-right: 1rem;
  gap: 0.5rem;
  margin-bottom: 10px;
  font-size: 25px!important;
}

.header-title-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: end;
  text-align: right;
  font-size: 2.5rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px!important;
  gap: 0!important;
}

.header-subtitle {
  font-size: 0.625rem;
  letter-spacing: 0.3em;
  margin: 0;
  padding-top: 0.25rem;
}

.custom-text-about {
  letter-spacing: 1px!important;
}

.svg-contact {
  color: #fff;
}

.wp-site-blocks main.wp-block-group {
  margin-top: 0!important;
}

.wp-site-blocks div.wp-block-group:first-child {
  padding-top: 0!important;
}

:root{
  --pcs-max-width: 1200px;   
  --pcs-gap: 48px;          
  --pcs-padding-x: 3vw;     
  --pcs-top-margin: 24px;  
  --pcs-title-size: 18px;   
}

.entry-content .pcs-home{
  margin: var(--pcs-top-margin) auto 0;
  padding: 0 var(--pcs-padding-x);
  max-width: min(100%, calc(var(--pcs-max-width) + 2*var(--pcs-padding-x)));
}

.entry-content .pcs-home .pcs-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--pcs-gap);
  list-style:none;
  padding:0;
  margin:0 auto;
  max-width: var(--pcs-max-width);
}
@media (min-width: 700px){
  .entry-content .pcs-home .pcs-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 1024px){
  .entry-content .pcs-home .pcs-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}

.entry-content .pcs-home .pcs-grid > .pcs-card{
  margin:0 !important;     
  position:relative;
  overflow:hidden;
  border-radius:0;
  box-shadow:none;
}

.entry-content .pcs-home .pcs-card-inner{
  position:relative;
  width:100%;
  aspect-ratio: 1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: transform .5s ease;
}
.entry-content .pcs-home .pcs-card:hover .pcs-card-inner{ transform: scale(1.03); }

.entry-content .pcs-home .pcs-card-inner img,
.entry-content .pcs-home .pcs-placeholder{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; display:block;
  background:#111;
}

.entry-content .pcs-home .pcs-card-title {
  position:relative; z-index:2;
  padding: 10px 18px;
  border: 2px solid rgba(255,255,255,.9);
  background: rgba(0,0,0,.18);
  color:#fff; text-transform:uppercase;
  letter-spacing:.12em;
  font-size: var(--pcs-title-size);
  line-height:1;
  pointer-events:none;
}

.entry-content .pcs-home .pcs-card-inner::after{
  content:""; position:absolute; inset:0;
  display:grid; place-items:center; pointer-events:none;
}

.entry-content .pcs-home .pcs-card::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.18));
  opacity:.85; transition:opacity .3s ease;
}

.entry-content .pcs-home .pcs-card:hover::before { 
  opacity:.95; 
}

.photo-cat-item {
  margin: 0;
  padding: 0;
  line-height: 0;
}

.photo-cat-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.photo-center-slider {
  --slide-h: 520px;         
  background: #000;          
  position: relative;
  width: 100vw;
  overflow: hidden;
}

@media (max-width: 1200px) { .photo-center-slider { --slide-h: 340px; } }
/* @media (max-width: 900px)  { .photo-center-slider { --slide-h: 360px; } } */
/* @media (max-width: 640px)  { .photo-center-slider { --slide-h: 280px; } } */

.photo-center-slider .swiper {
  width: 100%;
  height: var(--slide-h);    
}

.photo-center-slider .swiper-wrapper {
  align-items: center;        
}

.photo-center-slider .swiper-slide {
  height: 100%;             
  width: auto;             
  display: flex;
  align-items: center;   
  justify-content: center;
  overflow: hidden;      
}

.photo-center-slider .slide-img,
.photo-center-slider .swiper-slide img {
  height: 100%;               
  width: auto;               
  object-fit: contain;      
  display: block;
}

.photo-center-slider {
  max-width: unset!important;
}

.pcs-archive-wrap:has(.photo-center-slider) {
  padding-left: 0!important;
}

html, body {
  overflow-x: hidden !important; 
}

.swiper-button-next, .swiper-button-prev {
  color: white!important;
}

.photo-category-title {
  color: #fff;
  border: 1px solid #fff;
  display: inline-block;
  padding: 8px 18px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 0!important;
}

/* Option : si tu veux le texte un peu plus fin sur mobile */
@media (max-width: 640px) {
  .photo-category-title {
    font-size: 1rem;
    padding: 6px 14px;
    border-width: 1.5px;
  }
}

.photo-center-slider .swiper-button-prev:focus,
.photo-center-slider .swiper-button-next:focus,
.photo-center-slider .swiper-button-prev:focus-visible,
.photo-center-slider .swiper-button-next:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

a:focus,
button:focus,
[role="button"]:focus {
  outline: none !important;
  box-shadow: none !important;
}

.custom-text-about {
  text-align: justify!important;
}

/* Le slide doit être en position relative pour pouvoir positionner la ville */
.photo-center-slider .swiper-slide {
    position: relative;
    display: inline-block;
}

/* Image du slide */
.photo-center-slider .slide-img {
    display: block;
    width: 100%;
    height: auto;
}

/* Texte de la ville */
.photo-center-slider .slide-ville {
    position: absolute;
    right: 22px;
    bottom: 30px;
    font-size: 11px;             
    color: #ffffff;                   
    padding: 2px 6px;
    border-radius: 3px;
    line-height: 1.2;
    z-index: 10;                    
    pointer-events: none;           
    font-size: 16px;
    font-weight: 700;
}

.slide-ville {
  backdrop-filter: blur(5px);
}

.marquee-wrapper {
  width: 100%;
  overflow: hidden;
  color: #fff;
  max-width: unset!important;
  margin-top: 0;
}

.custom-padding {
  padding-right: 0!important;
  padding-left: 0!important;
}

.marquee {
  display: inline-flex;
  white-space: nowrap;
  will-change: transform;
}

.marquee-item {
  /* padding: 0 1rem; */
  font-size: 16px;
  font-weight: 900;
}

.marquee-item,
.marquee-separator {
    padding: 0 0.5rem;
    font-size: 16px;
    font-weight: 900;
    white-space: nowrap;
}

.marquee-film-wrapper {
    width: 100%;
    overflow: hidden;
    max-width: unset!important;
    height: 25px;
}

.marquee-film {
    display: inline-flex;
    white-space: nowrap;
    will-change: transform;
}

.film-frame {
    width: 14px;
    height: 20px;
    background: #fff;
    margin: 0 6px;
    border-radius: 3px;
}

.site-title a, .header-subtitle a {
  text-decoration: none!important;
}
