/* Partner city pages: reviews block (Google + Trustpilot) and FAQ <details> accordion. 2026-10-29.
   Namespaced (cr-*) so it does not depend on hm-home.css. */
.cr-section{padding:96px 0;background:#0d1b35;color:#fff}
.cr-head{text-align:center;max-width:560px;margin:0 auto 48px}
.cr-bar{width:40px;height:1.5px;background:var(--gold,#C4A96A);margin:0 auto}
.cr-over{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(196,169,106,.8);font-weight:400;margin-top:14px}
.cr-h2{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-weight:300;font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.08;letter-spacing:-.01em;margin-top:10px;color:#fff}
.cr-h2 .serif-i{font-style:italic;color:var(--gold,#C4A96A)}
.cr-sub{font-size:.9rem;line-height:1.78;color:rgba(255,255,255,.55);font-weight:300;margin-top:12px}
.cr-badges{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:22px}
.cr-badge{display:inline-flex;align-items:center;gap:7px;opacity:.85;transition:opacity .2s;text-decoration:none;color:inherit}
.cr-badge:hover{opacity:1}
.cr-badge span{font-size:.78rem;color:rgba(255,255,255,.7);font-weight:500}
.cr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cr-card{background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.09);border-radius:16px;padding:28px;transition:border-color .28s,transform .28s;display:flex;flex-direction:column}
.cr-card:hover{border-color:rgba(196,169,106,.45);transform:translateY(-4px)}
.cr-stars{color:var(--gold,#C4A96A);font-size:.84rem;letter-spacing:2px;margin-bottom:14px}
.cr-text{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-style:italic;font-size:.98rem;color:rgba(255,255,255,.78);line-height:1.72;margin:0 0 20px;font-weight:300;flex:1}
.cr-author{display:flex;align-items:center;gap:10px}
.cr-av{width:38px;height:38px;border-radius:50%;background:rgba(196,169,106,.15);border:1px solid rgba(196,169,106,.35);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--gold,#C4A96A);flex-shrink:0}
.cr-nm{font-size:.82rem;font-weight:400;color:#fff}
.cr-co{font-size:.68rem;color:rgba(255,255,255,.6)}
.cr-src{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:8px;font-size:.62rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em}
.cr-src svg{flex-shrink:0}
.cr-cta{text-align:center;margin-top:32px}
.cr-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;color:rgba(255,255,255,.7);border:1.5px solid rgba(255,255,255,.2);text-decoration:none;transition:border-color .2s,color .2s}
.cr-btn:hover{border-color:var(--gold,#C4A96A);color:var(--gold,#C4A96A)}
@media(max-width:900px){.cr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cr-section{padding:64px 0}.cr-grid{grid-template-columns:1fr}.cr-card{padding:22px}}

/* City assessment form: the page bundle's global `label` rule (0.9375rem !important) overrides
   hm-home-assess.css; restore the small uppercase label of the homepage card. */
.hpa .hpa-f label,.hpa .hpa-f legend{font-size:.7rem!important;line-height:1.5;letter-spacing:.1em}

/* FAQ accordion (native <details>) on the navy FAQ block */
details.faq-c-item{padding:0}
details.faq-c-item>summary.faq-c-q{list-style:none;cursor:pointer;padding:16px 36px 16px 0;position:relative;user-select:none}
details.faq-c-item>summary.faq-c-q::-webkit-details-marker{display:none}
details.faq-c-item>summary.faq-c-q::after{content:"";position:absolute;right:4px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center/10px no-repeat;transition:transform .28s,background-color .2s,border-color .2s}
details.faq-c-item[open]>summary.faq-c-q{color:var(--gold,#C4A96A)}
details.faq-c-item[open]>summary.faq-c-q::after{transform:rotate(180deg);border-color:var(--gold,#C4A96A);background-color:rgba(196,169,106,.18)}
details.faq-c-item>.faq-c-a{margin-top:0;padding:0 36px 18px 0}

/* Contact & booking block (city pages) */
.ct-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:stretch;margin-top:8px}
.ct-card{background:var(--navy,#0a1b33);color:#fff;border-radius:16px;padding:30px 30px 28px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px}
.ct-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gold,#C4A96A)}
.ct-over{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(196,169,106,.9)}
.ct-wa{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;background:#25D366;color:#fff;text-decoration:none;border-radius:10px;padding:14px 20px;font-size:1.15rem;font-weight:600;letter-spacing:.01em;transition:transform .2s,box-shadow .2s}
.ct-wa:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,211,102,.3)}
.ct-wa svg{flex:none}
.ct-p{font-size:.88rem;line-height:1.8;color:rgba(255,255,255,.72);margin:0}
.ct-form{display:inline-flex;align-items:center;align-self:flex-start;padding:11px 20px;border:1px solid rgba(196,169,106,.6);border-radius:6px;color:#fff;text-decoration:none;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,border-color .2s}
.ct-form:hover{background:rgba(196,169,106,.16);border-color:var(--gold,#C4A96A)}
.ct-side{background:#fff;border:1px solid var(--br,#E8DCC8);border-radius:16px;padding:28px 30px}
.ct-h{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;font-weight:500;color:var(--navy,#0a1b33);margin:0 0 10px}
.ct-sp{font-size:.88rem;line-height:1.8;color:#444;margin:0 0 18px}
.ct-pills{display:flex;flex-wrap:wrap;gap:8px}
.ct-pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;padding:8px 14px;border:1px solid var(--br,#E8DCC8);border-radius:20px;color:var(--navy,#0a1b33);background:var(--cream,#FDF8EC)}
.ct-pill svg{color:var(--gold,#C4A96A);flex:none}
@media(max-width:860px){.ct-grid{grid-template-columns:1fr;gap:16px}.ct-card,.ct-side{padding:24px 20px}.ct-wa{width:100%;justify-content:center;font-size:1.05rem}.ct-form{width:100%;justify-content:center}}

/* Region travel cards: base rules for pages without the Casablanca inline CSS (#region) */
#region .mc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}
#region .mc-card{background:#fff;border:1px solid var(--br,#E8DCC8);border-radius:12px;padding:16px 18px;font-size:.86rem;line-height:1.5}
#region .mc-card b{display:flex;align-items:center;gap:8px;color:var(--navy,#0a1b33);font-weight:600;margin-bottom:6px;font-size:.92rem}
#region .mc-card svg{width:16px;height:16px;stroke:var(--gold,#C4A96A);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Region travel cards (#morocco / #tunisia / #region) */
#morocco .mc-grid,#tunisia .mc-grid,#region .mc-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
#morocco .mc-card,#tunisia .mc-card,#region .mc-card{position:relative;padding:22px 22px 20px;border-radius:14px;border:1px solid var(--br,#E8DCC8);background:#fff;box-shadow:0 6px 24px rgba(10,27,51,.04);transition:transform .2s,box-shadow .2s}
#morocco .mc-card:hover,#tunisia .mc-card:hover,#region .mc-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,27,51,.08)}
#morocco .mc-card b,#tunisia .mc-card b,#region .mc-card b{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.25rem;font-weight:600;margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid rgba(196,169,106,.35)}
#morocco .mc-card b svg,#tunisia .mc-card b svg,#region .mc-card b svg{width:18px;height:18px}
#morocco .mc-card:first-child,#tunisia .mc-card:first-child,#region .mc-card:first-child{background:var(--navy,#0a1b33);color:rgba(255,255,255,.85);border-color:var(--navy,#0a1b33)}
#morocco .mc-card:first-child b,#tunisia .mc-card:first-child b,#region .mc-card:first-child b{color:#fff;border-bottom-color:rgba(196,169,106,.5)}
#morocco .mc-dias,#tunisia .mc-dias{border-left:3px solid var(--gold,#C4A96A);border-radius:0 14px 14px 0;padding:24px 26px}
#morocco .mc-dias a,#tunisia .mc-dias a{display:inline-block;margin-top:12px;color:var(--gold,#C4A96A);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(196,169,106,.5)}
@media(max-width:900px){#morocco .mc-grid,#tunisia .mc-grid,#region .mc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#morocco .mc-grid,#tunisia .mc-grid,#region .mc-grid{grid-template-columns:1fr;gap:10px}#morocco .mc-card,#tunisia .mc-card,#region .mc-card{padding:16px 18px}#morocco .mc-card b,#tunisia .mc-card b,#region .mc-card b{font-size:1.15rem;margin-bottom:6px;padding-bottom:8px}}
