/* =========================================================
   CNOR Institucional — Mobile / Tablet polish
   Origem + Patrono: compacto, denso (estilo app bancário),
   margens 5px e tabelas empilhadas no celular
   ========================================================= */

/* ---------- Tablet (≤992): aside some, grids empilham ---------- */
@media (max-width:992px){
  .origem-cnor-page .two-col > .aside,
  .pat-page .two-col > .aside{
    display:none !important;
  }

  .origem-cnor-page .two-col,
  .pat-page .two-col{
    display:block !important;
    gap:0 !important;
  }

  .origem-cnor-page,
  .pat-page{
    padding-bottom:96px;
  }

  .origem-cnor-page .orig-map-section,
  .origem-cnor-page .orig-pillars,
  .pat-page .pat-grid-2,
  .pat-page .pat-grid-3,
  .pat-page .pat-book-layout,
  .pat-page .pat-seal-section{
    grid-template-columns:1fr !important;
  }

  .pat-page .pat-hero__inner{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .pat-page .pat-hero__side{
    max-width:360px;
    margin:0 auto;
    width:100%;
  }

  .origem-cnor-page .orig-cta,
  .pat-page .pat-cta{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
  }

  .origem-cnor-page .orig-cta__actions,
  .pat-page .pat-cta__actions{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  .origem-cnor-page .orig-cta__actions .btn,
  .pat-page .pat-cta__actions .btn{
    width:100% !important;
    justify-content:center !important;
  }
}

/* ---------- Celular (≤767) — tipografia estilo app bancário ---------- */
@media (max-width:767px){
  /* Escala Itaú-like: título forte + corpo ~13px + meta ~11–12px */
  body.page--institucional:has(.origem-cnor-page),
  body.page--institucional:has(.pat-page),
  .origem-cnor-page,
  .pat-page{
    --aore-rsp-page-x:5px !important;
    --aore-rsp-page-x-tight:5px !important;
    --cnor-phone-x:5px;
    --cnor-fs-display:1.25rem;
    --cnor-fs-title:1.125rem;
    --cnor-fs-item:0.9375rem;
    --cnor-fs-body:0.8125rem;
    --cnor-fs-sec:0.75rem;
    --cnor-fs-meta:0.6875rem;
    --cnor-fs-micro:0.625rem;
    --cnor-lh-tight:1.2;
    --cnor-lh-body:1.45;
  }

  .origem-cnor-page,
  .pat-page{
    padding-bottom:112px;
    padding-inline:0 !important;
    padding-block:8px !important;
  }

  body.page--institucional:has(.origem-cnor-page) .breadcrumb .container,
  body.page--institucional:has(.pat-page) .breadcrumb .container,
  .origem-cnor-page > .container,
  .pat-page > .container,
  .origem-cnor-page .container,
  .pat-page .container{
    padding-left:5px !important;
    padding-right:5px !important;
    padding-inline:5px !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .page--institucional:has(.origem-cnor-page) .breadcrumb,
  .page--institucional:has(.pat-page) .breadcrumb{
    font-size:var(--cnor-fs-meta) !important;
    padding-block:4px !important;
    margin-bottom:0 !important;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }

  .pat-page .two-col > div:first-child,
  .origem-cnor-page .rich{ padding-top:0 !important; }
  .pat-page{ padding-top:0 !important; }

  .pat-page .pat-anchors{ display:none !important; }

  .pat-page .pat-hero{
    margin:4px 0 10px !important;
    border-radius:14px !important;
  }
  .pat-page .pat-hero::after{
    width:160px !important; height:160px !important;
    bottom:-50px !important; right:-50px !important; border-width:28px !important;
  }
  .pat-page .pat-hero__inner{
    display:flex !important; flex-direction:column !important;
    padding:14px 5px !important; gap:0 !important;
  }
  .pat-page .pat-hero__main,
  .pat-page .pat-hero__side{
    display:contents !important; max-width:none !important; margin:0 !important;
  }

  /* Acima da foto: "Patrono do CNOR" branco, negrito, centralizado */
  .pat-page .pat-kicker{
    order:1;
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin:0 0 10px !important;
    padding:0 !important;
    border:none !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#fff !important;
    font-size:clamp(1.05rem, 4.8vw, 1.2rem) !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    text-transform:none !important;
    line-height:1.2 !important;
  }
  .pat-page .pat-kicker::before{
    content:none !important;
    display:none !important;
  }
  .pat-page .pat-portrait{ order:2; margin:0 0 10px !important; }
  .pat-page .pat-hero__title{ order:3; margin:0 0 2px !important; }
  .pat-page .pat-hero__name{ order:4; margin:0 0 6px !important; }
  .pat-page .pat-hero__rank{ order:5; margin:0 0 8px !important; }
  .pat-page .pat-hero__desc{ order:6; margin:0 0 10px !important; }
  .pat-page .pat-hero__actions{ order:7; margin:0 0 10px !important; }
  .pat-page .pat-hero__stats{ order:8; margin:0 0 10px !important; }
  .pat-page .pat-hero-callout{ order:9; margin:0 !important; }

  .pat-page .pat-hero__title{
    font-size:var(--cnor-fs-sec) !important; font-weight:700 !important;
    letter-spacing:.06em !important; line-height:var(--cnor-lh-tight) !important;
  }
  .pat-page .pat-hero__name{
    font-size:clamp(1.15rem, 5.4vw, 1.35rem) !important; font-weight:800 !important;
    line-height:var(--cnor-lh-tight) !important; white-space:nowrap !important; letter-spacing:-.02em !important;
  }
  .pat-page .pat-hero__name-br{ display:none !important; }
  .pat-page .pat-hero__rank{
    font-size:var(--cnor-fs-meta) !important; padding:4px 10px !important;
    letter-spacing:.04em !important; max-width:100%;
  }
  .pat-page .pat-hero__desc{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important;
    max-width:none !important; display:block !important;
    -webkit-line-clamp:unset !important; overflow:visible !important; opacity:.92;
  }

  .pat-page .pat-hero__actions{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    gap:8px !important; align-items:stretch !important;
  }
  .pat-page .pat-hero__actions .btn{
    flex:1 1 0 !important; width:auto !important; min-height:36px !important;
    padding:8px 10px !important; font-size:var(--cnor-fs-sec) !important; font-weight:700 !important;
    line-height:1.2 !important; justify-content:center !important;
    border-radius:10px !important; white-space:nowrap !important;
  }

  /* Stats em lista (clareza estilo notificações) */
  .pat-page .pat-hero__stats{
    grid-template-columns:1fr !important; gap:6px !important; margin-top:0 !important;
  }
  .pat-page .pat-hero__stat{
    display:flex !important; align-items:center !important; justify-content:flex-start !important;
    gap:12px !important; text-align:left !important; padding:10px 12px !important; border-radius:12px !important;
  }
  .pat-page .pat-hero__stat strong{
    margin:0 !important; min-width:3.4rem; font-size:var(--cnor-fs-item) !important;
    font-weight:800 !important; white-space:nowrap !important;
  }
  .pat-page .pat-hero__stat span{
    font-size:var(--cnor-fs-sec) !important; line-height:var(--cnor-lh-tight) !important; opacity:.85;
  }

  .pat-page .pat-portrait{
    border-radius:14px !important;
    max-height:none !important;
    width:100% !important;
    overflow:hidden !important;
    background:rgba(255,255,255,.06) !important;
  }
  .pat-page .pat-portrait img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
  .pat-page .pat-portrait figcaption{
    padding:10px 12px !important; font-size:var(--cnor-fs-sec) !important; line-height:var(--cnor-lh-body) !important;
  }
  .pat-page .pat-hero-callout{ padding:12px !important; border-radius:14px !important; }
  .pat-page .pat-hero-callout strong{
    font-size:var(--cnor-fs-meta) !important; font-weight:800 !important; margin-bottom:6px !important;
    display:block; letter-spacing:.06em; text-transform:uppercase;
  }
  .pat-page .pat-hero-callout p{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important;
    display:block !important; -webkit-line-clamp:unset !important; overflow:visible !important;
  }

  .pat-page .pat-section{
    margin-top:10px !important; margin-bottom:10px !important;
    padding:14px 5px !important; border-radius:14px !important;
  }
  .pat-page .pat-section-label{
    font-size:var(--cnor-fs-micro) !important; padding:4px 10px !important;
    margin-bottom:8px !important; letter-spacing:.08em !important;
  }
  .pat-page .pat-section-title{
    font-size:var(--cnor-fs-title) !important; font-weight:800 !important; line-height:var(--cnor-lh-tight) !important;
  }
  .pat-page .pat-section-lead{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important;
    margin-bottom:12px !important; opacity:.9;
  }
  .pat-page .pat-card,
  .pat-page .pat-edu-card,
  .pat-page .pat-medal,
  .pat-page .pat-contrib-item{
    padding:12px !important; border-radius:12px !important;
  }
  .pat-page .pat-card h3,
  .pat-page .pat-edu-card h3{
    font-size:var(--cnor-fs-item) !important; font-weight:800 !important; line-height:var(--cnor-lh-tight) !important;
  }
  .pat-page .pat-card p,
  .pat-page .pat-edu-card p,
  .pat-page .pat-bio-grid,
  .pat-page .pat-medal__info strong,
  .pat-page .pat-contrib-item{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important;
  }
  .pat-page .pat-medal__info span{
    font-size:var(--cnor-fs-sec) !important; opacity:.8;
  }
  .pat-page .pat-tl-item{
    grid-template-columns:36px minmax(0,1fr) !important; gap:10px !important; margin-bottom:10px !important;
  }
  .pat-page .pat-tl-dot{ width:36px !important; height:36px !important; font-size:.95rem !important; }
  .pat-page .pat-timeline::before{ left:17px !important; }
  .pat-page .pat-tl-body{ padding:12px !important; border-radius:12px !important; }
  .pat-page .pat-tl-title{ font-size:var(--cnor-fs-item) !important; font-weight:800 !important; }
  .pat-page .pat-tl-text{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }

  .pat-page .pat-table-wrap{
    margin:0 !important; border-radius:12px !important; overflow:visible !important;
  }
  .pat-page .pat-table{
    min-width:0 !important; width:100% !important; font-size:var(--cnor-fs-body) !important;
    border-collapse:separate !important; border-spacing:0 !important;
  }
  .pat-page .pat-table thead{ display:none !important; }
  .pat-page .pat-table,
  .pat-page .pat-table tbody,
  .pat-page .pat-table tr,
  .pat-page .pat-table td{
    display:block !important; width:100% !important; box-sizing:border-box !important;
  }
  .pat-page .pat-table tbody tr{
    margin:0 0 8px !important; padding:12px !important;
    border:1px solid rgba(13,31,18,.12) !important; border-radius:12px !important;
    background:rgba(255,255,255,.04) !important;
  }
  html:not([data-theme='dark']) .pat-page .pat-table tbody tr,
  html[data-theme='light'] .pat-page .pat-table tbody tr{
    background:#fff !important; border-color:rgba(13,31,18,.1) !important;
  }
  .pat-page .pat-table tbody td{
    padding:2px 0 !important; border:none !important; background:transparent !important;
    white-space:normal !important; overflow-wrap:break-word !important;
  }
  .pat-page .pat-table tbody td:nth-child(1){
    font-size:var(--cnor-fs-item) !important; font-weight:800 !important; margin-bottom:2px !important;
  }
  .pat-page .pat-table tbody td:nth-child(2){
    font-size:var(--cnor-fs-body) !important; opacity:.88; margin-bottom:8px !important;
    padding-bottom:8px !important; border-bottom:1px solid rgba(128,128,128,.18) !important;
    line-height:var(--cnor-lh-body) !important;
  }
  .pat-page .pat-table tbody td:nth-child(3){
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important;
  }
  .pat-page .pat-table tbody td:nth-child(3)::before{
    content:"Valor narrativo"; display:block; font-size:var(--cnor-fs-micro);
    font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.65; margin-bottom:3px;
  }

  .pat-page .pat-book-layout{
    display:grid !important; grid-template-columns:1fr !important; gap:12px !important; width:100% !important;
  }
  .pat-page .pat-book-cover{
    max-width:none !important; width:100% !important; margin:0 !important; transform:none !important;
  }
  .pat-page .pat-book-cover img{
    width:100% !important; max-height:280px !important; object-fit:contain !important;
    background:rgba(210,180,120,.12);
  }
  .pat-page .pat-book-cover figcaption{
    font-size:var(--cnor-fs-sec) !important; line-height:var(--cnor-lh-body) !important; padding:8px 4px !important;
  }
  .pat-page .pat-book-text{ width:100% !important; }
  .pat-page .pat-book-text h3{ font-size:var(--cnor-fs-title) !important; font-weight:800 !important; }
  .pat-page .pat-book-text p{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }
  .pat-page .pat-seal{ width:72px !important; height:72px !important; font-size:2rem !important; }
  .pat-page .pat-cta{ padding:14px 10px !important; border-radius:14px !important; text-align:left !important; }
  .pat-page .pat-cta__text strong{ font-size:var(--cnor-fs-item) !important; font-weight:800 !important; }
  .pat-page .pat-cta__text span{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }

  /* Origem */
  .origem-cnor-page .oc-hero{
    min-height:0 !important; padding:14px 5px !important; border-radius:14px !important; margin-top:4px !important;
  }
  .origem-cnor-page .oc-hero__brand{ margin-bottom:8px !important; gap:8px !important; }
  .origem-cnor-page .oc-hero__brand img{ width:40px !important; height:40px !important; }
  .origem-cnor-page .oc-hero__brand span{ font-size:var(--cnor-fs-micro) !important; letter-spacing:.1em !important; }
  .origem-cnor-page .oc-hero h1{
    font-size:var(--cnor-fs-display) !important; font-weight:800 !important;
    margin-bottom:6px !important; line-height:var(--cnor-lh-tight) !important;
  }
  .origem-cnor-page .oc-hero p{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; margin-bottom:12px !important;
  }
  .origem-cnor-page .oc-hero .btn{
    width:100% !important; justify-content:center !important; min-height:40px !important;
    font-size:var(--cnor-fs-sec) !important; font-weight:700 !important;
    padding:10px 14px !important; border-radius:10px !important;
  }

  .origem-cnor-page .oc-block{ margin-top:10px !important; padding:14px 5px !important; border-radius:14px !important; }
  .origem-cnor-page .oc-kicker{ font-size:var(--cnor-fs-micro) !important; letter-spacing:.08em !important; }
  .origem-cnor-page .oc-block h2{
    font-size:var(--cnor-fs-title) !important; font-weight:800 !important; line-height:var(--cnor-lh-tight) !important;
  }
  .origem-cnor-page .oc-block p{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }
  .origem-cnor-page .oc-pull{
    padding:12px !important; font-size:var(--cnor-fs-item) !important; line-height:var(--cnor-lh-body) !important;
  }

  .origem-cnor-page .orig-section{ margin-top:10px !important; padding:14px 5px !important; border-radius:14px !important; }
  .origem-cnor-page .orig-section-label{
    font-size:var(--cnor-fs-micro) !important; padding:4px 10px !important;
    letter-spacing:.08em !important; margin-bottom:8px !important;
  }
  .origem-cnor-page .orig-section-title{
    font-size:var(--cnor-fs-title) !important; font-weight:800 !important; line-height:var(--cnor-lh-tight) !important;
  }
  .origem-cnor-page .orig-section-lead{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; margin-bottom:12px !important;
  }

  .origem-cnor-page .orig-tl-item{
    grid-template-columns:36px minmax(0,1fr) !important; gap:10px !important; margin-bottom:10px !important;
  }
  .origem-cnor-page .orig-tl-dot{ width:36px !important; height:36px !important; font-size:.95rem !important; }
  .origem-cnor-page .orig-timeline::before{ left:17px !important; }
  .origem-cnor-page .orig-tl-body{ padding:12px !important; border-radius:12px !important; }
  .origem-cnor-page .orig-tl-title{ font-size:var(--cnor-fs-item) !important; font-weight:800 !important; }
  .origem-cnor-page .orig-tl-text{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }

  .origem-cnor-page .orig-founders{ grid-template-columns:1fr !important; gap:8px !important; }
  .origem-cnor-page .orig-founder{ padding:12px !important; font-size:var(--cnor-fs-body) !important; }
  .origem-cnor-page .orig-pillars{ grid-template-columns:1fr !important; gap:8px !important; }
  .origem-cnor-page .orig-pillar{ padding:14px 12px !important; }
  .origem-cnor-page .orig-pillar__icon{ font-size:1.6rem !important; }
  .origem-cnor-page .orig-pillar h3{ font-size:var(--cnor-fs-item) !important; font-weight:800 !important; }
  .origem-cnor-page .orig-pillar p{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }

  .origem-cnor-page .orig-table-wrap{ margin:0 !important; border-radius:12px !important; overflow:visible !important; }
  .origem-cnor-page .orig-table{
    min-width:0 !important; width:100% !important; font-size:var(--cnor-fs-body) !important;
    border-collapse:separate !important; border-spacing:0 !important;
  }
  .origem-cnor-page .orig-table thead{ display:none !important; }
  .origem-cnor-page .orig-table,
  .origem-cnor-page .orig-table tbody,
  .origem-cnor-page .orig-table tr,
  .origem-cnor-page .orig-table td{
    display:block !important; width:100% !important; box-sizing:border-box !important;
  }
  .origem-cnor-page .orig-table tbody tr{
    margin:0 0 8px !important; padding:12px !important;
    border:1px solid rgba(13,31,18,.12) !important; border-radius:12px !important;
    background:rgba(255,255,255,.5) !important;
  }
  .origem-cnor-page .orig-section--dark .orig-table tbody tr,
  html[data-theme='dark'] .origem-cnor-page .orig-table tbody tr{
    background:rgba(255,255,255,.05) !important; border-color:rgba(255,255,255,.12) !important;
  }
  .origem-cnor-page .orig-table tbody td{
    padding:2px 0 !important; border:none !important; background:transparent !important;
  }
  .origem-cnor-page .orig-table tbody td:nth-child(1){
    font-size:var(--cnor-fs-item) !important; font-weight:800 !important; margin-bottom:2px !important;
  }
  .origem-cnor-page .orig-table tbody td:nth-child(2){
    font-size:var(--cnor-fs-body) !important; margin-bottom:8px !important; padding-bottom:8px !important;
    border-bottom:1px solid rgba(128,128,128,.18) !important; line-height:var(--cnor-lh-body) !important;
  }
  .origem-cnor-page .orig-table tbody td:nth-child(3){
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important;
  }
  .origem-cnor-page .orig-table tbody td:nth-child(3)::before{
    content:"Efeito de longo prazo"; display:block; font-size:var(--cnor-fs-micro);
    font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.65; margin-bottom:3px;
  }
  .origem-cnor-page .orig-table .tag{
    font-size:var(--cnor-fs-micro) !important; padding:2px 6px !important; white-space:nowrap !important;
  }

  .origem-cnor-page .orig-map-section{ grid-template-columns:1fr !important; gap:10px !important; }
  .origem-cnor-page .orig-presence-list{ gap:6px !important; }
  .origem-cnor-page .orig-presence-item{
    padding:10px 12px !important; gap:12px !important; border-radius:12px !important; align-items:center !important;
  }
  .origem-cnor-page .orig-presence-val{
    min-width:0 !important; flex:0 0 auto !important; font-size:var(--cnor-fs-item) !important;
    font-weight:800 !important; line-height:1 !important; white-space:nowrap !important;
    overflow-wrap:normal !important; word-break:keep-all !important;
  }
  .origem-cnor-page .orig-presence-lbl{
    font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-tight) !important;
    min-width:0 !important; opacity:.9;
  }
  .origem-cnor-page .orig-map-frame figcaption{
    font-size:var(--cnor-fs-sec) !important; line-height:var(--cnor-lh-body) !important; padding:10px !important;
  }

  .origem-cnor-page .orig-cta{
    padding:14px 10px !important; border-radius:14px !important; text-align:left !important; align-items:stretch !important;
  }
  .origem-cnor-page .orig-cta__text strong{ font-size:var(--cnor-fs-item) !important; font-weight:800 !important; }
  .origem-cnor-page .orig-cta__text span{ font-size:var(--cnor-fs-body) !important; line-height:var(--cnor-lh-body) !important; }
}

/* ---------- Telefone estreito (≤400) ---------- */
@media (max-width:400px){
  .pat-page .pat-hero__name{
    font-size:clamp(1.05rem, 5vw, 1.2rem) !important;
  }
  .origem-cnor-page .orig-presence-val{
    font-size:var(--cnor-fs-item) !important;
  }
}

/* ---------- Tablet portrait (768–992) ---------- */
@media (min-width:768px) and (max-width:992px){
  .pat-page .pat-anchors{
    display:flex !important; flex-wrap:wrap !important; gap:8px !important;
  }
  .pat-page .pat-anchor{
    flex:1 1 auto !important; justify-content:center !important;
    min-width:calc(33.33% - 8px); font-size:.78rem !important; padding:9px 12px !important;
  }
  .pat-page .pat-hero__stats{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .pat-page .pat-hero__name{ font-size:clamp(2rem, 4.5vw, 2.6rem) !important; }
  .pat-page .pat-hero__inner{ padding:24px 20px !important; }
  .pat-page .pat-portrait{
    max-height:none !important;
  }
  .pat-page .pat-portrait img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
  .origem-cnor-page .orig-founders{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .origem-cnor-page .oc-hero{ padding:22px 20px !important; }
}
