/* Cameron V9.8.18 — FAQ immobilier Maroc */
.cameron-faq-page{overflow:hidden;background:var(--ivory)}
.cameron-faq-hero{padding:28px 0 0}
.cameron-faq-hero__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);min-height:470px;border:1px solid var(--line);background:#f2ece7}
.cameron-faq-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6.5vw,92px)}
.cameron-faq-hero__copy h1{max-width:870px;font-size:clamp(3.4rem,5.4vw,6.2rem);line-height:.94;text-wrap:balance}
.cameron-faq-hero__copy>p:not(.eyebrow){max-width:760px;margin-top:24px;color:#554d48;font-size:1.02rem;line-height:1.85}
.cameron-faq-hero__stats{display:flex;align-items:baseline;gap:12px;margin-top:35px;color:var(--wine)}
.cameron-faq-hero__stats strong{font-family:var(--serif);font-size:3rem;font-weight:400}
.cameron-faq-hero__stats span{font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.cameron-faq-hero__visual{position:relative;display:flex;align-content:center;justify-content:center;flex-wrap:wrap;gap:9px;padding:60px;overflow:hidden;background:linear-gradient(145deg,var(--wine-dark),var(--wine));color:#fff}
.cameron-faq-hero__visual:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.22)}
.cameron-faq-hero__visual span{position:relative;z-index:1;padding:10px 14px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cameron-faq-hero__mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(255,255,255,.08);font-family:var(--serif);font-size:24rem;line-height:1}
.cameron-faq-tools{padding:28px 0;border-bottom:1px solid var(--line);background:#fff}
.cameron-faq-tools>div{display:flex;align-items:end;justify-content:space-between;gap:30px}
.cameron-faq-search{position:relative;display:block;width:min(720px,100%)}
.cameron-faq-search span{display:block;margin-bottom:10px;color:#6a605a;font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.cameron-faq-search input{width:100%;padding:15px 45px 15px 0;border:0;border-bottom:1px solid #bfb5ad;background:transparent;outline:0;font-family:var(--serif);font-size:1.45rem}
.cameron-faq-search input:focus{border-bottom-color:var(--wine)}
.cameron-faq-search i{position:absolute;right:3px;bottom:12px;color:var(--wine);font-size:1.5rem;font-style:normal}
.cameron-faq-tools__actions{display:flex;gap:18px;white-space:nowrap}
.cameron-faq-tools__actions button{padding:0 0 6px;border:0;border-bottom:1px solid var(--wine);background:none;color:var(--wine);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cameron-faq-nav{position:sticky;top:88px;z-index:24;border-bottom:1px solid var(--line);background:rgba(251,248,244,.96);backdrop-filter:blur(10px)}
.cameron-faq-nav>div{display:flex;gap:28px;overflow:auto;padding-top:16px;padding-bottom:16px;scrollbar-width:none}
.cameron-faq-nav>div::-webkit-scrollbar{display:none}
.cameron-faq-nav a{white-space:nowrap;color:#5e554f;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cameron-faq-nav a:hover{color:var(--wine)}
.cameron-faq-layout{display:grid;grid-template-columns:minmax(245px,.68fr) minmax(0,1.55fr);gap:clamp(55px,8vw,120px);padding-top:82px;padding-bottom:110px;align-items:start}
.cameron-faq-sidebar{position:sticky;top:155px;padding-top:5px}
.cameron-faq-sidebar h2{font-size:2.35rem}
.cameron-faq-sidebar ol{counter-reset:check;list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.cameron-faq-sidebar li{position:relative;padding:17px 0 17px 38px;border-bottom:1px solid var(--line);color:#554d48;line-height:1.55}
.cameron-faq-sidebar li:before{counter-increment:check;content:counter(check,decimal-leading-zero);position:absolute;left:0;color:var(--wine);font-family:var(--serif)}
.cameron-faq-sidebar__note{margin-top:30px;padding:24px;border-left:2px solid var(--wine);background:#fff}
.cameron-faq-sidebar__note strong{color:var(--wine);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.cameron-faq-sidebar__note p{margin:10px 0 0;color:#615852;font-size:.82rem;line-height:1.65}
.cameron-faq-section{scroll-margin-top:145px;margin-bottom:92px}
.cameron-faq-section__header{display:grid;grid-template-columns:55px 1fr;gap:22px;margin-bottom:28px;padding-bottom:27px;border-bottom:1px solid var(--line)}
.cameron-faq-section__header>span{color:var(--wine);font-family:var(--serif);font-size:1.4rem}
.cameron-faq-section__header h2{max-width:760px;font-size:clamp(2.8rem,4vw,4.7rem)}
.cameron-faq-section__header div>p:last-child{max-width:720px;margin:14px 0 0;color:#5e5651;line-height:1.75}
.cameron-faq-list{border-top:1px solid var(--line)}
.cameron-faq-list details{scroll-margin-top:145px;border-bottom:1px solid var(--line);background:transparent}
.cameron-faq-list summary{display:grid;grid-template-columns:38px 1fr 28px;gap:16px;align-items:center;padding:23px 4px;cursor:pointer;list-style:none}
.cameron-faq-list summary::-webkit-details-marker{display:none}
.cameron-faq-list summary>span{color:#96887f;font-family:var(--serif);font-size:.92rem}
.cameron-faq-list summary strong{font-family:var(--serif);font-size:1.35rem;font-weight:400;line-height:1.25}
.cameron-faq-list summary i{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--wine);border-radius:50%;color:var(--wine);font-style:normal;transition:.22s}
.cameron-faq-list details[open] summary i{transform:rotate(45deg);background:var(--wine);color:#fff}
.cameron-faq-answer{position:relative;padding:0 62px 28px 58px}
.cameron-faq-answer p{max-width:820px;margin:0;color:#4f4843;font-size:1rem;line-height:1.9}
.cameron-faq-answer>a{position:absolute;right:5px;bottom:28px;color:#a29790;font-family:var(--serif);font-size:1rem}
.cameron-faq-list details[hidden],.cameron-faq-section[hidden]{display:none!important}
.cameron-faq-no-results{padding:70px;border:1px solid var(--line);background:#fff;text-align:center}
.cameron-faq-sources{padding:45px;border:1px solid var(--line);background:#fff}
.cameron-faq-sources h2{font-size:2.7rem}
.cameron-faq-sources>div{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:30px;background:var(--line)}
.cameron-faq-sources a{display:flex;flex-direction:column;gap:8px;padding:26px;background:var(--ivory)}
.cameron-faq-sources strong{color:var(--wine);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.cameron-faq-sources span{color:#574f49}
.cameron-faq-cta{background:linear-gradient(112deg,var(--wine-dark),var(--wine));color:#fff}
.cameron-faq-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:62px;padding-bottom:62px}
.cameron-faq-cta .eyebrow{color:#e8cfc5}
.cameron-faq-cta h2{max-width:780px}
.cameron-faq-cta p{max-width:760px;margin:13px 0 0;color:rgba(255,255,255,.78)}
.cameron-faq-cta .button{flex:0 0 auto}

@media(max-width:1000px){
  .cameron-faq-hero__inner{grid-template-columns:1fr}
  .cameron-faq-hero__visual{min-height:260px}
  .cameron-faq-layout{grid-template-columns:1fr;gap:50px}
  .cameron-faq-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:35px}
  .cameron-faq-sidebar ol{margin-top:0}
  .cameron-faq-sidebar__note{grid-column:1/-1}
}
@media(max-width:760px){
  .cameron-faq-hero{padding-top:15px}
  .cameron-faq-hero__copy{padding:44px 24px}
  .cameron-faq-hero__copy h1{font-size:3.25rem}
  .cameron-faq-hero__visual{min-height:210px;padding:35px 24px}
  .cameron-faq-hero__mark{font-size:15rem}
  .cameron-faq-tools>div{align-items:stretch;flex-direction:column}
  .cameron-faq-tools__actions{justify-content:space-between}
  .cameron-faq-nav{top:80px}
  .cameron-faq-layout{padding-top:58px;padding-bottom:75px}
  .cameron-faq-sidebar{display:block}
  .cameron-faq-sidebar ol{margin-top:25px}
  .cameron-faq-section{margin-bottom:68px}
  .cameron-faq-section__header{grid-template-columns:1fr}
  .cameron-faq-section__header h2{font-size:2.8rem}
  .cameron-faq-list summary{grid-template-columns:30px 1fr 27px;gap:10px;padding:20px 0}
  .cameron-faq-list summary strong{font-size:1.2rem}
  .cameron-faq-answer{padding:0 12px 25px 40px}
  .cameron-faq-answer>a{display:none}
  .cameron-faq-sources{padding:28px 22px}
  .cameron-faq-sources>div{grid-template-columns:1fr}
  .cameron-faq-cta__inner{align-items:flex-start;flex-direction:column}
}
