/* Identidade pública inspirada no template Hemovita/v0. CSS próprio, sem Bootstrap. */
body.visual-public{
  --v0-blood:#ed1c24;--v0-blood-dark:#c40d16;--v0-navy:#16263a;--v0-fg:#182230;
  --v0-muted:#697586;--v0-border:#e3e7ec;--v0-card:#fff;--v0-soft:#f8f9fb;
  margin:0!important;background:#fff!important;color:var(--v0-fg)!important;font-family:inherit!important;
}
body.visual-public .accessibility-bar{border-bottom:1px solid rgba(255,255,255,.14)!important}
body.visual-public .hero{padding:0!important;border:0!important;background-image:radial-gradient(circle at 82% 20%,rgba(255,90,95,.50),transparent 45%),linear-gradient(120deg,#c40d16,#ed1c24)!important;color:#fff!important}
body.visual-public .hero-inner{width:min(1152px,calc(100% - 32px))!important;margin:0 auto!important;padding:56px 0!important;display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(360px,1fr)!important;grid-template-areas:"intro panel"!important;gap:40px!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.visual-public .hero-intro{grid-area:intro!important;padding:0!important;text-align:left!important}
body.visual-public .hero .eyebrow{margin:0 0 14px!important;color:#ffb3bc!important;font-size:.75rem!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase!important}
body.visual-public .hero h1{max-width:700px!important;margin:0!important;color:#fff!important;font-size:clamp(2.5rem,4.2vw,3.75rem)!important;font-weight:800!important;line-height:1.02!important;letter-spacing:-.035em!important;text-transform:uppercase!important}
body.visual-public .hero .lead{max-width:520px!important;margin:16px 0 0!important;color:#d6dee8!important;font-size:1rem!important;line-height:1.65!important}
body.visual-public .hero .hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
body.visual-public .location-panel{grid-area:panel!important;display:block!important;height:auto!important;padding:24px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;background:rgba(255,255,255,.08)!important;backdrop-filter:blur(12px)!important;box-shadow:none!important;color:#fff!important}
body.visual-public .location-panel h2{margin:0 0 10px!important;color:#fff!important;font-size:1.1rem!important;text-transform:uppercase!important;letter-spacing:.04em!important}
body.visual-public .location-panel .location-unit{min-height:0!important;padding:14px 0!important;border:0!important;border-radius:0!important;background:transparent!important}
body.visual-public .location-panel .location-unit+.location-unit{border-top:1px solid rgba(255,255,255,.14)!important}
body.visual-public .location-unit-name{margin:0!important;color:#fff!important;font-weight:800!important;font-size:1rem!important}
body.visual-public .location-panel .address,body.visual-public .location-hours,body.visual-public .location-contact{color:#bac7d5!important;font-size:.875rem!important;line-height:1.55!important}
body.visual-public .location-contact,body.visual-public .location-map-link{display:flex!important;width:max-content!important;text-decoration:none!important}
body.visual-public .location-map-link{color:#ffb3bc!important;font-size:.875rem!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:4px!important}
body.visual-public .v0-requirements-section{background:#fff;padding:64px 0}
body.visual-public .v0-section-shell,body.visual-public main{width:min(896px,calc(100% - 32px))!important;margin:0 auto!important}
body.visual-public .v0-section-heading,body.visual-public .public-scheduling-heading{text-align:center!important;max-width:670px!important;margin:0 auto!important}
body.visual-public .v0-kicker{display:block;color:var(--v0-blood)!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important}
body.visual-public .v0-section-heading h2,body.visual-public .public-scheduling-heading h2{margin:8px 0 0!important;color:var(--v0-fg)!important;font-size:clamp(1.9rem,3vw,2.35rem)!important;font-weight:800!important;line-height:1.15!important;text-transform:uppercase!important;letter-spacing:.025em!important}
body.visual-public .v0-section-heading p,body.visual-public .public-scheduling-heading p{margin:12px auto 0!important;color:var(--v0-muted)!important;line-height:1.65!important}
body.visual-public .v0-requirements-section .requirements{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-top:32px!important;max-width:none!important}
body.visual-public .v0-requirements-section .requirement{min-height:0!important;padding:22px!important;border:1px solid var(--v0-border)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 14px rgba(18,38,58,.04)!important}
body.visual-public .v0-requirements-section .requirement b{color:var(--v0-fg)!important;font-size:1rem!important;margin:0 0 8px!important}
body.visual-public .v0-requirements-section .requirement span{color:var(--v0-muted)!important;font-size:.86rem!important;line-height:1.55!important}
body.visual-public main{padding:64px 0!important}
body.visual-public .public-scheduling-view{display:block!important}
body.visual-public .public-scheduling-heading{display:block!important;margin-bottom:28px!important}
body.visual-public .tabs{width:max-content!important;margin:0 auto 32px!important;padding:4px!important;display:flex!important;gap:0!important;border:1px solid var(--v0-border)!important;border-radius:9px!important;background:#fff!important;box-shadow:0 1px 3px rgba(16,24,40,.06)!important}
body.visual-public .tab-button{min-height:40px!important;padding:8px 16px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--v0-muted)!important;font-weight:700!important}
body.visual-public .tab-button.active{background:var(--v0-blood)!important;color:#fff!important;box-shadow:0 1px 3px rgba(16,24,40,.12)!important}
body.visual-public #scheduleForm,body.visual-public #groupForm{padding:30px!important;border:1px solid var(--v0-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.05)!important}
body.visual-public #scheduleForm .schedule-quick-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;padding:0 0 24px!important;margin:0 0 26px!important;border:0!important;border-bottom:1px solid var(--v0-border)!important}
body.visual-public #scheduleForm .schedule-slot-field{grid-column:1/-1!important}
body.visual-public label{color:var(--v0-fg)!important;font-size:.875rem!important;font-weight:700!important}
body.visual-public input,body.visual-public select,body.visual-public textarea{min-height:42px!important;padding:10px 14px!important;border:1px solid #d0d5dd!important;border-radius:8px!important;background:#fff!important;color:var(--v0-fg)!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important}
body.visual-public input:focus,body.visual-public select:focus,body.visual-public textarea:focus{border-color:var(--v0-blood)!important;box-shadow:0 0 0 3px rgba(237,28,36,.12)!important}
body.visual-public .section-title{margin:26px 0 18px!important;padding:0!important;border:0!important;color:var(--v0-fg)!important;font-size:1.08rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.035em!important}
body.visual-public #scheduleForm>.section-title:not(:first-of-type),body.visual-public #groupForm>.section-title{padding-top:24px!important;border-top:1px solid var(--v0-border)!important}
body.visual-public .grid{gap:20px!important}
body.visual-public .section-hint{color:var(--v0-muted)!important;line-height:1.55!important}
body.visual-public .slots{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}
body.visual-public .slot{min-width:0!important;min-height:48px!important;border:1px solid var(--v0-border)!important;border-radius:8px!important;background:#fff!important;color:var(--v0-fg)!important;font-weight:700!important}
body.visual-public .slot:hover:not(:disabled){border-color:rgba(237,28,36,.5)!important;color:var(--v0-blood)!important}
body.visual-public .slot.selected{border-color:var(--v0-blood)!important;background:var(--v0-blood)!important;color:#fff!important}
body.visual-public .slot small{color:inherit!important;opacity:.72!important}
body.visual-public .awareness-field .condition-item,body.visual-public .accessibility-support-box{border:1px solid var(--v0-border)!important;border-radius:8px!important;background:#f8f9fb!important}
body.visual-public .actions{justify-content:flex-start!important;border:0!important;padding-top:4px!important}
body.visual-public .button.primary,body.visual-public #scheduleForm button[type="submit"],body.visual-public #groupForm button[type="submit"]{min-height:46px!important;padding:0 24px!important;border-radius:8px!important;background:var(--v0-blood)!important;color:#fff!important;font-weight:800!important;box-shadow:0 4px 10px rgba(237,28,36,.18)!important}
body.visual-public .public-consulta-panel{margin-top:48px!important;padding:30px!important;border:1px solid var(--v0-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.05)!important}
body.visual-public .public-consulta-panel .panel-header{padding:0!important}
body.visual-public .public-consulta-panel .panel-header h2{font-size:1.5rem!important;text-transform:uppercase!important;letter-spacing:.025em!important;color:var(--v0-fg)!important}
body.visual-public .public-consulta-panel .consulta-form{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:16px!important;padding:22px 0 0!important;align-items:end!important}
body.visual-public .public-consulta-panel .button.secondary{min-height:42px!important;background:var(--v0-blood)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:0 20px!important}
body.visual-public .public-footer{margin-top:16px!important;background:#101d2d!important;color:#d8e0e8!important}
body.visual-public .public-footer-inner{width:min(1152px,calc(100% - 32px))!important;margin:0 auto!important;padding:42px 0!important;display:grid!important;grid-template-columns:1.4fr .8fr .8fr!important;gap:28px!important;align-items:center!important}
body.visual-public .public-footer-logo{max-width:210px!important;filter:none!important;background:#fff!important;border-radius:10px!important;padding:8px!important}
body.visual-public .public-footer-label{color:#fff!important}
body.visual-public .public-footer a{color:#d8e0e8!important}
body.visual-public .public-footer-bottom{padding:18px 16px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#9eabb8!important;text-align:center!important}
@media(max-width:900px){
 body.visual-public .hero-inner{grid-template-columns:1fr!important;grid-template-areas:"intro" "panel"!important;padding:44px 0!important}
 body.visual-public .v0-requirements-section .requirements{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.visual-public .slots{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 body.visual-public .public-footer-inner{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
 body.visual-public .hero-inner{width:calc(100% - 28px)!important;padding:36px 0!important}
 body.visual-public .hero h1{font-size:2.35rem!important}
 body.visual-public .location-panel{padding:20px!important}
 body.visual-public .v0-requirements-section{padding:48px 0!important}
 body.visual-public .v0-requirements-section .requirements{grid-template-columns:1fr!important}
 body.visual-public main{padding:48px 0!important}
 body.visual-public #scheduleForm,body.visual-public #groupForm,body.visual-public .public-consulta-panel{padding:20px!important}
 body.visual-public #scheduleForm .schedule-quick-row,body.visual-public .grid{grid-template-columns:1fr!important}
 body.visual-public .slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.visual-public .public-consulta-panel .consulta-form{grid-template-columns:1fr!important}
 body.visual-public .public-footer-inner{grid-template-columns:1fr!important;text-align:center!important}
}
body.visual-public .v0-hero-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:10px 20px;border-radius:10px;font-size:.875rem;font-weight:800;text-decoration:none!important;transition:background .18s ease,border-color .18s ease}
body.visual-public .v0-hero-button.primary{background:#fff!important;color:var(--v0-blood-dark)!important;box-shadow:0 4px 12px rgba(69,7,10,.15)}
body.visual-public .v0-hero-button.primary:hover{background:#fff3f4!important}
body.visual-public .v0-hero-button.secondary{border:1px solid rgba(255,255,255,.30)!important;background:rgba(255,255,255,.05)!important;color:#fff!important}
body.visual-public .v0-hero-button.secondary:hover{background:rgba(255,255,255,.10)!important}


/* ==========================================================
   POLIMENTO VISUAL V0 — 28/08/2026
   Somente apresentação. IDs e layout funcional preservados.
   ========================================================== */
body.visual-public{
  background:#f4f6f8!important;
}

/* Logo institucional no hero */
body.visual-public .v0-hero-brand{
  display:inline-flex!important;
  width:max-content!important;
  max-width:190px!important;
  margin:0 0 22px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(90,0,5,.14)!important;
}
body.visual-public .v0-hero-brand img{
  display:block!important;
  width:auto!important;
  max-width:160px!important;
  max-height:64px!important;
  object-fit:contain!important;
}

/* Unidades: alto contraste sobre o hero vermelho */
body.visual-public .location-panel,
body.visual-public .location-panel h2,
body.visual-public .location-panel .location-unit,
body.visual-public .location-panel .location-unit-name,
body.visual-public .location-panel .address,
body.visual-public .location-panel .location-hours,
body.visual-public .location-panel .location-contact,
body.visual-public .location-panel .location-hours strong{
  color:#fff!important;
}
body.visual-public .location-panel .address,
body.visual-public .location-panel .location-hours,
body.visual-public .location-panel .location-contact{
  opacity:.96!important;
}
body.visual-public .location-panel .location-map-link{
  color:#fff!important;
  opacity:1!important;
}

/* Cards com ícones */
body.visual-public .v0-requirements-section .requirement{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
body.visual-public .requirement-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  margin:0 0 16px!important;
  border-radius:12px!important;
  background:rgba(237,28,36,.08)!important;
  color:var(--v0-blood)!important;
}
body.visual-public .requirement-icon svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Separação sutil entre conteúdo e background, mantendo a largura do template */
body.visual-public .v0-requirements-section{
  background:#fff!important;
  border-bottom:1px solid #edf0f3!important;
}
body.visual-public main{
  width:min(896px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:64px 0!important;
  background:transparent!important;
}
body.visual-public #scheduleForm,
body.visual-public #groupForm,
body.visual-public .public-consulta-panel{
  width:100%!important;
  max-width:896px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  background:#fff!important;
  box-shadow:0 7px 24px rgba(18,38,58,.055)!important;
}

/* Individual / Em grupo exatamente centralizado */
body.visual-public .tabs{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 32px!important;
  align-items:center!important;
  justify-content:center!important;
}
body.visual-public .tab-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:112px!important;
}

/* Rodapé com a mesma família cromática do header/hero */
body.visual-public .public-footer{
  margin-top:16px!important;
  background-image:radial-gradient(circle at 82% 20%,rgba(255,90,95,.35),transparent 45%),linear-gradient(120deg,#c40d16,#ed1c24)!important;
  color:#fff!important;
}
body.visual-public .public-footer-label,
body.visual-public .public-footer a,
body.visual-public .public-footer-info,
body.visual-public .public-footer-social,
body.visual-public .public-footer-bottom{
  color:#fff!important;
}
body.visual-public .public-footer-bottom{
  border-top:1px solid rgba(255,255,255,.22)!important;
  opacity:.96!important;
}
body.visual-public .public-footer-logo{
  background:#fff!important;
  border-radius:10px!important;
  padding:8px!important;
}

@media(max-width:620px){
  body.visual-public .v0-hero-brand{margin-left:auto!important;margin-right:auto!important;}
  body.visual-public .hero-intro{text-align:center!important;}
  body.visual-public .hero .lead{margin-left:auto!important;margin-right:auto!important;}
  body.visual-public .hero .hero-cta-row{justify-content:center!important;}
  body.visual-public .tab-button{min-width:104px!important;}
}

/* ==========================================================
   POLIMENTO DE FIDELIDADE — referência visual Vercel
   Mantém fonte, IDs e comportamento funcional existentes.
   ========================================================== */
body.visual-public{
  --v0-blood:#ed1c24;
  --v0-blood-dark:#c9141c;
  --v0-warm-bg:#fcf1f1;
  --v0-warm-border:#f2caca;
  --v0-warm-input:#efb8bb;
  background:var(--v0-warm-bg)!important;
}

/* Área do agendamento: largura e respiro equivalentes à referência */
body.visual-public main{
  width:min(930px,calc(100% - 32px))!important;
  padding:54px 0 66px!important;
}
body.visual-public .public-scheduling-view{
  width:100%!important;
}
body.visual-public #scheduleForm,
body.visual-public #groupForm{
  width:min(1000px,100%)!important;
  max-width: 1200px!important;
  margin-inline:auto!important;
  padding:32px!important;
  border:1px solid var(--v0-warm-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(115,25,31,.045)!important;
}

/* Tabs: botão inteiro recebe o estado ativo, como na referência */
body.visual-public .tabs{
  display:flex!important;
  width:max-content!important;
  margin:0 auto 32px!important;
  padding:4px!important;
  gap:2px!important;
  border:1px solid #efcfd1!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 2px 5px rgba(107,25,31,.10)!important;
}
body.visual-public .tab-button{
  min-width:120px!important;
  min-height:38px!important;
  padding:8px 14px!important;
  gap:8px!important;
  border:0!important;
  border-radius:8px!important;
  color:#a3474c!important;
  background:transparent!important;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease!important;
}
body.visual-public .tab-button:hover:not(.active):not(.is-blocked){
  color:var(--v0-blood-dark)!important;
  background:#fff4f4!important;
}
body.visual-public .tab-button.active{
  color:#fff!important;
  background:var(--v0-blood)!important;
  box-shadow:0 2px 5px rgba(237,28,36,.22)!important;
}
body.visual-public .tab-icon{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Campos superiores e horários */
body.visual-public #scheduleForm .schedule-quick-row{
  gap:18px!important;
  padding-bottom:26px!important;
  margin-bottom:30px!important;
  border-bottom-color:#f0cccc!important;
}
body.visual-public label{
  color:#18090a!important;
  font-weight:700!important;
}
body.visual-public input,
body.visual-public select,
body.visual-public textarea{
  min-height:43px!important;
  border-color:var(--v0-warm-input)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 2px 3px rgba(94,18,23,.08)!important;
}
body.visual-public input::placeholder,
body.visual-public textarea::placeholder{
  color:#b44d52!important;
  opacity:.95!important;
}
body.visual-public input:focus,
body.visual-public select:focus,
body.visual-public textarea:focus{
  border-color:var(--v0-blood)!important;
  box-shadow:0 0 0 3px rgba(237,28,36,.11)!important;
}
body.visual-public .slots{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}
body.visual-public .slot{
  min-height:53px!important;
  border-color:#f2caca!important;
  border-radius:9px!important;
  background:#fffafa!important;
  color:#1d0b0c!important;
  box-shadow:none!important;
}
body.visual-public .slot:hover:not(:disabled){
  border-color:var(--v0-blood)!important;
  background:#fff3f3!important;
  color:var(--v0-blood-dark)!important;
}
body.visual-public .slot.selected{
  border-color:var(--v0-blood)!important;
  background:var(--v0-blood)!important;
  color:#fff!important;
}
body.visual-public .slot small{
  color:#c25b60!important;
  opacity:1!important;
}
body.visual-public .slot.selected small{color:#fff!important;opacity:.9!important}

/* Separadores e títulos: hierarquia visual mais próxima do template */
body.visual-public .section-title{
  margin:28px 0 20px!important;
  padding-top:28px!important;
  border-top:1px solid #f0cccc!important;
  color:#150708!important;
  font-size:1.1rem!important;
  font-weight:900!important;
  letter-spacing:.025em!important;
}
body.visual-public #scheduleForm>.section-title:first-of-type{
  margin-top:0!important;
}
body.visual-public .section-hint{
  color:#b34f54!important;
  margin-top:-8px!important;
  margin-bottom:22px!important;
}

/* Dados do doador: Nome 100%; CPF 1/3; Telefone 2/3 */
body.visual-public #scheduleForm .donor-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px 20px!important;
}
body.visual-public #scheduleForm .donor-name-field{grid-column:1/-1!important}
body.visual-public #scheduleForm .donor-cpf-field{grid-column:span 1!important}
body.visual-public #scheduleForm .donor-phone-field{grid-column:span 2!important}

/* Pré-triagem: mantém duas colunas alinhadas sem deformar campos de resposta */
body.visual-public #scheduleForm .triage-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  gap:18px 20px!important;
}
body.visual-public #scheduleForm .triage-grid .field{
  min-width:0!important;
}
body.visual-public #scheduleForm .triage-grid label{
  line-height:1.32!important;
}

/* Consulta segue mesma linguagem sem competir com o formulário principal */
body.visual-public .public-consulta-panel{
  width:min(1000px,100%)!important;
  max-width: 1200px!important;
  margin-inline:auto!important;
  border-color:var(--v0-warm-border)!important;
  box-shadow:0 5px 16px rgba(115,25,31,.045)!important;
}

@media(max-width:720px){
  body.visual-public #scheduleForm,
  body.visual-public #groupForm{padding:22px 18px!important}
  body.visual-public #scheduleForm .schedule-quick-row,
  body.visual-public #scheduleForm .donor-grid,
  body.visual-public #scheduleForm .triage-grid{grid-template-columns:1fr!important}
  body.visual-public #scheduleForm .donor-name-field,
  body.visual-public #scheduleForm .donor-cpf-field,
  body.visual-public #scheduleForm .donor-phone-field{grid-column:1!important}
  body.visual-public .slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* ==========================================================
   CORREÇÃO DE CENTRALIZAÇÃO — public-scheduling-view
   Sobrescreve regras legadas mais específicas do design-system.css.
   ========================================================== */
body.visual-public main#mainContent{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:54px 16px 66px!important;
  box-sizing:border-box!important;
}

body.visual-public main#mainContent > .public-scheduling-view,
body.visual-public .public-scheduling-view{
  width:min(930px,100%)!important;
  max-width:930px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

body.visual-public .public-scheduling-view > .tabs{
  margin-left:auto!important;
  margin-right:auto!important;
}

body.visual-public .public-scheduling-view #scheduleForm,
body.visual-public .public-scheduling-view #groupForm{
  width:min(1000px,100%)!important;
  max-width: 1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@media (max-width:640px){
  body.visual-public main#mainContent{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.visual-public main#mainContent > .public-scheduling-view,
  body.visual-public .public-scheduling-view{
    width:100%!important;
    max-width:100%!important;
  }
}

/* ==========================================================
   LOGO + ICONOGRAFIA INSTITUCIONAL
   ========================================================== */
body.visual-public .v0-hero-brand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(310px,72vw)!important;
  min-height:118px!important;
  margin:0 0 24px!important;
  padding:14px 18px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(92,0,5,.14)!important;
  overflow:hidden!important;
}
body.visual-public .v0-hero-brand img{
  display:block!important;
  width:100%!important;
  max-width:270px!important;
  height:auto!important;
  max-height:108px!important;
  object-fit:contain!important;
}
body.visual-public .ui-line-icon,
body.visual-public .requirement-icon svg,
body.visual-public .tab-icon{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.visual-public .ui-line-icon{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
}
body.visual-public .location-detail,
body.visual-public .location-contact,
body.visual-public .location-map-link{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
}
body.visual-public .location-detail .ui-line-icon,
body.visual-public .location-contact .ui-line-icon,
body.visual-public .location-map-link .ui-line-icon{
  margin-top:2px!important;
  opacity:.94!important;
}
body.visual-public .location-panel .address,
body.visual-public .location-hours,
body.visual-public .location-contact{
  color:#fff!important;
}
body.visual-public .requirement-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#c9141c!important;
  box-shadow:none!important;
}
body.visual-public .requirement-icon svg{
  width:23px!important;
  height:23px!important;
}
body.visual-public .tab-icon{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  stroke-width:1.65!important;
}
body.visual-public .public-footer-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:32px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
body.visual-public .public-footer-icon .ui-line-icon{
  width:16px!important;
  height:16px!important;
}
@media(max-width:620px){
  body.visual-public .v0-hero-brand{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ==========================================================
   AJUSTE FINAL — FOOTER + ESTADO ATIVO INDIVIDUAL/GRUPO
   ========================================================== */

/* Tabs: botão selecionado preenchido em vermelho */
body.visual-public .public-scheduling-view .tabs .tab-button,
body.visual-public .public-scheduling-view .tabs button.tab-button{
  min-height:40px!important;
  padding:9px 16px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#8f3438!important;
  box-shadow:none!important;
  transition:background-color .16s ease,color .16s ease,box-shadow .16s ease!important;
}
body.visual-public .public-scheduling-view .tabs .tab-button.active,
body.visual-public .public-scheduling-view .tabs .tab-button[aria-selected="true"],
body.visual-public .public-scheduling-view .tabs button.tab-button.active{
  background:var(--v0-blood)!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(237,28,36,.22)!important;
}
body.visual-public .public-scheduling-view .tabs .tab-button.active .tab-icon,
body.visual-public .public-scheduling-view .tabs .tab-button[aria-selected="true"] .tab-icon{
  color:#fff!important;
  stroke:#fff!important;
}
body.visual-public .public-scheduling-view .tabs .tab-button:not(.active):hover{
  background:#fff1f2!important;
  color:var(--v0-blood-dark)!important;
}

/* Footer: 4 blocos alinhados e equilibrados */
body.visual-public .public-footer{
  margin-top:0!important;
  background-image:radial-gradient(circle at 82% 18%,rgba(255,90,95,.28),transparent 42%),linear-gradient(120deg,#c40d16,#ed1c24)!important;
}
body.visual-public .public-footer-inner{
  width:min(1152px,calc(100% - 48px))!important;
  margin:0 auto!important;
  padding:36px 0 32px!important;
  display:grid!important;
  grid-template-columns:1.35fr 1.15fr .9fr .9fr!important;
  gap:34px!important;
  align-items:start!important;
}
body.visual-public .public-footer-brand-block,
body.visual-public .public-footer-info,
body.visual-public .public-footer-social{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  align-self:start!important;
}
body.visual-public .public-footer-brand-block{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
body.visual-public .public-footer-logo{
  display:block!important;
  width:auto!important;
  max-width:205px!important;
  max-height:76px!important;
  object-fit:contain!important;
  margin:0!important;
  padding:8px 12px!important;
  background:#fff!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
}
body.visual-public .public-footer-info{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  color:#fff!important;
  line-height:1.5!important;
}
body.visual-public .public-footer-info > div{
  min-width:0!important;
}
body.visual-public .public-footer-label{
  display:block!important;
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}
body.visual-public .public-footer-info a,
body.visual-public .public-footer-info span:not(.public-footer-label){
  color:#fff!important;
  font-size:.84rem!important;
  line-height:1.5!important;
  text-decoration:none!important;
}
body.visual-public .public-footer-social{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  color:#fff!important;
}
body.visual-public .public-footer-social-links{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:6px!important;
}
body.visual-public .public-footer-social-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.32)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  transition:background .16s ease,border-color .16s ease!important;
}
body.visual-public .public-footer-social-links a:hover{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.55)!important;
}
body.visual-public .public-footer-social-links svg{
  width:17px!important;
  height:17px!important;
  fill:currentColor!important;
}
body.visual-public .public-footer-icon{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
}
body.visual-public .public-footer-bottom{
  padding:16px 20px!important;
  border-top:1px solid rgba(255,255,255,.20)!important;
  color:rgba(255,255,255,.94)!important;
  font-size:.76rem!important;
  line-height:1.5!important;
  text-align:center!important;
}

@media(max-width:900px){
  body.visual-public .public-footer-inner{
    grid-template-columns:1fr 1fr!important;
    gap:28px 36px!important;
  }
}
@media(max-width:620px){
  body.visual-public .public-footer-inner{
    width:min(100% - 32px,520px)!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    text-align:left!important;
  }
  body.visual-public .public-footer-brand-block,
  body.visual-public .public-footer-social,
  body.visual-public .public-footer-info{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
}

/* ==========================================================
   POLIMENTO — REQUISITOS + CONTORNO DO AGENDAMENTO
   Referência visual aprovada em 28/08/2026.
   ========================================================== */
body.visual-public .v0-requirements-section{
  padding:58px 0 64px!important;
  background:#fff8f8!important;
  border-top:1px solid #f3d9db!important;
  border-bottom:1px solid #f0d4d6!important;
}
body.visual-public .v0-requirements-section .v0-section-shell{
  width:min(1120px,calc(100% - 40px))!important;
  margin-inline:auto!important;
}
body.visual-public .v0-requirements-section .v0-section-heading{
  max-width:780px!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.visual-public .v0-requirements-section .v0-section-heading h2{
  margin:0!important;
  color:#190708!important;
  font-size:clamp(2rem,3vw,2.55rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
body.visual-public .v0-requirements-section .v0-section-heading p{
  max-width:680px!important;
  margin:12px auto 0!important;
  color:#b04b50!important;
  font-size:1rem!important;
  line-height:1.5!important;
}
body.visual-public .v0-requirements-section .requirements{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  margin-top:38px!important;
}
body.visual-public .v0-requirements-section .requirement{
  min-height:260px!important;
  padding:24px!important;
  border:1px solid #efc9cc!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body.visual-public .v0-requirements-section .requirement-icon{
  width:44px!important;
  height:44px!important;
  margin:0 0 20px!important;
  border-radius:10px!important;
  background:#fde7e9!important;
  color:#ed1c24!important;
}
body.visual-public .v0-requirements-section .requirement-icon svg{
  width:23px!important;
  height:23px!important;
  stroke-width:1.7!important;
}
body.visual-public .v0-requirements-section .requirement b{
  display:block!important;
  margin:0 0 9px!important;
  color:#190708!important;
  font-size:1.05rem!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
body.visual-public .v0-requirements-section .requirement > span:last-child{
  color:#b24d52!important;
  font-size:.92rem!important;
  line-height:1.58!important;
}

/* Contorno do formulário principal como na referência */
body.visual-public .public-scheduling-view #scheduleForm,
body.visual-public .public-scheduling-view #groupForm{
  border:1px solid #efc7ca!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 2px 5px rgba(102,18,24,.06)!important;
}

@media(max-width:900px){
  body.visual-public .v0-requirements-section .requirements{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.visual-public .v0-requirements-section .requirement{min-height:230px!important}
}
@media(max-width:620px){
  body.visual-public .v0-requirements-section{padding:44px 0 48px!important}
  body.visual-public .v0-requirements-section .v0-section-shell{width:min(100% - 28px,520px)!important}
  body.visual-public .v0-requirements-section .requirements{grid-template-columns:1fr!important;gap:14px!important}
  body.visual-public .v0-requirements-section .requirement{min-height:0!important;padding:20px!important}
}


/* ==========================================================
   CABEÇALHO ÂNCORA PÚBLICO — 28/08/2026
   ========================================================== */
body.visual-public .public-anchor-header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  width:100%!important;
  border-top:3px solid #d70d18!important;
  border-bottom:1px solid #f1d7d9!important;
  background:rgba(255,250,250,.97)!important;
  box-shadow:0 4px 14px rgba(82,17,23,.05)!important;
  backdrop-filter:saturate(160%) blur(10px)!important;
}
body.visual-public .public-anchor-header-inner{
  width:min(1120px,calc(100% - 32px))!important;
  min-height:80px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr) 220px!important;
  align-items:center!important;
  gap:24px!important;
}
body.visual-public .public-anchor-brand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  text-decoration:none!important;
}
body.visual-public .public-anchor-brand img{
  display:block!important;
  width:auto!important;
  height:58px!important;
  max-width:150px!important;
  object-fit:contain!important;
}
body.visual-public .public-anchor-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:34px!important;
}
body.visual-public .public-anchor-nav a{
  position:relative!important;
  display:inline-flex!important;
  min-height:44px!important;
  align-items:center!important;
  color:#2a1719!important;
  font-size:.92rem!important;
  font-weight:700!important;
  text-decoration:none!important;
  transition:color .18s ease!important;
}
body.visual-public .public-anchor-nav a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:5px!important;
  height:2px!important;
  border-radius:999px!important;
  background:#ed1c24!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .18s ease!important;
}
body.visual-public .public-anchor-nav a:hover,
body.visual-public .public-anchor-nav a:focus-visible{color:#d70d18!important}
body.visual-public .public-anchor-nav a:hover::after,
body.visual-public .public-anchor-nav a:focus-visible::after{transform:scaleX(1)!important}
body.visual-public .public-anchor-phone{
  justify-self:end!important;
  display:inline-flex!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:9px 16px!important;
  border:1px solid #ed1c24!important;
  border-radius:10px!important;
  background:#ed1c24!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 5px 14px rgba(237,28,36,.16)!important;
}
body.visual-public .public-anchor-phone:hover{background:#cf1119!important;border-color:#cf1119!important}
body.visual-public .public-anchor-phone svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.visual-public #inicio,
body.visual-public #requisitos,
body.visual-public #agendamento,
body.visual-public #consulta{scroll-margin-top:96px!important}

/* Logo saiu do hero: texto ganha espaço integral da coluna. */
body.visual-public .hero-intro .v0-hero-brand{display:none!important}
body.visual-public .hero-intro{align-self:center!important}
body.visual-public .hero-intro h1{max-width:760px!important}
body.visual-public .hero-intro .lead{max-width:650px!important}

@media(max-width:820px){
  body.visual-public .public-anchor-header-inner{
    grid-template-columns:auto 1fr auto!important;
    min-height:72px!important;
    gap:14px!important;
  }
  body.visual-public .public-anchor-brand img{height:50px!important;max-width:130px!important}
  body.visual-public .public-anchor-nav{gap:18px!important}
  body.visual-public .public-anchor-phone{padding:9px 11px!important}
  body.visual-public .public-anchor-phone span{display:none!important}
}
@media(max-width:620px){
  body.visual-public .public-anchor-header-inner{
    width:calc(100% - 24px)!important;
    grid-template-columns:auto 1fr!important;
    min-height:64px!important;
  }
  body.visual-public .public-anchor-brand img{height:44px!important;max-width:116px!important}
  body.visual-public .public-anchor-nav{justify-content:flex-end!important;gap:12px!important}
  body.visual-public .public-anchor-nav a{font-size:.8rem!important;min-height:40px!important}
  body.visual-public .public-anchor-phone{display:none!important}
  body.visual-public #inicio,
  body.visual-public #requisitos,
  body.visual-public #agendamento,
  body.visual-public #consulta{scroll-margin-top:78px!important}
}

/* ==========================================================
   POLIMENTO — largura externa do contorno do agendamento
   Mantém o grid/campos internos e cria respiro lateral real.
   ========================================================== */
body.visual-public .public-scheduling-view #scheduleForm,
body.visual-public .public-scheduling-view #groupForm{
  width:min(1000px,calc(100% - 32px))!important;
  max-width: 1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@media (max-width:640px){
  body.visual-public .public-scheduling-view #scheduleForm,
  body.visual-public .public-scheduling-view #groupForm{
    width:100%!important;
  }
}

/* ==========================================================
   CORREÇÃO AUDITADA — respiro interno do contorno do formulário
   O design-system.css possui seletor de mesma família com padding:0 !important.
   Este bloco usa o seletor específico final para garantir o card completo.
   ========================================================== */
body.visual-public .public-scheduling-view #scheduleForm,
body.visual-public .public-scheduling-view #groupForm{
  width:min(1000px,calc(100% - 32px))!important;
  max-width: 1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:30px!important;
  border:1px solid #efc7ca!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 2px 5px rgba(102,18,24,.06)!important;
  box-sizing:border-box!important;
}

@media (max-width:640px){
  body.visual-public .public-scheduling-view #scheduleForm,
  body.visual-public .public-scheduling-view #groupForm{
    width:100%!important;
    padding:22px 18px!important;
  }
}

/* ==========================================================
   CORREÇÃO FINAL — largura efetiva 1200px do agendamento
   O wrapper public-scheduling-view era o limitador real (930px).
   ========================================================== */
body.visual-public main#mainContent > .public-scheduling-view,
body.visual-public .public-scheduling-view{
  width:min(1200px,calc(100% - 32px))!important;
  max-width:1200px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

body.visual-public .public-scheduling-view #scheduleForm,
body.visual-public .public-scheduling-view #groupForm{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

body.visual-public .public-consulta-panel{
  width:min(1200px,calc(100% - 32px))!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@media(max-width:640px){
  body.visual-public main#mainContent > .public-scheduling-view,
  body.visual-public .public-scheduling-view,
  body.visual-public .public-scheduling-view #scheduleForm,
  body.visual-public .public-scheduling-view #groupForm,
  body.visual-public .public-consulta-panel{
    width:100%!important;
    max-width:100%!important;
  }
}

/* ==========================================================
   HERO — EXPANSAO HORIZONTAL / REDUCAO DE ALTURA
   2026-08-28
   ========================================================== */
@media (min-width: 1180px){
  body.visual-public .hero-inner{
    width:min(1500px,calc(100% - 64px))!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:56px!important;
    padding:34px 0 38px!important;
    align-items:center!important;
  }

  body.visual-public .hero-intro{
    justify-self:start!important;
    width:100%!important;
    max-width:none!important;
  }

  body.visual-public .hero-intro h1{
    max-width:900px!important;
    margin-right:0!important;
    font-size:clamp(3.2rem,4.35vw,5.35rem)!important;
    line-height:.96!important;
  }

  body.visual-public .hero-intro .lead{
    max-width:760px!important;
    line-height:1.48!important;
  }

  body.visual-public .location-panel{
    width:100%!important;
    max-width:none!important;
    padding:20px 24px!important;
  }

  body.visual-public .location-panel .location-unit{
    padding:11px 0!important;
  }

  body.visual-public .location-panel .address{
    max-width:none!important;
  }
}

@media (min-width: 1380px){
  body.visual-public .location-panel .address{
    white-space:nowrap!important;
  }
}


/* ==========================================================
   HERO — COMPACTACAO + MAPA AO LADO DA UNIDADE
   2026-08-28
   ========================================================== */
body.visual-public .location-unit-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:6px!important;
}
body.visual-public .location-unit-heading .location-unit-name{
  margin:0!important;
  min-width:0!important;
}
body.visual-public .location-map-link-inline{
  margin:0!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  font-size:.82rem!important;
}
@media (min-width:1180px){
  body.visual-public .hero-inner{padding:26px 0 30px!important;}
  body.visual-public .hero-intro h1{
    font-size:clamp(2.85rem,3.7vw,4.55rem)!important;
    line-height:.98!important;
    max-width:860px!important;
  }
  body.visual-public .hero-intro .lead{margin-top:14px!important;}
  body.visual-public .hero-cta-row{margin-top:24px!important;}
  body.visual-public .location-panel{padding:18px 24px!important;}
  body.visual-public .location-panel .location-unit{padding:9px 0!important;}
}
@media (max-width:760px){
  body.visual-public .location-unit-heading{align-items:flex-start!important;flex-direction:column!important;gap:4px!important;}
}

/* ==========================================================
   FINAL PUBLICO — ACESSIBILIDADE NA BARRA ANCORA
   2026-08-28
   ========================================================== */
body.visual-public .public-anchor-header-inner{
  width:min(1500px,calc(100% - 48px))!important;
  grid-template-columns:220px minmax(340px,1fr) auto!important;
  gap:24px!important;
}
body.visual-public .public-anchor-accessibility.accessibility-bar{
  justify-self:end!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#2a1719!important;
  box-shadow:none!important;
}
body.visual-public .public-anchor-accessibility .accessibility-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  margin:0!important;
}
body.visual-public .public-anchor-accessibility .accessibility-button{
  min-height:36px!important;
  padding:6px 9px!important;
  border:1px solid #e8c9cb!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#5f2428!important;
  font-size:.76rem!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 1px 2px rgba(80,18,22,.04)!important;
}
body.visual-public .public-anchor-accessibility .accessibility-button:hover,
body.visual-public .public-anchor-accessibility .accessibility-button:focus-visible{
  border-color:#ed1c24!important;
  background:#fff4f4!important;
  color:#c9141c!important;
}
body.visual-public .public-anchor-accessibility .accessibility-button[aria-pressed="true"]{
  border-color:#ed1c24!important;
  background:#ed1c24!important;
  color:#fff!important;
  outline-color:#7a1117!important;
}
body.visual-public .public-anchor-accessibility .accessibility-button[aria-pressed="true"]::before{
  margin-right:4px!important;
}
body.visual-public .public-anchor-accessibility .accessibility-menu-toggle{
  border-color:#ed1c24!important;
  background:#fff!important;
  color:#c9141c!important;
}
body.visual-public .public-anchor-accessibility .accessibility-menu-toggle svg{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

@media(max-width:1080px){
  body.visual-public .public-anchor-header-inner{
    width:min(100% - 32px,1200px)!important;
    grid-template-columns:160px minmax(280px,1fr) auto!important;
    gap:14px!important;
  }
  body.visual-public .public-anchor-accessibility .accessibility-button{
    padding-inline:7px!important;
    font-size:.72rem!important;
  }
}
@media(max-width:920px){
  body.visual-public .public-anchor-header-inner{
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }
  body.visual-public .public-anchor-accessibility.accessibility-bar{
    position:relative!important;
    display:block!important;
  }
  body.visual-public .public-anchor-accessibility .accessibility-menu-toggle{
    display:flex!important;
    width:auto!important;
    min-width:44px!important;
    min-height:40px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    padding:7px 10px!important;
    border:1px solid #ed1c24!important;
    border-radius:9px!important;
    font-size:.78rem!important;
  }
  body.visual-public .public-anchor-accessibility .accessibility-actions{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 10px)!important;
    right:0!important;
    width:min(310px,calc(100vw - 28px))!important;
    padding:10px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    border:1px solid #efc9cc!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 12px 30px rgba(61,11,15,.15)!important;
    z-index:1400!important;
  }
  body.visual-public .public-anchor-accessibility.mobile-accessibility-open .accessibility-actions{
    display:grid!important;
  }
  body.visual-public .public-anchor-accessibility .accessibility-button{
    width:100%!important;
    min-height:40px!important;
    white-space:normal!important;
  }
}
@media(max-width:620px){
  body.visual-public .public-anchor-header-inner{
    width:calc(100% - 24px)!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  body.visual-public .public-anchor-nav{gap:10px!important;}
  body.visual-public .public-anchor-nav a{font-size:.76rem!important;}
  body.visual-public .public-anchor-accessibility .accessibility-menu-toggle span:not(.accessibility-menu-chevron){display:none!important;}
  body.visual-public .public-anchor-accessibility .accessibility-menu-chevron{display:none!important;}
}
