/* JEM REV.06 — Ajustes de legibilidade, rodapé e responsive. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:90px}
body{max-width:100%;overflow-x:clip}
img,svg{max-width:100%}
:where(a,button):focus-visible{outline:3px solid #b78c53;outline-offset:3px}
/* Consistent, icon-based footer, with whitespace between every tap target. */
.jem-r06-social{display:block!important;text-align:left;margin:30px 0 24px!important;padding:24px 0!important;border-top:1px solid rgba(240,236,229,.2)!important;min-width:0}
.jem-r06-social-heading{font:500 .72rem/1.5 'Montserrat',Arial,sans-serif!important;letter-spacing:.13em;color:#d9c1a2!important;margin:0 0 18px!important;max-width:none!important}
.jem-r06-social-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;align-items:stretch}
.jem-r06-social-links a{display:flex;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:49px;white-space:normal!important;padding:11px 12px;border:1px solid rgba(226,201,168,.33);border-radius:3px;text-decoration:none!important;color:#f5e9dc!important;font:500 .84rem/1.3 'Montserrat',Arial,sans-serif!important;transition:background-color .2s}
.jem-r06-social-links a:hover,.jem-r06-social-links a:focus-visible{background:rgba(232,201,162,.15)}
.jem-r06-social-links .jem-r06-icon{width:23px;height:23px;min-width:23px;flex:none;color:#e6c49b}
.jem-r06-google-mark{white-space:nowrap;display:inline-flex;letter-spacing:-.05em;font:bold 1.04rem/1 Arial,sans-serif}
.jem-r06-google-mark span:nth-child(1),.jem-r06-google-mark span:nth-child(4){color:#4285f4}
.jem-r06-google-mark span:nth-child(2),.jem-r06-google-mark span:nth-child(6){color:#ea4335}
.jem-r06-google-mark span:nth-child(3){color:#fbbc05}
.jem-r06-google-mark span:nth-child(5){color:#34a853}
/* Areas footer: keep centered navigation while social links have their own clean row. */
.jem-simple-footer.jem-r06-added-footer{padding:52px 0 29px}
.jem-r06-added-footer .jem-r06-social{max-width:920px;margin:30px auto 23px!important}
.jem-r06-added-footer .jem-r06-social-heading{text-align:center}
.jem-r06-added-footer .jem-r06-phone-number,.jem-r06-added-footer small a{color:#e9cba6;text-decoration:underline;text-underline-offset:3px}
.jem-r06-added-footer small{display:block;margin-top:22px;line-height:1.7}
.jem-r06-added-footer nav a{text-decoration:none;line-height:1.6}
.jem-r06-added-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
/* Score must remain legible over pale beige. Stars are pictorial, numeric score is dark. */
.jem-reviews-teaser .jem-stars{display:flex;flex-wrap:wrap;align-items:center;gap:10px;line-height:1.45;color:#d59c13!important}
.jem-reviews-teaser .jem-stars strong{color:#342b24!important;letter-spacing:0;margin-left:0}
.jem-reviews-teaser .jem-r06-score-source{font-size:.9rem;line-height:1.45;color:#493e32!important;letter-spacing:0}
.jem-testimonial-intro .jem-review-score{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.jem-testimonial-intro .jem-review-score strong{color:#302923!important}
.jem-gold-stars,.jem-review-stars{color:#d49a00!important}
.jem-testimonial-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.jem-testimonial-card{border:1px solid #ddcfc1;min-height:0;gap:0;box-shadow:0 3px 14px #33220f09}
.jem-testimonial-card p{overflow-wrap:normal;word-break:normal;line-height:1.38!important;margin:10px 0 23px!important}
.jem-testimonial-card footer{border:0;margin-top:auto;padding:0;line-height:1.6!important}
.jem-testimonial-card footer strong{color:#2d2923}
.jem-testimonials .jem-r06-more-reviews{margin-top:30px;display:flex;justify-content:center}
.jem-testimonials .jem-r06-more-reviews .btn{min-height:48px;text-align:center}
/* Promotion: explicit CSS areas rather than inherited desktop two-column layout. */
.promo-page .promo-content .wrap.promo-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:'intro photo' 'terms photo';gap:20px clamp(32px,5vw,72px);align-items:start}
.promo-page .promo-columns >.jem-r06-promo-intro{grid-area:intro;min-width:0}
.promo-page .promo-columns >.jem-r06-promo-terms{grid-area:terms;min-width:0}
.promo-page .promo-columns >figure.jem-r06-promo-image{grid-area:photo;min-width:0;align-self:start;position:sticky;top:115px;margin:0;overflow:hidden;border-radius:6px;background:#e6d8c7}
.promo-page .promo-columns >figure.jem-r06-promo-image img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.promo-page .promo-columns .jem-r06-promo-intro h2{max-width:15ch;line-height:1.1}
.promo-page .promo-columns .jem-promo-legal{margin-top:0;padding:clamp(20px,2.8vw,29px);max-width:100%}
.promo-page .promo-columns .jem-promo-legal h3{font-size:clamp(1.65rem,2.7vw,2.1rem);line-height:1.12;overflow-wrap:normal;hyphens:none}
.promo-page .promo-columns .jem-promo-legal p,.promo-page .promo-columns .jem-promo-legal li{font-size:clamp(.85rem,1.2vw,.93rem);line-height:1.75;overflow-wrap:normal;word-break:normal}
.promo-page .promo-columns .jem-promo-legal ul{padding-left:21px}
.promo-page .promo-columns .promo-cta{gap:12px}
.promo-page .promo-columns .promo-cta .btn{min-width:0;white-space:normal;text-align:center}
.promo-page .jem-r06-added-footer{margin-top:0}
/* Fixed mobile actions: never allow a button to dictate wider grid columns. */
@media (max-width:760px){
  .jem-r06-social-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jem-r06-social-links a{justify-content:flex-start;padding:12px 13px}
  .jem-r06-mobile-cta{position:fixed!important;inset:auto 0 0!important;width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:7px 9px calc(7px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;z-index:120!important;background:#171410!important}
  .jem-r06-mobile-cta a{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;display:flex!important;align-items:center;justify-content:center;min-height:46px!important;padding:8px 5px!important;font-size:clamp(.66rem,2.6vw,.76rem)!important;letter-spacing:0!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;line-height:1.2!important}
  body:has(.jem-r06-mobile-cta){padding-bottom:calc(65px + env(safe-area-inset-bottom,0px))}
  .promo-page .promo-content .wrap.promo-columns{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:'intro' 'photo' 'terms'!important;gap:24px!important}
  .promo-page .promo-columns >figure.jem-r06-promo-image{position:static;top:auto;width:100%;max-width:600px}
  .promo-page .promo-columns >figure.jem-r06-promo-image img{max-height:none!important}
  .promo-page .promo-columns .jem-r06-promo-intro h2{max-width:100%;font-size:clamp(2.35rem,8vw,3.2rem)}
  .promo-page .promo-content{padding:45px 0 60px}
  .promo-page .promo-columns .jem-promo-legal h3{font-size:clamp(1.68rem,7vw,2.05rem)}
  .promo-page .promo-columns .jem-promo-legal p,.promo-page .promo-columns .jem-promo-legal li{font-size:.89rem}
  .promo-page .promo-columns .promo-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .promo-page .promo-columns .promo-cta .btn{width:100%;justify-content:center}
  .jem-testimonial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .jem-testimonial-cards{grid-template-columns:minmax(0,1fr)}
  .jem-r06-social-links{gap:10px}
  .jem-r06-social-links a{font-size:.79rem!important}
  .jem-r06-social-links .jem-r06-icon{width:21px;height:21px;min-width:21px}
  .promo-page .promo-columns .jem-promo-legal{padding:23px 20px}
  .jem-r06-added-footer nav{gap:12px 16px}
  .jem-r06-added-footer .jem-r06-social{margin:25px auto!important}
}
@media(max-width:340px){
  .jem-r06-social-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jem-r06-social-links a{gap:6px;padding:9px 7px;font-size:.72rem!important}
  .jem-r06-google-mark{font-size:.9rem}
  .jem-r06-mobile-cta a{font-size:.65rem!important;padding:6px 3px!important}
}
@media(prefers-reduced-motion:reduce){.jem-r06-social-links a{transition:none}}
