/* Shared icon system — all FR / EN / ZH pages.
 * Editorial symbols: Lucide, 1.5 px strokes, the approved homepage gold.
 * Marks: original brand geometry. Arrows inherit accessible button/link colour.
 * A named important layer takes precedence over legacy unlayered overrides.
 */
@layer sun-icons {
  :root{--sun-icon-gold:#a06d2c;--sun-icon-small:18px;--sun-icon-content:24px;--sun-icon-card:30px}
  html body svg.sun-icon{
    display:inline-block!important;width:var(--sun-icon-size)!important;height:var(--sun-icon-size)!important;
    min-width:var(--sun-icon-size)!important;max-width:none!important;flex:0 0 var(--sun-icon-size)!important;
    padding:0!important;vertical-align:middle!important;box-sizing:border-box!important;
    color:var(--sun-icon-gold)!important;fill:none!important;stroke:currentColor!important;stroke-width:1.5px!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;overflow:visible!important;pointer-events:none;
  }
  html body svg.sun-icon-18{--sun-icon-size:var(--sun-icon-small)}
  html body svg.sun-icon-24{--sun-icon-size:var(--sun-icon-content)}
  html body svg.sun-icon-30{--sun-icon-size:var(--sun-icon-card)}
  html body svg.sun-icon-inherit{color:inherit!important}
  html body svg.sun-icon-brand{fill:currentColor!important;stroke:none!important}
  html body svg.sun-icon:not(.sun-icon-brand)>*{vector-effect:non-scaling-stroke!important;stroke-width:1.5px!important}
  html body svg.sun-icon-inline{margin-left:.35em!important;margin-right:0!important}
  html body :is(.sun-domain-icon,.sun-project-icon,.sun-cannes-icon){width:30px!important;height:30px!important}
  html body .sun-home-button-arrow{width:18px!important;height:18px!important;flex:0 0 18px!important}
  html body .sun-header-contacts .sun-contact-icon{width:18px!important;height:18px!important;flex:0 0 18px!important;background:none!important;opacity:1!important;line-height:1!important}
  html body .sun-header-contacts .sun-header-mail .sun-contact-icon{background:none!important;background-image:none!important;color:#806638!important;opacity:1!important}
  html body .sun-header-tools :is(summary,button)>svg.sun-icon{margin:0!important}
  html body .sun-chevron{display:inline-flex!important;align-items:center!important;color:inherit!important;line-height:1!important}
  html body .sun-nav-button::before,html body .sun-nav-button::after,
  html body .toggleMenu::before,html body .toggleMenu::after,
  html body .sun-header-mail .sun-contact-icon::before,html body .sun-header-mail .sun-contact-icon::after{content:none!important;display:none!important}
  html body .sun-nav-button .sun-icon-nav{margin:0 0 0 4px!important}
  html body .sun-nav-button[aria-expanded=true] .sun-icon-nav{transform:rotate(180deg)}
  html body .toggleMenu{gap:8px!important}
  html body .toggleMenu .sun-icon-menu{order:-1!important;margin:0!important}
  html body .sun-header-mail .sun-contact-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:none!important;background-image:none!important}
  html body .sun-member-facts dt{grid-template-columns:24px minmax(0,1fr)!important;column-gap:10px!important}
  html body :is(#scroll-to-top,#scroll-to-bottom){width:44px!important;height:44px!important;padding:13px!important;box-sizing:border-box!important;background:#0e2c4d!important;border-radius:4px!important}
  html body :is(#scroll-to-top,#scroll-to-bottom)>img{display:block!important;width:18px!important;height:18px!important;margin:0!important}
  html body :is(.sun-faq,.sun-reprise-faq) summary::after{content:none!important;display:none!important}
  html body .sun-icon-faq{display:inline-flex!important;flex:0 0 18px!important;align-items:center!important;margin-left:auto!important;color:var(--sun-icon-gold)!important}
  html body .sun-icon-faq .sun-icon-collapse{display:none!important}
  html body details[open]>summary .sun-icon-expand{display:none!important}
  html body details[open]>summary .sun-icon-collapse{display:inline-block!important}
  /* Existing CSS pictograms use the same SVG catalogue, with no second icon. */
  html body :is(.sun-paris address,.sun-footer-address)::before,
  html body .sun-paris a[href^="tel:"]::before,
  html body .sun-paris a[href^="mailto:"]::before,
  html body #footer-wrapper .sun-footer-2027 a[href^="tel:"]::before,
  html body #footer-wrapper .sun-footer-2027 a[href^="mailto:"]::before,
  html body #footer-wrapper .sun-footer-2027 a[href^="https://maps.app.goo.gl/"]::before,
  html body .sun-languages::before{
    width:18px!important;height:18px!important;flex:0 0 18px!important;
    background:var(--sun-icon-gold)!important;mask:var(--sun-icon-mask) center/contain no-repeat!important;
  }
  html body :is(.sun-paris address,.sun-footer-address)::before,
  html body #footer-wrapper .sun-footer-2027 a[href^="https://maps.app.goo.gl/"]::before{--sun-icon-mask:url('/assets/icons/lucide/pin.svg')}
  html body .sun-paris a[href^="tel:"]::before,
  html body #footer-wrapper .sun-footer-2027 a[href^="tel:"]::before{--sun-icon-mask:url('/assets/icons/lucide/phone.svg')}
  html body .sun-paris a[href^="mailto:"]::before,
  html body #footer-wrapper .sun-footer-2027 a[href^="mailto:"]::before{--sun-icon-mask:url('/assets/icons/lucide/mail.svg')}
  html body .sun-languages::before{--sun-icon-mask:url('/assets/icons/lucide/globe.svg')}
  html body .sun-location-card .sun-text-link:has(svg.sun-icon)::before{content:none!important;display:none!important}
  /* Social action tap targets remain at least 44 px despite 24 px symbols. */
  html body :is(.sun-profile-social,.sun-claire-social) :is(a,summary,button){min-height:44px!important}
  html body :is(.sun-share-network-row,.sun-share-email) .sun-social-icon{width:44px!important;min-width:44px!important;flex-basis:44px!important}
}
