/* araujo-vazquez mobile-first enrichment + fixes (2026-04-23) */
:root{
  --av-accent:#b07a4f;
  --av-accent-dark:#8c5c37;
  --av-ink:#1a1a1a;
  --av-muted:#4c4c4c;
  --av-soft:#f7f1ea;
  --av-line:#e8d5b7;
  --av-bg:#ffffff;
}
html,body{max-width:100vw;overflow-x:hidden;}
body{font-family:Quicksand,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--av-ink);background:var(--av-bg);}

/* Enriched content block */
.av-enriched{
  font-family:Quicksand,system-ui,sans-serif;
  color:var(--av-ink);
  background:var(--av-bg);
  padding:clamp(2rem,6vw,4rem) clamp(1rem,4vw,2rem);
  max-width:1100px;
  margin:0 auto;
}
.av-enriched h2{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.5rem,4vw,2.25rem);
  font-weight:700;
  color:var(--av-ink);
  margin:0 0 1rem;
  line-height:1.2;
}
.av-enriched h3{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.2rem,3vw,1.5rem);
  font-weight:700;
  color:var(--av-ink);
  margin:1.75rem 0 .6rem;
}
.av-enriched p{
  font-size:clamp(1rem,2.4vw,1.05rem);
  line-height:1.7;
  color:var(--av-muted);
  margin:0 0 1rem;
}
.av-enriched ul{padding-left:1.2rem;margin:0 0 1rem;}
.av-enriched li{
  font-size:clamp(1rem,2.4vw,1.05rem);
  line-height:1.65;
  color:var(--av-muted);
  margin-bottom:.4rem;
}
.av-enriched strong{color:var(--av-ink);}

.av-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;
  margin:1.5rem 0;
}
.av-card{
  background:var(--av-soft);
  border:1px solid var(--av-line);
  padding:1.25rem 1.25rem 1.4rem;
  border-radius:0;
}
.av-card h3{margin-top:0;}
.av-card p{margin-bottom:0;}

.av-cta{
  background:linear-gradient(135deg,var(--av-soft) 0%,#fff 100%);
  border:1px solid var(--av-line);
  padding:clamp(1.25rem,4vw,2rem);
  text-align:center;
  margin:2rem 0 0;
}
.av-cta h3{margin-top:0;}
.av-cta-btns{
  display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem;
}
.av-cta-btns a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:.75rem 1.5rem;
  font-weight:700;font-size:1rem;letter-spacing:.02em;
  text-decoration:none;
  background:var(--av-accent);color:#fff;
  border:2px solid var(--av-accent);
  transition:all .2s ease;
}
.av-cta-btns a.alt{background:transparent;color:var(--av-accent);}
.av-cta-btns a:hover{background:var(--av-accent-dark);border-color:var(--av-accent-dark);color:#fff;}

.av-faq details{
  border-bottom:1px solid var(--av-line);
  padding:1rem 0;
}
.av-faq summary{
  font-weight:700;font-size:clamp(1rem,2.6vw,1.1rem);
  color:var(--av-ink);
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
  min-height:44px;
}
.av-faq summary::-webkit-details-marker{display:none;}
.av-faq summary:after{content:'+';color:var(--av-accent);font-size:1.5rem;line-height:1;}
.av-faq details[open] summary:after{content:'−';}
.av-faq details p{margin:.75rem 0 0;}

/* Table scroll wrapper */
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;}
.tbl-scroll table{width:100%;border-collapse:collapse;}
.tbl-scroll th,.tbl-scroll td{padding:.75rem;border-bottom:1px solid var(--av-line);text-align:left;}

/* Sticky mobile FAB — override _build.py's inline one */
.araujo-fab{
  position:fixed;bottom:16px;right:16px;z-index:9999;
  background:var(--av-accent);color:#fff;
  border-radius:9999px;
  padding:14px 20px;
  font-weight:700;font-size:.95rem;letter-spacing:.02em;
  text-decoration:none;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
  min-height:48px;display:inline-flex;align-items:center;gap:.4rem;
}
.araujo-fab:hover{background:var(--av-accent-dark);color:#fff;}
@media (min-width:1024px){
  .araujo-fab{bottom:24px;right:24px;}
}

/* Safety: ensure imgs never overflow */
img{max-width:100%;height:auto;}

/* Hide dead / never-rendered elements from WSB */
.async-hide,.await-iframe,.wsb-cookie-notifier{display:none!important;}

/* Touch target enforcement */
@media (max-width:767px){
  [role="menuitem"]{min-height:44px;}
  .av-grid{gap:1rem;}
  /* Footer inline tel/mailto: give vertical spacing around them */
  a[href^="tel:"][data-tccl*="FOOTER"],a[href^="mailto:"][data-tccl*="FOOTER"]{padding:12px 4px;display:inline-block;min-height:44px;}
  /* Cookie banner accept / close */
  [data-aid="FOOTER_COOKIE_CLOSE_RENDERED"]{min-height:48px!important;padding:14px 24px!important;display:inline-flex!important;align-items:center;justify-content:center;}
  /* WSB carousel nav arrow buttons: enlarge tap surface */
  button[class*="c1-9x"],button[class*="c1-7b"]{min-width:44px!important;}
  /* Cookie banner accept */
  .wsb-cookie-notifier a,.wsb-cookie-notifier button{min-height:44px!important;padding:10px 20px!important;}
}
