/* MYCDIC v1.9.30.4 public visual system hotfix
   Scope: approved hero photography, institutional dynamic-page responsiveness,
   FAQ registry rebuild and donate sponsorship CTA repair. */

/* --------------------------------------------------------------------------
   1. Approved hero photography only
   MYCDIC public pages use one of two controlled backgrounds:
   - institutional meeting: /images/reunion amb.webp
   - digital/global map: /assets/vendor/earth-topology.png
   -------------------------------------------------------------------------- */
body:not(.mycdic-homepage) main > section[class*="-hero"],
body:not(.mycdic-homepage) main > section.hero,
body:not(.mycdic-homepage) .myi-hero,
body:not(.mycdic-homepage) .institutional-page-hero,
body:not(.mycdic-homepage) .sitemap-v188-hero,
body:not(.mycdic-homepage) .network-hero,
body:not(.mycdic-homepage) .application-hero,
body:not(.mycdic-homepage) .verification-hero,
body:not(.mycdic-homepage) .elite-apply-hero {
  background-color:#06472f !important;
  background-image:
    linear-gradient(105deg,rgba(0,57,35,.96) 0%,rgba(0,98,51,.86) 52%,rgba(0,66,39,.72) 100%),
    url('/images/reunion amb.webp') !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}

/* Global/digital pages use the approved earth treatment. */
body.digital-trust-page .myi-hero,
body.global-issues-page .myi-hero,
body.entity-model-page .myi-hero,
body.verification-center-page .myi-hero,
body[class*="knowledge"] .myi-hero {
  background-color:#032d21 !important;
  background-image:
    linear-gradient(105deg,rgba(0,49,31,.96) 0%,rgba(0,92,54,.87) 52%,rgba(0,59,38,.74) 100%),
    url('/assets/vendor/earth-topology.png') !important;
  background-position:center !important;
  background-size:cover !important;
}

/* Dynamic institutional hero overlay is already built by ::after; keep it subtle. */
.mycdic-institutional-page .myi-hero::after{
  background:linear-gradient(100deg,rgba(0,59,37,.88),rgba(0,98,51,.69) 58%,rgba(0,58,37,.55)) !important;
}

/* --------------------------------------------------------------------------
   2. Global Issues and Entity Model responsive correction
   The v1.9.28.3 mobile declarations were being overridden later by more-specific
   desktop selectors. These rules intentionally come last and use equal/higher scope.
   -------------------------------------------------------------------------- */
.mycdic-institutional-page.global-issues-page .myi-priority-list{
  align-items:stretch;
}
.mycdic-institutional-page.global-issues-page .myi-priority-list a{
  min-width:0;
  height:100%;
  padding:20px;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(7,65,43,.045);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.mycdic-institutional-page.global-issues-page .myi-priority-list a:hover{
  transform:translateY(-2px);
  border-color:rgba(0,98,51,.28);
  box-shadow:0 16px 34px rgba(7,65,43,.08);
}
.mycdic-institutional-page.global-issues-page .myi-priority-list a > span{
  min-width:0;
}
.mycdic-institutional-page.global-issues-page .myi-priority-list strong,
.mycdic-institutional-page.global-issues-page .myi-priority-list p{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.mycdic-institutional-page.global-issues-page .myi-priority-list strong{
  font-size:.94rem;
  line-height:1.32;
}
.mycdic-institutional-page.global-issues-page .myi-priority-list p{
  font-size:.76rem;
  line-height:1.58;
  margin-top:7px;
}

.mycdic-institutional-page.entity-model-page .myi-entity-map{
  grid-template-columns:minmax(250px,310px) minmax(0,1fr);
  gap:24px;
}
.mycdic-institutional-page.entity-model-page .myi-entity-nodes{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.mycdic-institutional-page.entity-model-page .myi-entity-nodes a{
  min-width:0;
  padding:18px;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(8,64,44,.035);
}
.mycdic-institutional-page.entity-model-page .myi-entity-nodes strong{
  font-size:1.45rem;
  line-height:1;
}
.mycdic-institutional-page.entity-model-page .myi-entity-nodes span,
.mycdic-institutional-page.entity-model-page .myi-entity-nodes small{
  overflow-wrap:anywhere;
  word-break:normal;
}
.mycdic-institutional-page.entity-model-page .myi-entity-nodes span{
  font-size:.8rem;
  line-height:1.35;
  margin:8px 0 5px;
}
.mycdic-institutional-page.entity-model-page .myi-entity-nodes small{
  font-size:.7rem;
  line-height:1.48;
}

@media (max-width:980px){
  .mycdic-institutional-page.global-issues-page .myi-priority-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-map{
    grid-template-columns:1fr !important;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-core{
    position:static !important;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-nodes{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:650px){
  .mycdic-institutional-page.global-issues-page .myi-section-head,
  .mycdic-institutional-page.entity-model-page .myi-section-head{
    gap:16px;
    margin-bottom:22px;
  }
  .mycdic-institutional-page.global-issues-page .myi-section-head h2,
  .mycdic-institutional-page.entity-model-page .myi-section-head h2{
    font-size:clamp(1.9rem,9.5vw,2.65rem);
  }
  .mycdic-institutional-page.global-issues-page .myi-priority-list{
    grid-template-columns:1fr !important;
    gap:12px;
  }
  .mycdic-institutional-page.global-issues-page .myi-priority-list a{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:14px;
    padding:17px;
    border-radius:16px;
  }
  .mycdic-institutional-page.global-issues-page .myi-priority-list i{
    width:44px;
    height:44px;
    border-radius:13px;
  }
  .mycdic-institutional-page.global-issues-page .myi-priority-list strong{
    font-size:1rem;
  }
  .mycdic-institutional-page.global-issues-page .myi-priority-list p{
    font-size:.8rem;
    line-height:1.55;
  }

  .mycdic-institutional-page.entity-model-page .myi-entity-core{
    border-radius:18px;
    padding:22px;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-nodes{
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-nodes a{
    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:14px;
    align-items:start;
    padding:16px 17px;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-nodes strong{
    grid-row:1 / span 2;
    align-self:center;
    font-size:1.65rem;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-nodes span{
    margin:0 0 3px;
    font-size:.88rem;
  }
  .mycdic-institutional-page.entity-model-page .myi-entity-nodes small{
    font-size:.75rem;
  }
}

/* --------------------------------------------------------------------------
   3. FAQ Register rebuild
   -------------------------------------------------------------------------- */
.faq-page{
  overflow-x:hidden;
}
.faq-page .faq-container{
  width:min(calc(100% - 40px),1180px) !important;
  max-width:1180px !important;
}
.faq-page .faq-main{
  padding:68px 0 86px !important;
  background:#f6f8f6 !important;
}
.faq-page .faq-layout{
  grid-template-columns:minmax(250px,290px) minmax(0,1fr) !important;
  gap:24px !important;
}
.faq-page .faq-sidebar{
  gap:12px !important;
  top:18px !important;
}
.faq-page .faq-side-card,
.faq-page .faq-panel,
.faq-page .faq-contact-panel{
  border:1px solid rgba(0,98,51,.12) !important;
  border-radius:20px !important;
  box-shadow:0 14px 36px rgba(18,59,43,.06) !important;
}
.faq-page .faq-side-card{
  padding:20px !important;
}
.faq-page .faq-panel{
  overflow:hidden !important;
  min-width:0 !important;
}
.faq-page .faq-panel-head{
  padding:30px 32px 26px !important;
  background:linear-gradient(180deg,#fff,#fbfdfc) !important;
}
.faq-page .faq-panel-label{
  margin-bottom:10px !important;
  color:#b1272c !important;
  font-size:.72rem !important;
  letter-spacing:.13em !important;
}
.faq-page .faq-panel-head h2{
  max-width:760px !important;
  font-family:'Poppins','Source Sans 3',Arial,sans-serif !important;
  font-size:clamp(1.8rem,2.8vw,2.65rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}
.faq-page .faq-panel-head p{
  max-width:780px !important;
  font-size:.96rem !important;
  line-height:1.7 !important;
}
.faq-page .faq-controls{
  padding:18px 24px !important;
  background:#f4f8f6 !important;
}
.faq-page .faq-search{
  margin-bottom:12px !important;
}
.faq-page .faq-search input{
  height:50px !important;
  border-radius:13px !important;
  border-color:rgba(0,98,51,.15) !important;
  padding-left:46px !important;
  font-size:.94rem !important;
}
.faq-page .faq-filter-row{
  gap:8px !important;
}
.faq-page .faq-filter{
  border-radius:999px !important;
  padding:8px 13px !important;
  font-size:.78rem !important;
  min-height:38px;
}
.faq-page .faq-filter.active,
.faq-page .faq-filter:hover{
  background:#006233 !important;
  transform:none !important;
}
.faq-page .faq-list{
  padding:22px 24px 28px !important;
  gap:10px !important;
}
.faq-page .faq-item{
  border-radius:15px !important;
  box-shadow:none !important;
  min-width:0 !important;
}
.faq-page .faq-question{
  min-width:0 !important;
  padding:17px 18px !important;
  gap:14px !important;
  font-family:'Poppins','Source Sans 3',Arial,sans-serif !important;
  font-size:.95rem !important;
  line-height:1.42 !important;
}
.faq-page .faq-question > span:first-child{
  min-width:0 !important;
  overflow-wrap:anywhere;
}
.faq-page .faq-question small{
  font-size:.66rem !important;
  letter-spacing:.1em !important;
  margin-bottom:5px !important;
}
.faq-page .faq-icon{
  width:34px !important;
  height:34px !important;
}
.faq-page .faq-answer p{
  padding:0 18px 18px !important;
  font-size:.91rem !important;
  line-height:1.72 !important;
}
.faq-page .faq-contact-panel{
  margin-top:18px !important;
  border-left:0 !important;
  border-top:4px solid #b99a38 !important;
}

@media (max-width:1050px){
  .faq-page .faq-layout{
    grid-template-columns:1fr !important;
  }
  .faq-page .faq-sidebar{
    position:static !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    order:2;
  }
}

@media (max-width:760px){
  .faq-page .faq-container{
    width:min(calc(100% - 26px),1180px) !important;
  }
  .faq-page .faq-hero{
    padding:54px 0 60px !important;
    min-height:0 !important;
  }
  .faq-page .faq-hero h1{
    font-family:'Poppins','Source Sans 3',Arial,sans-serif !important;
    font-size:clamp(2.15rem,10vw,3rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.04em !important;
  }
  .faq-page .faq-hero p{
    font-size:.96rem !important;
    line-height:1.7 !important;
  }
  .faq-page .faq-main{
    padding:42px 0 64px !important;
  }
  .faq-page .faq-sidebar{
    grid-template-columns:1fr !important;
  }
  .faq-page .faq-panel-head{
    padding:24px 20px 21px !important;
  }
  .faq-page .faq-panel-head h2{
    font-size:clamp(1.7rem,8.3vw,2.3rem) !important;
    overflow-wrap:anywhere;
  }
  .faq-page .faq-panel-head p{
    font-size:.9rem !important;
  }
  .faq-page .faq-controls{
    padding:15px !important;
  }
  .faq-page .faq-search input{
    height:48px !important;
    font-size:16px !important; /* avoids iOS zoom */
  }
  .faq-page .faq-filter-row{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    padding:1px 0 6px !important;
  }
  .faq-page .faq-filter-row::-webkit-scrollbar{display:none}
  .faq-page .faq-list{
    padding:15px !important;
    gap:9px !important;
  }
  .faq-page .faq-question{
    padding:15px !important;
    font-size:.9rem !important;
  }
  .faq-page .faq-answer p{
    padding:0 15px 16px !important;
    font-size:.88rem !important;
  }
  .faq-page .faq-contact-panel{
    padding:20px !important;
  }
}

/* --------------------------------------------------------------------------
   4. Donation institutional sponsorship CTA
   -------------------------------------------------------------------------- */
body .final-cta{
  padding:64px 0 !important;
  background:#f7faf8 !important;
}
body .final-cta .final-cta-box{
  position:relative;
  overflow:hidden;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
  padding:34px 36px !important;
  border:1px solid rgba(0,98,51,.14) !important;
  border-left:0 !important;
  border-radius:22px !important;
  background:linear-gradient(128deg,#053f2b 0%,#00623a 72%,#087447 100%) !important;
  box-shadow:0 18px 44px rgba(0,72,42,.13) !important;
}
body .final-cta .final-cta-box::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-65px;
  top:-80px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 0 0 35px rgba(255,255,255,.025);
  pointer-events:none;
}
body .final-cta .final-cta-box h2{
  position:relative;
  color:#fff !important;
  font-family:'Poppins','Source Sans 3',Arial,sans-serif !important;
  font-size:clamp(1.55rem,2.4vw,2.15rem) !important;
  letter-spacing:-.03em;
}
body .final-cta .final-cta-box p{
  position:relative;
  color:rgba(255,255,255,.75) !important;
  font-size:.96rem !important;
  line-height:1.7 !important;
}
body .final-cta .final-cta-actions{
  position:relative;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-end;
}
body .final-cta .official-btn.primary{
  background:#f1c93f !important;
  color:#063d28 !important;
  border:1px solid #f1c93f !important;
}
body .final-cta .official-btn.secondary{
  background:#fff !important;
  color:#006233 !important;
  border:1px solid rgba(255,255,255,.65) !important;
}

@media(max-width:900px){
  body .final-cta .final-cta-box{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }
  body .final-cta .final-cta-actions{
    justify-content:flex-start !important;
  }
}
@media(max-width:620px){
  body .final-cta{
    padding:46px 0 !important;
  }
  body .final-cta .final-cta-box{
    padding:25px 20px !important;
    border-radius:18px !important;
  }
  body .final-cta .final-cta-actions,
  body .final-cta .official-btn{
    width:100% !important;
  }
  body .final-cta .official-btn{
    justify-content:center !important;
  }
}
