/*
Theme Name: Photo.Ludo — Éditorial
Theme URI: https://test.photoludo.fr/
Author: PHOTO.LUDO
Description: Variante éditoriale ivoire et anthracite, galeries photographiques originales et emplacement Instagram.
Version: 3.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: photoludo-editorial
*/
:root{--cream:#f5f1e9;--paper:#fcfaf6;--ink:#191919;--muted:#756f65;--gold:#aa8754;--line:#ddd5c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.wrap{width:min(1210px,calc(100% - 44px));margin:auto}.serif,h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:.72rem;font-weight:700;color:var(--gold)}.site-header{position:relative;background:var(--paper);z-index:10;border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:2rem;line-height:1}.brand span{color:var(--gold)}.brand small{display:block;font-family:Arial,sans-serif;letter-spacing:.27em;font-size:.55rem;text-transform:uppercase;margin-top:9px;color:var(--muted)}.nav{display:flex;align-items:center;gap:25px}.nav a{font-size:.76rem;letter-spacing:.11em;text-transform:uppercase}.nav a:hover,.nav a:focus{color:var(--gold)}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:0;padding:9px 12px}.hero{display:grid;grid-template-columns:45% 55%;min-height:min(780px,83vh);background:var(--cream)}.hero-copy{padding:clamp(35px,6vw,105px) clamp(28px,6vw,105px);display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.hero h1{font-size:clamp(3.2rem,5.7vw,6.6rem);line-height:1.04;letter-spacing:-.052em;margin:20px 0 23px}.hero h1 em{font-weight:400;color:var(--gold)}.hero p{max-width:430px;color:#625e58;font-size:1rem}.hero-image{min-height:520px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center center}.button{display:inline-block;border:1px solid var(--ink);padding:15px 28px;text-transform:uppercase;font-size:.74rem;letter-spacing:.13em;font-weight:700;margin-top:22px;transition:.2s;background:var(--ink);color:white}.button:hover{background:var(--gold);border-color:var(--gold)}.button.alt{background:transparent;color:var(--ink)}.section{padding:100px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:39px}.section h2{font-size:clamp(2.5rem,4.2vw,4.8rem);letter-spacing:-.04em;line-height:1.13;margin:14px 0}.section-lead{max-width:520px;color:var(--muted);margin:0}.dark{background:#181817;color:#f8f5ed}.dark .section-lead{color:#c2bbb0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{display:block}.service-card .visual{overflow:hidden;aspect-ratio:4/4.7;background:#ccc}.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.045)}.service-card h3{font-size:1.9rem;margin:16px 0 0}.service-card p{color:var(--muted);font-size:.91rem;margin:2px 0 0}.quote{padding:80px 0;background:#efe9de;text-align:center}.quote blockquote{font:italic clamp(1.9rem,3.5vw,3.5rem)/1.35 Georgia,serif;max-width:930px;margin:16px auto}.catalog{padding-top:45px}.gallery-section{padding:70px 0;border-bottom:1px solid var(--line)}.gallery-section h3{font-size:2.8rem;margin:0 0 8px}.gallery-section p{color:var(--muted);margin:0 0 25px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid a{overflow:hidden;display:block;aspect-ratio:3/4;background:var(--cream)}.gallery-grid a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-grid img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.gallery-grid a:hover img{transform:scale(1.04)}.rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rate{padding:29px;border:1px solid #d5cbbd;background:white}.rate h3{font-size:1.7rem;margin:0}.rate p{font-size:1.15rem;color:#906c3d;margin:12px 0 0}.instagram{background:#22221f;color:white}.insta-box{border:1px solid #62594c;padding:38px;display:flex;gap:25px;align-items:center;justify-content:space-between}.insta-box a{color:#e4c58f}.insta-box p{color:#c5bfb4}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-grid h2{margin-top:12px}.contact-grid p{color:var(--muted)}.site-footer{background:#171716;color:#ece4d5;padding:32px 0;font-size:.82rem}.foot-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.site-footer a{color:#e4c58f}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:200;display:none;align-items:center;justify-content:center;padding:55px 25px}.lightbox.active{display:flex}.lightbox img{max-height:calc(100vh - 100px);max-width:95vw;object-fit:contain}.lightbox button{position:absolute;right:26px;top:15px;background:none;color:white;border:0;font-size:36px;cursor:pointer}.wp-block-image img{height:auto}@media(max-width:960px){.nav{gap:12px;flex-wrap:wrap}.nav a{font-size:.65rem}.hero{min-height:650px}.hero-copy{padding:45px}.cards{gap:16px}}@media(max-width:700px){.header-inner{min-height:73px}.brand{font-size:1.65rem}.menu-toggle{display:block}.nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:23px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{font-size:.85rem}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 24px}.hero h1{font-size:3.7rem}.hero-image{min-height:340px;height:52vh}.section{padding:60px 0}.section-head{display:block}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.service-card h3{font-size:1.35rem}.service-card p{font-size:.8rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid a:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:3/2}.rate-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:25px}.insta-box{display:block}.wrap{width:min(100% - 30px,1210px)}}@media(max-width:420px){.cards,.rate-grid{grid-template-columns:1fr 1fr}.service-card .visual{aspect-ratio:3/4}.gallery-section h3{font-size:2.3rem}}

/* Portfolio : couverture légère sur la page d'accueil */
.portfolio-teaser{background:var(--cream);padding:65px 0}
.portfolio-teaser-inner{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(25px,5vw,75px)}
.portfolio-teaser-image{aspect-ratio:4/3;overflow:hidden;border-radius:9px;background:#d2c5b6}
.portfolio-teaser-image img{width:100%;height:100%;object-fit:cover}
.portfolio-teaser-copy h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.12;margin:12px 0 16px}
.portfolio-teaser-copy p{max-width:480px;color:var(--muted)}
.portfolio-heading{background:var(--cream);padding:75px 0 48px}
.portfolio-heading h1{font-size:clamp(2.6rem,5vw,5rem);line-height:1.12;margin:12px 0 22px}
.portfolio-jumplinks{display:flex;flex-wrap:wrap;gap:11px;margin-top:23px}
.portfolio-jumplinks a{border:1px solid var(--line);padding:11px 17px;background:var(--paper);font-size:.85rem}
.portfolio-jumplinks a:hover{border-color:var(--gold)}
@media(max-width:700px){.portfolio-teaser{padding:45px 0}.portfolio-teaser-inner{grid-template-columns:1fr;gap:19px}.portfolio-teaser-image{aspect-ratio:16/10}.portfolio-heading{padding:55px 0 35px}}

/* Photographie portfolio : cadrage panoramique équilibré et non tronqué */
.portfolio-teaser-image{aspect-ratio:3/2;background:#e8e0d5;display:flex;align-items:center;justify-content:center}
.portfolio-teaser-image img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:700px){.portfolio-teaser-image{aspect-ratio:3/2}}

/* Diaporama Harmonie Neuville : une photo à la fois */
.harmonie-slide-shell{max-width:930px;margin:23px auto 0}
.harmonie-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:9px;background:#191919}
.harmonie-slides::-webkit-scrollbar{display:none}
.harmonie-slide{flex:0 0 100%;aspect-ratio:3/2;scroll-snap-align:start;display:block;overflow:hidden}
.harmonie-slide img{width:100%;height:100%;object-fit:contain}
.harmonie-slide-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:15px 0 5px}
.harmonie-slide-controls button{min-width:43px;min-height:43px;border:1px solid #bda98a;background:transparent;color:inherit;border-radius:50%;cursor:pointer}
.harmonie-slide-controls button:hover,.harmonie-slide-controls button:focus-visible{background:#aa8754;color:#fff}
.harmonie-counter{min-width:50px;text-align:center;font-size:.9rem}
@media(max-width:650px){.harmonie-slide-shell{margin-top:17px}.harmonie-slide{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.harmonie-slides{scroll-behavior:auto}}

/* Galerie Harmonie de Neuville-Saint-Rémy */
.harmonie-feature{margin-top:38px}
.harmonie-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}
.harmonie-gallery a{display:block;overflow:hidden;border-radius:9px;background:#211f1d;aspect-ratio:3/2}
.harmonie-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.harmonie-gallery a:hover img{transform:scale(1.03)}
@media(max-width:650px){.harmonie-gallery{grid-template-columns:1fr;gap:12px}.harmonie-feature{margin-top:28px}}

/* Instagram : une seule publication, mise en valeur de façon compacte */
.instagram-latest-post{max-width:440px;margin:25px auto 0}
.instagram-latest-post .sbi_item:not(:first-child){display:none!important}
.instagram-latest-post #sbi_load,.instagram-latest-post .sbi_load_btn{display:none!important}
.instagram-latest-post #sb_instagram,.instagram-latest-post .sbi_photo_wrap,.instagram-latest-post .sbi_photo{max-width:100%}
.instagram-latest-post #sbi_images{display:block!important}
.instagram-latest-post .sbi_item{width:100%!important;float:none!important}
@media(max-width:600px){.instagram-latest-post{max-width:340px}}

/* Tarifs photographie d'iris — cartes premium responsives */
.iris-tarifs{background:#1b1a18;color:#f6f0e5}
.iris-tarifs h2{color:#f6f0e5}
.iris-intro{max-width:750px;color:#c9c1b4;margin:0 0 32px}
.iris-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0 36px}
.iris-price-card{padding:29px 25px;border:1px solid #8e754c;border-radius:9px;background:#26231f;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.iris-price-card h3{font-size:2rem;color:#e3c28b;margin:0 0 7px}
.iris-price-card>strong{display:block;font:normal 2.5rem Georgia,serif;color:#f7e0ad;margin-bottom:19px}
.iris-price-card p{margin:7px 0;color:#e4dccf}
.iris-extra-title{font-size:1.65rem;margin:24px 0}
.iris-extras{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:24px}
.iris-extras span{display:flex;flex-direction:column;gap:4px;border:1px solid #5d5345;padding:15px 10px;border-radius:6px;text-align:center;color:#e7daca}
.iris-extras strong{color:#f7d694}
.iris-tarifs .button{background:#aa8754;border-color:#aa8754;color:#171615}
@media(max-width:850px){.iris-price-grid{grid-template-columns:1fr 1fr}.iris-extras{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){.iris-price-grid{grid-template-columns:1fr}.iris-extras{grid-template-columns:repeat(2,1fr)}.iris-price-card{padding:24px 21px}}

/* Tarifs iris compacts : espaces resserrés, textes lisibles */
.iris-tarifs.section{padding-top:58px;padding-bottom:58px}
.iris-tarifs .iris-intro{margin-bottom:17px}
.iris-tarifs .iris-price-grid{gap:13px;margin:19px 0 24px}
.iris-tarifs .iris-price-card{padding:17px 17px 15px;border-radius:8px}
.iris-tarifs .iris-price-card h3{font-size:1.55rem;line-height:1.15;margin-bottom:4px}
.iris-tarifs .iris-price-card>strong{font-size:1.9rem;line-height:1.15;margin-bottom:9px}
.iris-tarifs .iris-price-card p{font-size:.9rem;line-height:1.35;margin:4px 0}
.iris-tarifs .iris-extra-title{margin:18px 0 12px;font-size:1.4rem}
.iris-tarifs .iris-extras{gap:8px;margin-bottom:15px}
.iris-tarifs .iris-extras span{padding:10px 7px;font-size:.87rem}
@media(max-width:580px){
 .iris-tarifs.section{padding-top:40px;padding-bottom:42px}
 .iris-tarifs .iris-price-grid{gap:9px;margin:15px 0 18px}
 .iris-tarifs .iris-price-card{padding:13px 15px}
 .iris-tarifs .iris-price-card h3{font-size:1.4rem}
 .iris-tarifs .iris-price-card>strong{font-size:1.7rem;margin-bottom:5px}
 .iris-tarifs .iris-price-card p{font-size:.87rem;margin:2px 0}
 .iris-tarifs .iris-extras span{padding:8px 5px}
}

/* Tarifs iris : mêmes proportions sobres que les tarifs des prestations */
.iris-tarifs.section{padding:42px 0 46px}
.iris-tarifs h2{margin:8px 0 12px;font-size:clamp(2rem,3.3vw,3.2rem)}
.iris-tarifs .iris-intro{margin:0 0 14px;font-size:.9rem}
.iris-tarifs .iris-price-grid{gap:10px;margin:12px 0 20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.iris-tarifs .iris-price-card{border-radius:0;padding:14px 15px 12px;box-shadow:none;background:#26231f;min-height:0}
.iris-tarifs .iris-price-card h3{font-size:1.38rem;line-height:1.18;margin:0 0 2px}
.iris-tarifs .iris-price-card>strong{font-family:Arial,Helvetica,sans-serif;font-size:1.2rem;line-height:1.2;margin:0 0 7px;color:#e2bc7b;font-weight:400}
.iris-tarifs .iris-price-card p{font-size:.78rem;line-height:1.25;margin:2px 0;color:#ded5c7}
.iris-tarifs .iris-extra-title{font-size:1.12rem;margin:14px 0 9px}
.iris-tarifs .iris-extras{gap:7px;margin-bottom:6px}
.iris-tarifs .iris-extras span{padding:8px 6px;font-size:.77rem;line-height:1.25;border-radius:0}
.iris-tarifs .button{margin-top:13px;padding:11px 17px}
@media(max-width:700px){.iris-tarifs.section{padding:34px 0 36px}.iris-tarifs .iris-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.iris-tarifs .iris-price-card{padding:11px 12px}.iris-tarifs .iris-price-card:last-child{grid-column:span 2}.iris-tarifs .iris-price-card p{font-size:.77rem}.iris-tarifs .iris-extras{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.iris-tarifs .iris-extras{grid-template-columns:repeat(2,1fr)}}

/* Décors subtils, personnalisés selon chaque prestation — tarifs PHOTO.LUDO */
#tarifs .rate-grid .rate{position:relative;isolation:isolate;overflow:hidden;min-height:120px;padding:24px 26px;border:1px solid #d5cbbd;background:#fff;box-shadow:none}
#tarifs .rate-grid .rate h3,#tarifs .rate-grid .rate p{position:relative;z-index:1}
#tarifs .rate-grid .rate h3{font-size:1.7rem}
#tarifs .rate-grid .rate p{font-size:1.15rem}
#tarifs .rate-grid .rate::before{content:"";position:absolute;right:-38px;top:-55px;width:175px;height:175px;opacity:.36;pointer-events:none;border-radius:50%;background:radial-gradient(circle,transparent 58%,#dfd0b8 59%,#dfd0b8 60%,transparent 61%)}
#tarifs .rate-grid .rate::after{position:absolute;right:16px;bottom:-14px;font-family:Georgia,serif;font-weight:400;font-size:105px;line-height:1;color:#b99c74;opacity:.12;pointer-events:none}
#tarifs .rate-mariage::before{background:radial-gradient(circle at 38% 53%,transparent 28%,#bf9c6d 29%,#bf9c6d 30%,transparent 31%),radial-gradient(circle at 63% 53%,transparent 28%,#bf9c6d 29%,#bf9c6d 30%,transparent 31%);opacity:.36}
#tarifs .rate-mariage::after{content:"✧";font-size:85px;right:27px;bottom:-10px}
#tarifs .rate-portrait::after{content:"◯"}
#tarifs .rate-couple::after{content:"♡";font-size:100px;bottom:-20px}
#tarifs .rate-famille::after{content:"❀";font-size:92px;bottom:-8px}
#tarifs .rate-grossesse::after{content:"☾";font-size:108px;bottom:-16px}
#tarifs .rate-evenementiel::after{content:"✺";font-size:105px;bottom:-16px}
#tarifs .rate-naissance::after{content:"✧";font-size:105px;bottom:-16px}
#tarifs .rate-grossesse::before{background:radial-gradient(ellipse at 52% 52%,transparent 48%,#d4bea1 49%,transparent 51%)}
#tarifs .rate-famille::before{background:radial-gradient(circle at 30% 45%,#d5c2a7 0 8px,transparent 9px),radial-gradient(circle at 55% 28%,#d5c2a7 0 6px,transparent 7px),radial-gradient(circle at 69% 60%,#d5c2a7 0 5px,transparent 6px)}
#tarifs .rate-evenementiel::before{background:repeating-conic-gradient(from 0deg at 50% 50%,#c8ab82 0deg 2deg,transparent 3deg 20deg);opacity:.12}
#tarifs .rate-naissance::before{background:radial-gradient(circle at 30% 30%,#d5c2a7 0 3px,transparent 4px),radial-gradient(circle at 64% 60%,#d5c2a7 0 4px,transparent 5px),radial-gradient(circle at 78% 25%,#d5c2a7 0 2px,transparent 3px)}
@media(max-width:700px){#tarifs .rate-grid .rate{min-height:105px;padding:21px 20px}#tarifs .rate-grid .rate-featured{grid-column:1/-1}#tarifs .rate-grid .rate::after{font-size:75px}#tarifs .rate-grid .rate h3{font-size:1.5rem}}
@media(max-width:420px){#tarifs .rate-grid .rate{padding:17px 15px;min-height:98px}#tarifs .rate-grid .rate h3{font-size:1.27rem}#tarifs .rate-grid .rate p{font-size:1rem}}

/* Mariage : style tarifaire d'origine, pleine largeur sur smartphone uniquement */
@media(max-width:700px){.rate-grid .rate-featured{grid-column:1/-1}}

/* Avis clients : carrousel compact avec navigation tactile */
.testimonials-feed{overflow:hidden}
.reviews-controls{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-bottom:16px}
.reviews-controls button{width:44px;height:44px;border:1px solid #c9b69c;border-radius:50%;background:#fff;color:#6c512e;cursor:pointer;font-size:1.15rem}
.reviews-controls button:hover,.reviews-controls button:focus-visible{background:#aa8754;color:#fff}
.reviews-hint{font-size:.8rem;color:var(--muted);margin-right:auto}
.testimonials-section .reviews-grid{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:3px 3px 15px}
.testimonials-section .reviews-grid::-webkit-scrollbar{display:none}
.testimonials-section .review-card{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start}
@media(max-width:900px){.testimonials-section .review-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.testimonials-section .review-card{flex-basis:100%}.reviews-hint{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.testimonials-section .reviews-grid{scroll-behavior:auto}}

/* Véritables avis clients Google — PHOTO.LUDO */
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:25px 22px;box-shadow:0 5px 18px rgba(25,25,25,.07)}
.review-stars{color:#aa8754;letter-spacing:.12em;font-size:1.25rem}
.review-card blockquote{margin:14px 0 20px;font-size:1rem;line-height:1.65;font-style:normal}
.review-author{margin:0;font-weight:700;font-size:.9rem}
.review-author span{display:block;font-size:.76rem;font-weight:400;color:var(--muted)}
.review-note{font-size:.76rem;color:var(--muted);margin:18px 0 0}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:22px 19px}}

/* Avis clients Google — présentation PHOTO.LUDO */
.testimonials-section{background:var(--cream)}
.testimonials-feed{padding:25px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 7px 20px rgba(25,25,25,.08)}
.testimonials-pending{margin:0;color:var(--muted);font-size:.96rem}
@media(max-width:700px){.testimonials-feed{padding:18px}}

/* Photos de présentation des prestations : angles légèrement arrondis */
.service-card .visual{border-radius:9px;overflow:hidden;box-shadow:0 7px 20px rgba(25,25,25,.13),0 2px 5px rgba(25,25,25,.06)}

/* Événementiel — collection administrable */
.event-service-visual{height:100%;min-height:260px;background:linear-gradient(135deg,#171614,#393127 55%,#a88b5d);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:32px;color:#fff;font:normal clamp(1.5rem,2.5vw,2.4rem)/1.18 Georgia,serif;gap:9px}.event-service-visual span:nth-child(2){color:#e3c696}.event-service-visual span:nth-child(3){font-style:italic}.events-section{background:#242321;color:#f8f3e9}.events-section h2 em{color:#d6b784;font-weight:normal}.events-section .section-lead{color:#c9c1b4}.events-empty{padding:65px 40px;border:1px solid #655b4e;background:linear-gradient(120deg,#2f2b26,#1a1917);text-align:center}.events-empty h3{font-size:clamp(2rem,4vw,3.8rem);margin:8px 0 12px}.events-empty p{color:#d2c9bc;max-width:680px;margin:0 auto 16px}.events-empty .event-categories{color:#d7b783;font-size:.83rem;letter-spacing:.07em}.event-categories span{padding:0 10px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.event-card{border:1px solid #655b4e;background:#302d28;display:block}.event-cover{width:100%;aspect-ratio:4/3;object-fit:cover}.event-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#3a332a;color:#e0c08c;font:2rem Georgia,serif}.event-fallback span{font:.75rem Arial,sans-serif;letter-spacing:.25em}.event-details{padding:24px}.event-details h4{font:1.6rem Georgia,serif;margin:8px 0 15px}.event-details>span:last-child{color:#e2c397;font-size:.8rem}.event-content{max-width:940px;margin:auto}.event-content img{height:auto}.event-content .wp-block-gallery{margin:28px 0}@media(max-width:760px){.event-grid{grid-template-columns:1fr 1fr}.events-empty{padding:42px 20px}}@media(max-width:500px){.event-grid{grid-template-columns:1fr}}

/* Reportage Arthémuz */
.music-feature{margin:50px 0 56px}.music-intro{max-width:750px;margin-bottom:28px}.music-intro h3{font-size:clamp(2.1rem,4vw,3.6rem);margin:9px 0 12px}.music-intro p{color:#d1c7b9}.events-section .gallery-grid a{background:#39352d}.events-section .gallery-photo{border:1px solid #5f5547}.events-section .gallery-grid a:first-child{aspect-ratio:auto}

/* Diaporamas PHOTO.LUDO : coins adoucis et ombre externe, sans affecter les transitions */
.pl-slideshow{border-radius:9px;box-shadow:0 7px 20px rgba(25,25,25,.13),0 2px 5px rgba(25,25,25,.06);margin-bottom:18px}

/* V3.3 — Diaporamas automatiques par catégorie */
.pl-slideshow{position:relative;width:100%;background:#171715;overflow:hidden;isolation:isolate}
.pl-slides{position:relative;width:100%;height:clamp(340px,58vw,680px)}
.pl-slideshow .pl-slide{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:0;display:block;transition:opacity .85s ease,visibility .85s ease;background:#171715}
.pl-slideshow .pl-slide.is-active{opacity:1;visibility:visible;z-index:1}
.pl-slideshow .pl-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:none}
.pl-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:58px;border:1px solid rgba(255,255,255,.38);background:rgba(18,18,18,.42);color:#fff;cursor:pointer;font-size:1.5rem}
.pl-slide-arrow:hover,.pl-slide-arrow:focus-visible,.pl-slide-toggle:hover{background:#aa8754}
.pl-prev{left:16px}.pl-next{right:16px}
.pl-slide-bottom{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 25px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;font-size:.8rem}
.pl-slide-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;max-width:72%}
.pl-slide-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#aaa6a0;cursor:pointer;opacity:.75}
.pl-slide-dot.is-active{background:#e2bf83;transform:scale(1.4);opacity:1}
.pl-slide-toggle{background:transparent;border:1px solid rgba(255,255,255,.45);color:white;padding:5px 12px;cursor:pointer;white-space:nowrap}
.pl-slideshow :focus-visible{outline:2px solid #eac786;outline-offset:3px}
@media(max-width:700px){.pl-slides{height:clamp(330px,90vw,580px)}.pl-slide-arrow{height:46px;width:36px}.pl-prev{left:7px}.pl-next{right:7px}.pl-slide-bottom{padding:13px 8px;gap:6px}.pl-slide-dot{width:7px;height:7px}.pl-slide-dots{max-width:64%}.pl-slide-toggle{padding:4px 7px}}
@media(prefers-reduced-motion:reduce){.pl-slideshow .pl-slide{transition:none}}

/* Adaptation smartphone PHOTO.LUDO — brouillon WPVibe */
@media (max-width:700px){
  html{scroll-padding-top:18px}
  .header-inner{min-height:76px;gap:12px}
  .brand{font-size:clamp(1.4rem,6vw,1.75rem)}
  .brand small{font-size:.5rem;letter-spacing:.13em;line-height:1.45}
  .menu-toggle{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700}
  .nav{top:76px;padding:12px 20px 22px;gap:0;box-shadow:0 12px 20px rgba(0,0,0,.08)}
  .nav a{display:block;width:100%;padding:13px 5px;min-height:46px;border-bottom:1px solid var(--line);font-size:.83rem}
  .hero{min-height:0;display:flex;flex-direction:column}
  .hero-copy{padding:45px 22px 38px}
  .hero h1{font-size:clamp(2.65rem,11vw,4.1rem);line-height:1.08;overflow-wrap:normal}
  .hero p{font-size:1rem;line-height:1.65}
  .hero-image{height:clamp(280px,92vw,470px);min-height:0}
  .hero-image img{object-position:center 35%}
  .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.45;padding:13px 20px}
  .section{padding:56px 0}
  .section h2{font-size:clamp(2rem,8vw,3rem);line-height:1.15;overflow-wrap:break-word}
  .section-head{margin-bottom:26px}
  .gallery-section{padding:48px 0}
  .gallery-section h3{font-size:clamp(2rem,8vw,2.6rem)}
  .insta-box{padding:25px 20px}
  .quote{padding:54px 18px}
  .quote blockquote{font-size:clamp(1.7rem,6vw,2.4rem)}
}
@media (max-width:480px){
  .wrap{width:calc(100% - 36px)}
  .cards{grid-template-columns:1fr;gap:28px}
  .service-card .visual{aspect-ratio:5/4;max-height:350px}
  .service-card h3{font-size:1.65rem;margin-top:12px}
  .service-card p{font-size:.93rem}
  .rate-grid{grid-template-columns:1fr 1fr;gap:10px}
  .rate{padding:18px 12px}
  .rate h3{font-size:1.25rem}
  .rate p{font-size:1rem}
  .gallery-grid{gap:8px}
  .contact-grid{gap:14px}
  .contact-grid a{overflow-wrap:anywhere}
  .events-empty{padding:32px 16px}
}
@media (max-width:350px){
  .rate-grid{grid-template-columns:1fr}
  .brand small{letter-spacing:.07em}
}

