/* =========================================================
   SecondFlor US - CMS pages: "The Green Room" header (variant B)
   Pages: 2, 3, 5, 8, 11, 12, 18, 20, 21, 26, 27, 37, 39, 43, 44, 45, 46, 47, 48, 49, 50, 51
   Load after the theme CSS. Only touches the title, the intro,
   the "On this page" summary and the "Back to top" links.
   To add/remove a page: edit the .cms-<id> list (here AND in cms-toc.js).
   Rollback: remove this file.
   ========================================================= */

body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte {
  --gr-ink:#2b2b29; --gr-text:#3c3c3b; --gr-green:#414f34; --gr-line:#e4e0d7;
  --gr-mute:#6e6e68; --gr-soft:#edf1e6; --gr-panel:#eef2e8;
}

/* Optional kicker above the title: <p class="cms_kicker">About us</p> */
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_kicker { display:inline-block; font-family:"Open Sans",sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--gr-green); background:var(--gr-soft);
  border-radius:999px; padding:6px 16px; margin:28px 0 18px; line-height:1.4; }

/* Title + intro share one soft green panel; thin texture strip on top.
   .cms_main_title (no h1) so it also covers pages still using a <div>. */
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_main_title {
  background:url(/themes/zensation/img/subpages_color-green.jpg) top center no-repeat, var(--gr-panel) !important;
  background-size:100% 10px, auto !important;
  color:var(--gr-green) !important; font-family:Marcellus,Georgia,serif !important; font-size:52px !important;
  line-height:1.08 !important; font-weight:400 !important; text-transform:none !important; letter-spacing:-.005em;
  text-align:left !important; padding:56px 44px 14px !important; border-radius:4px 4px 0 0 !important;
  margin:0 !important; min-height:0 !important; text-wrap:balance; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_main_title::first-letter { text-transform:none; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_main_title strong { font-weight:400 !important; color:inherit !important; }

body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_intro_text { background:var(--gr-panel) !important; border-radius:0 0 4px 4px !important; border-bottom:0 !important;
  padding:0 44px 40px !important; margin:0 0 40px !important; max-width:none !important;
  font-size:21px !important; line-height:1.6 !important; color:var(--gr-text) !important; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_intro_text strong { color:var(--gr-ink); font-weight:600; }

/* "On this page" summary (built by cms-toc.js when a page has 3+ H2) */
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_toc { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); column-gap:32px; margin:0 0 48px; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_toc span { grid-column:1/-1; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gr-green); margin:0 0 6px; line-height:1.4; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_toc a { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:15px; line-height:1.45; color:var(--gr-ink);
  text-decoration:none; padding:11px 0; border-bottom:1px solid var(--gr-line); }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_toc a:after { content:"\2193"; color:var(--gr-mute); font-size:13px; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_toc a:hover, body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_toc a:focus-visible { color:var(--gr-green); border-bottom-color:var(--gr-green); }

/* Back to top */
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte h2[id], body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte #cms-top { scroll-margin-top:120px; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_top { text-align:right; margin:10px 0 0; line-height:1; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_top a { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gr-mute); text-decoration:none; padding:6px 0; }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_top a:before { content:""; width:7px; height:7px; border-left:1.5px solid currentColor; border-top:1.5px solid currentColor;
  transform:translateY(2px) rotate(45deg); }
body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_top a:hover, body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_top a:focus-visible { color:var(--gr-green); }

@media (max-width:991px) { body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_main_title { font-size:44px !important; } }
@media (max-width:767px) {
  body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte .cms_main_title { font-size:34px !important; padding:40px 22px 10px !important; }
  body#cms:is(.cms-2,.cms-3,.cms-5,.cms-8,.cms-11,.cms-12,.cms-18,.cms-20,.cms-21,.cms-26,.cms-27,.cms-37,.cms-39,.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) .rte p.cms_intro_text { font-size:18px !important; padding:0 22px 28px !important; }
}

/* ---------------------------------------------------------
   v2 (29/10/2026) - theme overrides.
   Some theme rules (#cms #center_column .rte:has(...) ...) are more specific than
   the rules above. ":not(#_)" only adds weight so these win; it matches every element.
   --------------------------------------------------------- */
body#cms #center_column .rte p.cms_top:not(#_) { text-align: right; margin: 4px 0 0 !important; padding: 0 !important;
  line-height: 1 !important; font-size: 11px !important; }
body#cms #center_column .rte p.cms_top:not(#_) a { display: inline-flex; align-items: center; gap: 6px; font-size: 11px !important;
  font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; color: #8a8a83 !important;
  text-decoration: none !important; padding: 6px 0; }
body#cms #center_column .rte p.cms_top:not(#_) a:hover,
body#cms #center_column .rte p.cms_top:not(#_) a:focus-visible { color: #414f34 !important; }

/* Summary: 2 columns on desktop, regular weight */
body#cms #center_column .rte .cms_toc:not(#_) { grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); }
body#cms #center_column .rte .cms_toc:not(#_) a { font-weight: 400 !important; }

/* Articles 43-51: the "Back to: guide" link between the title and the intro stays inside the green panel */
body#cms:is(.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) #center_column .rte .boxes_container_section:not(#_):has(+ .boxes_container_section > .cms_intro_text) {
  background: #eef2e8; padding: 0 44px 20px !important; margin: 0 !important; }
body#cms:is(.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) #center_column .rte .boxes_container_section:not(#_):has(+ .boxes_container_section > .cms_intro_text) p {
  margin: 0 !important; font-size: 14px !important; }
body#cms:is(.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) #center_column .rte .boxes_container_section:not(#_):has(+ .boxes_container_section > .cms_intro_text) a {
  font-size: 14px !important; font-weight: 600 !important; color: #414f34 !important; text-decoration: none !important; }

@media (max-width: 767px) {
  body#cms #center_column .rte .cms_toc:not(#_) { grid-template-columns: 1fr; }
  body#cms:is(.cms-43,.cms-44,.cms-45,.cms-46,.cms-47,.cms-48,.cms-49,.cms-50,.cms-51) #center_column .rte .boxes_container_section:not(#_):has(+ .boxes_container_section > .cms_intro_text) {
    padding: 0 22px 16px !important; }
}
