/* Sou Garupa — Esperança e Inovação, versão clara. Use sgp-perfil no body ou no contêiner que envolve o perfil. */
:root {
  --sg-bg: #F0FCF7;
  --sg-surface: #FFFFFF;
  --sg-accent: #C6F24A;
  --sg-title: #103F52;
  --sg-text: #285364;
  --sg-border: rgba(16, 63, 82, .14);
  --sg-strong: #065B59;
  --sg-rating: #E5AC00;
  --sg-heading-font: 'Plus Jakarta Sans', sans-serif;
  --sg-body-font: 'Inter', sans-serif;
  --sg-quote-font: 'Lora', Georgia, serif;
}
.sgp-perfil {
  --sg-bg: var(--e-global-color-a121417, #F0FCF7);
  --sg-surface: var(--e-global-color-b200002, #FFFFFF);
  --sg-accent: var(--e-global-color-accent, #C6F24A);
  --sg-title: var(--e-global-color-primary, #103F52);
  --sg-text: var(--e-global-color-text, #285364);
  --sg-strong: var(--e-global-color-b200001, #065B59);
  --sg-heading-font: var(--e-global-typography-primary-font-family, 'Plus Jakarta Sans'), sans-serif;
  --sg-body-font: var(--e-global-typography-text-font-family, 'Inter'), sans-serif;
  --sg-quote-font: var(--e-global-typography-a100004-font-family, 'Lora'), Georgia, serif;
  background: var(--sg-bg);
  color: var(--sg-text);
  font-family: var(--sg-body-font);
}
.sgp-perfil .elementor-widget-text-editor a { color: var(--sg-strong) !important; }
.sgp-perfil .sg-main-nav a { color: var(--sg-text) !important; text-decoration: none; }
.sgp-perfil .sg-main-nav a:hover { color: var(--sg-strong) !important; }
.sgp-perfil .sg-bento-grid > .elementor-container,
.sgp-perfil .sg-bento-grid.e-con-full,
.sgp-perfil .sg-bento-grid.e-con-boxed > .e-con-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sgp-perfil .sg-bento-card {
  width: 100% !important;
  background: var(--sg-surface);
  border: 1px solid var(--sg-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(16, 63, 82, .05);
}
.sgp-perfil .sg-bento-card > .elementor-widget-wrap { padding: 24px !important; }
.sgp-perfil .sg-bento-card.e-con { padding: 24px; min-width: 0; }
.sgp-perfil .sg-bento-card .elementor-widget-heading .elementor-heading-title { color: var(--sg-strong); }
.sgp-perfil .sg-foto img,
.sgp-perfil .elementor-widget-image img { border-radius: 20px; }
.sgp-perfil .sgp-alice-portrait img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 36%;
}
.sgp-perfil .sg-quote,
.sgp-perfil .sg-quote strong {
  color: var(--sg-title);
  font-family: var(--sg-quote-font);
  font-style: italic;
  font-weight: 400;
}
.sgp-perfil .sg-quote { border-left: 3px solid var(--sg-strong); padding-left: 20px; }
.sgp-perfil .sgp-review-card {
  position: relative;
  padding: 24px;
  border: 1px solid var(--sg-border);
  border-radius: 20px 20px 20px 5px;
  background: var(--sg-surface);
  color: var(--sg-text);
}
.sgp-perfil .sgp-review-card::after {
  content: ''; position: absolute; bottom: -9px; left: 24px; width: 16px; height: 16px;
  border-right: 1px solid var(--sg-border); border-bottom: 1px solid var(--sg-border);
  background: var(--sg-surface); transform: rotate(45deg);
}
.sgp-perfil .sgp-review-card p { margin: 0; }
.sgp-perfil .sgp-review-card .sgp-review-label {
  margin-bottom: 5px; color: var(--sg-strong); font: 600 12px/1.4 var(--sg-heading-font);
  letter-spacing: .08em; text-transform: uppercase;
}
.sgp-perfil .sgp-review-card .sgp-review-stars {
  margin: 2px 0 9px; color: var(--sg-rating); font: 24px/1.2 Arial, sans-serif; letter-spacing: .1em;
}
.sgp-perfil .sgp-review-card .sgp-review-quote {
  color: var(--sg-title); font: italic 400 18px/1.6 var(--sg-quote-font);
}
.sgp-perfil .elementor-button,
.sgp-perfil .sg-cta {
  background: var(--sg-accent);
  color: var(--sg-title);
  border-radius: 12px;
  font-weight: 700;
  transition: transform .2s ease, filter .2s ease;
}
.sgp-perfil .elementor-button, .sgp-perfil .sg-cta { padding: 16px 28px; }
.sgp-perfil .elementor-button:hover,
.sgp-perfil .sg-cta:hover:not(:disabled) { transform: scale(1.02); filter: brightness(1.06); }
.sgp-perfil .elementor-button:focus-visible,
.sgp-perfil .sg-cta:focus-visible { outline: 3px solid var(--sg-title); outline-offset: 3px; }
.sgp-perfil .sg-promo { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; }
.sgp-perfil .sg-promo-eyebrow,
.sgp-perfil .sg-cupom-label {
  margin: 0 0 14px; color: var(--sg-strong); font: 600 13px/1.4 var(--sg-heading-font);
  letter-spacing: .08em; text-transform: uppercase;
}
.sgp-perfil .sg-promo-title {
  margin: 0 0 18px; color: var(--sg-title); font: 800 42px/1.15 var(--sg-heading-font); letter-spacing: -.02em;
}
.sgp-perfil .sg-promo-description { margin: 0; color: var(--sg-text); font: 400 17px/1.6 var(--sg-body-font); }
.sgp-perfil .sg-cupom {
  padding: 28px; background: var(--sg-surface); border: 1px dashed var(--sg-strong); border-radius: 16px;
}
.sgp-perfil .sg-cupom-code {
  display: block; margin-bottom: 22px; color: var(--sg-title); font: 800 25px/1.25 var(--sg-heading-font); overflow-wrap: anywhere;
}
.sgp-perfil .sg-cupom-copy {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px;
  padding: 16px 28px; border: 0; border-radius: 12px; background: var(--sg-accent);
  color: var(--sg-title); font: 700 16px/1.2 var(--sg-heading-font); cursor: pointer;
}
.sgp-perfil .sg-cupom-copy:disabled { opacity: .5; cursor: not-allowed; }
.sgp-perfil .sg-cupom-empty { color: var(--sg-text); font: 400 16px/1.6 var(--sg-body-font); }
.sgp-perfil .sg-cupom-status { display: block; min-height: 1.5em; margin-top: 10px; color: var(--sg-text); font: 500 14px/1.5 var(--sg-body-font); }
/* A vitrine compartilha a identidade, preservando os anúncios de cada cidade. */
.sgp-perfil .sg-vitrine { color: var(--sg-text); font-family: var(--sg-body-font); }
.sgp-perfil .sg-vitrine-viewport { background: var(--sg-surface); border: 1px solid var(--sg-border); border-radius: 20px; box-shadow: none; }
.sgp-perfil .sg-vitrine-eyebrow { color: var(--sg-strong); font-family: var(--sg-heading-font); }
.sgp-perfil .sg-vitrine .sg-vitrine-title { color: var(--sg-title); font-family: var(--sg-heading-font); font-weight: 800; }
.sgp-perfil .sg-vitrine .sg-vitrine-description,
.sgp-perfil .sg-vitrine .sg-vitrine-note { color: var(--sg-text); font-family: var(--sg-body-font); }
.sgp-perfil .sg-vitrine .sg-vitrine-description { font-size: 16px; line-height: 1.6; }
.sgp-perfil .sg-vitrine-logo { box-sizing: content-box; padding: 6px 10px; border-radius: 8px; background: #fff; }
.sgp-perfil .sg-vitrine-button { padding: 16px 22px; border-radius: 12px; background: var(--sg-accent); color: var(--sg-title) !important; font: 700 15px/1.2 var(--sg-heading-font); }
.sgp-perfil .sg-vitrine-button:hover { background: var(--sg-accent); color: var(--sg-title) !important; filter: brightness(1.06); }
.sgp-perfil .sg-vitrine-links a { color: var(--sg-strong) !important; }
.sgp-perfil .sg-vitrine-links .sg-vitrine-instagram { background: #DDF1FF; }
.sgp-perfil .sg-vitrine-placeholder-icon { background: #DDF1FF; color: var(--sg-strong); }
.sgp-perfil .sg-vitrine-arrow { background: var(--sg-surface) !important; border-color: var(--sg-border) !important; color: var(--sg-title) !important; }
.sgp-perfil .sg-vitrine-dot { background: #799C99 !important; }
.sgp-perfil .sg-vitrine-dot[aria-pressed=true] { background: var(--sg-strong) !important; box-shadow: 0 0 0 3px rgba(6, 91, 89, .16); }
.sgp-perfil .sg-vitrine-count { color: var(--sg-text); }
.sgp-perfil .sg-vitrine-button:focus-visible,
.sgp-perfil .sg-vitrine-arrow:focus-visible,
.sgp-perfil .sg-vitrine-dot:focus-visible,
.sgp-perfil .sg-vitrine-links a:focus-visible { outline-color: var(--sg-strong); }
@media (max-width: 767px) {
  .sgp-perfil .sg-bento-grid > .elementor-container,
  .sgp-perfil .sg-bento-grid.e-con-full,
  .sgp-perfil .sg-bento-grid.e-con-boxed > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sgp-perfil .sg-bento-card:last-child { grid-column: 1 / -1; }
  .sgp-perfil .sg-bento-card > .elementor-widget-wrap { padding: 19px !important; }
  .sgp-perfil .sg-bento-card.e-con { padding: 19px; }
  .sgp-perfil .sg-promo { grid-template-columns: 1fr; gap: 25px; }
  .sgp-perfil .sg-promo-title { font-size: 32px; }
  .sgp-perfil .sg-cupom { padding: 22px; }
  .sgp-perfil .sg-cupom-code { font-size: clamp(17px, 5vw, 23px); }
  .sgp-perfil .sg-cupom-copy { width: 100%; }
  .sgp-perfil .sgp-review-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .sgp-perfil .elementor-button, .sgp-perfil .sg-cta { transition: none; }
  .sgp-perfil .elementor-button:hover, .sgp-perfil .sg-cta:hover { transform: none; }
}
.sgp-perfil .sg-footer {display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:36px;align-items:start;color:var(--sg-title);font-family:var(--sg-body-font)}
.sgp-perfil .sg-footer h2 {font:800 32px/1.15 var(--sg-heading-font);letter-spacing:-.02em;color:var(--sg-title);margin:0 0 12px}
.sgp-perfil .sg-footer h3 {font:700 21px/1.25 var(--sg-heading-font);color:var(--sg-title);margin:0 0 12px}
.sgp-perfil .sg-footer p {margin:0 0 16px;line-height:1.6}
.sgp-perfil .sg-footer .sg-footer-label {font:600 12px/1.4 var(--sg-heading-font);letter-spacing:.08em;color:var(--sg-strong);margin:0 0 12px}
.sgp-perfil .sg-footer-buttons {display:flex;flex-wrap:wrap;gap:10px}
.sgp-perfil .sg-footer-store {display:flex;align-items:center;gap:10px;background:var(--sg-title);color:#fff!important;border-radius:12px;padding:10px 15px;text-decoration:none;min-height:52px}
.sgp-perfil .sg-footer-store small,.sgp-perfil .sg-footer-store strong {display:block;line-height:1.15;color:#fff}
.sgp-perfil .sg-footer-store small {font-size:11px}.sgp-perfil .sg-footer-store strong {font-size:15px}
.sgp-perfil .sg-footer-whatsapp {display:inline-block;background:var(--sg-accent);color:var(--sg-title)!important;padding:16px 21px;border-radius:12px;font:700 15px/1.2 var(--sg-heading-font);text-decoration:none}
.sgp-perfil .sg-footer-social-block {margin-top:24px;padding-top:22px;border-top:1px solid rgba(16,63,82,.18)}
.sgp-perfil .sg-footer-social {display:grid;gap:12px}
.sgp-perfil .sg-footer-social a {display:flex;align-items:center;gap:9px;color:var(--sg-title)!important;text-decoration:none;font-weight:600}
.sgp-perfil .sg-footer-social svg {width:22px;height:22px;flex:none}
.sgp-perfil .sg-footer-weather {background:rgba(255,255,255,.8);border:1px solid var(--sg-border);border-radius:16px;padding:22px}
.sgp-perfil .sg-footer-weather small {color:var(--sg-text);font-size:12px}
.sgp-perfil .sg-footer a:hover {filter:brightness(.94)}
.sgp-perfil .sg-footer a:focus-visible {outline:3px solid var(--sg-title);outline-offset:3px}
@media(max-width:767px) {.sgp-perfil .sg-footer {grid-template-columns:1fr;gap:30px}.sgp-perfil .sg-footer h2{font-size:28px}.sgp-perfil .sg-footer-weather{padding:20px}}

