/* Guia de Pipa® — Home portal premium dark */
:root{
  --font-primary:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bg:#071019;
  --bg-2:#0b1722;
  --card:#111b26;
  --card-2:#162433;
  --navy:#0b2d4d;
  --green:#176b52;
  --gold:#c69a3a;
  --gold-2:#f4d38a;
  --cream:#f7f4ec;
  --muted:rgba(247,244,236,.68);
  --line:rgba(255,255,255,.12);
  --shadow:0 22px 52px rgba(0,0,0,.36);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--cream);
  font-family:var(--font-primary);
  background:
    radial-gradient(circle at 12% -8%, rgba(198,154,58,.24), transparent 28rem),
    radial-gradient(circle at 98% 12%, rgba(23,107,82,.24), transparent 26rem),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 48%, var(--bg) 100%);
  line-height:1.45;
}

/* Tipografia oficial — títulos em Inter */
h1,h2,h3,h4,h5,h6,
.brand,
.brand span,
.eyebrow,
.lead,
.section-heading h2,
.card h3,
.card h3 a,
.category-nav a,
.category-nav span,
.tag,
.badge,
.btn,
.search-panel label,
.search-row button,
.stats strong,
.stats span,
.footer strong{
  font-family:var(--font-primary) !important;
}
h1{font-weight:800;}
.section-heading h2{font-weight:800;}
.card h3{font-weight:700;}
.category-nav a,.brand,.eyebrow,.btn,.search-row button{font-weight:800;}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:46px 46px;
}
a{color:inherit}
.home{position:relative;z-index:1}
.hero{padding:18px}
.hero__inner{
  max-width:1220px;
  min-height:72vh;
  margin:auto;
  padding:46px;
  border-radius:34px;
  color:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(180deg, rgba(7,16,25,.18) 0%, rgba(7,16,25,.50) 45%, rgba(7,16,25,.96) 100%),
    linear-gradient(90deg, rgba(11,45,77,.92), rgba(23,107,82,.48)),
    url("../images/hero.jpg") center/cover no-repeat;
}
.hero__inner::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-130px;
  bottom:-145px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  box-shadow:0 0 0 20px rgba(255,255,255,.05), 0 0 0 42px rgba(255,255,255,.035);
  z-index:-1;
}
.brand{
  position:absolute;
  top:24px;
  left:24px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:8px 14px 8px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(7,16,25,.36);
  backdrop-filter:blur(14px);
  font-weight:900;
}
.brand__mark{
  width:40px;height:40px;display:grid;place-items:center;border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#071019;font-weight:900;
}
.brand__mark img{
  width:40px;
  height:40px;
  display:block;
}
.eyebrow{
  margin:34px 0 12px;
  color:var(--gold-2);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.15em;
}
h1{
  max-width:900px;
  margin:0;
  font-size:clamp(2.55rem, 7vw, 6.2rem);
  line-height:.9;
  letter-spacing:-.055em;
}
.lead{
  max-width:720px;
  margin:22px 0 0;
  color:rgba(255,255,255,.84);
  font-size:1.16rem;
}
.search-panel{
  width:min(760px,100%);
  margin:30px 0 0;
  padding:14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:rgba(7,16,25,.54);
  backdrop-filter:blur(14px);
}
.search-panel label{
  display:block;
  margin:0 0 8px 4px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:rgba(255,255,255,.68);
  font-weight:900;
}
.search-row{display:flex;gap:10px}
.search-row input{
  width:100%;
  min-height:50px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:0 18px;
  background:rgba(255,255,255,.10);
  color:#fff;
  outline:none;
  font:inherit;
}
.search-row input::placeholder{color:rgba(255,255,255,.55)}
.search-row button,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 18px;border-radius:999px;
  text-decoration:none;font-weight:900;border:0;cursor:pointer;font:inherit;
}
.search-row button{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#071019}

.geo-panel{
  display:grid;
  grid-template-columns:auto auto minmax(180px,240px) 1fr;
  gap:10px;
  align-items:center;
  max-width:760px;
  margin:14px 0 0;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(7,16,25,.42);
  backdrop-filter:blur(14px);
}
.geo-panel button,
.geo-panel select{
  min-height:44px;
  border:0;
  border-radius:999px;
  font-family:var(--font-primary);
  font-weight:850;
}
.geo-panel button{
  cursor:pointer;
  padding:0 16px;
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
}
.geo-panel label{
  display:grid;
  gap:4px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.geo-panel select{
  width:100%;
  padding:0 14px;
  color:var(--cream);
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
}
.geo-panel select:disabled{
  opacity:.5;
}

.geo-panel button:disabled{
  cursor:not-allowed;
  opacity:.55;
  filter:saturate(.65);
}
.geo-panel button.is-active{
  box-shadow:0 0 0 2px rgba(244,211,138,.28), 0 12px 30px rgba(198,154,58,.22);
}

#geoStatus{
  color:rgba(247,244,236,.78);
  font-size:.86rem;
  font-weight:650;
}
.distance-badge{
  display:inline-flex;
  margin-left:6px;
  padding:7px 10px;
  border-radius:999px;
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  font-size:.76rem;
  font-weight:900;
  white-space:nowrap;
}
.distance-badge[hidden]{display:none!important}

.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.btn--primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#071019}
.btn--ghost{border:1px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.08)}
.stats{margin-top:34px;display:flex;align-items:end;gap:12px}
.stats strong{font-size:3rem;line-height:.85;color:var(--gold-2)}
.stats span{color:rgba(255,255,255,.72);font-weight:800}
.category-nav{
  position:sticky;top:0;z-index:5;
  max-width:1220px;margin:0 auto;padding:12px 18px 24px;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;
  background:linear-gradient(180deg, rgba(7,16,25,.94), rgba(7,16,25,.72), transparent);
  backdrop-filter:blur(12px);
}
.category-nav a{
  display:flex;justify-content:space-between;gap:12px;text-decoration:none;
  padding:15px 16px;border:1px solid var(--line);border-radius:18px;
  background:rgba(255,255,255,.07);box-shadow:0 14px 34px rgba(0,0,0,.18);
  color:var(--cream);font-weight:900;transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.category-nav a:hover,.category-nav a.active{transform:translateY(-2px);border-color:rgba(198,154,58,.58);background:rgba(198,154,58,.13)}
.category-nav small{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:rgba(198,154,58,.18);color:var(--gold-2)}
.category-nav a.is-empty{opacity:.55}
.category-section{
  max-width:1220px;margin:0 auto;padding:52px 18px 12px;
}
.section-heading{
  display:grid;grid-template-columns:1fr minmax(220px,420px);gap:24px;align-items:end;margin-bottom:22px;
}
.section-heading .eyebrow{margin:0 0 8px;grid-column:1/-1}
.section-heading h2{
  margin:0;font-size:clamp(2.1rem,4vw,4rem);line-height:.95;letter-spacing:-.045em;color:var(--cream);
}
.section-heading p{margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cards--featured{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045));
  box-shadow:0 16px 42px rgba(0,0,0,.26);backdrop-filter:blur(10px);
  transition:transform .28s ease,border-color .28s ease;
}
.card:hover{transform:translateY(-4px);border-color:rgba(198,154,58,.42)}
.card--premium{border-color:rgba(198,154,58,.42);box-shadow:0 22px 56px rgba(0,0,0,.34)}
.card__media{
  position:relative;display:block;height:230px;
  background:linear-gradient(135deg, rgba(11,45,77,.9), rgba(23,107,82,.65));
  overflow:hidden;
}
.cards--featured .card__media{height:310px}
.card__media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.card:hover .card__media>img{transform:scale(1.04)}
.card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(7,16,25,.72))}
.badge{
  position:absolute;top:14px;right:14px;
  padding:8px 11px;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#071019;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
.card__logo{
  position:absolute;left:16px;bottom:16px;width:76px;height:76px;border-radius:20px;
  background:#fff;border:1px solid rgba(222,215,201,.9);box-shadow:0 12px 26px rgba(0,0,0,.22);
  display:grid;place-items:center;padding:10px;z-index:2;
}
.card__logo img{max-width:100%;max-height:100%;object-fit:contain}
.card__body{padding:20px}
.tag{
  display:inline-flex;max-width:100%;padding:7px 10px;border-radius:999px;
  background:rgba(198,154,58,.18);color:var(--gold-2);
  font-size:.76rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.card h3{margin:14px 0 8px;font-size:1.36rem;letter-spacing:-.03em;color:var(--cream)}
.card h3 a{text-decoration:none}
.card p{margin:0 0 18px;color:var(--muted)}
.card__link{color:var(--gold-2);font-weight:900;text-decoration-color:var(--gold);text-underline-offset:4px}
.empty-category,.empty-state{
  border:1px dashed rgba(255,255,255,.18);border-radius:var(--radius);padding:24px;
  color:var(--muted);background:rgba(255,255,255,.055);
}
.empty-state{max-width:1220px;margin:28px auto}
.footer{
  position:relative;z-index:1;max-width:1220px;margin:52px auto 0;padding:30px 18px 44px;
  display:flex;justify-content:space-between;gap:16px;color:var(--muted);
}
.footer strong{color:var(--gold-2)}
[hidden]{display:none!important}
@media (max-width:980px){
  .category-nav{grid-template-columns:repeat(3,minmax(0,1fr));position:relative}
  .cards,.cards--featured{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-heading{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero{padding:12px}
  .hero__inner{min-height:62vh;padding:96px 20px 28px;border-radius:24px}
  .brand{top:18px;left:18px;right:18px}
  h1{font-size:clamp(2.15rem,12vw,3.7rem);letter-spacing:-.05em}
  .lead{font-size:1rem}
  .search-panel{padding:12px;border-radius:18px}
  .search-row{display:grid;grid-template-columns:1fr}
  .search-row button,.btn{width:100%}
  .geo-panel{grid-template-columns:1fr;align-items:stretch}
  .geo-panel button{width:100%}
  
.geo-panel button:disabled{
  cursor:not-allowed;
  opacity:.55;
  filter:saturate(.65);
}
.geo-panel button.is-active{
  box-shadow:0 0 0 2px rgba(244,211,138,.28), 0 12px 30px rgba(198,154,58,.22);
}

#geoStatus{font-size:.8rem}
  
.geo-panel{
  display:grid;
  grid-template-columns:auto auto minmax(180px,240px) 1fr;
  gap:10px;
  align-items:center;
  max-width:760px;
  margin:14px 0 0;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(7,16,25,.42);
  backdrop-filter:blur(14px);
}
.geo-panel button,
.geo-panel select{
  min-height:44px;
  border:0;
  border-radius:999px;
  font-family:var(--font-primary);
  font-weight:850;
}
.geo-panel button{
  cursor:pointer;
  padding:0 16px;
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
}
.geo-panel label{
  display:grid;
  gap:4px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.geo-panel select{
  width:100%;
  padding:0 14px;
  color:var(--cream);
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
}
.geo-panel select:disabled{
  opacity:.5;
}

.geo-panel button:disabled{
  cursor:not-allowed;
  opacity:.55;
  filter:saturate(.65);
}
.geo-panel button.is-active{
  box-shadow:0 0 0 2px rgba(244,211,138,.28), 0 12px 30px rgba(198,154,58,.22);
}

#geoStatus{
  color:rgba(247,244,236,.78);
  font-size:.86rem;
  font-weight:650;
}
.distance-badge{
  display:inline-flex;
  margin-left:6px;
  padding:7px 10px;
  border-radius:999px;
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  font-size:.76rem;
  font-weight:900;
  white-space:nowrap;
}
.distance-badge[hidden]{display:none!important}

.hero__actions{display:grid;grid-template-columns:1fr}
  .stats strong{font-size:2.35rem}
  .category-nav{grid-template-columns:1fr;padding-left:14px;padding-right:14px}
  .cards,.cards--featured{grid-template-columns:1fr}
  .cards--featured .card__media,.card__media{height:220px}
  .category-section{padding:42px 14px 8px}
  .section-heading h2{font-size:2.2rem}
  .footer{display:block;padding-left:14px;padding-right:14px}
  .footer span{display:block;margin-top:6px}
}

@media (max-width: 760px){
  .geo-panel{
    grid-template-columns:1fr !important;
  }
  .geo-panel button,
  .geo-panel label,
  #geoStatus{
    width:100%;
  }
}


/* Mapa interativo do Guia */
.map-section{
  max-width:1220px;
  margin:34px auto 12px;
  padding:0 18px;
}
.map-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:32px;
  box-shadow:var(--shadow);
  background:rgba(255,255,255,.06);
}
.guide-map{
  width:100%;
  height:520px;
  min-height:360px;
  background:#0b1722;
}
.map-pin-wrap{
  background:transparent;
  border:0;
}
.map-pin{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:50% 50% 50% 8px;
  transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  border:2px solid rgba(255,255,255,.92);
  box-shadow:0 10px 22px rgba(0,0,0,.32);
}
.map-pin span{
  transform:rotate(45deg);
  font-size:20px;
  line-height:1;
}
.map-pin--premium{
  background:linear-gradient(135deg,#f2c14e,#fff1b8);
}
.map-pin--plus{
  background:linear-gradient(135deg,#34b38f,#b9f6df);
}
.leaflet-popup-content-wrapper{
  border-radius:18px;
  overflow:hidden;
  background:#071019;
  color:var(--cream);
  box-shadow:0 18px 44px rgba(0,0,0,.38);
}
.leaflet-popup-content{
  margin:0;
  width:260px!important;
}
.leaflet-popup-tip{
  background:#071019;
}
.map-popup__image{
  width:100%;
  height:118px;
  object-fit:cover;
  display:block;
}
.map-popup__body{
  padding:14px;
}
.map-popup__top{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
}
.map-popup__top small{
  color:var(--muted);
  font-weight:800;
}
.map-popup__badge{
  padding:4px 7px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#071019;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}
.map-popup strong{
  display:block;
  font-size:1.05rem;
  line-height:1.18;
  margin-bottom:7px;
}
.map-popup p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.88rem;
}
.map-popup a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  font-weight:900;
  text-decoration:none;
}
.category-nav__map{
  background:linear-gradient(135deg,rgba(198,154,58,.22),rgba(244,211,138,.12))!important;
  border-color:rgba(244,211,138,.34)!important;
}
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9999;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#071019;
  font-size:1.35rem;
  font-weight:900;
  box-shadow:0 16px 36px rgba(0,0,0,.32);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
@media (max-width:640px){
  .map-section{padding:0 14px}
  .guide-map{height:430px}
  .leaflet-popup-content{width:230px!important}
  .back-to-top{
    right:16px;
    bottom:16px;
    width:48px;
    height:48px;
  }
}

.map-error{
  min-height:360px;
  display:grid;
  place-items:center;
  padding:28px;
  color:var(--cream);
  text-align:center;
  font-weight:800;
}


/* Correção Leaflet: evita quadros vazios quando há CSS global ou tile lento */
.leaflet-container{
  background:#dbe8ee !important;
}
.leaflet-container img.leaflet-tile{
  max-width:none !important;
  max-height:none !important;
  width:256px !important;
  height:256px !important;
  opacity:1 !important;
}
.leaflet-tile-pane{
  will-change:transform;
}

/* Ajuste Leaflet: impede que estilos globais de imagem interfiram nos tiles */
.guide-map.leaflet-container{
  width:100% !important;
  height:520px !important;
  min-height:360px !important;
}
.guide-map .leaflet-tile,
.guide-map .leaflet-marker-icon,
.guide-map .leaflet-marker-shadow{
  max-width:none !important;
  max-height:none !important;
  object-fit:initial !important;
}


/* Leaflet fallback CSS local
   Mantém o mapa correto mesmo se o CSS externo do Leaflet não carregar. */
.leaflet-container{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  height:100% !important;
  outline:0;
  background:#d7e5eb;
  font-family:inherit;
  touch-action:pan-x pan-y;
}
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer{
  position:absolute !important;
  left:0;
  top:0;
}
.leaflet-tile{
  filter:inherit;
  visibility:inherit;
  border:0 !important;
}
.leaflet-tile-container{
  pointer-events:none;
}
.leaflet-container img.leaflet-tile{
  max-width:none !important;
  max-height:none !important;
  width:256px !important;
  height:256px !important;
  display:block !important;
  opacity:1 !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-pane > svg path{
  max-width:none !important;
}
.leaflet-control{
  position:relative;
  z-index:800;
  pointer-events:auto;
}
.leaflet-top,
.leaflet-bottom{
  position:absolute;
  z-index:1000;
  pointer-events:none;
}
.leaflet-top{top:0;}
.leaflet-right{right:0;}
.leaflet-bottom{bottom:0;}
.leaflet-left{left:0;}
.leaflet-control{
  float:left;
  clear:both;
}
.leaflet-right .leaflet-control{
  float:right;
}
.leaflet-top .leaflet-control{
  margin-top:10px;
}
.leaflet-bottom .leaflet-control{
  margin-bottom:10px;
}
.leaflet-left .leaflet-control{
  margin-left:10px;
}
.leaflet-right .leaflet-control{
  margin-right:10px;
}
.leaflet-control-zoom a{
  display:block;
  width:30px;
  height:30px;
  line-height:30px;
  text-align:center;
  text-decoration:none;
  background:#fff;
  color:#111;
  border-bottom:1px solid #ccc;
  font-weight:700;
}
.leaflet-control-zoom{
  border:2px solid rgba(0,0,0,.2);
  border-radius:4px;
  overflow:hidden;
}
.leaflet-popup{
  position:absolute;
  text-align:center;
  margin-bottom:20px;
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{
  box-shadow:0 3px 14px rgba(0,0,0,.4);
}
.leaflet-popup-content-wrapper{
  padding:1px;
  text-align:left;
}
.leaflet-popup-content{
  line-height:1.4;
}
.leaflet-popup-tip-container{
  width:40px;
  height:20px;
  position:absolute;
  left:50%;
  margin-left:-20px;
  overflow:hidden;
  pointer-events:none;
}
.leaflet-popup-tip{
  width:17px;
  height:17px;
  padding:1px;
  margin:-10px auto 0;
  transform:rotate(45deg);
}
.leaflet-popup-close-button{
  position:absolute;
  top:0;
  right:0;
  padding:4px 4px 0 0;
  border:0;
  text-align:center;
  width:18px;
  height:14px;
  font:16px/14px Tahoma,Verdana,sans-serif;
  color:#c3c3c3;
  text-decoration:none;
  font-weight:bold;
  background:transparent;
}
.leaflet-interactive{
  cursor:pointer;
}
.leaflet-grab{
  cursor:grab;
}
.leaflet-dragging .leaflet-grab{
  cursor:move;
}


/* Minha Pipa — utilidades e favoritos do visitante */
.my-pipa-section{
  max-width:1220px;
  margin:10px auto 0;
  padding:34px 18px 18px;
}

.my-pipa-section{
  position:relative;
}

.my-pipa-section::before{
  content:"";
  position:absolute;
  inset:0 18px;
  border:1px solid rgba(244,211,138,.22);
  border-radius:34px;
  background:
    radial-gradient(circle at 8% 0%, rgba(244,211,138,.17), transparent 22rem),
    radial-gradient(circle at 100% 12%, rgba(23,107,82,.20), transparent 24rem),
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
  box-shadow:0 22px 58px rgba(0,0,0,.30);
  z-index:-1;
}

.section-heading--my-pipa{
  padding:6px 18px 0;
}

.my-pipa-utilities{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:0 18px;
}

.utility-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  padding:20px;
  border:1px solid rgba(244,211,138,.22);
  border-radius:24px;
  color:var(--cream);
  text-decoration:none;
  overflow:hidden;
  position:relative;
  background:linear-gradient(135deg, rgba(11,45,77,.78), rgba(23,107,82,.54));
  box-shadow:0 16px 42px rgba(0,0,0,.22);
  transition:transform .28s ease,border-color .28s ease;
}

.utility-card:hover{
  transform:translateY(-3px);
  border-color:rgba(244,211,138,.48);
}

.utility-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(7,16,25,.42));
  pointer-events:none;
}

.utility-card > *{
  position:relative;
  z-index:1;
}

.utility-card__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  font-size:1.45rem;
}

.utility-card strong{
  font-size:1.3rem;
  line-height:1;
  color:#fff;
}

.utility-card small{
  color:rgba(247,244,236,.72);
  font-weight:650;
}

.my-pipa-favorites{
  margin:18px;
  padding:18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:26px;
  background:rgba(7,16,25,.28);
}

.my-pipa-favorites__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.my-pipa-favorites__head .eyebrow{
  margin:0 0 6px;
}

.my-pipa-favorites__head h3{
  margin:0;
  color:var(--cream);
  font-size:clamp(1.6rem,3vw,2.6rem);
  line-height:.95;
  letter-spacing:-.04em;
}

.clear-favorites{
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:var(--cream);
  background:rgba(255,255,255,.08);
  cursor:pointer;
  font-family:var(--font-primary);
  font-weight:900;
}

.cards--my-pipa{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.my-pipa-empty{
  margin:0;
  padding:18px;
  border:1px dashed rgba(255,255,255,.20);
  border-radius:20px;
  color:rgba(247,244,236,.72);
  background:rgba(255,255,255,.055);
}

.favorite-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 12px;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(244,211,138,.28);
  border-radius:999px;
  color:var(--gold-2);
  background:rgba(198,154,58,.12);
  cursor:pointer;
  font-family:var(--font-primary);
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.favorite-toggle span{
  font-size:1rem;
  line-height:1;
}

.favorite-toggle.is-active{
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  border-color:rgba(244,211,138,.60);
}

.card--favorite-copy{
  animation:favoriteIn .24s ease both;
}

@keyframes favoriteIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:980px){
  .my-pipa-utilities,
  .cards--my-pipa{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .my-pipa-section{
    padding:24px 12px 12px;
  }
  .my-pipa-section::before{
    inset:0 12px;
    border-radius:26px;
  }
  .section-heading--my-pipa,
  .my-pipa-utilities{
    padding-left:12px;
    padding-right:12px;
  }
  .my-pipa-utilities,
  .cards--my-pipa{
    grid-template-columns:1fr;
  }
  .my-pipa-favorites{
    margin:14px 12px 12px;
    padding:14px;
  }
  .my-pipa-favorites__head{
    align-items:start;
    flex-direction:column;
  }
}


.favorite-btn,.card-favorite,.landing-card-favorite{
position:absolute!important;
top:12px!important;
right:12px!important;
z-index:10;
}


/* Favoritos flutuantes — Minha Pipa v3 */
.card{
  position:relative;
}

.card__media{
  position:relative;
  display:block;
}

.favorite-toggle.favorite-toggle--floating{
  position:absolute;
  top:14px;
  right:14px;
  z-index:8;
  width:44px;
  height:44px;
  min-height:44px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  color:#0b2d4d;
  background:rgba(255,250,242,.94);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, color .18s ease;
}

.favorite-toggle.favorite-toggle--floating:hover{
  transform:scale(1.06);
}

.favorite-toggle.favorite-toggle--floating span{
  display:block;
  font-size:25px;
  line-height:1;
  transform:translateY(-1px);
}

.favorite-toggle.favorite-toggle--floating strong{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.favorite-toggle.favorite-toggle--floating.is-active{
  color:#fffaf2;
  background:linear-gradient(135deg, var(--gold), var(--green));
  border-color:rgba(255,255,255,.72);
}

.card--favorite-copy .favorite-toggle.favorite-toggle--floating{
  display:none;
}

.card__body .favorite-toggle{
  display:none!important;
}

@media (max-width:640px){
  .favorite-toggle.favorite-toggle--floating{
    top:12px;
    right:12px;
    width:40px;
    height:40px;
    min-height:40px;
  }

  .favorite-toggle.favorite-toggle--floating span{
    font-size:23px;
  }
}


/* =========================================================
   Favoritos Home — refinamento visual estilo app
========================================================= */

.card__media{
  position:relative;
  overflow:hidden;
}

.favorite-toggle.favorite-toggle--floating{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:14!important;
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:50%!important;
  color:#0b2d4d!important;
  background:rgba(255,250,242,.96)!important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.30),
    0 0 0 7px rgba(255,255,255,.05)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.favorite-toggle.favorite-toggle--floating:hover{
  transform:translateY(-1px) scale(1.05)!important;
}

.favorite-toggle.favorite-toggle--floating span{
  display:block!important;
  font-size:28px!important;
  line-height:1!important;
  transform:translateY(-1px);
}

.favorite-toggle.favorite-toggle--floating strong{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}

.favorite-toggle.favorite-toggle--floating.is-active,
.favorite-toggle.favorite-toggle--floating[aria-pressed="true"]{
  color:#fffaf2!important;
  background:linear-gradient(135deg, var(--gold), var(--green))!important;
  border-color:rgba(255,255,255,.76)!important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.32),
    0 0 0 7px rgba(198,154,58,.12)!important;
}

.card .tag{
  margin-right:0;
}

.card .distance-badge{
  margin-left:6px;
}


/* Destaques do Guia — exibir somente Premium */
.cards--featured .card:not(.card--premium){
  display:none !important;
}


/* Meu Guia — evolução da antiga Minha Pipa */
.category-nav__mine span{
  font-weight:950;
}

.my-guide-today{
  margin:0 18px 18px;
  padding:20px;
  border:1px solid rgba(244,211,138,.24);
  border-radius:28px;
  color:var(--cream);
  background:
    radial-gradient(circle at 0% 0%, rgba(244,211,138,.20), transparent 22rem),
    radial-gradient(circle at 100% 0%, rgba(23,107,82,.24), transparent 24rem),
    linear-gradient(135deg, rgba(7,16,25,.62), rgba(11,45,77,.50));
  box-shadow:0 18px 46px rgba(0,0,0,.22);
}

.my-guide-today__head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}

.my-guide-today__head .eyebrow{
  margin:0 0 5px;
}

.my-guide-today__head h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.35rem, 3vw, 2.35rem);
  line-height:.98;
  letter-spacing:-.04em;
}

.today-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.today-item{
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  color:#fff;
  background:rgba(255,255,255,.07);
  text-decoration:none;
}

.today-item small{
  color:rgba(247,244,236,.70);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.today-item strong{
  font-size:clamp(1.55rem, 4vw, 2.3rem);
  line-height:1;
}

.today-item--link{
  background:linear-gradient(135deg, rgba(198,154,58,.26), rgba(23,107,82,.24));
}

.today-note{
  margin:12px 0 0;
  color:rgba(247,244,236,.68);
  font-size:.86rem;
}

.my-pipa-utilities{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.utility-card--benefits{
  background:
    radial-gradient(circle at 12% 12%, rgba(244,211,138,.30), transparent 18rem),
    linear-gradient(135deg, rgba(198,154,58,.28), rgba(11,45,77,.72));
}

.my-guide-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:18px;
}

.my-guide-panel{
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  color:var(--cream);
  background:rgba(7,16,25,.30);
}

.my-guide-panel .eyebrow{
  margin:0 0 8px;
}

.my-guide-panel h3{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.5rem, 3vw, 2.4rem);
  line-height:.98;
  letter-spacing:-.04em;
}

.my-guide-panel p{
  color:rgba(247,244,236,.72);
}

.phone-list{
  display:grid;
  gap:10px;
}

.phone-list a{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  color:var(--cream);
  text-decoration:none;
  background:rgba(255,255,255,.07);
}

.phone-list span{
  color:rgba(247,244,236,.76);
  font-weight:800;
}

.phone-list strong{
  color:var(--gold-2);
  font-size:1.35rem;
}

.plus-preview{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:0 12px;
  border:1px solid rgba(244,211,138,.28);
  border-radius:999px;
  color:#071019;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

@media (max-width:980px){
  .my-pipa-utilities{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .my-guide-info-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .my-guide-today{
    margin:0 12px 14px;
    padding:16px;
    border-radius:24px;
  }

  .my-guide-today__head{
    align-items:flex-start;
  }

  .today-grid{
    grid-template-columns:1fr;
  }

  .my-pipa-utilities{
    grid-template-columns:1fr;
  }

  .my-guide-info-grid{
    margin:14px 12px;
  }
}


/* Meu Guia v2 — dashboard compacto e visual */
.my-pipa-section{
  margin-top:14px;
}

.my-pipa-section::before{
  background:
    radial-gradient(circle at 0% 0%, rgba(244,211,138,.22), transparent 22rem),
    radial-gradient(circle at 100% 8%, rgba(20,172,132,.22), transparent 24rem),
    linear-gradient(135deg, rgba(21,34,52,.96), rgba(9,59,68,.90) 52%, rgba(7,18,30,.96));
  border-color:rgba(244,211,138,.32);
  box-shadow:
    0 24px 70px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.section-heading--my-pipa{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px, .72fr);
  align-items:end;
  gap:22px;
  padding:10px 18px 0;
}

.section-heading--my-pipa h2{
  color:#fffaf2;
}

.section-heading--my-pipa p:last-child{
  max-width:34rem;
  justify-self:end;
  color:rgba(247,244,236,.76);
  font-weight:750;
}

.my-guide-dashboard{
  margin:18px;
  padding:18px;
  border:1px solid rgba(244,211,138,.36);
  border-radius:30px;
  color:#fffaf2;
  background:
    radial-gradient(circle at 14% 12%, rgba(244,211,138,.25), transparent 18rem),
    radial-gradient(circle at 96% 0%, rgba(46,204,164,.18), transparent 20rem),
    linear-gradient(135deg, rgba(3,24,41,.94), rgba(11,74,84,.88));
  box-shadow:
    0 18px 44px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.09);
}

.my-guide-dashboard__head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.my-guide-dashboard__head .eyebrow{
  margin:0 0 4px;
  color:#f4d38a;
}

.my-guide-dashboard__head h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.35rem, 2.6vw, 2.2rem);
  line-height:1;
  letter-spacing:-.045em;
}

.dashboard-orb{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  border:1px solid rgba(244,211,138,.45);
  background:linear-gradient(135deg, rgba(244,211,138,.28), rgba(23,107,82,.30));
  box-shadow:0 14px 32px rgba(0,0,0,.20);
  font-size:1.55rem;
}

.guide-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.guide-metric{
  min-height:98px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.guide-metric__icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.11);
  font-size:1.35rem;
}

.guide-metric small,
.utility-card__preview em{
  display:block;
  color:rgba(247,244,236,.68);
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-style:normal;
}

.guide-metric strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:clamp(1.45rem, 3vw, 2.08rem);
  line-height:1;
  letter-spacing:-.035em;
}

.guide-metric em{
  display:block;
  margin-top:4px;
  color:#f4d38a;
  font-size:.84rem;
  font-weight:850;
  font-style:normal;
}

.guide-metric--tide{
  background:linear-gradient(135deg, rgba(36,123,160,.28), rgba(23,107,82,.22));
}

.today-note{
  margin-top:12px;
  color:rgba(247,244,236,.66);
}

.utility-card__preview{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin-top:4px;
  padding:7px 10px;
  border:1px solid rgba(244,211,138,.26);
  border-radius:999px;
  color:#fffaf2;
  background:rgba(7,16,25,.24);
}

.utility-card__preview b{
  color:#f4d38a;
  font-size:1.05rem;
  line-height:1;
}

.utility-card--tide{
  background:
    radial-gradient(circle at 12% 16%, rgba(46,204,164,.28), transparent 15rem),
    linear-gradient(135deg, rgba(11,45,77,.82), rgba(36,123,160,.46));
}

@media (max-width:980px){
  .section-heading--my-pipa{
    grid-template-columns:1fr;
    align-items:start;
  }
  .section-heading--my-pipa p:last-child{
    justify-self:start;
  }
}

@media (max-width:640px){
  .my-pipa-section{
    padding-top:18px;
  }

  .section-heading--my-pipa{
    padding:0 12px;
    gap:10px;
  }

  .section-heading--my-pipa h2{
    font-size:clamp(2.5rem, 15vw, 4.6rem);
    line-height:.88;
  }

  .section-heading--my-pipa p:last-child{
    font-size:.95rem;
    line-height:1.35;
  }

  .my-guide-dashboard{
    margin:12px;
    padding:13px;
    border-radius:24px;
  }

  .my-guide-dashboard__head{
    gap:10px;
    margin-bottom:10px;
  }

  .dashboard-orb{
    width:44px;
    height:44px;
    font-size:1.2rem;
  }

  .my-guide-dashboard__head h3{
    font-size:1.12rem;
    line-height:1.08;
    letter-spacing:-.025em;
  }

  .guide-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }

  .guide-metric{
    min-height:92px;
    display:grid;
    justify-items:center;
    text-align:center;
    gap:6px;
    padding:9px 6px;
    border-radius:18px;
  }

  .guide-metric__icon{
    width:34px;
    height:34px;
    font-size:1.05rem;
  }

  .guide-metric small{
    font-size:.58rem;
    letter-spacing:.045em;
  }

  .guide-metric strong{
    font-size:1.22rem;
  }

  .guide-metric em{
    font-size:.62rem;
    line-height:1.1;
  }

  .today-note{
    margin-top:9px;
    font-size:.72rem;
    line-height:1.25;
  }

  .utility-card__preview{
    width:100%;
    justify-content:space-between;
    border-radius:16px;
  }
}

@media (max-width:380px){
  .guide-metric{
    min-height:84px;
    padding:8px 4px;
  }

  .guide-metric__icon{
    width:30px;
    height:30px;
  }

  .guide-metric strong{
    font-size:1.05rem;
  }
}


/* Meu Guia v3 — layout final em dashboard compacto */
.my-guide-section{
  position:relative;
  max-width:1220px;
  margin:16px auto 0;
  padding:28px 18px 20px;
  border:1px solid rgba(244,211,138,.30);
  border-radius:34px;
  background:
    radial-gradient(circle at 3% 0%, rgba(244,211,138,.20), transparent 22rem),
    radial-gradient(circle at 100% 6%, rgba(20,172,132,.20), transparent 24rem),
    linear-gradient(135deg, rgba(22,34,50,.98), rgba(8,55,63,.94) 52%, rgba(7,18,30,.98));
  box-shadow:0 28px 74px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}

.my-guide-section::before{
  display:none!important;
}

.my-guide-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.74fr);
  align-items:end;
  gap:22px;
  margin-bottom:16px;
}

.my-guide-hero .eyebrow{
  margin:0 0 8px;
  color:#f4d38a;
}

.my-guide-hero h2{
  margin:0;
  color:#fffaf2;
  font-size:clamp(3.2rem,7vw,5.2rem);
  line-height:.86;
  letter-spacing:-.07em;
}

.my-guide-hero > p{
  margin:0;
  max-width:35rem;
  justify-self:end;
  color:rgba(247,244,236,.76);
  font-size:1.02rem;
  line-height:1.42;
  font-weight:750;
}

.my-guide-today-panel{
  padding:18px;
  border:1px solid rgba(244,211,138,.32);
  border-radius:28px;
  color:#fffaf2;
  background:
    radial-gradient(circle at 18% 8%, rgba(244,211,138,.23), transparent 18rem),
    radial-gradient(circle at 92% 0%, rgba(46,204,164,.16), transparent 18rem),
    linear-gradient(135deg, rgba(4,24,42,.96), rgba(11,74,84,.86));
  box-shadow:0 18px 46px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08);
}

.my-guide-today-panel__intro{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.my-guide-today-panel__intro .eyebrow{
  margin:0 0 4px;
  color:#f4d38a;
}

.my-guide-today-panel__intro h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.28rem,2.6vw,2.05rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.my-guide-today-panel__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  border:1px solid rgba(244,211,138,.44);
  background:linear-gradient(135deg, rgba(244,211,138,.28), rgba(23,107,82,.30));
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  font-size:1.45rem;
}

.today-metric-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.today-metric{
  min-height:108px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:
    "icon label"
    "icon value"
    "icon info";
  align-items:center;
  column-gap:13px;
  padding:15px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.today-metric__icon{
  grid-area:icon;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.11);
  font-size:1.28rem;
}

.today-metric small{
  grid-area:label;
  display:block;
  color:rgba(247,244,236,.70);
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.today-metric strong{
  grid-area:value;
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:clamp(1.55rem,3vw,2.14rem);
  line-height:.95;
  letter-spacing:-.04em;
}

.today-metric em{
  grid-area:info;
  display:block;
  margin-top:3px;
  color:#f4d38a;
  font-size:1.05rem;
  line-height:1.12;
  font-style:normal;
  font-weight:850;
}

.today-metric__icon--sun{
  background:linear-gradient(135deg, rgba(244,211,138,.24), rgba(244,211,138,.08));
  border-color:rgba(244,211,138,.50);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 10px 22px rgba(244,211,138,.14);
}

.today-sun-time{
  display:inline-flex!important;
  align-items:baseline;
  justify-content:flex-start;
  gap:.34em;
  white-space:nowrap;
}

.today-sun-time__label{
  color:rgba(247,244,236,.78);
  font-size:1.68em;
  font-weight:950;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.today-metric--sun em.today-sun-time{
  color:#f4d38a;
}

.today-metric--tide{
  background:linear-gradient(135deg, rgba(36,123,160,.28), rgba(23,107,82,.22));
}

.today-metric--tide strong{
  font-size:clamp(1.0rem,3vw,1.02rem);
}

.today-metric--tide em{
  color:rgba(247,244,236,.78);
  font-size:.78rem;
  letter-spacing:-.015em;
}

.today-note{
  margin:12px 0 0;
  color:rgba(247,244,236,.66);
  font-size:.88rem;
}

.my-guide-tools{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.my-guide-tool{
  min-height:136px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  gap:10px;
  padding:16px;
  border:1px solid rgba(244,211,138,.22);
  border-radius:22px;
  color:#fffaf2;
  text-decoration:none;
  background:
    radial-gradient(circle at 8% 0%, rgba(244,211,138,.14), transparent 10rem),
    linear-gradient(135deg, rgba(11,45,77,.74), rgba(23,107,82,.50));
  box-shadow:0 14px 36px rgba(0,0,0,.22);
  transition:transform .22s ease,border-color .22s ease;
}

.my-guide-tool:hover{
  transform:translateY(-2px);
  border-color:rgba(244,211,138,.48);
}

.my-guide-tool__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  font-size:1.25rem;
}

.my-guide-tool__body{
  grid-column:1/-1;
  align-self:end;
}

.my-guide-tool strong{
  display:block;
  color:#fff;
  font-size:1.05rem;
  line-height:1.05;
}

.my-guide-tool small{
  display:block;
  margin-top:5px;
  color:rgba(247,244,236,.70);
  font-size:.95rem;
  line-height:1.25;
  font-weight:700;
}

.my-guide-tool small b,
.my-guide-tool small em{
  color:#f4d38a;
  font-style:normal;
}

.my-guide-tool__arrow{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#f4d38a;
  font-weight:950;
}

.my-guide-tool--tide{
  background:
    radial-gradient(circle at 12% 16%, rgba(46,204,164,.24), transparent 12rem),
    linear-gradient(135deg, rgba(11,45,77,.82), rgba(36,123,160,.46));
}

.my-guide-support-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}

.my-guide-support-card{
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  color:#fffaf2;
  background:rgba(7,16,25,.30);
}

.my-guide-support-card .eyebrow{
  margin:0 0 8px;
  color:#f4d38a;
}

.my-guide-support-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:1.42rem;
  line-height:1;
  letter-spacing:-.035em;
}

.my-guide-support-card p{
  margin:0 0 12px;
  color:rgba(247,244,236,.74);
  line-height:1.45;
}

.phone-list--compact{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.phone-list--compact a{
  min-height:62px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  color:#fffaf2;
  text-decoration:none;
  background:rgba(255,255,255,.07);
}

.phone-list--compact span{
  color:rgba(247,244,236,.74);
  font-size:.72rem;
  font-weight:850;
  line-height:1.05;
}

.phone-list--compact strong{
  color:#f4d38a;
  font-size:1.28rem;
  line-height:1;
}

.my-guide-section .my-pipa-favorites{
  margin:16px 0 0;
  background:rgba(7,16,25,.28);
}

@media (max-width:1100px){
  .my-guide-tools{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:860px){
  .my-guide-hero{
    grid-template-columns:1fr;
    align-items:start;
    gap:10px;
  }

  .my-guide-hero > p{
    justify-self:start;
  }

  .today-metric-grid{
    grid-template-columns:1fr;
  }

  .my-guide-tools{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .my-guide-support-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .my-guide-section{
    margin-top:12px;
    padding:16px 12px 14px;
    border-radius:28px;
  }

  .my-guide-hero{
    margin-bottom:12px;
  }

  .my-guide-hero .eyebrow{
    font-size:.68rem;
  }

  .my-guide-hero h2{
    font-size:clamp(2.55rem,15vw,4.1rem);
    line-height:.86;
  }

  .my-guide-hero > p{
    font-size:.92rem;
    line-height:1.32;
  }

  .my-guide-today-panel{
    padding:12px;
    border-radius:22px;
  }

  .my-guide-today-panel__intro{
    gap:9px;
    margin-bottom:10px;
  }

  .my-guide-today-panel__icon{
    width:42px;
    height:42px;
    font-size:1.15rem;
  }

  .my-guide-today-panel__intro h3{
    font-size:1.05rem;
    line-height:1.08;
  }

  .today-metric-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }

  .today-metric{
    min-height:92px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:
      "icon"
      "label"
      "value"
      "info";
    justify-items:center;
    text-align:center;
    row-gap:4px;
    padding:8px 4px;
    border-radius:17px;
  }

  .today-metric__icon{
    width:30px;
    height:30px;
    font-size:1rem;
  }

  .today-metric small{
    font-size:.55rem;
    letter-spacing:.04em;
  }

  .today-metric strong{
    font-size:1.06rem;
  }

  .today-metric em{
    max-width:100%;
    font-size:1.05rem;
    line-height:1.05;
  }

  .today-note{
    margin-top:8px;
    font-size:.69rem;
    line-height:1.25;
  }

  .my-guide-tools{
    grid-template-columns:1fr;
    gap:9px;
    margin-top:10px;
  }

  .my-guide-tool{
    min-height:auto;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:18px;
  }

  .my-guide-tool__icon{
    width:36px;
    height:36px;
    font-size:1.05rem;
  }

  .my-guide-tool__body{
    grid-column:auto;
    align-self:center;
  }

  .my-guide-tool strong{
    font-size:.98rem;
  }

  .my-guide-tool small{
    margin-top:3px;
    font-size:.72rem;
    line-height:1.18;
  }

  .my-guide-tool__arrow{
    width:28px;
    height:28px;
  }

  .my-guide-support-grid{
    margin-top:10px;
    gap:10px;
  }

  .my-guide-support-card{
    padding:14px;
    border-radius:20px;
  }

  .my-guide-support-card h3{
    font-size:1.12rem;
  }

  .phone-list--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .phone-list--compact a{
    min-height:54px;
    padding:8px;
  }

  .my-guide-section .my-pipa-favorites{
    margin-top:12px;
    padding:14px;
    border-radius:22px;
  }
}

@media (max-width:380px){
  .today-metric{
    min-height:86px;
  }

  .today-metric__icon{
    width:28px;
    height:28px;
  }

  .today-metric strong{
    font-size:.98rem;
  }

  .today-metric small{
    font-size:.50rem;
  }

  .today-metric em{
    font-size:1.05rem;
  }
}


/* Meu Guia v4 — botão principal no menu e maré antecipada */
.category-nav__guide{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fffaf2!important;
  border-color:rgba(244,211,138,.42)!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(244,211,138,.28), transparent 8rem),
    radial-gradient(circle at 100% 15%, rgba(20,172,132,.26), transparent 9rem),
    linear-gradient(135deg, rgba(10,54,70,.96), rgba(22,92,82,.88))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.10)!important;
}

.category-nav__guide::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 48%);
  pointer-events:none;
  z-index:-1;
}

.category-nav__guide span{
  color:#fffaf2!important;
  font-weight:1000!important;
}

.category-nav__guide small{
  background:linear-gradient(135deg,#f4d38a,#c69a3a)!important;
  color:#071019!important;
  box-shadow:0 8px 18px rgba(198,154,58,.25);
}

.category-nav__guide:hover,
.category-nav__guide.active{
  transform:translateY(-2px);
  border-color:rgba(244,211,138,.70)!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(244,211,138,.38), transparent 8rem),
    radial-gradient(circle at 100% 15%, rgba(20,172,132,.36), transparent 9rem),
    linear-gradient(135deg, rgba(10,64,82,.98), rgba(25,112,96,.92))!important;
}

.today-metric--tide strong:not(:empty),
.my-guide-tool--tide b:not(:empty){
  color:#f4d38a;
}

.today-metric--tide em,
.my-guide-tool--tide em{
  color:#bfeee0!important;
}

@media (max-width:640px){
  .category-nav__guide{
    order:-1;
  }
}


/* Meu Guia v5 — CTA do hero + categorias compactas no mobile */
.btn--guide{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(244,211,138,.42);
  color:#fffaf2;
  background:
    radial-gradient(circle at 12% 0%, rgba(244,211,138,.30), transparent 7rem),
    radial-gradient(circle at 100% 15%, rgba(20,172,132,.32), transparent 8rem),
    linear-gradient(135deg, rgba(8,145,142,.96), rgba(18,112,91,.92));
  box-shadow:0 16px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
}
.btn--guide::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.14), transparent 52%);
  z-index:-1;
}
.btn--guide:hover{
  transform:translateY(-2px);
  border-color:rgba(244,211,138,.72);
  box-shadow:0 20px 42px rgba(8,145,142,.24), inset 0 1px 0 rgba(255,255,255,.16);
}

@media (min-width:641px){
  .hero__actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
}

@media (max-width:640px){
  .hero__actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
  }

  .category-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
    padding:10px 12px 18px;
  }

  .category-nav a{
    min-height:60px;
    padding:12px 12px;
    border-radius:16px;
    align-items:center;
    gap:8px;
  }

  .category-nav a span{
    font-size:.86rem;
    line-height:1.05;
  }

  .category-nav small{
    min-width:26px;
    height:26px;
    font-size:.72rem;
  }

  .category-nav__guide{
    order:0;
  }
}

@media (max-width:360px){
  .category-nav{
    gap:7px;
    padding-left:10px;
    padding-right:10px;
  }

  .category-nav a{
    padding:11px 9px;
  }

  .category-nav a span{
    font-size:.79rem;
  }
}


/* =========================================================
   v5.1 — correções mobile categorias + favorito sem conflito
========================================================= */

/* O selo do plano fica no lado oposto ao favorito */
.card__media .badge{
  left:14px!important;
  right:auto!important;
  top:14px!important;
  z-index:9!important;
}

/* O favorito fica livre no canto superior direito, sem cobrir Premium/Plus */
.card > .favorite-toggle.favorite-toggle--floating{
  top:14px!important;
  right:14px!important;
  z-index:16!important;
}

/* Em telas menores, mantém proporções mais discretas */
@media (max-width:760px){
  .category-nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:12px 14px 18px!important;
    align-items:stretch!important;
  }

  .category-nav a{
    width:auto!important;
    min-width:0!important;
    min-height:58px!important;
    padding:12px 12px!important;
    border-radius:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }

  .category-nav a span{
    min-width:0!important;
    font-size:.86rem!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }

  .category-nav small{
    flex:0 0 auto!important;
    min-width:26px!important;
    width:26px!important;
    height:26px!important;
    font-size:.72rem!important;
  }

  .category-nav__guide{
    grid-column:1/-1!important;
    order:-1!important;
    min-height:62px!important;
  }

  .card__media .badge{
    top:12px!important;
    left:12px!important;
    right:auto!important;
    max-width:calc(100% - 76px)!important;
  }

  .card > .favorite-toggle.favorite-toggle--floating{
    top:12px!important;
    right:12px!important;
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
}

@media (max-width:380px){
  .category-nav{
    gap:8px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .category-nav a{
    min-height:54px!important;
    padding:10px 10px!important;
  }

  .category-nav a span{
    font-size:.78rem!important;
  }

  .category-nav small{
    min-width:24px!important;
    width:24px!important;
    height:24px!important;
    font-size:.68rem!important;
  }
}


/* =========================================================
   v5.2 — Meu Guia: utilidades 2 colunas no mobile + maré real
========================================================= */

@media (max-width:640px){
  .my-guide-tools{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:10px!important;
  }

  .my-guide-tool{
    min-height:112px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:11px!important;
    border-radius:18px!important;
  }

  .my-guide-tool__icon{
    width:34px!important;
    height:34px!important;
    font-size:1rem!important;
  }

  .my-guide-tool__body{
    width:100%!important;
  }

  .my-guide-tool strong{
    font-size:.87rem!important;
    line-height:1.05!important;
  }

  .my-guide-tool small{
    margin-top:4px!important;
    font-size:.61rem!important;
    line-height:1.14!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  .my-guide-tool--tide small{
    -webkit-line-clamp:3!important;
  }

  .my-guide-tool__arrow{
    position:absolute!important;
    right:9px!important;
    top:9px!important;
    width:24px!important;
    height:24px!important;
    font-size:.78rem!important;
    opacity:.78!important;
  }
}

@media (max-width:360px){
  .my-guide-tools{
    gap:7px!important;
  }

  .my-guide-tool{
    min-height:104px!important;
    padding:10px!important;
  }

  .my-guide-tool strong{
    font-size:.80rem!important;
  }

  .my-guide-tool small{
    font-size:.57rem!important;
  }
}

.my-guide-tool--favorites .my-guide-tool__icon{
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,92,122,.28));
}
.my-guide-tool small b[hidden]{
  display:none!important;
}


/* =========================================================
   v5.4 — ajustes finais Meu Guia, marés e mobile
========================================================= */

/* Hero: dois CTAs apenas, com Meu Guia valorizado como bloco */
.hero__actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

.hero__actions .btn--guide{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border:1px solid rgba(244,211,138,.48)!important;
  border-radius:18px!important;
  color:#fffaf2!important;
  font-weight:950!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(244,211,138,.34), transparent 7rem),
    radial-gradient(circle at 100% 15%, rgba(0,196,176,.30), transparent 8rem),
    linear-gradient(135deg, rgba(0,154,151,.98), rgba(18,124,100,.94))!important;
  box-shadow:0 18px 40px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.06) inset!important;
}

/* Categorias: mobile sempre em 2 colunas, sem voltar para 1 por linha */
@media (max-width:760px){
  .category-nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:12px 14px 18px!important;
    align-items:stretch!important;
  }

  .category-nav a{
    min-width:0!important;
    width:auto!important;
    min-height:56px!important;
    padding:10px 11px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    border-radius:17px!important;
  }

  .category-nav a span{
    min-width:0!important;
    font-size:.95rem!important;
    line-height:1.05!important;
  }

  .category-nav small{
    flex:0 0 auto!important;
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    font-size:.68rem!important;
  }

  .category-nav__guide{
    grid-column:1/-1!important;
    order:-1!important;
    min-height:60px!important;
  }
}

/* Meu Guia: utilidades voltam a uma coluna, mas em formato compacto de app */
@media (max-width:640px){
  .my-guide-section{
    padding:14px 12px!important;
    border-radius:26px!important;
  }

  .my-guide-tools{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:10px!important;
  }

  .my-guide-tool{
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 22px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:10px!important;
    padding:9px 11px!important;
    border-radius:16px!important;
  }

  .my-guide-tool__icon{
    width:38px!important;
    height:38px!important;
    font-size:1.08rem!important;
  }

  .my-guide-tool__body{
    width:auto!important;
    min-width:0!important;
  }

  .my-guide-tool strong{
    font-size:.88rem!important;
    line-height:1.05!important;
  }

  .my-guide-tool small{
    margin-top:2px!important;
    font-size:.64rem!important;
    line-height:1.13!important;
    display:block!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .my-guide-tool__arrow{
    position:static!important;
    width:22px!important;
    height:22px!important;
    font-size:.9rem!important;
    opacity:.85!important;
  }

  .today-metric-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .today-metric{
    min-height:104px!important;
    padding:9px 6px!important;
    border-radius:15px!important;
  }

  .today-metric__icon{
    width:32px!important;
    height:32px!important;
    font-size:1.45rem!important;
  }

  .today-metric small{
    font-size:.58rem!important;
    line-height:1.05!important;
  }

  .today-metric strong{
    font-size:1.08rem!important;
  }

  .today-metric em{
    font-size:1.05rem;
    line-height:1.05!important;
  }

  .hero__actions{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:380px){
  .category-nav{
    gap:8px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .category-nav a{
    min-height:52px!important;
    padding:9px 9px!important;
  }

  .category-nav a span{
    font-size:.76rem!important;
  }

  .my-guide-tool{
    min-height:54px!important;
    padding:8px 10px!important;
    grid-template-columns:34px minmax(0,1fr) 20px!important;
  }

  .my-guide-tool__icon{
    width:34px!important;
    height:34px!important;
    font-size:1rem!important;
  }

  .my-guide-tool strong{
    font-size:.95rem!important;
  }

  .my-guide-tool small{
    font-size:.58rem!important;
  }
}


/* =========================================================
   Meu Guia — layout final aprovado: Hoje na Pipa + cards 2 colunas
========================================================= */

.today-metric--tide{
  text-align:center;
}

.today-metric--tide b{
  grid-area:time;
  display:block;
  margin-top:2px;
  color:#fffaf2;
  font-size:clamp(1.18rem,2.6vw,1.72rem);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:950;
}

.today-metric--tide{
  grid-template-areas:
    "icon label"
    "icon value"
    "icon info"
    "icon time";
}

.today-metric--tide strong{
  color:#f4d38a!important;
  font-size:clamp(2rem,4.1vw,3.1rem)!important;
  line-height:.92!important;
}

.today-metric--tide em{
  color:#fffaf2!important;
  font-size:clamp(1rem,2vw,1.38rem)!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase;
  letter-spacing:-.02em;
}

.my-guide-tool{
  position:relative;
}

.my-guide-tool--favorites{
  border-color:rgba(255,92,122,.42)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,92,122,.20), transparent 10rem),
    linear-gradient(135deg, rgba(11,45,77,.74), rgba(63,32,37,.62))!important;
}

.my-guide-tool--phones{
  border-color:rgba(255,111,93,.30)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,111,93,.18), transparent 10rem),
    linear-gradient(135deg, rgba(11,45,77,.68), rgba(80,38,34,.56))!important;
}

.my-guide-tool--benefits{
  border-color:rgba(244,211,138,.34)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(244,211,138,.20), transparent 12rem),
    linear-gradient(135deg, rgba(11,45,77,.70), rgba(87,75,31,.46))!important;
}

.my-guide-tool__badge{
  position:absolute;
  top:14px;
  right:54px;
  min-width:30px;
  height:30px;
  padding:0 8px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:#d9353f;
  font-size:.98rem;
  font-weight:950;
  box-shadow:0 10px 22px rgba(0,0,0,.24);
}

.favorites-report{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.12);
}

.favorites-report span{
  display:grid;
  gap:2px;
  justify-items:center;
  color:rgba(247,244,236,.82);
  font-size:.72rem;
  line-height:1.08;
  text-align:center;
}

.favorites-report span + span{
  border-left:1px solid rgba(255,255,255,.14);
}

.favorites-report b{
  color:#f4d38a;
  font-size:1.18rem;
  line-height:1;
}

@media (max-width:640px){
  .my-guide-hero > p{
    font-size:1.05rem!important;
    line-height:1.22!important;
  }

  .my-guide-today-panel__intro .eyebrow{
    font-size:.82rem!important;
    letter-spacing:.18em!important;
  }

  .my-guide-today-panel__intro h3{
    font-size:1.02rem!important;
    line-height:1.08!important;
  }

  .today-metric--tide{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "icon"
      "label"
      "value"
      "info"
      "time"!important;
    justify-items:center!important;
    text-align:center!important;
  }

  .today-metric--tide strong{
    font-size:1.56rem!important;
  }

  .today-metric--tide em{
    margin-top:3px!important;
    font-size:.82rem!important;
  }

  .today-metric--tide b{
    margin-top:2px!important;
    font-size:1.24rem!important;
  }

  .my-guide-tools{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:14px!important;
  }

  .my-guide-tool{
    min-height:132px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:13px!important;
    border-radius:19px!important;
  }

  .my-guide-tool__icon{
    width:42px!important;
    height:42px!important;
    font-size:1.25rem!important;
  }

  .my-guide-tool__arrow{
    position:absolute!important;
    top:14px!important;
    right:13px!important;
    width:30px!important;
    height:30px!important;
  }

  .my-guide-tool strong{
    font-size:1.02rem!important;
    line-height:1.04!important;
  }

  .my-guide-tool small{
    white-space:normal!important;
    display:block!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:.82rem!important;
    line-height:1.18!important;
  }

  .my-guide-tool--favorites{
    min-height:150px!important;
  }

  .my-guide-tool--benefits{
    grid-column:1/-1!important;
    min-height:118px!important;
    padding-left:76px!important;
  }

  .my-guide-tool--benefits .my-guide-tool__icon{
    position:absolute!important;
    left:14px!important;
    top:18px!important;
  }

  .my-guide-tool__badge{
    top:14px!important;
    right:54px!important;
    min-width:28px!important;
    height:28px!important;
    font-size:.9rem!important;
  }

  .favorites-report{
    margin-top:9px!important;
    padding-top:8px!important;
  }

  .favorites-report span{
    font-size:.62rem!important;
  }

  .favorites-report b{
    font-size:1.05rem!important;
  }
}

@media (max-width:380px){
  .today-metric--tide strong{
    font-size:1.38rem!important;
  }

  .today-metric--tide em{
    font-size:.76rem!important;
  }

  .today-metric--tide b{
    font-size:1.12rem!important;
  }

  .my-guide-tool{
    min-height:124px!important;
    padding:11px!important;
  }

  .my-guide-tool strong{
    font-size:.94rem!important;
  }

  .my-guide-tool small{
    font-size:.74rem!important;
  }
}


/* =========================================================
   Correção — Meus Favoritos no mobile + relatório dinâmico
   Mostra apenas categorias com itens salvos.
========================================================= */

.my-guide-tool{
  position:relative;
  overflow:hidden;
}

.my-guide-tool__body{
  min-width:0;
}

.my-guide-tool--favorites{
  overflow:hidden;
}

.favorites-report{
  width:100%;
  min-width:0;
  grid-template-columns:repeat(var(--favorites-report-columns, 3), minmax(0,1fr));
}

.favorites-report:empty{
  display:none!important;
}

.favorites-report span{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
}

@media (max-width:640px){
  .my-guide-tools{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:14px!important;
  }

  .my-guide-tool{
    position:relative!important;
    min-width:0!important;
    min-height:132px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:13px!important;
    border-radius:19px!important;
    overflow:hidden!important;
  }

  .my-guide-tool__body{
    width:100%!important;
    min-width:0!important;
    align-self:stretch!important;
  }

  .my-guide-tool__arrow{
    position:absolute!important;
    top:14px!important;
    right:13px!important;
    z-index:2!important;
  }

  .my-guide-tool__badge{
    position:absolute!important;
    top:14px!important;
    right:54px!important;
    z-index:3!important;
  }

  .my-guide-tool--favorites{
    min-height:150px!important;
  }

  .my-guide-tool--favorites .my-guide-tool__body{
    padding-right:0!important;
  }

  .favorites-report{
    display:grid!important;
    grid-template-columns:repeat(var(--favorites-report-columns, 1), minmax(0,1fr))!important;
    width:100%!important;
    gap:0!important;
    margin-top:9px!important;
    padding-top:8px!important;
    overflow:hidden!important;
  }

  .favorites-report[hidden],
  .favorites-report:empty{
    display:none!important;
  }

  .favorites-report span{
    display:grid!important;
    gap:2px!important;
    justify-items:center!important;
    min-width:0!important;
    color:rgba(247,244,236,.86)!important;
    font-size:.62rem!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }

  .favorites-report span + span{
    border-left:1px solid rgba(255,255,255,.14)!important;
  }

  .favorites-report b{
    display:block!important;
    color:#f4d38a!important;
    font-size:1.05rem!important;
    line-height:1!important;
  }

  .my-guide-tool--benefits{
    grid-column:1/-1!important;
  }
}

@media (max-width:380px){
  .favorites-report span{
    font-size:.58rem!important;
  }

  .favorites-report b{
    font-size:.98rem!important;
  }
}


/* Ajuste final — Meus Favoritos: somente placa com total salvo */
.favorites-report{
  display:none!important;
}

.my-guide-tool--favorites .my-guide-tool__badge{
  top:14px!important;
  right:52px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:1.05rem!important;
  font-weight:950!important;
  line-height:1!important;
  z-index:3!important;
}

@media (max-width:640px){
  .my-guide-tool--favorites{
    overflow:hidden!important;
  }

  .my-guide-tool--favorites .my-guide-tool__badge{
    top:12px!important;
    right:44px!important;
    min-width:32px!important;
    height:32px!important;
    font-size:1rem!important;
  }
}


/* =========================================================
   Correção — Benefícios e Descontos sem sobreposição no mobile
   Mantém o card em largura total e separa icon, título, texto e seta.
========================================================= */
@media (max-width:640px){
  .my-guide-tool--benefits{
    grid-column:1 / -1!important;
    min-height:auto!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 30px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:0!important;
    padding:14px!important;
    padding-left:14px!important;
  }

  .my-guide-tool--benefits .my-guide-tool__icon{
    position:static!important;
    grid-column:1!important;
    grid-row:1!important;
    width:46px!important;
    height:46px!important;
    flex:0 0 auto!important;
  }

  .my-guide-tool--benefits .my-guide-tool__body{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
  }

  .my-guide-tool--benefits strong{
    display:block!important;
    margin:0!important;
    font-size:1.02rem!important;
    line-height:1.12!important;
  }

  .my-guide-tool--benefits small{
    display:block!important;
    margin-top:5px!important;
    font-size:.80rem!important;
    line-height:1.22!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    -webkit-line-clamp:unset!important;
  }

  .my-guide-tool--benefits .my-guide-tool__arrow{
    position:static!important;
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    width:30px!important;
    height:30px!important;
  }
}


/* SEO institucional — reforço de entidade Guia de Pipa */
.brand-authority{
  width:min(1180px, calc(100% - 32px));
  margin:34px auto 18px;
  padding:26px;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:20px;
  align-items:start;
  border:1px solid rgba(244,211,138,.28);
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(11,45,77,.78), rgba(10,83,70,.72)),
    radial-gradient(circle at 100% 0%, rgba(244,211,138,.16), transparent 18rem);
  box-shadow:0 18px 44px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
}
.brand-authority__icon{
  width:74px;
  height:74px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(244,211,138,.35);
}
.brand-authority__icon img{
  width:48px;
  height:48px;
  object-fit:contain;
}
.brand-authority h2{
  margin:.15rem 0 .7rem;
  font-size:clamp(1.35rem, 2.4vw, 2rem);
  line-height:1.05;
}
.brand-authority p:not(.eyebrow){
  margin:0;
  max-width:860px;
  color:rgba(247,244,236,.82);
}
.brand-authority__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.brand-authority__links a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:9px 13px;
  border-radius:999px;
  color:var(--cream);
  text-decoration:none;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  font-weight:800;
  font-size:.88rem;
}
.brand-authority__links a:hover{
  border-color:rgba(244,211,138,.55);
  color:var(--gold-2);
}
@media (max-width:720px){
  .brand-authority{
    grid-template-columns:1fr;
    padding:20px;
  }
  .brand-authority__icon{
    width:58px;
    height:58px;
    border-radius:20px;
  }
  .brand-authority__icon img{
    width:38px;
    height:38px;
  }
}


/* Ajustes finais — benefícios ativos, ícone oficial e bloco institucional */
.card__media{
  position:relative;
}

.card-benefit-icon{
  position:absolute;
  right:14px;
  bottom:14px;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:5;

  background:rgba(6,18,30,.92);
  border:2px solid rgba(244,211,138,.70);

  box-shadow:
    0 14px 28px rgba(0,0,0,.35),
    0 0 0 4px rgba(7,16,25,.24);
}

.card-benefit-icon img{
  width:32px;
  height:32px;
  display:block;
  object-fit:contain;
}

.card__benefit{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  padding:9px 10px;
  border-radius:14px;
  border:1px solid rgba(244,211,138,.24);
  background:rgba(244,211,138,.08);
  color:#f4d38a;
}

.card__benefit img{
  width:20px;
  height:20px;
  object-fit:contain;
  flex:0 0 auto;
}

.my-guide-tool__icon--benefit img,
.benefit-item__icon img{
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}

.benefit-item__icon{
  display:grid;
  place-items:center;
}

.benefits-list{
  display:grid;
  gap:10px;
}

.benefit-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  text-decoration:none;
  color:#fffaf2;
  border:1px solid rgba(244,211,138,.22);
  background:linear-gradient(135deg, rgba(7,16,25,.48), rgba(18,91,78,.34));
}

.benefit-item__icon{
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(244,211,138,.14);
  border:1px solid rgba(244,211,138,.28);
}

.benefit-item__body{
  display:grid;
  gap:3px;
  min-width:0;
}

.benefit-item__body strong{
  color:#fff;
  font-size:1rem;
  line-height:1.12;
}

.benefit-item__body small{
  color:#f4d38a;
  font-weight:800;
}

.benefit-item__body em,
.benefit-item__body span{
  color:rgba(247,244,236,.76);
  font-style:normal;
  line-height:1.35;
}

.brand-authority{
  padding:clamp(22px, 3vw, 34px);
  gap:clamp(16px, 2.4vw, 24px);
}

.brand-authority__content{
  min-width:0;
}

.brand-authority p:not(.eyebrow){
  font-size:1rem;
  line-height:1.7;
  margin-top:8px;
}

.brand-authority__links{
  padding-top:4px;
}

.footer{
  align-items:flex-start;
  line-height:1.55;
}

@media (max-width:720px){
  .card-benefit-icon{
    width:48px;
    height:48px;
    right:12px;
    bottom:12px;
  }

  .card-benefit-icon img{
    width:28px;
    height:28px;
  }

  .brand-authority{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    padding:22px;
    border-radius:24px;
  }

  .brand-authority__icon{
    width:62px;
    height:62px;
    border-radius:20px;
  }

  .brand-authority__links{
    gap:8px;
  }

  .brand-authority__links a{
    width:100%;
    justify-content:center;
  }
}


/* Correção final — bloco institucional Guia de Pipa
   Mantém a marca legal NSEO Mapa Guia® e dá acabamento visual ao bloco SEO. */
body .brand-authority{
  width:min(1180px, calc(100% - 32px))!important;
  margin:34px auto 22px!important;
  padding:clamp(22px, 3vw, 36px)!important;
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  gap:clamp(18px, 2.4vw, 28px)!important;
  align-items:start!important;
  overflow:hidden!important;
  border:1px solid rgba(244,211,138,.34)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(244,211,138,.18), transparent 18rem),
    linear-gradient(135deg, rgba(8,28,43,.96) 0%, rgba(9,54,61,.94) 48%, rgba(13,86,68,.92) 100%)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10)!important;
}

body .brand-authority__icon{
  width:84px!important;
  height:84px!important;
  max-width:84px!important;
  max-height:84px!important;
  border-radius:26px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(135deg, rgba(244,211,138,.18), rgba(255,255,255,.08))!important;
  border:1px solid rgba(244,211,138,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}

body .brand-authority__icon img{
  width:54px!important;
  height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  display:block!important;
  object-fit:contain!important;
}

body .brand-authority__content{
  min-width:0!important;
}

body .brand-authority .eyebrow{
  margin:0 0 10px!important;
  color:var(--gold-2)!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  font-size:.78rem!important;
  font-weight:900!important;
}

body .brand-authority h2{
  margin:0 0 14px!important;
  color:#fffaf2!important;
  font-size:clamp(1.55rem, 3vw, 2.35rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  max-width:900px!important;
}

body .brand-authority p:not(.eyebrow){
  margin:0!important;
  max-width:900px!important;
  color:rgba(247,244,236,.84)!important;
  font-size:clamp(1rem, 1.3vw, 1.08rem)!important;
  line-height:1.72!important;
}

body .brand-authority__links{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:22px 0 0!important;
  padding:0!important;
}

body .brand-authority__links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:10px 15px!important;
  border-radius:999px!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(244,211,138,.22)!important;
  font-weight:850!important;
  font-size:.9rem!important;
  line-height:1.1!important;
}

body .brand-authority__links a:hover{
  color:var(--gold-2)!important;
  border-color:rgba(244,211,138,.56)!important;
  background:rgba(244,211,138,.10)!important;
}

@media (max-width:720px){
  body .brand-authority{
    width:calc(100% - 28px)!important;
    margin:28px auto 18px!important;
    padding:22px!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    border-radius:26px!important;
  }

  body .brand-authority__icon{
    width:64px!important;
    height:64px!important;
    max-width:64px!important;
    max-height:64px!important;
    border-radius:20px!important;
  }

  body .brand-authority__icon img{
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
  }

  body .brand-authority h2{
    font-size:1.42rem!important;
    line-height:1.18!important;
    letter-spacing:-.025em!important;
  }

  body .brand-authority p:not(.eyebrow){
    font-size:.98rem!important;
    line-height:1.66!important;
  }

  body .brand-authority__links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  body .brand-authority__links a{
    width:100%!important;
  }
}


/* =========================================================
   Ajustes Meu Guia: Hoje na Pipa com 3 quadros + Clima/Transporte
========================================================= */

.my-guide-hero > p{
  max-width:520px;
}

.today-metric-grid--compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.today-metric--weather{
  background:linear-gradient(135deg, rgba(244,211,138,.16), rgba(23,107,82,.24));
}

.today-metric--weather strong{
  color:#fffaf2;
  font-size:clamp(1.75rem,3.4vw,2.45rem);
}

.today-metric--weather em{
  color:#f4d38a;
  font-size:clamp(.9rem,1.7vw,1.08rem);
  font-weight:950;
  text-transform:none;
  letter-spacing:-.02em;
}

.today-metric--sun{
  background:linear-gradient(135deg, rgba(255,151,103,.16), rgba(11,45,77,.24));
}

.today-metric--sun strong{
  color:#fffaf2;
  font-size:clamp(1.5rem,3vw,2.08rem);
}

.today-metric--sun em{
  color:#f4d38a;
  font-size:clamp(.9rem,1.7vw,1.08rem);
  font-weight:950;
  text-transform:none;
  letter-spacing:-.02em;
}

.my-guide-tools{
  grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
}

.my-guide-tool--transport{
  border-color:rgba(91,193,212,.34)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(91,193,212,.20), transparent 12rem),
    linear-gradient(135deg, rgba(11,45,77,.72), rgba(18,74,90,.52))!important;
}

.my-guide-tool--weather{
  border-color:rgba(244,211,138,.34)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(244,211,138,.22), transparent 12rem),
    linear-gradient(135deg, rgba(11,45,77,.70), rgba(23,107,82,.50))!important;
}

@media (max-width:700px){
  .today-metric-grid--compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .today-metric-grid--compact .today-metric{
    min-height:104px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:10px 7px;
    gap:3px;
  }

  .today-metric-grid--compact .today-metric__icon{
    width:36px;
    height:36px;
    font-size:1.05rem;
    margin-bottom:2px;
  }

  .today-metric-grid--compact .today-metric small{
    font-size:.58rem;
    line-height:1.05;
  }

  .today-metric-grid--compact .today-metric strong{
    font-size:1.26rem!important;
    line-height:1!important;
    margin:1px 0 0;
  }

  .today-metric-grid--compact .today-metric em,
  .today-metric-grid--compact .today-metric b{
    font-size:.72rem!important;
    line-height:1.05!important;
    margin-top:1px;
  }

  .my-guide-tools{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Ajuste final — card Sol em Hoje na Pipa */
@media (max-width:700px){
  .today-metric-grid--compact .today-metric__icon--sun{
    font-size:0!important;
  }

  .today-metric-grid--compact .today-sun-svg{
    width:24px;
    height:24px;
  }

  .today-metric-grid--compact .today-sun-time{
    justify-content:center;
    gap:.25em;
    font-size:.94rem!important;
  }

  .today-metric-grid--compact .today-sun-time__label{
    font-size:.58rem;
  }
}

@media (max-width:380px){
  .today-metric-grid--compact .today-sun-svg{
    width:22px;
    height:22px;
  }

  .today-metric-grid--compact .today-sun-time{
    font-size:.85rem!important;
  }
}

.home-data-source{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:10px;
  padding:6px 10px;
  border-radius:999px;
  color:rgba(255,250,242,.78);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.subcategory-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}

.subcategory-chips span{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  color:#f4d38a;
  background:rgba(244,211,138,.10);
  border:1px solid rgba(244,211,138,.22);
  font-size:11px;
  font-weight:900;
}


/* Ajuste mobile — Hoje na Pipa */
.today-sun-icon{
  width:27px;
  height:27px;
  display:block;
  overflow:visible;
}

.today-sun-icon__core{
  fill:#f4d38a;
  filter:drop-shadow(0 0 7px rgba(244,211,138,.55));
}

.today-sun-icon__rays path{
  fill:none;
  stroke:#f4d38a;
  stroke-width:5;
  stroke-linecap:round;
  filter:drop-shadow(0 0 5px rgba(244,211,138,.45));
}

@media (max-width:560px){
  .today-metric-grid--compact{
    gap:8px;
  }

  .today-metric-grid--compact .today-metric{
    min-height:134px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:4px;
    padding:12px 8px;
  }

  .today-metric-grid--compact .today-metric__icon{
    width:42px;
    height:42px;
    margin:0 auto 4px;
    flex:0 0 auto;
  }

  .today-metric-grid--compact .today-metric small{
    font-size:.61rem;
    line-height:1.08;
    letter-spacing:.085em;
    text-align:center;
  }

  .today-metric-grid--compact .today-metric strong{
    margin:1px 0 0;
    font-size:1.48rem;
    line-height:.98;
    text-align:center;
  }

  .today-metric-grid--compact .today-metric em,
  .today-metric-grid--compact .today-metric b{
    margin:0;
    text-align:center;
  }

  .today-metric--sun strong.today-sun-time,
  .today-metric--sun em.today-sun-time{
    width:100%;
    display:flex!important;
    justify-content:center;
    align-items:baseline;
    gap:5px;
    white-space:nowrap;
    text-align:center;
  }

  .today-metric--sun strong.today-sun-time{
    font-size:1.05rem;
    line-height:1.1;
    margin-top:2px;
  }

  .today-metric--sun em.today-sun-time{
    font-size:.82rem;
    line-height:1.1;
  }

  .today-sun-time__label{
    font-size:.62em;
    letter-spacing:.045em;
  }

  .today-sun-icon{
    width:26px;
    height:26px;
  }
}

@media (max-width:380px){
  .today-metric-grid--compact .today-metric{
    padding:10px 6px;
  }

  .today-metric--sun strong.today-sun-time{
    font-size:.96rem;
  }

  .today-metric--sun em.today-sun-time{
    font-size:.76rem;
  }
}


/* Correção definitiva do card Sol — mobile e desktop */
.today-metric--sun{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:6px;
}

.today-metric--sun .today-metric__icon{
  margin:0 auto 2px;
}

.today-metric__icon--sun{
  position:relative;
  overflow:visible;
  background:linear-gradient(135deg, rgba(244,211,138,.26), rgba(244,211,138,.09))!important;
  border-color:rgba(244,211,138,.54)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 10px 22px rgba(244,211,138,.15)!important;
}

.css-sun-icon{
  width:24px;
  height:24px;
  display:block;
  position:relative;
  border-radius:50%;
  background:#f4d38a;
  box-shadow:0 0 0 4px rgba(244,211,138,.16), 0 0 14px rgba(244,211,138,.66);
}

.css-sun-icon::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:36px;
  height:36px;
  transform:translate(-50%,-50%);
  background:
    linear-gradient(#f4d38a,#f4d38a) 50% 0/3px 7px no-repeat,
    linear-gradient(#f4d38a,#f4d38a) 50% 100%/3px 7px no-repeat,
    linear-gradient(90deg,#f4d38a,#f4d38a) 0 50%/7px 3px no-repeat,
    linear-gradient(90deg,#f4d38a,#f4d38a) 100% 50%/7px 3px no-repeat,
    linear-gradient(45deg, transparent 44%, #f4d38a 45% 55%, transparent 56%) 3px 3px/8px 8px no-repeat,
    linear-gradient(45deg, transparent 44%, #f4d38a 45% 55%, transparent 56%) 25px 25px/8px 8px no-repeat,
    linear-gradient(-45deg, transparent 44%, #f4d38a 45% 55%, transparent 56%) 25px 3px/8px 8px no-repeat,
    linear-gradient(-45deg, transparent 44%, #f4d38a 45% 55%, transparent 56%) 3px 25px/8px 8px no-repeat;
}

.today-metric--sun > small{
  width:100%;
  text-align:center;
}

.today-sun-stack{
  width:100%;
  display:grid;
  gap:3px;
  margin-top:1px;
}

.today-sun-stack span{
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
}

.today-sun-stack b{
  color:rgba(247,244,236,.78);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.today-sun-stack strong{
  color:#fffaf2;
  font-size:1.05rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.02em;
}

/* Evita que regras antigas de grid e .today-sun-time quebrem o card Sol */
.today-metric-grid--compact .today-metric--sun{
  grid-template-columns:1fr!important;
  grid-template-areas:none!important;
}

.today-metric-grid--compact .today-metric--sun .today-metric__icon,
.today-metric-grid--compact .today-metric--sun small,
.today-metric-grid--compact .today-metric--sun .today-sun-stack{
  grid-area:auto!important;
}

.today-metric--sun .today-sun-time{
  display:none!important;
}

@media (max-width:560px){
  .today-metric-grid--compact .today-metric--sun{
    min-height:134px;
    padding:12px 7px;
    gap:5px;
  }

  .today-metric-grid--compact .today-metric--sun .today-metric__icon{
    width:42px;
    height:42px;
    margin-bottom:3px;
  }

  .css-sun-icon{
    width:22px;
    height:22px;
  }

  .css-sun-icon::before{
    width:34px;
    height:34px;
  }

  .today-sun-stack{
    gap:4px;
  }

  .today-sun-stack span{
    gap:5px;
  }

  .today-sun-stack b{
    font-size:.58rem;
  }

  .today-sun-stack strong{
    font-size:.92rem;
  }
}

@media (max-width:380px){
  .today-sun-stack b{
    font-size:.54rem;
  }

  .today-sun-stack strong{
    font-size:.86rem;
  }
}


/* Ícone Sol em SVG inline — compatível com Android/iOS */
.today-sun-inline{
  width:28px;
  height:28px;
  display:block;
  overflow:visible;
}

.today-sun-inline circle{
  fill:#f4d38a;
  filter:drop-shadow(0 0 7px rgba(244,211,138,.60));
}

.today-sun-inline path{
  fill:none;
  stroke:#f4d38a;
  stroke-width:5.2;
  stroke-linecap:round;
  filter:drop-shadow(0 0 5px rgba(244,211,138,.48));
}

.today-metric__icon--sun .css-sun-icon{
  display:none!important;
}

@media (max-width:560px){
  .today-sun-inline{
    width:27px;
    height:27px;
  }
}


/* Premium sem seção dedicada: prestígio dentro do fluxo natural das categorias */
.card--premium{
  position:relative;
  border-color:rgba(244,211,138,.42)!important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.18),
    0 0 0 1px rgba(244,211,138,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.card--premium::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(244,211,138,.13), transparent 34%, rgba(244,211,138,.07));
  z-index:1;
}

.card--premium .badge{
  color:#071019;
  background:linear-gradient(135deg, #f4d38a, #c69a3a);
  border-color:rgba(255,255,255,.56);
  box-shadow:0 10px 22px rgba(198,154,58,.24);
}

.card--premium .card__body,
.card--premium .card__media,
.card--premium .favorite-toggle{
  position:relative;
  z-index:2;
}

.today-metric__icon-image{display:block;width:28px;height:28px;object-fit:contain}.today-sun-inline{display:none!important}@media(max-width:560px){.today-metric__icon-image{width:26px;height:26px}}

/* =========================================================
   HOME — cards horizontais v19
   Desktop: 2 colunas | Mobile: 1 coluna
   Mantém foto, logo, badge, categoria, texto e botão.
========================================================= */
.category-section .cards:not(.cards--my-pipa){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}

.category-section .card[data-category]{
  display:grid!important;
  grid-template-columns:minmax(190px,42%) minmax(0,1fr)!important;
  min-height:230px!important;
  height:auto!important;
  overflow:hidden!important;
  align-items:stretch!important;
  border-radius:26px!important;
}

.category-section .card[data-category] .card__media{
  height:100%!important;
  min-height:230px!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
}

.category-section .card[data-category] .card__media>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.category-section .card[data-category] .card__media::after{
  background:linear-gradient(90deg, rgba(7,16,25,.08), rgba(7,16,25,.46))!important;
}

.category-section .card[data-category] .card__body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:22px 22px 20px!important;
}

.category-section .card[data-category] .tag{
  align-self:flex-start!important;
  max-width:100%!important;
}

.category-section .card[data-category] h3{
  margin:12px 0 8px!important;
  font-size:clamp(1.15rem,1.55vw,1.42rem)!important;
  line-height:1.04!important;
}

.category-section .card[data-category] p{
  margin:0 0 15px!important;
  line-height:1.42!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.category-section .card[data-category] .card__link{
  margin-top:auto!important;
  align-self:flex-start!important;
}

.category-section .card[data-category] .card__logo{
  width:62px!important;
  height:62px!important;
  left:14px!important;
  bottom:14px!important;
  border-radius:16px!important;
  padding:8px!important;
}

.category-section .card[data-category] .badge{
  top:12px!important;
  left:12px!important;
  right:auto!important;
  padding:7px 10px!important;
  font-size:.66rem!important;
  z-index:5!important;
}

.category-section .card[data-category] .card__gallery{
  display:none!important;
}

.category-section .card[data-category] .favorite-toggle.favorite-toggle--floating{
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  top:12px!important;
  right:12px!important;
  z-index:8!important;
}

@media (max-width:980px){
  .category-section .cards:not(.cards--my-pipa){
    grid-template-columns:1fr!important;
  }
}

@media (max-width:640px){
  .category-section .card[data-category]{
    grid-template-columns:132px minmax(0,1fr)!important;
    min-height:168px!important;
    border-radius:22px!important;
  }

  .category-section .card[data-category] .card__media{
    min-height:168px!important;
  }

  .category-section .card[data-category] .card__body{
    padding:14px 14px 13px!important;
  }

  .category-section .card[data-category] .tag{
    padding:6px 8px!important;
    font-size:.64rem!important;
  }

  .category-section .card[data-category] h3{
    margin:8px 0 6px!important;
    font-size:1.02rem!important;
  }

  .category-section .card[data-category] p{
    margin-bottom:10px!important;
    font-size:.84rem!important;
    line-height:1.34!important;
    -webkit-line-clamp:2!important;
  }

  .category-section .card[data-category] .card__logo{
    width:48px!important;
    height:48px!important;
    left:10px!important;
    bottom:10px!important;
    border-radius:13px!important;
    padding:6px!important;
  }

  .category-section .card[data-category] .badge{
    max-width:88px!important;
    padding:6px 8px!important;
    font-size:.56rem!important;
  }

  .category-section .card[data-category] .favorite-toggle.favorite-toggle--floating{
    width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
}

@media (max-width:430px){
  .category-section .card[data-category]{
    grid-template-columns:116px minmax(0,1fr)!important;
  }

  .category-section .card[data-category] p{
    display:none!important;
  }
}

/* =========================================================
   Ajustes solicitados — cards mobile horizontal 40/60 v20
   Base: home-card-horizontal.zip
========================================================= */
.distance-badge{
  width:max-content!important;
  max-width:100%!important;
  align-self:flex-start!important;
  flex:0 0 auto!important;
  margin-left:6px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#4285f4 0%,#34a853 100%)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(52,168,83,.20)!important;
}

@media (max-width:640px){
  .cards,
  .cards--featured{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .card{
    display:grid!important;
    grid-template-columns:40% 60%!important;
    min-height:182px!important;
    height:auto!important;
    overflow:hidden!important;
    border-radius:22px!important;
  }

  .card--premium{
    min-height:198px!important;
  }

  .card__media,
  .cards--featured .card__media{
    height:100%!important;
    min-height:182px!important;
    width:100%!important;
    align-self:stretch!important;
    border-radius:0!important;
  }

  .card--premium .card__media{
    min-height:198px!important;
  }

  .card__media>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .card__media::after{
    background:linear-gradient(180deg,rgba(7,16,25,.06),rgba(7,16,25,.42))!important;
  }

  .card__body{
    min-width:0!important;
    padding:13px 14px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
  }

  .card .tag{
    width:max-content!important;
    max-width:100%!important;
    padding:5px 8px!important;
    font-size:.68rem!important;
  }

  .card .distance-badge{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:6px 9px!important;
    font-size:.68rem!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }

  .card h3{
    margin:2px 0 0!important;
    font-size:1.02rem!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }

  .card p{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin:0!important;
    font-size:.78rem!important;
    line-height:1.22!important;
    color:rgba(247,244,236,.78)!important;
  }

  .card__link{
    margin-top:2px!important;
    font-size:.78rem!important;
    line-height:1!important;
  }

  .card__logo{
    left:10px!important;
    bottom:10px!important;
    width:56px!important;
    height:56px!important;
    border-radius:16px!important;
    padding:7px!important;
  }

  .badge{
    top:10px!important;
    right:10px!important;
    padding:6px 8px!important;
    font-size:.62rem!important;
  }

  .favorite-toggle.favorite-toggle--floating{
    top:9px!important;
    right:9px!important;
    width:34px!important;
    height:34px!important;
    min-height:34px!important;
  }
  .favorite-toggle.favorite-toggle--floating span{
    font-size:20px!important;
  }
}

@media (max-width:390px){
  .card{
    grid-template-columns:42% 58%!important;
    min-height:176px!important;
  }
  .card__media,
  .cards--featured .card__media{
    min-height:176px!important;
  }
  .card__body{padding:11px 12px!important;gap:5px!important;}
  .card h3{font-size:.96rem!important;}
  .card p{font-size:.74rem!important;}
}

/* =========================================================
   Ajuste final v21 — distância como chip Google Maps
========================================================= */
.card .distance-badge,
.distance-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  margin:0!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#6FB8FF 0%,#4285F4 52%,#1A73E8 100%)!important;
  color:#fff!important;
  font-size:.76rem!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 3px 10px rgba(26,115,232,.22)!important;
}

.card .distance-badge strong,
.distance-badge strong{
  color:inherit!important;
  font-size:inherit!important;
  font-weight:800!important;
  line-height:1!important;
}

@media (max-width:640px){
  .card .distance-badge,
  .distance-badge{
    display:inline-flex!important;
    width:auto!important;
    max-width:max-content!important;
    margin:0!important;
    padding:6px 10px!important;
    font-size:.70rem!important;
  }
}

/* =========================================================
   Ajuste v24 — cards com altura uniforme + descrição mobile
   - Todos os cards da Home com mesma altura
   - Mobile mantém descrição visível
   - Distância como chip compacto, sem ocupar a linha toda
========================================================= */
.category-section .cards:not(.cards--my-pipa){
  align-items:stretch!important;
}

.category-section .card[data-category]{
  height:224px!important;
  min-height:224px!important;
  max-height:224px!important;
  grid-template-columns:40% minmax(0,60%)!important;
  align-items:stretch!important;
}

.category-section .card[data-category].card--premium,
.category-section .card[data-category].card--plus{
  height:224px!important;
  min-height:224px!important;
  max-height:224px!important;
}

.category-section .card[data-category] .card__media,
.category-section .card[data-category].card--premium .card__media,
.category-section .card[data-category].card--plus .card__media{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
}

.category-section .card[data-category] .card__body{
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:7px!important;
  overflow:hidden!important;
}

.category-section .card[data-category] .distance-badge,
.category-section .card[data-category] .card__body > .distance-badge,
.card[data-category] .distance-badge{
  display:inline-flex!important;
  width:fit-content!important;
  inline-size:fit-content!important;
  min-width:0!important;
  max-width:calc(100% - 2px)!important;
  max-inline-size:calc(100% - 2px)!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  margin:0!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#6fb8ff 0%,#4285f4 54%,#1a73e8 100%)!important;
  color:#fff!important;
  font-size:.74rem!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 3px 10px rgba(26,115,232,.24)!important;
}

.category-section .card[data-category] h3{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin:2px 0 0!important;
}

.category-section .card[data-category] p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  margin:0!important;
}

.category-section .card[data-category] .card__link{
  margin-top:auto!important;
}

@media (max-width:640px){
  .category-section .card[data-category],
  .category-section .card[data-category].card--premium,
  .category-section .card[data-category].card--plus,
  .card[data-category],
  .card[data-category].card--premium,
  .card[data-category].card--plus{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    grid-template-columns:40% minmax(0,60%)!important;
  }

  .category-section .card[data-category] .card__media,
  .category-section .card[data-category].card--premium .card__media,
  .category-section .card[data-category].card--plus .card__media,
  .card[data-category] .card__media{
    height:100%!important;
    min-height:0!important;
  }

  .category-section .card[data-category] .card__body,
  .card[data-category] .card__body{
    padding:12px 13px 11px!important;
    gap:5px!important;
    justify-content:flex-start!important;
  }

  .category-section .card[data-category] .tag,
  .card[data-category] .tag{
    padding:5px 8px!important;
    font-size:.62rem!important;
    line-height:1!important;
  }

  .category-section .card[data-category] .distance-badge,
  .category-section .card[data-category] .card__body > .distance-badge,
  .card[data-category] .distance-badge{
    display:inline-flex!important;
    width:fit-content!important;
    inline-size:fit-content!important;
    max-width:100%!important;
    align-self:flex-start!important;
    margin:0!important;
    padding:5px 8px!important;
    font-size:.63rem!important;
    line-height:1!important;
  }

  .category-section .card[data-category] h3,
  .card[data-category] h3{
    margin:2px 0 0!important;
    font-size:.98rem!important;
    line-height:1.05!important;
    -webkit-line-clamp:2!important;
  }

  .category-section .card[data-category] p,
  .card[data-category] p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0!important;
    font-size:.74rem!important;
    line-height:1.18!important;
  }

  .category-section .card[data-category] .card__link,
  .card[data-category] .card__link{
    margin-top:auto!important;
    font-size:.76rem!important;
  }
}

@media (max-width:430px){
  .category-section .card[data-category] p,
  .card[data-category] p{
    display:-webkit-box!important;
  }
}

@media (max-width:390px){
  .category-section .card[data-category],
  .category-section .card[data-category].card--premium,
  .category-section .card[data-category].card--plus,
  .card[data-category],
  .card[data-category].card--premium,
  .card[data-category].card--plus{
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    grid-template-columns:40% minmax(0,60%)!important;
  }

  .category-section .card[data-category] .card__body,
  .card[data-category] .card__body{
    padding:10px 11px!important;
    gap:4px!important;
  }

  .category-section .card[data-category] p,
  .card[data-category] p{
    font-size:.70rem!important;
    line-height:1.14!important;
  }
}

/* =========================================================
   v11.3 — Categorias da home em formato chip (largura automática)
   Ajusta cada botão ao texto, preservando contagem e estados.
========================================================= */

.category-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:12px 18px 24px!important;
}

.category-nav a{
  width:auto!important;
  min-width:auto!important;
  max-width:100%!important;
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  flex:0 0 auto!important;
  padding:12px 16px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

.category-nav a span{
  min-width:0!important;
  width:auto!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  line-height:1!important;
}

.category-nav small{
  flex:0 0 auto!important;
  min-width:26px!important;
  width:auto!important;
  height:26px!important;
  padding:0 8px!important;
  line-height:26px!important;
}

.category-nav__guide{
  grid-column:auto!important;
  order:0!important;
}

@media (max-width:760px){
  .category-nav{
    display:flex!important;
    flex-wrap:wrap!important;
    grid-template-columns:none!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:12px 14px 18px!important;
  }

  .category-nav a{
    min-height:42px!important;
    padding:10px 13px!important;
    border-radius:999px!important;
    gap:7px!important;
  }

  .category-nav a span{
    font-size:.88rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .category-nav small{
    min-width:24px!important;
    height:24px!important;
    padding:0 7px!important;
    line-height:24px!important;
    font-size:.68rem!important;
  }

  .category-nav__guide{
    min-height:42px!important;
    order:0!important;
  }
}

@media (max-width:380px){
  .category-nav{
    gap:7px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .category-nav a{
    min-height:40px!important;
    padding:9px 11px!important;
  }

  .category-nav a span{
    font-size:.78rem!important;
  }

  .category-nav small{
    min-width:22px!important;
    height:22px!important;
    padding:0 6px!important;
    line-height:22px!important;
    font-size:.64rem!important;
  }
}


/* =========================================================
   v11.4 — Telefones úteis legíveis + card Sol alinhado
   - 190/193 podem ficar lado a lado no mobile.
   - Telefones locais ficam um por linha no mobile.
   - Números longos não quebram.
   - Card Sol volta ao mesmo padrão visual de Maré e Clima.
========================================================= */

.phone-list--compact{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:9px!important;
}

.phone-list--compact a,
.phone-list--compact .phone-item{
  min-width:0!important;
  min-height:70px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:center!important;
  justify-items:start!important;
  gap:6px!important;
  padding:12px!important;
}

.phone-list--compact span{
  max-width:100%!important;
  font-size:.72rem!important;
  line-height:1.08!important;
}

.phone-list--compact span small{
  display:inline!important;
  color:rgba(247,244,236,.66)!important;
  font-size:.68rem!important;
  font-weight:850!important;
}

.phone-list--compact strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(1.08rem, 1.8vw, 1.32rem)!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-wrap:nowrap!important;
  letter-spacing:-.035em!important;
}

/* O card Sol deve se comportar como os outros cards do painel */
.today-metric-grid--compact .today-metric--sun{
  min-height:108px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:
    "icon label"
    "icon value"
    "icon info"!important;
  align-items:center!important;
  justify-content:initial!important;
  justify-items:stretch!important;
  column-gap:13px!important;
  row-gap:0!important;
  padding:15px!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric--sun .today-metric__icon{
  grid-area:icon!important;
  margin:0!important;
}

.today-metric-grid--compact .today-metric--sun > small{
  grid-area:label!important;
  width:auto!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric--sun .today-sun-stack{
  grid-area:value / value / info / info!important;
  width:auto!important;
  display:grid!important;
  gap:4px!important;
  margin:2px 0 0!important;
}

.today-metric-grid--compact .today-metric--sun .today-sun-stack span{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:baseline!important;
  gap:6px!important;
  white-space:nowrap!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric--sun .today-sun-stack b{
  color:rgba(247,244,236,.78)!important;
  font-size:.70rem!important;
  line-height:1!important;
}

.today-metric-grid--compact .today-metric--sun .today-sun-stack strong{
  color:#fffaf2!important;
  font-size:1.08rem!important;
  line-height:1!important;
}

@media (max-width:700px){
  .phone-list--compact{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .phone-list--compact .phone-item--local{
    grid-column:1 / -1!important;
  }

  .phone-list--compact .phone-item{
    min-height:58px!important;
    padding:10px 12px!important;
  }

  .phone-list--compact .phone-item--local{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:12px!important;
  }

  .phone-list--compact .phone-item--local span{
    font-size:.75rem!important;
  }

  .phone-list--compact .phone-item--local strong{
    width:auto!important;
    font-size:1.05rem!important;
    text-align:right!important;
  }

  .phone-list--compact .phone-item--emergency strong{
    font-size:1.28rem!important;
  }

  .today-metric-grid--compact .today-metric--sun{
    min-height:104px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:
      "icon label"
      "icon value"
      "icon info"!important;
    align-items:center!important;
    text-align:left!important;
    padding:10px 7px!important;
    column-gap:8px!important;
    gap:0 8px!important;
  }

  .today-metric-grid--compact .today-metric--sun .today-metric__icon{
    width:36px!important;
    height:36px!important;
    margin:0!important;
  }

  .today-metric-grid--compact .today-metric--sun > small{
    font-size:.58rem!important;
    text-align:left!important;
  }

  .today-metric-grid--compact .today-metric--sun .today-sun-stack{
    gap:3px!important;
    margin-top:1px!important;
  }

  .today-metric-grid--compact .today-metric--sun .today-sun-stack span{
    justify-content:flex-start!important;
    gap:4px!important;
  }

  .today-metric-grid--compact .today-metric--sun .today-sun-stack b{
    font-size:.56rem!important;
  }

  .today-metric-grid--compact .today-metric--sun .today-sun-stack strong{
    font-size:.88rem!important;
  }
}

@media (max-width:380px){
  .phone-list--compact .phone-item--local{
    grid-template-columns:1fr!important;
    justify-items:start!important;
    gap:5px!important;
  }

  .phone-list--compact .phone-item--local strong{
    width:100%!important;
    text-align:left!important;
    font-size:1rem!important;
  }
}


/* =========================================================
   v11.5 — Correção final: telefones sem quebra + Sol à esquerda
   - Telefones locais ocupam largura suficiente para o número inteiro.
   - 190/193 podem ficar lado a lado no mobile.
   - Card Sol usa a mesma lógica visual de Maré/Clima, com ícone à esquerda.
========================================================= */

/* Telefones úteis: prioriza legibilidade do número */
.phone-list.phone-list--compact{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(220px, 1fr))!important;
  gap:10px!important;
}

.phone-list.phone-list--compact .phone-item,
.phone-list.phone-list--compact a{
  min-width:0!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:10px!important;
  padding:11px 12px!important;
}

.phone-list.phone-list--compact .phone-item span{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  color:rgba(247,244,236,.74)!important;
  font-size:.72rem!important;
  line-height:1.05!important;
}

.phone-list.phone-list--compact .phone-item strong{
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  display:inline-block!important;
  justify-self:end!important;
  color:#f4d38a!important;
  font-size:clamp(1.02rem, 1.35vw, 1.22rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:nowrap!important;
  text-align:right!important;
}

/* Números curtos com um pouco mais de presença */
.phone-list.phone-list--compact .phone-item--emergency strong{
  font-size:1.32rem!important;
}

/* Card Sol: nunca centralizar; sempre ícone à esquerda, informação à direita */
.today-metric-grid--compact .today-metric.today-metric--sun{
  min-height:108px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:
    "icon label"
    "icon value"
    "icon value"!important;
  align-items:center!important;
  justify-items:start!important;
  justify-content:stretch!important;
  column-gap:13px!important;
  row-gap:0!important;
  padding:15px!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
  grid-area:icon!important;
  align-self:center!important;
  justify-self:start!important;
  margin:0!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun > small{
  grid-area:label!important;
  justify-self:start!important;
  align-self:end!important;
  margin:0!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack{
  grid-area:value!important;
  display:grid!important;
  justify-items:start!important;
  align-self:start!important;
  gap:5px!important;
  margin:4px 0 0!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack span{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:7px!important;
  white-space:nowrap!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack b{
  color:rgba(247,244,236,.78)!important;
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack strong{
  color:#fffaf2!important;
  font-size:1.08rem!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}

/* Mobile: curtos em 2 colunas, telefones locais em 1 coluna completa */
@media (max-width:700px){
  .phone-list.phone-list--compact{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }

  .phone-list.phone-list--compact .phone-item--local{
    grid-column:1 / -1!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
  }

  .phone-list.phone-list--compact .phone-item{
    min-height:58px!important;
    padding:10px 12px!important;
  }

  .phone-list.phone-list--compact .phone-item strong{
    font-size:clamp(1rem, 4.6vw, 1.12rem)!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    text-wrap:nowrap!important;
  }

  .phone-list.phone-list--compact .phone-item--emergency strong{
    font-size:1.28rem!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun{
    min-height:104px!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:
      "icon label"
      "icon value"
      "icon value"!important;
    column-gap:10px!important;
    padding:12px!important;
    text-align:left!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
    width:40px!important;
    height:40px!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun > small{
    font-size:.62rem!important;
    text-align:left!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack{
    gap:4px!important;
    margin-top:3px!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack b{
    font-size:.58rem!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack strong{
    font-size:.94rem!important;
  }
}

@media (max-width:380px){
  .phone-list.phone-list--compact .phone-item--local{
    grid-template-columns:minmax(0,1fr) max-content!important;
    justify-items:stretch!important;
    gap:8px!important;
  }

  .phone-list.phone-list--compact .phone-item--local strong{
    width:auto!important;
    text-align:right!important;
    font-size:clamp(.94rem, 4.4vw, 1rem)!important;
  }
}


/* =========================================================
   v11.6 — Search restaurado + Telefones/Sol corrigidos
   - Telefones nunca quebram o número no meio.
   - Telefones locais podem ocupar linha inteira e mostrar número completo.
   - Card Sol com ícone à esquerda e conteúdo à direita.
========================================================= */

/* Telefones úteis: layout robusto para desktop e mobile */
.phone-list.phone-list--compact{
  display:grid!important;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr))!important;
  gap:10px!important;
}

.phone-list.phone-list--compact .phone-item,
.phone-list.phone-list--compact a{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center!important;
  justify-items:start!important;
  gap:5px!important;
  padding:11px 12px!important;
  overflow:visible!important;
}

.phone-list.phone-list--compact .phone-item span,
.phone-list.phone-list--compact a span{
  min-width:0!important;
  max-width:100%!important;
  color:rgba(247,244,236,.74)!important;
  font-size:.72rem!important;
  line-height:1.08!important;
  font-weight:900!important;
}

.phone-list.phone-list--compact .phone-item strong,
.phone-list.phone-list--compact a strong{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  color:#f4d38a!important;
  font-size:clamp(1.02rem, 1.5vw, 1.22rem)!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:nowrap!important;
  hyphens:none!important;
}

.phone-list.phone-list--compact .phone-item--emergency strong{
  font-size:1.34rem!important;
}

/* Card Sol: força o mesmo padrão visual dos cards de Maré e Clima */
.today-metric-grid--compact .today-metric.today-metric--sun{
  display:grid!important;
  grid-template-columns:auto minmax(0, 1fr)!important;
  grid-template-areas:
    "icon label"
    "icon value"!important;
  align-items:center!important;
  justify-items:start!important;
  justify-content:stretch!important;
  column-gap:14px!important;
  row-gap:4px!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
  grid-area:icon!important;
  margin:0!important;
  align-self:center!important;
  justify-self:start!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun > small{
  grid-area:label!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  justify-self:start!important;
  align-self:end!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack{
  grid-area:value!important;
  width:auto!important;
  margin:0!important;
  display:grid!important;
  gap:5px!important;
  justify-items:start!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack span{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:baseline!important;
  gap:7px!important;
  white-space:nowrap!important;
}

@media (max-width:700px){
  .phone-list.phone-list--compact{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }

  .phone-list.phone-list--compact .phone-item--local{
    grid-column:1 / -1!important;
  }

  .phone-list.phone-list--compact .phone-item,
  .phone-list.phone-list--compact a{
    min-height:58px!important;
    padding:10px 12px!important;
  }

  .phone-list.phone-list--compact .phone-item strong,
  .phone-list.phone-list--compact a strong{
    font-size:clamp(1rem, 4.6vw, 1.1rem)!important;
  }

  .phone-list.phone-list--compact .phone-item--emergency strong{
    font-size:1.28rem!important;
  }
}

@media (max-width:380px){
  .phone-list.phone-list--compact .phone-item strong,
  .phone-list.phone-list--compact a strong{
    font-size:.98rem!important;
  }
}


/* =========================================================
   v11.7 — restaura busca + chips de categorias + telefones + Sol
   - Mantém a busca do v11.6.
   - Reforça categorias com largura automática ao texto.
   - Telefones locais nunca quebram o número.
   - Card Sol fica com ícone à esquerda e informações à direita.
========================================================= */

/* Categorias em formato chip: cada botão ocupa só o texto + contador */
.category-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:12px 18px 24px!important;
}

.category-nav > a{
  width:auto!important;
  min-width:unset!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:46px!important;
  padding:12px 16px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

.category-nav > a span{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  line-height:1!important;
}

.category-nav > a small{
  flex:0 0 auto!important;
  min-width:26px!important;
  width:auto!important;
  height:26px!important;
  padding:0 8px!important;
  line-height:26px!important;
  white-space:nowrap!important;
}

.category-nav__guide{
  width:auto!important;
  grid-column:auto!important;
  order:0!important;
}

/* Telefones úteis: 2 colunas confortáveis no desktop, números inteiros */
.phone-list.phone-list--compact{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(260px, 1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}

.phone-list.phone-list--compact .phone-item,
.phone-list.phone-list--compact a.phone-item{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:10px!important;
  padding:11px 12px!important;
  overflow:visible!important;
}

.phone-list.phone-list--compact .phone-item span{
  min-width:0!important;
  max-width:100%!important;
  color:rgba(247,244,236,.74)!important;
  font-size:.72rem!important;
  line-height:1.08!important;
  font-weight:900!important;
  overflow:visible!important;
}

.phone-list.phone-list--compact .phone-item strong{
  justify-self:end!important;
  display:inline-block!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  color:#f4d38a!important;
  font-size:clamp(.98rem, 1.25vw, 1.16rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:nowrap!important;
  hyphens:none!important;
  text-align:right!important;
}

/* 190 e 193 mais fortes, mas sem estourar o card */
.phone-list.phone-list--compact .phone-item--emergency strong{
  font-size:1.32rem!important;
}

/* Card Sol: mesma lógica de Maré e Clima — ícone à esquerda */
.today-metric-grid--compact .today-metric.today-metric--sun{
  min-height:108px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:
    "icon label"
    "icon value"
    "icon value"!important;
  align-items:center!important;
  justify-items:start!important;
  justify-content:stretch!important;
  column-gap:14px!important;
  row-gap:2px!important;
  padding:15px!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
  grid-area:icon!important;
  align-self:center!important;
  justify-self:start!important;
  margin:0!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun > small{
  grid-area:label!important;
  align-self:end!important;
  justify-self:start!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack{
  grid-area:value!important;
  align-self:start!important;
  justify-self:start!important;
  width:auto!important;
  margin:3px 0 0!important;
  display:grid!important;
  gap:5px!important;
  justify-items:start!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack span{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:7px!important;
  white-space:nowrap!important;
  text-align:left!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack b{
  color:rgba(247,244,236,.78)!important;
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

.today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack strong{
  color:#fffaf2!important;
  font-size:1.08rem!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}

/* Mobile */
@media (max-width:700px){
  .category-nav{
    justify-content:flex-start!important;
    gap:8px!important;
    padding:12px 14px 18px!important;
  }

  .category-nav > a{
    min-height:42px!important;
    padding:10px 13px!important;
    gap:7px!important;
  }

  .category-nav > a span{
    font-size:.88rem!important;
  }

  .category-nav > a small{
    min-width:24px!important;
    height:24px!important;
    padding:0 7px!important;
    line-height:24px!important;
    font-size:.68rem!important;
  }

  .phone-list.phone-list--compact{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }

  .phone-list.phone-list--compact .phone-item--local{
    grid-column:1 / -1!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
  }

  .phone-list.phone-list--compact .phone-item{
    min-height:58px!important;
    padding:10px 12px!important;
  }

  .phone-list.phone-list--compact .phone-item--local strong{
    font-size:clamp(.90rem, 4.0vw, 1.02rem)!important;
    white-space:nowrap!important;
  }

  .phone-list.phone-list--compact .phone-item--emergency strong{
    font-size:1.28rem!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun{
    min-height:104px!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:
      "icon label"
      "icon value"
      "icon value"!important;
    column-gap:10px!important;
    padding:12px!important;
    text-align:left!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
    width:40px!important;
    height:40px!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun > small{
    font-size:.62rem!important;
    text-align:left!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack b{
    font-size:.58rem!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack strong{
    font-size:.94rem!important;
  }
}

@media (max-width:380px){
  .category-nav > a{
    min-height:40px!important;
    padding:9px 11px!important;
  }

  .category-nav > a span{
    font-size:.78rem!important;
  }

  .phone-list.phone-list--compact .phone-item--local{
    grid-template-columns:minmax(0,1fr) max-content!important;
    gap:7px!important;
  }

  .phone-list.phone-list--compact .phone-item--local span{
    font-size:.66rem!important;
  }

  .phone-list.phone-list--compact .phone-item--local strong{
    font-size:clamp(.80rem, 3.9vw, .94rem)!important;
    letter-spacing:-.045em!important;
  }
}


/* =========================================================
   v13 — Hoje na Pipa mobile em 3 colunas reais
   - No mobile, Maré, Clima e Sol ficam sempre na mesma linha.
   - Remove overrides antigos que transformavam o card Sol em layout largo.
   - Equilibra tipografia dos três cards.
========================================================= */

.today-metric-grid.today-metric-grid--compact{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}

.today-metric-grid--compact .today-metric{
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Desktop/tablet: mantém os três cards equilibrados */
.today-metric-grid--compact .today-metric strong{
  line-height:1!important;
}

.today-metric-grid--compact .today-metric small{
  line-height:1.08!important;
}

.today-metric--sun .today-sun-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
}

.today-metric--sun .today-sun-stack span{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  white-space:nowrap!important;
}

.today-metric--sun .today-sun-stack b{
  color:rgba(247,244,236,.78)!important;
  font-size:.66rem!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

.today-metric--sun .today-sun-stack strong{
  color:#fffaf2!important;
  font-size:1.08rem!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}

/* Mobile: três cards em uma única linha */
@media (max-width:700px){
  .today-metric-grid.today-metric-grid--compact{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .today-metric-grid--compact .today-metric,
  .today-metric-grid--compact .today-metric.today-metric--tide,
  .today-metric-grid--compact .today-metric.today-metric--weather,
  .today-metric-grid--compact .today-metric.today-metric--sun{
    width:100%!important;
    min-width:0!important;
    min-height:112px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:3px!important;
    padding:9px 5px!important;
    border-radius:16px!important;
    grid-template-columns:none!important;
    grid-template-areas:none!important;
    column-gap:0!important;
  }

  .today-metric-grid--compact .today-metric__icon,
  .today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    margin:0 auto 2px!important;
    font-size:1rem!important;
    grid-area:auto!important;
  }

  .today-metric-grid--compact .today-metric__icon-image{
    width:24px!important;
    height:24px!important;
  }

  .today-metric-grid--compact .today-metric small,
  .today-metric-grid--compact .today-metric.today-metric--sun > small{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    color:rgba(247,244,236,.72)!important;
    font-size:.56rem!important;
    line-height:1.05!important;
    letter-spacing:.075em!important;
    text-align:center!important;
    white-space:normal!important;
    text-transform:uppercase!important;
    grid-area:auto!important;
  }

  .today-metric-grid--compact .today-metric strong,
  .today-metric-grid--compact .today-metric.today-metric--tide strong,
  .today-metric-grid--compact .today-metric.today-metric--weather strong{
    display:block!important;
    width:100%!important;
    margin:1px 0 0!important;
    color:#fffaf2!important;
    font-size:1.25rem!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
    text-align:center!important;
    white-space:nowrap!important;
    grid-area:auto!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--tide strong{
    color:#f4d38a!important;
  }

  .today-metric-grid--compact .today-metric em,
  .today-metric-grid--compact .today-metric b,
  .today-metric-grid--compact .today-metric.today-metric--tide em,
  .today-metric-grid--compact .today-metric.today-metric--tide b,
  .today-metric-grid--compact .today-metric.today-metric--weather em{
    display:block!important;
    width:100%!important;
    margin:0!important;
    color:#f4d38a!important;
    font-size:.68rem!important;
    line-height:1.05!important;
    font-weight:950!important;
    letter-spacing:-.02em!important;
    text-align:center!important;
    white-space:nowrap!important;
    grid-area:auto!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--tide em{
    color:#fffaf2!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    margin:1px 0 0!important;
    grid-area:auto!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack span{
    width:100%!important;
    display:flex!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:4px!important;
    white-space:nowrap!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack b{
    font-size:.48rem!important;
    line-height:1!important;
    letter-spacing:.035em!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack strong{
    width:auto!important;
    margin:0!important;
    font-size:.86rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

@media (max-width:380px){
  .today-metric-grid.today-metric-grid--compact{
    gap:5px!important;
  }

  .today-metric-grid--compact .today-metric,
  .today-metric-grid--compact .today-metric.today-metric--sun{
    min-height:104px!important;
    padding:8px 4px!important;
    border-radius:14px!important;
  }

  .today-metric-grid--compact .today-metric__icon,
  .today-metric-grid--compact .today-metric.today-metric--sun .today-metric__icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
  }

  .today-metric-grid--compact .today-metric strong,
  .today-metric-grid--compact .today-metric.today-metric--tide strong,
  .today-metric-grid--compact .today-metric.today-metric--weather strong{
    font-size:1.08rem!important;
  }

  .today-metric-grid--compact .today-metric em,
  .today-metric-grid--compact .today-metric b{
    font-size:.61rem!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack b{
    font-size:.43rem!important;
  }

  .today-metric-grid--compact .today-metric.today-metric--sun .today-sun-stack strong{
    font-size:.78rem!important;
  }
}
