/*
Theme Name: Freguesia de Nisa
Theme URI: https://www.freguesiadenisa.pt/
Author: Filipe Carita
Description: Tema institucional responsivo para a União de Freguesias do Espírito Santo, Nossa Senhora da Graça e São Simão.
Version: 1.0.0
Text Domain: freguesia-nisa
*/
:root{--green:#1e4d43;--ink:#173b36;--ochre:#e5a93a;--paper:#f7f4ec;--white:#fffdf8;--muted:#687a72;--line:#dfe3db}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit}.container{width:100%;max-width:1240px;margin:auto;padding:0 32px}.topline{background:var(--ink);color:#c8d6cd;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:10px 0}.topline .container{display:flex;justify-content:space-between}.topline strong{color:#e9c36e}.site-header{background:var(--paper);position:relative;z-index:10}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:86px}.logo{width:185px;height:88px;object-fit:contain;object-position:left center}.main-navigation{margin-left:auto}.main-navigation ul{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}.main-navigation a{font-size:10px;font-weight:700;text-decoration:none;color:#47625a}.main-navigation a:hover{color:#e0921d}.search-link{margin-left:24px;font-size:20px;text-decoration:none}.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center;padding-top:70px;padding-bottom:92px}.hero-copy{padding-left:42px}.kicker{text-transform:uppercase;letter-spacing:.16em;color:#c47f18;font-size:10px;font-weight:800}.hero h1,h2,h3{font-family:'DM Serif Display',serif;font-weight:400;letter-spacing:-.05em}.hero h1{font-size:clamp(54px,5.7vw,84px);line-height:.93;margin:24px 0}.hero h1 em,h2 em{color:#c98418}.hero p{color:var(--muted);line-height:1.65;font-size:14px;max-width:390px}.button{display:inline-block;background:var(--green);color:var(--white);padding:15px 20px;text-decoration:none;font-size:11px;font-weight:800;margin-top:18px}.hero-image{position:relative}.hero-image img{width:100%;height:540px;object-fit:cover;display:block}.image-caption{position:absolute;bottom:30px;left:-34px;background:var(--green);color:var(--white);padding:18px 20px;font-family:'DM Serif Display',serif;font-size:25px;line-height:.95}.quick-strip{background:var(--ochre);padding:26px 0}.quick-strip .container{display:flex;align-items:center;justify-content:space-between}.quick-strip strong{font-family:'DM Serif Display',serif;font-size:26px;font-weight:400}.quick-links{display:flex;gap:28px;font-size:11px;font-weight:800}.section{padding:110px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section h2{font-size:64px;line-height:.95;margin:15px 0}.section-copy{max-width:320px;color:var(--muted);font-size:13px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{min-height:170px;background:var(--white);border:1px solid var(--line);padding:21px;position:relative}.service-card:after{content:'';height:4px;background:var(--ochre);position:absolute;left:0;right:0;bottom:0}.service-card h3{font-size:26px;margin:45px 0 7px;letter-spacing:-.03em}.service-card p{color:var(--muted);font-size:11px}.attention{background:var(--green);color:var(--white);padding:100px 0}.attention-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}.attention h2{font-size:76px;line-height:.95;margin:18px 0}.attention p{color:#b7c9bd;max-width:460px;line-height:1.7}.attention address{font-style:normal;color:#f7f4ec;font-weight:700;font-size:13px;margin:25px 0}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.news-card{padding:25px;min-height:290px;background:var(--green);color:var(--white)}.news-card:nth-child(2){background:var(--ochre);color:var(--ink)}.news-card:nth-child(3){background:#dbe4dd;color:var(--ink)}.news-card h3{font-size:30px;line-height:1;margin:35px 0 12px}.news-card p{font-size:11px;line-height:1.6}.discover{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center;padding:110px 0}.discover img{width:100%;height:440px;object-fit:cover}.discover h2{font-size:80px;margin:15px 0}.discover p{color:var(--muted);line-height:1.7;font-size:14px}.contact-strip{background:#d4e0d6;padding:80px 0}.contact-strip h2{font-size:62px;margin:10px 0}.site-footer{background:var(--ink);color:#dbe5db;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding-bottom:60px}.footer-logo{width:235px;height:126px;object-fit:contain;object-position:left center}.site-footer p{color:#99b1a4;font-size:11px;line-height:1.6}.site-footer h4{color:var(--ochre);text-transform:uppercase;font-size:9px;letter-spacing:.15em}.site-footer a{color:#bdcec3;text-decoration:none;font-size:11px}.footer-bottom{border-top:1px solid #527366;padding-top:18px;font-size:9px;color:#89a397}@media(max-width:900px){.container{padding:0 20px}.main-navigation ul{gap:8px}.hero{gap:30px}.hero-copy{padding-left:0}.hero h1{font-size:58px}.service-grid,.news-grid{grid-template-columns:1fr 1fr}.attention-grid,.discover{gap:35px}.footer-grid{gap:25px}}@media(max-width:680px){.topline .container{font-size:8px}.topline .container span:last-child{display:none}.nav-wrap{min-height:72px}.logo{width:150px;height:76px}.main-navigation{display:none}.search-link{margin-left:auto}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:45px}.hero h1{font-size:55px}.hero-image img{height:360px}.image-caption{left:14px;bottom:16px}.quick-strip .container{display:block}.quick-links{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.section{padding:75px 0}.section-heading{display:block}.section h2,.attention h2{font-size:54px}.service-grid,.news-grid{grid-template-columns:1fr}.attention-grid,.discover{display:flex;flex-direction:column}.discover h2{font-size:68px}.discover img{height:370px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-logo{width:205px;height:112px}}

/* Ajustes de fidelidade ao website criado */
.main-navigation{position:relative;z-index:30}.main-navigation ul{list-style:none}.main-navigation li{position:relative}.main-navigation .sub-menu{position:absolute;top:calc(100% + 12px);left:50%;display:block;min-width:245px;padding:8px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 30px #173b3620;transform:translate(-50%,-6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s}.main-navigation li:hover>.sub-menu,.main-navigation li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.main-navigation .sub-menu:before{content:'';position:absolute;top:-6px;left:calc(50% - 5px);width:10px;height:10px;background:var(--white);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.main-navigation .sub-menu li{width:100%}.main-navigation .sub-menu a{display:flex;padding:11px 12px;font-size:11px;line-height:1.25;white-space:normal}.main-navigation .sub-menu a:hover,.main-navigation .sub-menu a:focus{background:#e9efeb;color:#c47f18}.hero:before{content:'';position:absolute;width:100px;height:100px;border:1px solid var(--ochre);left:calc(50% - 36px);top:176px;z-index:0}.hero{position:relative}.hero-copy,.hero-image{position:relative;z-index:1}.hero-image:after{content:'NISA\A • 2025';white-space:pre;position:absolute;right:-18px;top:25px;width:72px;height:72px;border-radius:50%;background:var(--ochre);display:grid;place-content:center;text-align:center;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.08em;transform:rotate(10deg)}.button{transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#28685c}.quick-links a{text-decoration:none;padding:10px 14px;border-left:1px solid #b77e1e66}.section-heading h2{font-size:clamp(43px,4.5vw,64px)}.attention{position:relative;overflow:hidden}.attention:before{content:'NISA';font-family:'DM Serif Display',serif;position:absolute;right:-20px;top:12px;color:#ffffff08;font-size:210px;letter-spacing:-.08em}.attention-grid{position:relative;z-index:1}.contact-strip{position:relative}.contact-strip:after{content:'NISA';font-family:'DM Serif Display',serif;position:absolute;right:5%;top:10px;color:#173b3610;font-size:170px}.site-footer .footer-grid{position:relative;z-index:1}
@media(max-width:680px){.main-navigation{display:block;overflow-x:auto;white-space:nowrap;width:100%;margin:0}.main-navigation ul{gap:16px}.main-navigation a{font-size:9px}.main-navigation .sub-menu{position:fixed;top:155px;left:20px;right:20px;width:auto;transform:translateY(-6px)}.main-navigation li:hover>.sub-menu,.main-navigation li:focus-within>.sub-menu{transform:translateY(0)}.nav-wrap{align-items:flex-start;flex-wrap:wrap;padding-top:5px;padding-bottom:8px}.logo{width:140px;height:70px}.search-link{margin-left:auto}.hero:before{left:2px;top:40px;width:70px;height:70px}.hero-image:after{right:8px}.quick-links{gap:4px}.quick-links a{padding:8px 5px}.contact-strip:after{font-size:90px}}

/* Contactos e mapa interativo — secção pública de proximidade. */
.map-section{background:#e8eee8;padding:110px 0}.map-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}.map-copy h2{font-family:'DM Serif Display',serif;font-size:clamp(54px,5vw,84px);line-height:.92;font-weight:400;letter-spacing:-.06em;margin:16px 0}.map-copy h2 em{color:#c47f18}.map-copy>p{max-width:420px;color:#667770;line-height:1.7;font-size:14px}.contact-list{display:grid;gap:16px;margin:30px 0}.contact-list>div{display:flex;gap:12px;align-items:flex-start}.contact-icon{color:#c47f18;font-size:20px;width:22px}.contact-list span:nth-child(2){display:grid;gap:3px}.contact-list small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#70817a;font-weight:800}.contact-list strong{font-size:13px;line-height:1.45}.contact-list a{text-decoration:none}.map-frame{background:#fffdf8;border:1px solid #ccd8ce;padding:12px;box-shadow:0 24px 40px #173b3614}.map-frame iframe{display:block;width:100%;height:430px;border:0}.map-frame>a{display:block;padding:12px 3px 2px;text-align:right;font-size:10px;font-weight:800;color:#1e4d43;text-decoration:none}@media(max-width:800px){.map-layout{grid-template-columns:1fr;gap:32px}.map-section{padding:75px 0}.map-frame iframe{height:330px}}
