/*
 * Quire styling for generated content.
 *
 * Loaded only when the bespoke Quire Press theme is NOT active, so it can
 * carry the design under Flatsome without fighting it. Everything is scoped
 * to .quire-block: no global element selectors, no !important, nothing that
 * leaks into the rest of the theme.
 */

.quire-block{
  --q-ink:#191B1F;
  --q-slate:#5B6069;
  --q-oxblood:#6E1F2A;
  --q-rule:#DED9D2;
  --q-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --q-sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  font-family:var(--q-serif);
  color:var(--q-ink);
  font-size:1.0625rem;
  line-height:1.62;
  font-variant-numeric:oldstyle-numeric;
  max-width:72rem;
  margin-inline:auto;
}

.quire-block--dark{
  --q-ink:#FCFBF9;
  --q-slate:#9AA0A9;
  --q-rule:rgba(252,251,249,.22);
  color:#FCFBF9;
}

.quire-block p{margin:0 0 1.1em}
.quire-block p:last-child{margin-bottom:0}
.quire-block ul,.quire-block ol{margin:0;padding:0;list-style:none}
.quire-block a{color:inherit}

.quire-block h1,.quire-block h2,.quire-block h3{
  font-family:var(--q-serif);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-0.015em;
  margin:0;
  text-transform:none;
  text-wrap:balance;
}

.quire-display{
  font-size:clamp(2.4rem,1.5rem + 4vw,4.2rem);
  line-height:1.05;
  letter-spacing:-0.028em;
  max-width:16ch;
  margin-bottom:1.5rem !important;
}
.quire-heading{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);margin-bottom:1rem !important}
.quire-cta-title{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);max-width:18ch;margin-bottom:.8rem !important}

.quire-kicker{font-family:var(--q-sans);font-size:.95rem;color:var(--q-slate)}
.quire-lede{font-size:1.12em;color:var(--q-slate);max-width:34rem}
.quire-note{color:var(--q-slate);font-size:.99em;max-width:34rem}
.quire-prose{max-width:34rem}

.quire-dropcap::first-letter{
  float:left;font-size:3.6em;line-height:.82;
  padding:.06em .1em 0 0;color:var(--q-oxblood);
}

/* three facts ------------------------------------------------------------ */
.quire-facts{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--q-rule);margin-top:3rem !important;
}
.quire-facts > li{padding:1.6rem 1.6rem 1.6rem 0;border-right:1px solid var(--q-rule)}
.quire-facts > li:last-child{border-right:0;padding-right:0}
.quire-facts > li + li{padding-left:1.6rem}
.quire-facts b{display:block;font-weight:400;font-size:1.6rem;line-height:1.15;margin-bottom:.35rem}
.quire-facts span{font-family:var(--q-sans);font-size:.92rem;color:var(--q-slate);line-height:1.5;display:block}

/* statement -------------------------------------------------------------- */
.quire-statement{
  max-width:26ch;font-size:clamp(1.6rem,1.1rem + 2.2vw,2.8rem);
  line-height:1.2;letter-spacing:-0.02em;
}
.quire-statement em{font-style:italic;color:#E8B4BC}
.quire-statement-note{max-width:38rem;font-size:1rem;color:var(--q-slate);line-height:1.65;margin-top:1.6rem !important}

/* lists ------------------------------------------------------------------ */
.quire-checklist li{
  padding:.7rem 0 .7rem 1.9rem;border-bottom:1px solid var(--q-rule);
  position:relative;font-size:1.02em;
}
.quire-checklist li::before{
  content:"";position:absolute;left:.15rem;top:1.18em;
  width:.55rem;height:.55rem;border:1px solid var(--q-oxblood);transform:rotate(45deg);
}
.quire-checklist li:first-child{padding-top:0}
.quire-checklist li:first-child::before{top:.56em}

.quire-exclusions li{padding:.85rem 0;border-bottom:1px solid var(--q-rule);color:var(--q-slate);max-width:46rem}
.quire-exclusions strong{color:var(--q-ink);font-weight:600;font-family:var(--q-sans);font-size:.97rem}

.quire-steps{counter-reset:qstep}
.quire-steps > li{
  display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:0 1.25rem;
  padding:1.5rem 0;border-bottom:1px solid var(--q-rule);
}
.quire-steps > li::before{
  counter-increment:qstep;content:counter(qstep);
  font-family:var(--q-serif);font-size:1.9rem;color:var(--q-oxblood);line-height:1;padding-top:.15rem;
}
.quire-steps h3{font-size:1.2rem;margin-bottom:.3rem !important}
.quire-steps p{color:var(--q-slate);font-size:.99em;max-width:44rem}

/* prices ----------------------------------------------------------------- */
.quire-price{border-top:2px solid var(--q-ink);padding-top:1.6rem;height:100%}
.quire-price--pick{border-top-color:var(--q-oxblood)}
.quire-price h3{font-size:1.3rem;margin-bottom:.15rem !important}
.quire-price-flag{font-family:var(--q-sans);font-size:.78rem;font-weight:600;color:var(--q-oxblood);margin-bottom:.5rem !important}
.quire-price-fig{font-size:2rem;line-height:1.1;margin:.45rem 0 1rem !important}
.quire-price-fig small{font-size:.95rem;color:var(--q-slate);display:block;font-family:var(--q-sans);margin-top:.3rem}
.quire-price ul{font-size:.97rem;color:var(--q-slate)}
.quire-price li{padding:.42rem 0;border-bottom:1px solid var(--q-rule)}
.quire-price li:last-child{border-bottom:0}
.quire-prices{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}

/* questions -------------------------------------------------------------- */
.quire-faq details{border-bottom:1px solid var(--q-rule)}
.quire-faq summary{
  cursor:pointer;list-style:none;padding:1.15rem 2.5rem 1.15rem 0;
  position:relative;font-size:1.09em;
}
.quire-faq summary::-webkit-details-marker{display:none}
.quire-faq summary::after{
  content:"+";position:absolute;right:.35rem;top:1.05rem;
  font-family:var(--q-sans);font-size:1.35rem;color:var(--q-oxblood);line-height:1;
}
.quire-faq details[open] summary::after{content:"\2013"}
.quire-faq summary:hover{color:var(--q-oxblood)}
.quire-answer{padding:0 0 1.4rem;color:var(--q-slate);max-width:46rem}

/* misc ------------------------------------------------------------------- */
.quire-quote{
  margin:1.6rem 0 0;padding-left:1.5rem;border-left:2px solid var(--q-oxblood);
  font-style:italic;font-size:1.15em;line-height:1.55;max-width:32rem;
}

.quire-contact{max-width:34rem;border-top:1px solid var(--q-rule)}
.quire-contact li{
  display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;align-items:baseline;
  padding:1rem 0;border-bottom:1px solid var(--q-rule);
}
.quire-contact b{flex:0 0 9rem;font-family:var(--q-sans);font-size:.85rem;font-weight:600;color:var(--q-slate)}
.quire-contact a{color:var(--q-oxblood);text-decoration:underline;text-underline-offset:2px}

.quire-signposts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  border-top:1px solid var(--q-rule);margin-top:1.5rem !important;
}
.quire-signpost{
  padding:1.5rem 1.6rem 1.7rem 0;position:relative;
  border-right:1px solid var(--q-rule);border-bottom:1px solid var(--q-rule);
}
.quire-signpost h3{font-size:1.2rem;margin-bottom:.35rem !important}
.quire-signpost h3 a{text-decoration:none}
.quire-signpost h3 a::after{content:"";position:absolute;inset:0}
.quire-signpost:hover h3 a{color:var(--q-oxblood)}
.quire-signpost p{font-family:var(--q-sans);font-size:.92rem;color:var(--q-slate);line-height:1.55}

.quire-btn{
  display:inline-block;font-family:var(--q-sans);font-size:.95rem;font-weight:600;
  padding:.72rem 1.35rem;text-decoration:none;
  background:#FCFBF9;color:#191B1F;border:1px solid transparent;
}
.quire-btn:hover{background:#fff;color:#191B1F}
.quire-cta-actions{margin-top:1.6rem !important}

@media (max-width:52rem){
  .quire-facts{grid-template-columns:1fr}
  .quire-facts > li,.quire-facts > li + li{
    padding:1.3rem 0;border-right:0;border-bottom:1px solid var(--q-rule);
  }
  .quire-facts > li:last-child{border-bottom:0}
  .quire-signposts{grid-template-columns:1fr}
  .quire-signpost{padding:1.3rem 0;border-right:0}
  .quire-contact b{flex:0 0 100%}
  .quire-steps > li{grid-template-columns:2.4rem minmax(0,1fr)}
  .quire-steps > li::before{font-size:1.5rem}
}

/* ---------------------------------------------------------------- footer */
.quire-footer{
  font-family:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:.9rem;
  line-height:1.6;
}
.quire-footer-about{margin:0 0 1rem;max-width:26rem}
.quire-footer-contact{list-style:none;margin:0 0 1.1rem;padding:0}
.quire-footer-contact li{padding:.2rem 0}
.quire-footer-contact a{text-decoration:none}
.quire-footer-contact a:hover{text-decoration:underline}
.quire-footer-legal{margin:0;font-size:.82rem;opacity:.72}
