/* ChiaraB — Wedding Planner [Città]  |  prefix .wpc-
   Coerente con il design Solene esistente. CLS-safe, responsive, accessibile. */

.chiarab-wp-city {
  --c-primary:#bb847a; --c-primary-dark:#a06f66;
  --c-text:#5a5a58; --c-text-dark:#3a3a3a;
  --c-bg:#ffffff; --c-bg-alt:#f7f3f0; --c-bg-cream:#f4f0ed;
  --c-dark:#1d1b1a;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter','Nunito Sans',-apple-system,sans-serif;
}

/* reset wrapper Solene sulle nostre pagine */
.chiarab-wp-city .eltdf-content,
.chiarab-wp-city .eltdf-content-inner,
.chiarab-wp-city .eltdf-full-width,
.chiarab-wp-city .eltdf-full-width-inner,
.chiarab-wp-city .eltdf-page-content-holder { padding:0 !important; margin:0 !important; }

.wpc { font-family:var(--sans); color:var(--c-text); line-height:1.7; }
.wpc img { max-width:100%; display:block; }
.wpc-wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.wpc-narrow { max-width:860px; text-align:center; }

.wpc-tag {
  font-family:var(--sans); font-size:12px; letter-spacing:3px;
  text-transform:uppercase; color:var(--c-primary); margin:0 0 14px;
}
.wpc-h2 {
  font-family:var(--serif) !important; font-weight:300 !important;
  font-size:clamp(1.7rem,3.2vw,2.7rem) !important; line-height:1.2 !important;
  letter-spacing:.06em; text-transform:uppercase; color:var(--c-text-dark) !important;
  margin:0 0 18px !important;
}
.wpc-h2 em { font-style:italic; text-transform:none; color:var(--c-primary); letter-spacing:0; }
.wpc-lead { font-size:1.08rem; max-width:760px; margin:0 auto; }
.wpc-shead { text-align:center; margin-bottom:46px; }

/* ---- BUTTONS ---- */
.wpc-btn {
  display:inline-block; padding:14px 30px; background:var(--c-primary);
  color:#fff !important; text-decoration:none !important; border-radius:6px;
  font-family:var(--serif); font-size:1.15rem; font-weight:600;
  border:2px solid var(--c-primary); transition:all .25s ease;
}
.wpc-btn:hover,.wpc-btn:focus-visible { background:var(--c-primary-dark); border-color:var(--c-primary-dark); }
.wpc-btn-ghost { background:transparent; color:#fff !important; border-color:rgba(255,255,255,.5); }
.wpc-btn-ghost:hover,.wpc-btn-ghost:focus-visible { background:rgba(255,255,255,.08); border-color:#fff; }
.wpc-btn-lg { padding:16px 40px; font-size:1.25rem; }
.wpc a:focus-visible,.wpc button:focus-visible { outline:2px solid var(--c-primary); outline-offset:3px; }

/* ---- HERO ---- */
.wpc-hero {
  position:relative; min-height:78vh; display:flex; flex-direction:column;
  justify-content:flex-end; color:#fff; background:var(--c-dark); overflow:hidden;
}
.wpc-hero-bg { position:absolute; inset:0; z-index:0; }
.wpc-hero-bg img { width:100%; height:100%; object-fit:cover; }
.wpc-hero-dim { position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.55) 100%); }
.wpc-hero-inner { position:relative; z-index:1; max-width:1200px; width:100%;
  margin:0 auto; padding:120px 24px 40px; }
.wpc-eyebrow { font-family:var(--sans); font-size:12px; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,255,255,.85); margin:0 0 14px; }
.wpc-hero-title {
  font-family:var(--serif) !important; font-weight:300 !important;
  font-size:clamp(2.6rem,6vw,5rem) !important; line-height:1.05 !important;
  letter-spacing:.08em; text-transform:uppercase; color:#fff !important; margin:0 0 18px !important;
}
.wpc-hero-title em { font-style:italic; text-transform:none; letter-spacing:0; color:#fff; }
.wpc-hero-sub { font-size:1.15rem; max-width:620px; color:rgba(255,255,255,.9); margin:0 0 28px; }
.wpc-hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
.wpc-stats {
  position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:30px 60px;
  justify-content:center; padding:24px; background:rgba(0,0,0,.35);
  border-top:1px solid rgba(255,255,255,.12);
}
.wpc-stat { text-align:center; }
.wpc-stat-n { display:block; font-family:var(--serif); font-size:2rem; color:var(--c-primary); }
.wpc-stat-l { display:block; font-size:.75rem; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.7); margin-top:2px; }

/* ---- SECTIONS ---- */
.wpc-intro { padding:90px 0; background:var(--c-bg-cream); text-align:center; }
.wpc-services { padding:90px 0; background:var(--c-bg); }
.wpc-why { padding:90px 0; background:var(--c-bg-alt); }
.wpc-faq { padding:90px 0; background:var(--c-bg-cream); }

/* ---- SERVICE CARDS ---- */
.wpc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:22px; }
.wpc-card { background:var(--c-bg-alt); border:1px solid #ece4de; border-radius:12px; padding:30px 26px; transition:transform .25s ease, box-shadow .25s ease; }
.wpc-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.06); }
.wpc-card-n { font-family:var(--serif); font-size:1.6rem; color:var(--c-primary); opacity:.6; }
.wpc-card-t { font-family:var(--serif); font-weight:500; font-size:1.4rem; color:var(--c-text-dark); margin:10px 0 8px; }
.wpc-card-d { font-size:.97rem; margin:0; }

/* ---- SPLIT (testo + immagine) ---- */
.wpc-split { padding:90px 0; background:var(--c-bg); }
.wpc-split-alt { background:var(--c-bg-alt); }
.wpc-split-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.wpc-split-text h2 { text-align:left; }
.wpc-split-text .wpc-tag { text-align:left; }
.wpc-split-img { margin:0; border-radius:14px; overflow:hidden; aspect-ratio:4/5; }
.wpc-split-img img { width:100%; height:100%; object-fit:cover; }

/* ---- FACTS ---- */
.wpc-facts { list-style:none; padding:0; margin:30px auto 0; max-width:760px; text-align:left; }
.wpc-facts li { padding:14px 0; border-bottom:1px solid #e6ddd6; }
.wpc-facts strong { color:var(--c-primary); }

/* ---- FAQ ACCORDION ---- */
.wpc-faq-list { max-width:820px; margin:0 auto; text-align:left; }
.wpc-faq-item { border-bottom:1px solid #e3d9d2; }
.wpc-faq-q { position:relative; cursor:pointer; margin:0; padding:22px 44px 22px 0;
  font-family:var(--serif); font-weight:500; font-size:1.25rem; color:var(--c-text-dark); }
.wpc-faq-q::after { content:'+'; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:1.5rem; color:var(--c-primary); transition:transform .2s ease; }
.wpc-faq-item.open .wpc-faq-q::after { content:'–'; }
.wpc-faq-a { padding:0 0 22px; }
.wpc-faq-a p { margin:0; }

/* ---- CTA ---- */
.wpc-cta { padding:90px 0; background:var(--c-dark); color:#fff; text-align:center; }
.wpc-cta-t { font-family:var(--serif); font-weight:300; font-size:clamp(1.7rem,3.4vw,2.7rem);
  letter-spacing:.04em; margin:0 0 14px; color:#fff; }
.wpc-cta-s { color:rgba(255,255,255,.8); margin:0 0 28px; }

/* ---- BLOG ---- */
.wpc-blog { padding:90px 0; background:var(--c-bg); }
.wpc-blog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:26px; }
.wpc-post-link { text-decoration:none; color:inherit; display:block; }
.wpc-post-img { margin:0 0 14px; border-radius:12px; overflow:hidden; aspect-ratio:3/2; }
.wpc-post-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.wpc-post-link:hover .wpc-post-img img { transform:scale(1.04); }
.wpc-post-t { font-family:var(--serif); font-weight:500; font-size:1.3rem; color:var(--c-text-dark);
  text-transform:uppercase; letter-spacing:.04em; line-height:1.3; margin:0; }

/* ---- RESPONSIVE ---- */
@media (max-width:860px){
  .wpc-split-grid { grid-template-columns:1fr; gap:32px; }
  .wpc-split-alt .wpc-split-img { order:-1; }
  .wpc-hero { min-height:70vh; }
  .wpc-hero-inner { padding-top:96px; }
  .wpc-intro,.wpc-services,.wpc-why,.wpc-faq,.wpc-split,.wpc-cta,.wpc-blog { padding:60px 0; }
  .wpc-stats { gap:20px 30px; }
}
@media (prefers-reduced-motion:reduce){
  .wpc-card,.wpc-post-img img { transition:none; }
}

/* ============================================================
   AGGIUNTE v1.1 — Why cards, Recensioni, Form veloce inline
   ============================================================ */

/* ---- WHY CARDS (UX migliorata) ---- */
.wpc-why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; margin-top:46px; }
.wpc-why-card {
  background:#fff; border:1px solid #ece4de; border-radius:14px;
  padding:32px 26px; text-align:center; transition:transform .25s ease, box-shadow .25s ease;
}
.wpc-why-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.06); }
.wpc-why-ico {
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%; margin-bottom:16px;
  background:var(--c-bg-alt); color:var(--c-primary);
}
.wpc-why-ico svg { width:26px; height:26px; }
.wpc-why-t {
  font-family:var(--serif); font-weight:500; font-size:1.35rem;
  color:var(--c-text-dark); margin:0 0 8px; letter-spacing:.04em;
}
.wpc-why-card p { font-size:.97rem; margin:0; }

/* ---- RECENSIONI ---- */
.wpc-reviews { padding:90px 0; background:var(--c-bg); }
.wpc-reviews-embed { margin-top:30px; }
/* contenitore neutro: il markup interno è del plugin recensioni */
.wpc-reviews-embed .wpcr3_content { max-width:100%; }

/* ---- CTA + FORM VELOCE ---- */
.wpc-cta-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;
  text-align:left;
}
.wpc-cta-intro .wpc-cta-t { text-align:left; }
.wpc-cta-points { list-style:none; padding:0; margin:22px 0 0; }
.wpc-cta-points li { position:relative; padding:8px 0 8px 28px; color:rgba(255,255,255,.85); }
.wpc-cta-points li::before {
  content:''; position:absolute; left:0; top:14px;
  width:14px; height:8px; border-left:2px solid var(--c-primary);
  border-bottom:2px solid var(--c-primary); transform:rotate(-45deg);
}

.wpc-form {
  background:#fff; border-radius:16px; padding:34px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.wpc-field { margin-bottom:16px; text-align:left; }
.wpc-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wpc-field label {
  display:block; font-family:var(--sans); font-size:.78rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--c-text); margin-bottom:6px;
}
.wpc-field input, .wpc-field textarea {
  width:100%; box-sizing:border-box; padding:12px 14px;
  border:1px solid #ddd2ca; border-radius:8px; background:#fcfaf8;
  font-family:var(--sans); font-size:1rem; color:var(--c-text-dark);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.wpc-field input:focus, .wpc-field textarea:focus {
  outline:none; border-color:var(--c-primary);
  box-shadow:0 0 0 3px rgba(187,132,122,.15);
}
.wpc-form .wpc-btn-lg { width:100%; margin-top:6px; cursor:pointer; }
.wpc-form button[disabled] { opacity:.6; cursor:wait; }
/* honeypot: fuori dallo schermo, invisibile ai bot reader-friendly */
.wpc-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cwp-status { margin:14px 0 0; font-size:.95rem; min-height:1.2em; text-align:center; }
.cwp-status.cwp-ok  { color:#2e7d52; }
.cwp-status.cwp-err { color:#c0392b; }
.wpc-form-alt { margin:16px 0 0; font-size:.85rem; text-align:center; color:var(--c-text-light); }
.wpc-form-alt a { color:var(--c-primary); }

@media (max-width:860px){
  .wpc-cta-grid { grid-template-columns:1fr; gap:32px; }
  .wpc-cta-intro .wpc-cta-t { text-align:center; }
  .wpc-field-row { grid-template-columns:1fr; }
  .wpc-form { padding:24px; }
}

/* ---- INTERNAL LINKING: città vicine ---- */
.wpc-nearby { padding:80px 0; background:var(--c-bg-alt); }
.wpc-nearby-list {
  list-style:none; padding:0; margin:36px 0 0;
  display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
}
.wpc-nearby-list li { margin:0; }
.wpc-nearby-list a {
  display:inline-block; padding:10px 20px; border:1px solid #ddd2ca;
  border-radius:30px; background:#fff; color:var(--c-text-dark);
  text-decoration:none; font-family:var(--serif); font-size:1.05rem;
  letter-spacing:.02em; transition:all .2s ease;
}
.wpc-nearby-list a:hover, .wpc-nearby-list a:focus-visible {
  background:var(--c-primary); color:#fff; border-color:var(--c-primary);
}

/* ============================================================
   v1.2 — Checklist ruolo, UX recensioni, UX nearby, fix mobile
   ============================================================ */

/* ---- CHECKLIST (sezione ruolo) ---- */
.wpc-checklist { list-style:none; padding:0; margin:22px 0 0; }
.wpc-checklist li {
  position:relative; padding:8px 0 8px 30px; font-size:1rem; color:var(--c-text);
  border-bottom:1px solid #ece4de;
}
.wpc-checklist li:last-child { border-bottom:0; }
.wpc-checklist li::before {
  content:''; position:absolute; left:2px; top:14px;
  width:13px; height:7px; border-left:2px solid var(--c-primary);
  border-bottom:2px solid var(--c-primary); transform:rotate(-45deg);
}

/* ---- UX RECENSIONI: incornicia il widget grezzo del plugin ---- */
.wpc-reviews-embed {
  margin-top:36px; max-width:820px; margin-left:auto; margin-right:auto;
}
/* "Create your own review" → bottone discreto in linea col brand */
.wpc-reviews-embed input[type="button"],
.wpc-reviews-embed .wpcr3_button,
.wpc-reviews-embed button {
  background:var(--c-primary) !important; color:#fff !important;
  border:0 !important; border-radius:6px !important;
  padding:10px 22px !important; font-family:var(--serif) !important;
  font-size:1rem !important; cursor:pointer; box-shadow:none !important;
}
/* singola recensione → card */
.wpc-reviews-embed .wpcr3_review,
.wpc-reviews-embed [itemprop="review"] {
  background:#fff; border:1px solid #ece4de; border-radius:12px;
  padding:24px 26px !important; margin:0 0 16px !important; text-align:left;
}
.wpc-reviews-embed .wpcr3_clear, .wpc-reviews-embed hr { display:none !important; }
.wpc-reviews-embed img[src*="quote"], .wpc-reviews-embed .wpcr3_quote { display:none !important; }
.wpc-reviews-embed .wpcr3_average_stars, .wpc-reviews-embed .wpcr3_rate {
  text-align:center; margin-bottom:8px;
}
.wpc-reviews-embed p { line-height:1.7; }

/* ---- UX ALTRE DESTINAZIONI: da lista puntata a chip eleganti ---- */
/* (il markup è già <ul class="wpc-nearby-list"> con <a>; togliamo i bullet) */
.wpc-nearby-list { list-style:none; }
.wpc-nearby-list li::marker { content:none; }
.wpc-nearby-list li::before { display:none; }

/* ---- FIX MOBILE: alleggerire e ridurre il "salto" su hero ---- */
@media (max-width:860px){
  /* hero più compatto su mobile, meno scroll prima del contenuto */
  .wpc-hero { min-height:62vh; }
  .wpc-hero-inner { padding-top:84px; padding-bottom:28px; }
  .wpc-hero-title { font-size:clamp(2rem,9vw,2.8rem) !important; }
  .wpc-hero-sub { font-size:1rem; }
  /* stats: 2x2 invece di riga lunga */
  .wpc-stats { gap:16px 24px; padding:18px; }
  .wpc-stat-n { font-size:1.6rem; }
  /* immagini split: altezza contenuta per non spingere il LCP */
  .wpc-split-img { aspect-ratio:3/4; }
  .wpc-nearby-list { gap:8px; }
  .wpc-nearby-list a { padding:8px 16px; font-size:.98rem; }
}

/* riduci motion per chi lo richiede */
@media (prefers-reduced-motion:reduce){
  .wpc-why-card, .wpc-card, .wpc-post-img img, .wpc-nearby-list a { transition:none; }
}

/* ============================================================
   v1.3 — Override forti: destinazioni chip + recensioni card
   (alta specificità per vincere su Solene e sul plugin reviews)
   ============================================================ */

/* ---- ALTRE DESTINAZIONI: forza chip, elimina bullet del tema ---- */
.chiarab-wp-city .wpc-nearby .wpc-nearby-list,
.chiarab-wp-city .wpc-nearby ul {
  list-style:none !important; padding:0 !important; margin:36px 0 0 !important;
  display:flex !important; flex-wrap:wrap !important; gap:12px !important;
  justify-content:center !important;
}
.chiarab-wp-city .wpc-nearby .wpc-nearby-list li,
.chiarab-wp-city .wpc-nearby ul li {
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:inline-block !important;
}
.chiarab-wp-city .wpc-nearby .wpc-nearby-list li::before,
.chiarab-wp-city .wpc-nearby .wpc-nearby-list li::marker,
.chiarab-wp-city .wpc-nearby ul li::before,
.chiarab-wp-city .wpc-nearby ul li::marker {
  content:none !important; display:none !important;
}
.chiarab-wp-city .wpc-nearby .wpc-nearby-list a {
  display:inline-block !important; padding:10px 22px !important;
  border:1px solid #ddd2ca !important; border-radius:30px !important;
  background:#fff !important; color:var(--c-text-dark) !important;
  text-decoration:none !important; font-family:var(--serif) !important;
  font-size:1.05rem !important; letter-spacing:.02em !important;
  transition:all .2s ease !important; line-height:1.4 !important;
}
.chiarab-wp-city .wpc-nearby .wpc-nearby-list a:hover,
.chiarab-wp-city .wpc-nearby .wpc-nearby-list a:focus-visible {
  background:var(--c-primary) !important; color:#fff !important;
  border-color:var(--c-primary) !important;
}

/* ---- RECENSIONI: card forti sul markup wp-customer-reviews (wpcr3) ---- */
.chiarab-wp-city .wpc-reviews-embed { max-width:860px; margin:36px auto 0; }

/* bottone "Create your own review" → brand */
.chiarab-wp-city .wpc-reviews-embed input[type="button"],
.chiarab-wp-city .wpc-reviews-embed .wpcr3_button,
.chiarab-wp-city .wpc-reviews-embed a.wpcr3_respond_button {
  background:var(--c-primary) !important; color:#fff !important;
  border:0 !important; border-radius:6px !important; box-shadow:none !important;
  padding:11px 24px !important; font-family:var(--serif) !important;
  font-size:1rem !important; letter-spacing:.02em !important; cursor:pointer !important;
}

/* riga media rating */
.chiarab-wp-city .wpc-reviews-embed .wpcr3_averageval,
.chiarab-wp-city .wpc-reviews-embed [itemprop="aggregateRating"] {
  display:block !important; text-align:center !important; margin:0 0 24px !important;
  font-style:italic !important; color:var(--c-text) !important;
}

/* singola recensione → card bianca */
.chiarab-wp-city .wpc-reviews-embed .wpcr3_review,
.chiarab-wp-city .wpc-reviews-embed div[itemprop="review"],
.chiarab-wp-city .wpc-reviews-embed .wpcr3_item {
  background:#fff !important; border:1px solid #ece4de !important;
  border-radius:12px !important; padding:22px 26px !important;
  margin:0 0 16px !important; text-align:left !important;
  box-shadow:0 4px 14px rgba(0,0,0,.03) !important;
}

/* nascondi le virgolette decorative giganti del plugin */
.chiarab-wp-city .wpc-reviews-embed img[src*="quote"],
.chiarab-wp-city .wpc-reviews-embed .wpcr3_quote,
.chiarab-wp-city .wpc-reviews-embed .wpcr3_quote_left,
.chiarab-wp-city .wpc-reviews-embed .wpcr3_quote_right { display:none !important; }

/* separatori tratteggiati del plugin → via */
.chiarab-wp-city .wpc-reviews-embed hr,
.chiarab-wp-city .wpc-reviews-embed .wpcr3_clear { display:none !important; }

/* testo recensione leggibile, non corsivo grigino */
.chiarab-wp-city .wpc-reviews-embed .wpcr3_content,
.chiarab-wp-city .wpc-reviews-embed [itemprop="reviewBody"] {
  font-style:normal !important; color:var(--c-text-dark) !important;
  line-height:1.7 !important; text-align:left !important; font-size:1rem !important;
}

/* ============================================================
   v1.4 — SILO: box pilastri "Scopri di più" (città → pilastro)
   ============================================================ */
.wpc-pillars { padding:64px 0 8px; background:var(--c-bg); }
.wpc-pillars-list {
  display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:24px;
}
.wpc-pillar-link {
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 26px; border:1px solid var(--c-primary);
  border-radius:10px; background:#fff; color:var(--c-text-dark);
  text-decoration:none; font-family:var(--serif); font-size:1.15rem;
  letter-spacing:.02em; transition:all .22s ease;
}
.wpc-pillar-link svg { width:20px; height:20px; color:var(--c-primary); transition:transform .22s ease; }
.wpc-pillar-link:hover, .wpc-pillar-link:focus-visible {
  background:var(--c-primary); color:#fff;
}
.wpc-pillar-link:hover svg, .wpc-pillar-link:focus-visible svg {
  color:#fff; transform:translateX(4px);
}

/* elenco città nelle pagine pilastro (riusa lo stile chip di nearby) */
.wpc-silo-cities { padding:72px 0; background:var(--c-bg-alt); }

@media (max-width:860px){
  .wpc-pillars-list { flex-direction:column; align-items:stretch; }
  .wpc-pillar-link { justify-content:space-between; }
}
