/*
Theme Name: HOSB 2026
Description: Modernização institucional do Hospital Oftalmológico Santa Beatriz.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: hosb-2026
License: GPL-2.0-or-later
*/
:root{--blue:#075699;--navy:#123b61;--ink:#18354e;--muted:#526b80;--light:#eff6fb;--line:#dce7ef;--white:#fff;--radius:14px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:17px;line-height:1.65}*{box-sizing:border-box}body{margin:0;background:white}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.025em;color:var(--navy);margin:0 0 22px}h1{font-size:clamp(2.4rem,4.7vw,4.25rem);font-weight:600}h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600}h3{font-size:1.28rem}p{margin:0 0 22px}.wrap{width:min(1260px,calc(100% - 72px));margin:auto}.eyebrow{display:block;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--blue);margin-bottom:17px}.muted{color:var(--muted)}.topbar{background:var(--navy);color:#fff;font-size:.77rem}.topbar .wrap{display:flex;justify-content:space-between;padding:8px 0;gap:20px}.topbar a{color:#fff}.brandrow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.brand img{width:320px;display:block}.header-actions{display:flex;align-items:center;gap:24px;font-size:.85rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:7px;padding:13px 22px;font-size:.87rem;font-weight:700;line-height:1.4;text-decoration:none;min-height:48px}.button:hover{background:var(--navy);text-decoration:none}.button.light{background:white;color:var(--blue);border-color:white}.button.outline{background:transparent;color:var(--blue);border-color:#adc7da}.nav-wrap{border-block:1px solid var(--line)}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:2px}.main-nav li{position:relative}.main-nav a,.main-nav summary{display:block;padding:15px 9px;font-size:.76rem;font-weight:600;cursor:pointer;color:var(--ink)}.main-nav summary{list-style:none}.main-nav summary:after{content:'⌄';margin-left:6px}.main-nav details[open] ul{display:block;position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:0 12px 35px #123b6120;z-index:20;border:1px solid var(--line);border-radius:0 0 10px 10px}.main-nav details ul a{font-size:.85rem;padding:9px 18px}.main-nav details ul a:hover{background:var(--light)}.menu-toggle{display:none}.skip-link{position:absolute;top:-80px;left:20px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #c18b00;outline-offset:4px}.hero{background:var(--light);overflow:hidden}.slide{display:grid;grid-template-columns:1fr 1fr;min-height:510px}.slide[hidden]{display:none}.hero-copy{padding:62px 50px 54px max(36px,calc((100vw - 1260px)/2));align-self:center}.hero-copy p{max-width:470px;color:var(--muted);font-size:1.04rem}.hero-photo{height:100%;min-height:510px;position:relative}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:45% 50%}.hero-photo.campaign img{object-fit:contain;background:#e7f1f8}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.carousel-controls{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:.78rem;color:var(--muted)}.carousel-controls button{border:1px solid #adc7da;color:var(--navy);background:transparent;width:36px;height:36px;border-radius:50%}.carousel-controls .line{width:65px;height:2px;background:#abc9df}.quick{display:grid;grid-template-columns:repeat(6,1fr);padding:26px 0;border-bottom:1px solid var(--line)}.quick a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:10px;border-right:1px solid var(--line);font-size:.82rem;font-weight:600;color:var(--navy)}.quick a:last-child{border:0}.icon{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.quick .icon{color:var(--blue);width:30px;height:30px}section.section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-head h2{margin-bottom:0}.text-link{font-size:.88rem;font-weight:700;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid.four{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff}.card h3{margin:12px 0}.card p{font-size:.88rem;color:var(--muted);margin-bottom:16px}.card a{display:block}.specialty{display:flex;justify-content:space-between;align-items:center;min-height:88px;border:1px solid var(--line);padding:22px;border-radius:9px;font-weight:600;color:var(--navy)}.specialty span{font-weight:400;color:var(--blue)}.specialty:hover{background:var(--light);text-decoration:none;border-color:#87b0cf}.emergency{background:var(--navy);border-radius:20px;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}.emergency .copy{padding:52px}.emergency .eyebrow,.emergency h2,.emergency p{color:white}.emergency h2{font-size:2.2rem}.emergency p{opacity:.88}.emergency img{width:100%;height:100%;object-fit:cover}.pill{display:inline-flex;background:#ffffff20;border:1px solid #ffffff40;color:white;border-radius:30px;padding:5px 13px;font-size:.75rem;margin-bottom:22px}.pale{background:var(--light)}.unit-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.unit-card>img{width:100%;height:200px;object-fit:cover;display:block}.unit-card .copy{padding:25px}.unit-card p{font-size:.84rem;color:var(--muted)}.unit-card h3{margin-bottom:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split>img{border-radius:18px;width:100%}.feature-links{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:25px}.feature-links a{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.history{border-left:2px solid #bdd7e9;padding-left:30px;margin:30px 0}.history h3{margin-bottom:8px}.history p{color:var(--muted)}.footer{background:#102f4c;color:#d4e1ec;padding:55px 0 25px}.footer h3{color:white;font-size:1rem}.footer .grid{grid-template-columns:1.5fr 1fr 1fr 1fr}.footer a{color:#d4e1ec;display:block;font-size:.82rem;margin-bottom:10px}.footer p{font-size:.85rem}.footer-bottom{border-top:1px solid #ffffff20;margin-top:30px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem}.mobile-actions{display:none}.page-heading{background:var(--light);padding:45px 0}.page-heading h1{font-size:2.7rem}.breadcrumb{font-size:.8rem;margin-bottom:18px}.content{padding:55px 0 80px;min-height:45vh}.prose{max-width:820px}.prose img{display:block;max-height:580px;object-fit:contain;margin:24px auto}.prose h2{font-size:1.8rem;margin-top:38px}.prose h3{margin-top:30px}.prose li{margin-bottom:8px}.prose:empty{display:none}.filters{background:var(--light);padding:24px;border-radius:12px;display:flex;gap:20px;align-items:end;margin-bottom:22px}.filters label{flex:1}.filters input,.filters select{margin:8px 0 0}label{display:block;font-size:.86rem;font-weight:600}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #a3b8c9;border-radius:7px;padding:12px;background:#fff;color:var(--ink);min-height:48px}input[type=checkbox]{width:20px;height:20px;vertical-align:middle}textarea{min-height:140px}.result-count{font-size:.85rem;color:var(--muted)}[hidden]{display:none!important}.notice{padding:20px 24px;border-left:4px solid var(--blue);background:var(--light);margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1/-1}.contact-form{max-width:800px}.contact-form label p{font-weight:400}.contact-form button{margin-top:20px}.trap{position:absolute;left:-9999px}.article-card time{font-size:.75rem;color:var(--muted)}.article-card h3{margin-top:15px}.document{width:100%;height:600px;border:1px solid var(--line)}.banner-label{font-size:.85rem}.preview-notice{background:#fff3cf;color:#624609;text-align:center;padding:5px;font-size:.73rem}.hospital-name{font-size:1.8rem;color:white;font-weight:700;letter-spacing:.08em}.editor-only{padding:20px;background:#fff4d0;color:#57430c}.meta-list{display:grid;grid-template-columns:140px 1fr;gap:12px}.meta-list dt{font-weight:bold}.meta-list dd{margin:0}.logo-plan{height:70px;width:100%;object-fit:contain;margin-bottom:20px}.body-text{white-space:pre-line}.home-intro-content{padding:20px 0}.search-form{display:flex;gap:15px}.pagination{margin-top:30px}.wp-block-image img{max-width:100%}
.main-nav>ul>li:nth-last-child(-n+3) details[open] ul{left:auto;right:0}.main-nav .sub-menu{display:none;position:absolute;z-index:20;min-width:250px;background:white;box-shadow:0 10px 25px #123b6120}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}
@media(min-width:1450px){.slide{min-height:580px}.hero-photo{min-height:580px}}@media(max-width:1100px){.brand img{width:270px}.main-nav a,.main-nav summary{font-size:.69rem;padding:14px 6px}.header-actions{gap:14px}.grid.four{grid-template-columns:repeat(2,1fr)}.hero-copy{padding:42px 32px}.hero-photo{min-height:480px}.slide{min-height:480px}.quick a{font-size:.74rem}.split{gap:35px}}@media(max-width:820px){.wrap{width:calc(100% - 36px)}.topbar .wrap{font-size:.7rem}.topbar .secondary-phone{display:none}.brandrow{padding:19px 0;gap:12px}.brand img{width:245px}.header-actions{display:none}.menu-toggle{display:block;background:white;border:1px solid var(--line);border-radius:6px;padding:8px 12px;color:var(--navy)}.nav-wrap{display:none}.nav-wrap.is-open{display:block}.main-nav ul{display:block}.main-nav .sub-menu{display:block;position:static;box-shadow:none;margin-left:15px}.main-nav a,.main-nav summary{font-size:.9rem;padding:11px 8px}.main-nav details[open] ul{position:static;box-shadow:none;border:0;border-left:2px solid var(--line);margin-left:16px}.slide{grid-template-columns:1fr}.hero-copy{padding:38px 24px}.hero-copy h1{max-width:580px}.hero-photo{min-height:290px}.hero-copy p{max-width:600px}.quick{grid-template-columns:repeat(3,1fr);padding:16px 0}.quick a{padding:18px 5px;font-size:.73rem}.quick a:nth-child(3){border:0}.grid{grid-template-columns:repeat(2,1fr)}section.section{padding:50px 0}.section-head{align-items:start}.text-link{white-space:normal}.emergency{grid-template-columns:1fr}.emergency .copy{padding:30px}.emergency img{max-height:300px}.split{grid-template-columns:1fr}.footer .grid{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer{padding-bottom:100px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;z-index:50;box-shadow:0 -4px 15px #123b6120;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;background:#fff}.mobile-actions .button{font-size:.78rem;padding:12px 5px}.filters{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.page-heading h1{font-size:2.15rem}.page-heading{padding:30px 0}}@media(max-width:480px){.grid,.grid.four{grid-template-columns:1fr}.section-head{flex-direction:column;gap:16px}.brand img{width:225px}.hero-photo{min-height:235px}.hero-copy h1{font-size:2.55rem}.footer .grid{grid-template-columns:1fr 1fr}.footer .grid>div:first-child{grid-column:1/-1}.topbar .wrap{gap:6px}.quick .icon{width:27px}.card{padding:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.cartao-app{margin-bottom:55px}.cartao-app-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:24px 0}.cartao-app-frame{width:100%;height:980px;border:1px solid var(--line);border-radius:16px;background:#f4f8fb;display:block}.cartao-about-link{margin-top:26px}@media(max-width:820px){.cartao-app-frame{height:920px;border-radius:10px}.cartao-app-actions .button{flex:1}}

/* Nested institutional specialties menu */
.main-nav details details>summary{font-size:.85rem;padding:9px 18px}
.main-nav details details[open]>ul{position:static;min-width:0;margin:0 12px 10px;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none;background:var(--light)}
.main-nav>ul>li>details[open]>ul{max-height:70vh;overflow-y:auto}
@media(max-width:820px){.main-nav>ul>li>details[open]>ul{max-height:none;overflow:visible}.main-nav details details>summary{font-size:.9rem}}

/* Compact internal page headings */
.page-heading{padding:18px 0 20px}.page-heading .breadcrumb{margin-bottom:8px}.page-heading h1{margin-bottom:0}.content{padding-top:24px}@media(max-width:820px){.page-heading{padding:14px 0 16px}.content{padding-top:20px}}
