/* ===== L'Atelier du Regard — refonte 2026 (complete les reglages Salient) ===== */
:root {
  --ldr-ink: #191614;
  --ldr-cream: #f4ece2;
  --ldr-paper: #fbf7f2;
  --ldr-sand: #efe4d6;
  --ldr-accent: #ffac66;
  --ldr-taupe: #9c7b62;
  --ldr-muted: #5f5650;
}

/* Typo */
.ldr-row h1, .ldr-row h2, .ldr-row h3 { color: var(--ldr-ink); letter-spacing: -0.01em; }
.ldr-row h1 { font-size: clamp(40px, 6vw, 84px); line-height: 1.02; margin-bottom: 20px; }
.ldr-row h2 { font-size: clamp(32px, 3.6vw, 52px); line-height: 1.08; margin-bottom: 16px; }
.ldr-row p, .ldr-row li { color: var(--ldr-muted); font-size: 17px; line-height: 1.65; }
.ldr-row .ldr-lead { font-size: clamp(17px, 1.35vw, 20px); max-width: 560px; }
.ldr-intro .ldr-lead { margin-left: auto; margin-right: auto; }
.ldr-eyebrow {
  font-family: Montserrat, sans-serif; font-weight: 600; font-size: 12px !important;
  letter-spacing: .18em; text-transform: uppercase; color: var(--ldr-taupe) !important;
  margin-bottom: 14px !important; padding-bottom: 0 !important;
}
.ldr-center { text-align: center; }
.ldr-small { font-size: 14px !important; }
.ldr-textlink { color: var(--ldr-ink) !important; border-bottom: 1px solid var(--ldr-accent); padding-bottom: 2px; font-weight: 500; }
.ldr-section-head { text-align: center; max-width: 720px; margin: 0 auto 48px !important; }

/* Boutons : texte fonce sur accent peche, meilleur contraste */
.ldr-row .nectar-button.regular, .ldr-row .nectar-button.large, .ldr-row .nectar-button.medium { border-radius: 999px !important; }
.ldr-row .nectar-button.regular.accent-color, .ldr-row .nectar-button[class*="Accent-Color"] { color: var(--ldr-ink) !important; }
.ldr-row .nectar-button.see-through-2 { background: transparent !important; border: 1.5px solid var(--ldr-ink) !important; color: var(--ldr-ink) !important; box-shadow: none !important; }
.ldr-row .nectar-button.see-through-2:hover { background: var(--ldr-ink) !important; color: #fff !important; }
.ldr-row .nectar-button.see-through-2 span { color: inherit !important; }
.ldr-row a.nectar-button.see-through-2:hover span { color: #fff !important; }
.ldr-cta .nectar-button.see-through-2 { border-color: #fff !important; color: #fff !important; }
.ldr-cta a.nectar-button.see-through-2:hover { background: #fff !important; }
.ldr-cta a.nectar-button.see-through-2:hover span { color: var(--ldr-ink) !important; }

/* Hero */
.ldr-hero .ldr-hero-title { max-width: 14ch; }
.ldr-reassure { font-size: 14px !important; margin-top: 8px; }
.ldr-stars { color: var(--ldr-accent); letter-spacing: 2px; margin-right: 6px; }
.ldr-hero-visual { position: relative; }
.ldr-hero-visual .ldr-hero-main img { border-radius: 240px 240px 24px 24px; max-height: 620px; width: auto; object-fit: cover; }
.ldr-hero-visual .ldr-hero-circle { position: absolute !important; width: 42%; left: 2%; bottom: -6%; z-index: 2; }
.ldr-hero-visual .ldr-hero-circle img { filter: drop-shadow(0 18px 30px rgba(25,22,20,.18)); }

/* Cartes prestations : 4 ronds identiques */
.ldr-card { text-align: center; }
.ldr-card-media { display: block; width: 200px; max-width: 70%; aspect-ratio: 1; margin: 0 auto 22px; border-radius: 50%;
  overflow: hidden; box-shadow: 0 16px 36px rgba(25,22,20,.12); transition: transform .35s ease; }
.ldr-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ldr-card:hover .ldr-card-media { transform: translateY(-6px); }
.ldr-card .ldr-card-title { font-size: 26px !important; margin-bottom: 8px; }
.ldr-card .ldr-card-title a { color: var(--ldr-ink); text-decoration: none; background: none; }
.ldr-card p { font-size: 15.5px !important; }
.ldr-card-link a { color: var(--ldr-ink); font-weight: 600; font-size: 14px; letter-spacing: .04em; border-bottom: 1px solid var(--ldr-accent); }
.ldr-services .ldr-cards { margin-bottom: 36px; }
.ldr-center-btn, .nectar-button.ldr-center-btn { float: none !important; }
.ldr-services .wpb_column, .ldr-insta .wpb_column { text-align: center; }
.ldr-services .ldr-card p, .ldr-services .ldr-card h3 { text-align: center; }

/* Formules */
.ldr-pack { background: var(--ldr-paper); border-radius: 24px; padding: 32px 28px; height: 100%; }
.ldr-pack-name { font-family: Cormorant, serif; font-size: 30px !important; color: var(--ldr-ink) !important; margin-bottom: 4px !important; }
.ldr-pack-price { font-weight: 600; color: var(--ldr-ink) !important; font-size: 20px !important; }
.ldr-pack-price s { color: var(--ldr-taupe); font-weight: 400; font-size: 16px; margin-left: 6px; }

/* Avis */
.ldr-reviews .testimonial_slider blockquote p { font-size: 17px !important; line-height: 1.6 !important; color: var(--ldr-ink); }
.ldr-reviews .testimonial_slider .testimonial-name { font-family: Montserrat, sans-serif; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; }

/* A propos */
.ldr-about-img img { max-width: 440px; margin: 0 auto; }
ul.ldr-checks { list-style: none; margin: 20px 0 28px !important; padding: 0; }
ul.ldr-checks li { position: relative; padding-left: 30px; margin-bottom: 8px; list-style: none; }
ul.ldr-checks li:before { content: "✓"; position: absolute; left: 0; color: var(--ldr-taupe); font-weight: 700; }

/* Sous-navigation (ancres) */
.ldr-subnav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }
.ldr-subnav a { text-decoration: none !important; border: 1px solid rgba(25,22,20,.25); border-radius: 999px; padding: 9px 18px; font-size: 14px; color: var(--ldr-ink); background: rgba(255,255,255,.45); transition: all .2s; }
.ldr-subnav a:hover { background: var(--ldr-ink); color: #fff; border-color: var(--ldr-ink); }
.ldr-row[id] { scroll-margin-top: 90px; }

/* Blocs prestations */
.ldr-service-list { list-style: none; margin: 24px 0 28px !important; padding: 0; border-top: 1px solid rgba(25,22,20,.12); }
.ldr-service-list li { list-style: none; padding: 14px 0; border-bottom: 1px solid rgba(25,22,20,.12); margin: 0; }
.ldr-service-list li strong { display: block; color: var(--ldr-ink); font-size: 18px; font-weight: 600; }
.ldr-service-list li span { display: block; font-size: 15px; }
/* Collages (images positionnees en %, cadre carre) */
.ldr-collage { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1 / 1; margin: 0 auto; }
.ldr-collage img { position: absolute; display: block; height: auto; max-width: none; margin: 0 !important; }
.ldr-collage .ldr-c-circle { border-radius: 50%; border: 6px solid rgba(255,255,255,.9); box-shadow: 0 18px 40px rgba(25,22,20,.14); z-index: 2; }
.ldr-collage .ldr-c-arch { z-index: 1; border-radius: 999px 999px 28px 28px; border: 6px solid rgba(255,255,255,.9); box-shadow: 0 22px 44px rgba(25,22,20,.14); }
.ldr-collage .ldr-c-rect { border-radius: 28px; border: 6px solid rgba(255,255,255,.9); box-shadow: 0 22px 44px rgba(25,22,20,.14); z-index: 1; }
.ldr-tag { position: absolute; transform: translate(-50%, -50%); z-index: 3; background: var(--ldr-ink); color: #fff;
  font: 600 11px/1 Montserrat, sans-serif; letter-spacing: .14em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; white-space: nowrap; }
.ldr-badge { position: absolute; z-index: 3; width: 30%; aspect-ratio: 1; border-radius: 50%; background: var(--ldr-accent); color: var(--ldr-ink);
  display: flex; align-items: center; justify-content: center; text-align: center; font: 600 clamp(12px, 1.2vw, 16px)/1.25 Montserrat, sans-serif;
  box-shadow: 0 16px 34px rgba(25,22,20,.16); }
.ldr-collage-col .wpb_text_column, .ldr-collage-col .wpb_wrapper { width: 100%; }

/* Carrousels (galeries flickity Salient) */
.ldr-ba-gallery .flickity-slider .cell img, .ldr-insta-gallery .flickity-slider .cell img { border-radius: 22px; }
.ldr-ba-gallery .flickity-slider .cell .item-meta, .ldr-ba-gallery .cell .wp-caption-text { font-family: Montserrat, sans-serif; }
.ldr-ba-gallery .cell .title, .ldr-ba-gallery .cell h4 { font-family: Cormorant, serif; font-size: 22px; color: var(--ldr-ink); }
.ldr-insta .nectar-button.ldr-center-btn { margin-top: 28px; }

/* Tarifs */
.ldr-price-title { margin-bottom: 28px !important; }
.ldr-price-media { width: 100%; max-width: 300px; aspect-ratio: 1; margin: 0 auto; border-radius: 50%; overflow: hidden;
  border: 6px solid rgba(255,255,255,.9); box-shadow: 0 18px 40px rgba(25,22,20,.14); }
.ldr-price-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 1000px) { .ldr-price-media-col .wpb_wrapper { position: sticky; top: 120px; } .ldr-price-row { align-items: flex-start; } }
.ldr-price-row .nectar_food_menu_item { margin-bottom: 16px; }
.ldr-price-row .nectar_food_menu_item .item_description { margin-top: -6px; }
.ldr-price-row .ldr-price-btn { margin-top: 18px; }
.ldr-price-row .nectar_food_menu_item .item_name h4 { font-family: Inter, sans-serif; font-size: 17px; font-weight: 600; color: var(--ldr-ink); }
.ldr-price-row .nectar_food_menu_item .item_price h4 { font-family: Inter, sans-serif; font-size: 17px; font-weight: 700; color: var(--ldr-ink); white-space: nowrap; }
.ldr-price-row .nectar_food_menu_item .item_description { font-size: 14px; color: var(--ldr-muted); }
.ldr-price-row .nectar_food_menu_item .line_spacer { border-color: rgba(25,22,20,.25); }

/* Reservations */
.ldr-center-btn, .ldr-intro .nectar-button { margin-top: 12px; }
ol.ldr-steps { counter-reset: s; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; }
ol.ldr-steps li { counter-increment: s; list-style: none; background: #fff; border-radius: 20px; padding: 28px; }
ol.ldr-steps li:before { content: counter(s); display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ldr-accent); color: var(--ldr-ink); font-weight: 700; margin-bottom: 14px; }
ol.ldr-steps li strong { display: block; color: var(--ldr-ink); font-size: 18px; margin-bottom: 4px; }
.ldr-info-row .wpb_wrapper { max-width: 720px; margin: 0 auto; }

/* Bandeau CTA */
.ldr-cta h2, .ldr-cta p { color: #fff !important; }
.ldr-cta .ldr-eyebrow { color: var(--ldr-accent) !important; }
.ldr-cta-col .wpb_wrapper { max-width: 680px; margin: 0 auto; }

/* Pied de page */
.ldr-footer h4 { font-family: Montserrat, sans-serif; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--ldr-taupe); margin: 0 0 10px; }
.ldr-footer p { font-size: 15.5px !important; margin-bottom: 14px !important; }
.ldr-footer a { color: var(--ldr-ink); }
.ldr-footer-logo { font-family: Cormorant, serif; font-size: 34px !important; color: var(--ldr-ink) !important; line-height: 1.1 !important; }
ul.ldr-hours { list-style: none; margin: 0 0 8px !important; padding: 0; }
ul.ldr-hours li { list-style: none; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed rgba(25,22,20,.18); padding: 8px 0; margin: 0; font-size: 15.5px; }
.ldr-footer-bottom { border-top: 1px solid rgba(25,22,20,.1); }
.ldr-footer-bottom p { font-size: 14px !important; margin: 0 !important; padding: 0 !important; }
.ldr-legal { text-align: right; }
.ldr-legal a { color: var(--ldr-muted); margin-left: 20px; }

/* ===== Responsive ===== */
@media (max-width: 999px) {
  .ldr-hero .ldr-hero-copy { text-align: center; }
  .ldr-hero .ldr-hero-title, .ldr-hero .ldr-lead { margin-left: auto; margin-right: auto; }
  .ldr-hero-visual { margin-top: 36px; }
  .ldr-hero-visual .ldr-hero-main img { max-height: 440px; }
  .ldr-hero-visual .ldr-hero-circle { width: 38%; left: 4%; bottom: -4%; }
  .ldr-cards .ldr-card { margin-bottom: 36px; }
  .ldr-packs .wpb_column { margin-bottom: 20px; }
  .ldr-service .wpb_column { margin-bottom: 28px; }
  .ldr-collage { max-width: 480px; }
  .ldr-price-media-col { margin-bottom: 20px !important; }
  .ldr-legal { text-align: left; }
  .ldr-legal a { margin: 0 20px 0 0; }
}
@media (max-width: 690px) {
  .ldr-row p, .ldr-row li { font-size: 16px; }
  .ldr-section-head { margin-bottom: 32px !important; }
  .ldr-card-media { width: 170px; }
  .ldr-collage { max-width: 420px; }
  .ldr-collage .ldr-c-circle { border-width: 4px; }
  .ldr-tag { font-size: 10px; padding: 6px 10px; }
  .ldr-price-media { max-width: 150px; }
  .ldr-price-title { text-align: center; }
  ol.ldr-steps { grid-template-columns: 1fr; }
  .ldr-row .nectar-button { display: block !important; text-align: center; margin-right: 0 !important; }
  .ldr-subnav { gap: 8px; }
  .ldr-subnav a { padding: 8px 14px; font-size: 13px; }
  .ldr-price-row .nectar_food_menu_item .item_name h4, .ldr-price-row .nectar_food_menu_item .item_price h4 { font-size: 16px; }
  .ldr-footer-bottom .wpb_column { margin-bottom: 8px; }
}

/* En-tete mobile : logo + bouton Reserver sans chevauchement */
@media (max-width: 690px) {
  #header-outer #logo.no-image { font-size: 20px !important; }
  #header-outer #menu-item-439 > a { padding-left: 13px !important; padding-right: 13px !important; }
  #header-outer #menu-item-439 .nectar-menu-icon { display: none !important; }
  #header-outer #menu-item-439 .menu-title-text { font-size: 11px !important; letter-spacing: .06em; }
  /* Hero : photo moins haute sur telephone */
  .ldr-hero-visual img.ldr-hero-main, .ldr-hero-visual .ldr-hero-main img { max-height: 380px; width: auto !important; margin: 0 auto; display: block; object-fit: cover; }
  .ldr-hero-visual .ldr-hero-circle { width: 36%; left: 6%; bottom: -5%; }
}
