/* ============================================================
   franco-media.com, TASK-N45 (Brain ruling LA and its addendum, 29-10-2026).
   Loaded last, after j6.css (Pixel's J6 v3.2 CSS, byte for byte) and d10.css
   (Pixel's D10 section 6 CSS, as printed in the sheet). Tokens only: no hex, no
   important flags. What this file adds, in order:
   A. J6 sections 9g and 9h (sources block, UNVERIFIED marker): they are in the
      v3.1 CSS file and in the v3.2 sheet text (section 9, items 7 and 8) but not
      in the v3.2 CSS file, so they are lifted from v3.1 as they stand.
   B. The Send button fix approved in ruling LA (a): border-box and no plugin margin.
   C. The house ad in the client profile rail (D10, slot of gpcf_sidebar()).
   D. KU3: "Find us elsewhere" row, "Leave a review on Google" link, the lazy video.
   E. Addendum item 17: one accordion style.
   F. Addendum item 18: the old CTA blocks.
   G. N45a (Brain ruling LC item 2, 30-10-2026): images on the light grey ground.
   ============================================================ */

/* ===== A. J6 v3.1 sections 9g and 9h, as they stand ===== */
/* 9g. Sources and read dates: the last block of the content, closed, small. Not a heading, so it stays
   out of the outline and the contents list. */
.guide .sources{
  margin:var(--space-13) 0 0;
  border:1px solid var(--os-line);
  border-radius:var(--radius-card);
  background:var(--os-card);
  font-size:var(--size-small);
  line-height:1.5;
  color:var(--os-text);
}
.guide .sources summary{
  display:flex;
  align-items:center;
  gap:var(--space-4);
  min-height:var(--tap-comfortable);
  padding:0 var(--space-9);
  list-style:none;
  cursor:pointer;
  border-radius:var(--radius-card);
  font-family:var(--font-body);
  font-weight:var(--weight-bold);
  font-size:var(--size-body);
  color:var(--acc-deep,var(--os-link));
}
.guide .sources summary::-webkit-details-marker{ display:none; }
.guide .sources summary::after{
  content:"";
  flex:none;
  width:9px;
  height:9px;
  margin:-4px 2px 0 auto;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform var(--duration-base) var(--ease);
}
.guide .sources[open] summary::after{ margin-top:4px; transform:rotate(-135deg); }
.guide .sources summary:focus-visible{ outline:3px solid var(--os-accent); outline-offset:-3px; }
.guide .sources ol{
  margin:0;
  padding:var(--space-3) var(--space-9) var(--space-9) calc(var(--space-9) + var(--space-8));
  border-top:1px solid var(--os-line);
  font-size:var(--size-small);
  line-height:1.5;
  color:var(--os-text);
}
.guide .sources li{ margin-top:var(--space-4); }
.guide .sources a{ overflow-wrap:anywhere; }
.guide .sources .read{ white-space:nowrap; color:var(--os-muted); }

/* 9h. The UNVERIFIED marker. Printed by the converter only while the page is not published, and hidden
   here unless the body says so: it can not show on a published page. */
.guide .unv,
.guide .unv-bar{ display:none; }
.guide mark.unv-claim{ background:none; color:inherit; }
.gpcf-draft .guide .unv{
  display:inline-block;
  margin-right:var(--space-2);
  padding:1px var(--space-4);
  border:1.5px dashed var(--os-burnt-caramel);
  border-radius:var(--radius-pill);
  background:var(--os-tint-warm);
  color:var(--os-ink-black);
  font-family:var(--font-body);
  font-size:var(--size-label);
  font-weight:var(--weight-bold);
  letter-spacing:var(--ls-label);
  line-height:1.6;
  text-transform:uppercase;
  vertical-align:.1em;
  white-space:nowrap;
}
.gpcf-draft .guide mark.unv-claim{
  background:var(--os-tint-warm);
  box-shadow:inset 0 -3px 0 var(--os-burnt-caramel);
}
.gpcf-draft .guide .unv-bar{
  display:block;
  margin:0 0 var(--space-10);
  padding:var(--space-5) var(--space-7);
  border:1.5px dashed var(--os-burnt-caramel);
  border-radius:var(--radius-card);
  background:var(--os-tint-warm);
  font-size:var(--size-small);
  line-height:1.45;
  color:var(--os-ink-black);
}

/* ===== B. Send (ruling LA a, KZ finding): the button sizes from its border edge and the plugin's
   own margin (10 px top, 20 px left) is cancelled, so Send keeps to its column on a phone and lines
   up with the fields on a desktop. ===== */
#contact .ecf-form .ecfbutton{
  box-sizing:border-box;
  margin:0;
}

/* ===== C. House ad in the profile rail (D10): the whole image, 14 px corners, no caption ===== */
.slot.slot--house{ padding:0; background:none; border:0; }
.slot.slot--house a{ display:block; border-radius:var(--radius-card); }
.slot.slot--house img{
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--radius-card);
  transition:box-shadow var(--duration-base) var(--ease);
}
.slot.slot--house a:hover img{ box-shadow:var(--shadow-floating); }
.slot.slot--house a:focus-visible{ outline:3px solid var(--os-link); outline-offset:3px; }
.sigad--house img{ display:block; width:100%; height:auto; }

/* ===== D. KU3 =====
   D1. "Find us elsewhere": the last row of the profile contact card, links and badges only. */
.ccard .findus{
  padding:var(--space-7) var(--space-9) var(--space-9);
  border-top:1px solid var(--os-line);
}
.ccard .findus-h{
  margin:0 0 var(--space-3);
  font-family:var(--font-body);
  font-weight:var(--weight-bold);
  font-size:var(--size-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--os-muted);
}
.ccard .findus-links{ display:flex; flex-wrap:wrap; gap:var(--space-3); }
.ccard .findus-link{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  min-height:var(--tap-min);
  padding:0 var(--space-5);
  border:1px solid var(--acc-line,var(--os-line));
  border-radius:var(--radius-pill);
  background:var(--os-card);
  font-size:var(--size-small);
  font-weight:var(--weight-bold);
  color:var(--acc-deep,var(--os-dark-teal));
  text-decoration:none;
}
.ccard .findus-link:hover{ background:var(--acc-wash,var(--os-tint)); }
.ccard .findus-link:focus-visible{ outline:3px solid var(--acc-deep,var(--os-link)); outline-offset:2px; }
.ccard .findus-link .ico{ display:inline-flex; }
.ccard .findus-link svg{ width:16px; height:16px; }

/* D2. Our own pages: "Leave a review on Google", a secondary pill (golden stays the conversion). */
.ownreview{ margin:var(--space-10) 0 0; }
.ownreview-link{
  display:inline-flex;
  align-items:center;
  gap:var(--space-3);
  min-height:var(--tap-comfortable);
  padding:0 var(--space-9);
  border:1px solid var(--os-line);
  border-radius:var(--radius-pill);
  background:var(--os-card);
  font-weight:var(--weight-bold);
  color:var(--acc-deep,var(--os-link));
  text-decoration:none;
}
.ownreview-link:hover{ background:var(--acc-wash,var(--os-tint)); }
.ownreview-link:focus-visible{ outline:3px solid var(--acc-deep,var(--os-link)); outline-offset:2px; }

/* D3. One client video, 16:9, 14 px corners, loaded lazily by the browser. */
.pvideo{ margin:var(--space-10) 0 0; aspect-ratio:16 / 9; }
.pvideo iframe{ display:block; width:100%; height:100%; border:0; border-radius:var(--radius-card); }

/* ===== E. Addendum item 17: one accordion style for the whole site =====
   Model: the theme's FAQ (shared-components.css .gpcf-faq): a white card per item, 14 px corners, a 56 px
   header row in the display face, a chevron that turns, and the open item marked. N45 gives every
   accordion that look and the page accent: chevron and open marker in --acc-deep, the open header row on
   --acc-wash; a page with no rubrique falls back to the teal chrome. Styled on the markup as it is, so no
   content edit is needed. Markup covered:
   E1. WPBakery accordion: .vc_tta.vc_tta-accordion > .vc_tta-panel > .vc_tta-panel-heading > h4 > a
       (span.vc_tta-title-text, i.vc_tta-controls-icon) + .vc_tta-panel-body; the open item is .vc_active.
   E2. WPBakery toggle: .vc_toggle > .vc_toggle_title (h4, i.vc_toggle_icon) + .vc_toggle_content;
       the open item is .vc_toggle_active.
   E3. A plain details element written in page content (no class of its own).
   E4. The theme FAQ (.gpcf-faq): the same card, now in the page accent. */

/* E1 */
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion{
  margin:var(--space-10) 0;
  --vc-tta-spacing:0px;
  --vc-tta-gap:var(--space-4);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel{
  margin:0;
  border:1px solid var(--os-line);
  border-radius:var(--radius-card);
  background:var(--os-card);
  overflow:hidden;
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel + .vc_tta-panel{ margin-top:var(--space-4); }
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-heading{
  margin:0;
  border:0;
  border-radius:0;
  background:var(--os-card);
  transition:background-color var(--duration-base) var(--ease);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-display);
  font-size:var(--size-card-title);
  line-height:1.3;
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a{
  position:relative;
  display:flex;
  align-items:center;
  gap:var(--space-5);
  min-height:56px;
  padding:var(--space-3) calc(var(--space-9) + var(--space-10)) var(--space-3) var(--space-9);
  border:0;
  background:none;
  color:var(--os-heading);
  text-decoration:none;
  box-shadow:none;
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a .vc_tta-controls-icon{ display:none; }
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a::after,
:is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title::after,
:is(.entry-content,.abody,.desc) details:not([class]) > summary::after{
  content:"";
  position:absolute;
  top:50%;
  right:var(--space-9);
  width:9px;
  height:9px;
  margin-top:-7px;
  border-right:2px solid var(--acc-deep,var(--os-link));
  border-bottom:2px solid var(--acc-deep,var(--os-link));
  transform:rotate(45deg);
  transition:transform var(--duration-base) var(--ease);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-heading{ background:var(--acc-wash,var(--os-tint)); }
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a{ color:var(--acc-deep,var(--os-link)); }
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a::after,
:is(.entry-content,.abody,.desc) .vc_toggle.vc_toggle_active .vc_toggle_title::after,
:is(.entry-content,.abody,.desc) details:not([class])[open] > summary::after{
  margin-top:-2px;
  transform:rotate(-135deg);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a:hover{ color:var(--acc-deep,var(--os-link)); }
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a:focus-visible{ outline:3px solid var(--acc-deep,var(--os-link)); outline-offset:-3px; }
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body{
  padding:var(--space-7) var(--space-9) var(--space-9);
  border:0;
  border-top:1px solid var(--os-line);
  background:var(--os-card);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body > :first-child{ margin-top:0; }

/* E2 */
:is(.entry-content,.abody,.desc) .vc_toggle{
  margin:var(--space-4) 0 0;
  border:1px solid var(--os-line);
  border-radius:var(--radius-card);
  background:var(--os-card);
  overflow:hidden;
}
:is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title{
  position:relative;
  display:flex;
  align-items:center;
  min-height:56px;
  margin:0;
  padding:var(--space-3) calc(var(--space-9) + var(--space-10)) var(--space-3) var(--space-9);
  cursor:pointer;
  background:var(--os-card);
}
:is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title > h4{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-display);
  font-size:var(--size-card-title);
  line-height:1.3;
  color:var(--os-heading);
}
:is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title .vc_toggle_icon{ display:none; }
:is(.entry-content,.abody,.desc) .vc_toggle.vc_toggle_active .vc_toggle_title{ background:var(--acc-wash,var(--os-tint)); }
:is(.entry-content,.abody,.desc) .vc_toggle.vc_toggle_active .vc_toggle_title > h4{ color:var(--acc-deep,var(--os-link)); }
:is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_content{
  margin:0;
  padding:var(--space-7) var(--space-9) var(--space-9);
  border-top:1px solid var(--os-line);
}

/* E3 */
:is(.entry-content,.abody,.desc) details:not([class]){
  margin:var(--space-4) 0 0;
  border:1px solid var(--os-line);
  border-radius:var(--radius-card);
  background:var(--os-card);
  overflow:hidden;
}
:is(.entry-content,.abody,.desc) details:not([class]) > summary{
  position:relative;
  display:flex;
  align-items:center;
  min-height:56px;
  padding:var(--space-3) calc(var(--space-9) + var(--space-10)) var(--space-3) var(--space-9);
  list-style:none;
  cursor:pointer;
  font-family:var(--font-display);
  font-weight:var(--weight-display);
  font-size:var(--size-card-title);
  line-height:1.3;
  color:var(--os-heading);
}
:is(.entry-content,.abody,.desc) details:not([class]) > summary::-webkit-details-marker{ display:none; }
:is(.entry-content,.abody,.desc) details:not([class])[open] > summary{
  background:var(--acc-wash,var(--os-tint));
  color:var(--acc-deep,var(--os-link));
}
:is(.entry-content,.abody,.desc) details:not([class]) > summary:focus-visible{ outline:3px solid var(--acc-deep,var(--os-link)); outline-offset:-3px; }
:is(.entry-content,.abody,.desc) details:not([class]) > :not(summary){ margin-left:var(--space-9); margin-right:var(--space-9); }
:is(.entry-content,.abody,.desc) details:not([class]) > :last-child:not(summary){ margin-bottom:var(--space-9); }

/* E4 */
.gpcf-faq summary .ico{ color:var(--acc-deep,var(--os-link)); }
.gpcf-faq details[open] > summary::before{ background:var(--acc-deep,var(--os-accent)); }
.gpcf-faq summary:focus-visible{ outline-color:var(--acc-deep,var(--os-dark-teal)); }

@media (max-width:768px){
  :is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a,
  :is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title,
  :is(.entry-content,.abody,.desc) details:not([class]) > summary{
    min-height:var(--tap-comfortable);
    padding-left:var(--space-7);
    padding-right:calc(var(--space-7) + var(--space-10));
    font-size:var(--size-body);
  }
  :is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title > h4{ font-size:var(--size-body); }
  :is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a::after,
  :is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_title::after,
  :is(.entry-content,.abody,.desc) details:not([class]) > summary::after{ right:var(--space-7); }
  :is(.entry-content,.abody,.desc) .vc_general.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body,
  :is(.entry-content,.abody,.desc) .vc_toggle .vc_toggle_content{ padding:var(--space-5) var(--space-7) var(--space-7); }
  :is(.entry-content,.abody,.desc) details:not([class]) > :not(summary){ margin-left:var(--space-7); margin-right:var(--space-7); }
}

/* ===== F. Addendum item 18: the old CTA blocks of page content =====
   The "Contactez-nous", "Nous contacter", "En savoir plus", "Learn more", "Связаться", "Свяжитесь",
   "Подробнее", "Узнать больше" blocks are WPBakery buttons ([vc_btn], printed as .vc_btn3) and call to
   action boxes ([vc_cta], printed as .vc_cta3). J6 section 4: a button in content is the secondary
   button, the deep page accent with white text (teal where the page has no rubrique); the golden
   orange stays the one conversion button the theme prints on a page. The wording and links are the
   content pass (separate box). A colour written inline by the editor (style="...") still wins over
   this file where the display filter does not remove it; the content pass clears those. */
:is(.entry-content,.abody,.desc) .vc_btn3-container{ margin:var(--space-10) 0 0; }
:is(.entry-content,.abody,.desc) .vc_general.vc_btn3{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-3);
  box-sizing:border-box;
  min-height:var(--tap-comfortable);
  padding:var(--space-3) var(--space-12);
  border:0;
  border-radius:var(--radius-sm);
  background-color:var(--acc-deep,var(--os-link));
  background-image:none;
  box-shadow:none;
  color:var(--on-dark);
  font-family:var(--font-body);
  font-weight:var(--weight-bold);
  font-size:var(--size-body);
  line-height:1.2;
  text-decoration:none;
  text-transform:none;
  transition:background-color var(--duration-base) var(--ease);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_btn3:hover,
:is(.entry-content,.abody,.desc) .vc_general.vc_btn3:focus{
  background-color:var(--os-heading);
  background-image:none;
  color:var(--on-dark);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_btn3:focus-visible{ outline:3px solid var(--acc-deep,var(--os-link)); outline-offset:3px; }
:is(.entry-content,.abody,.desc) .vc_general.vc_btn3 .vc_btn3-icon{ position:static; margin:0; color:inherit; }
:is(.entry-content,.abody,.desc) .vc_general.vc_btn3.vc_btn3-block{ display:flex; width:100%; }

:is(.entry-content,.abody,.desc) .vc_cta3-container{ margin:var(--space-10) 0 0; }
:is(.entry-content,.abody,.desc) .vc_general.vc_cta3{
  padding:var(--space-10) var(--space-12);
  border:0;
  border-radius:var(--radius-card);
  background-color:var(--acc-wash,var(--os-tint));
  background-image:none;
  box-shadow:none;
  color:var(--os-text);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_cta3 :is(h2,h3,h4){
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-display);
  font-size:var(--size-h3);
  line-height:var(--lh-h3);
  color:var(--os-heading);
}
:is(.entry-content,.abody,.desc) .vc_general.vc_cta3 p{ color:var(--os-text); }
:is(.entry-content,.abody,.desc) .vc_general.vc_cta3 .vc_cta3-actions .vc_btn3-container{ margin:0; }

@media (max-width:768px){
  :is(.entry-content,.abody,.desc) .vc_general.vc_btn3{ padding:var(--space-3) var(--space-9); }
  :is(.entry-content,.abody,.desc) .vc_general.vc_cta3{ padding:var(--space-9) var(--space-7); }
}

/* ===== G. N45a, ruling LC item 2: images on the light grey ground =====
   A content image, a gallery thumbnail or a client logo that sits on the page ground gets a white card:
   white background, 14 px corners, the soft resting shadow of the sheet's cards, 8 px padding for logos.
   The card is drawn on the image itself, so a photo keeps its size and a transparent logo reads on white.
   Photos that fill their container (header photos, card and spotlight photos, banners) keep their own
   treatment; a WPBakery frame (circle, rounded, outline) keeps its own shadow rule. */
:is(.abody,.desc,.entry-content) :is(.wpb_single_image img,.wp-caption img,.wp-block-image img,img[class*="wp-image-"]),
:is(.abody,.desc,.entry-content) .lgx_app_item .lgx_app_item_img{
  background:var(--os-card);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-raised);
}
:is(.abody,.desc,.entry-content) .lgx_app_item .lgx_app_item_img,
:is(.abody,.desc,.entry-content) img[src*="logo" i]{
  box-sizing:border-box;
  padding:8px;
}
.gal .gal-item{
  background:var(--os-card);
  border-color:transparent;
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-raised);
}
.spot .ph{ background:var(--os-card); }
