/*
Theme Name: The Frankie Lab
Theme URI: https://thefrankielab.pt
Author: The Frankie Lab
Description: Tema de blocos para o website The Frankie Lab (fotografia, vídeo e marketing digital). Todas as secções editam-se no editor do WordPress, sem mexer em código.
Version: 1.3.3
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: thefrankielab
*/

:root{--tfl-pad:clamp(24px,6vw,80px)}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
a{text-underline-offset:3px}
em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.12em;letter-spacing:0}
h1,h2,h3,h4{font-family:'Manrope',sans-serif;line-height:1.1;letter-spacing:-.02em;margin:0}
h2{font-size:clamp(28px,3.6vw,44px)}

/* Cabeçalho */
.tfl-header{position:sticky;top:0;z-index:50}
.admin-bar .tfl-header{top:32px}
.tfl-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;background:#FF7900;box-shadow:0 6px 20px rgba(34,34,34,.3);padding:10px var(--tfl-pad)}
.tfl-top .wp-block-site-logo{margin:0;line-height:0}
.tfl-top .wp-block-site-logo a{display:inline-block;padding:8px 0}
.tfl-top .wp-block-site-logo img{display:block;height:28px;width:auto}
.tfl-nav .wp-block-navigation-item__content{color:#fff;text-decoration:none;font:600 15px/1.2 'Manrope',sans-serif;padding:14px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
.tfl-nav .wp-block-navigation-item__content:hover{box-shadow:inset 0 -2px 0 #222222;color:#fff}
.tfl-nav .tfl-nav-cta .wp-block-navigation-item__content{background:#222222;color:#fff;font-weight:700;padding:14px 22px;margin-left:8px}
.tfl-nav .tfl-nav-cta .wp-block-navigation-item__content:hover{color:#FF7900;box-shadow:none}
.tfl-nav .wp-block-navigation__responsive-container-open{color:#fff}
.tfl-nav .wp-block-navigation__responsive-container.is-menu-open{background:#FF7900;color:#fff}
.tfl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:20px}
.tfl-top a:focus-visible{outline:3px solid #222222;outline-offset:-3px}

/* Botões e pequenos elementos */
.wp-block-button__link,.tfl-btn a{display:inline-block;padding:16px 28px;background:#222222;color:#fff;text-decoration:none;border:0;border-radius:0;font:600 15px/1.2 'Manrope',sans-serif}
.wp-block-button__link:hover{background:#FF7900;color:#222222}
.wp-block-button__link:focus-visible{outline:3px solid #222222;outline-offset:3px}
.wp-block-buttons{gap:12px}
.tfl-rule{width:56px;height:4px;background:#FF7900;margin:0 0 24px}
.tfl-k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
.tfl-sec{padding:clamp(56px,8vw,112px) var(--tfl-pad)}
.tfl-sec.tfl-alt{background:#F4F2EF}
.tfl-sec>.wp-block-group,.tfl-sec>*{box-sizing:border-box}
.tfl-back{margin:0}
.tfl-back a{display:inline-block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}
.tfl-back a:hover{border-bottom-color:#222222}
h1.tfl-big-t{font:800 clamp(48px,11vw,150px)/.92 'Manrope',sans-serif;letter-spacing:-.04em;text-transform:uppercase;margin:12px 0 clamp(28px,4vw,48px)}
.tfl-lead{margin:0 0 32px;max-width:680px;font-size:clamp(17px,1.5vw,19px)}

/* Home: capa */
.tfl-hero{background:#F4F2EF;min-height:clamp(380px,48vw,680px)}
.tfl-hero-wrap{padding:0 var(--tfl-pad)}
.tfl-hero-card{position:relative;margin:-96px 0 0;background:#fff;padding:clamp(24px,3.5vw,40px);max-width:680px;box-sizing:border-box;box-shadow:0 22px 48px rgba(34,34,34,.22)}
.tfl-hero-card h2{font:700 clamp(28px,3.6vw,48px)/1.12 'Manrope',sans-serif;letter-spacing:-.02em}
.tfl-hero-card .wp-block-buttons{margin-top:28px}

/* Home: marcas */
.tfl-brands{margin-top:72px;border-top:1px solid #222222;border-bottom:1px solid #222222;padding:32px var(--tfl-pad)}
.tfl-brands .wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;margin-top:24px}
.tfl-brands .wp-block-gallery.has-nested-images figure.wp-block-image:not(#a){width:auto!important;flex:0 0 auto;margin:0!important}
.tfl-brands .wp-block-gallery img{height:56px;width:auto;max-width:180px;object-fit:contain}

/* Home: serviços */
.tfl-sv-head{text-align:center;margin-bottom:clamp(32px,5vw,56px)}
#servicos{scroll-margin-top:84px}
.tfl-svc-list{counter-reset:svc;border-bottom:1px solid #222222}
.tfl-sv{counter-increment:svc;border-top:1px solid #222222;margin:0}
.tfl-sv summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px 1fr 32px;align-items:center;gap:0 16px;padding:28px 0;min-height:44px;font:700 clamp(20px,2.6vw,32px)/1.15 'Manrope',sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.tfl-sv summary::-webkit-details-marker{display:none}
.tfl-sv summary::marker{content:""}
.tfl-sv summary::before{content:counter(svc,decimal-leading-zero);font:400 14px/1 'DM Sans',sans-serif;letter-spacing:.06em;color:#777777;text-transform:none}
.tfl-sv summary::after{content:"+";justify-self:end;font:400 32px/1 'DM Sans',sans-serif;color:#222222}
.tfl-sv[open] summary::after{content:"\2212"}
.tfl-sv summary:hover{text-decoration:underline;text-decoration-color:#FF7900;text-decoration-thickness:3px;text-underline-offset:6px}
.tfl-sv summary:focus-visible{outline:3px solid #222222;outline-offset:2px}
.tfl-sv>*:not(summary){margin-left:72px;margin-right:0}
.tfl-sv-desc{margin-top:0;margin-bottom:32px;max-width:680px;font-size:clamp(17px,1.5vw,19px)}
.tfl-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px 24px;padding:18px 0;margin:0;border-top:1px solid #d9d4cc;align-items:baseline;font:500 17px/1.5 'DM Sans',sans-serif}
.tfl-row strong{font:400 13px/1.4 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#777777}
.tfl-row.tfl-big{font:700 clamp(22px,2.4vw,28px)/1.2 'Manrope',sans-serif;letter-spacing:-.02em;border-bottom:1px solid #d9d4cc}
.tfl-sv-act{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px;margin-bottom:48px;align-items:center}
.tfl-sv-act a{display:inline-block;font:600 15px/1.4 'Manrope',sans-serif;text-decoration:none;border-bottom:3px solid #FF7900;padding:6px 0 2px}
.tfl-sv-act a:hover{color:#777777}
@media (max-width:640px){
.tfl-sv summary{grid-template-columns:36px 1fr 28px;padding:22px 0}
.tfl-sv>*:not(summary){margin-left:0}
.tfl-row{grid-template-columns:1fr;gap:4px}
}

/* Zona laranja (contacto / orçamento) */
.tfl-cta{background:#FF7900;color:#fff;padding:clamp(64px,9vw,120px) var(--tfl-pad)}
.tfl-cta-in{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:end;max-width:1200px;margin:0 auto}
.tfl-cta *{color:#fff}
.tfl-cta h2{font-size:clamp(36px,5.5vw,76px);line-height:1.02}
.tfl-cta p{font-size:18px;margin:0 0 24px;max-width:420px}
.tfl-cta .tfl-k{font-size:13px;max-width:none;margin:0 0 12px}
.tfl-cta .wp-block-button__link{background:#222222;color:#fff}
.tfl-cta .wp-block-button__link:hover{background:#222222;color:#FF7900}

/* Galerias deslizantes (Fotografia) */
.tfl-gal-sec{border-top:1px solid #222222;padding:clamp(40px,6vw,72px) 0;scroll-margin-top:72px;--gx:var(--tfl-pad);--rh:clamp(150px,17vw,240px)}
.tfl-gal-sec.tfl-alt{background:#F4F2EF}
.tfl-gal-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;max-width:1360px;margin:0 auto clamp(24px,3vw,40px)!important;padding:0 var(--tfl-pad);box-sizing:border-box}
.tfl-gal-head h2{margin:0}
.tfl-arrows{display:flex;gap:8px;flex:0 0 auto}
.tfl-arrows button{width:48px;height:48px;border:1px solid #222222;background:transparent;color:#222222;font:600 20px/1 'Manrope',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:0}
.tfl-arrows button:hover{background:#222222;color:#FF7900}
.tfl-arrows button:focus-visible{outline:3px solid #222222;outline-offset:3px}
.tfl-gal-sec .wp-block-gallery.has-nested-images{display:grid;grid-auto-flow:column dense;grid-template-rows:repeat(3,var(--rh));grid-auto-columns:calc(var(--rh) * 1.5);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-left:var(--gx);padding:0 var(--gx) 20px;margin:0;scrollbar-width:thin;scrollbar-color:#FF7900 #F4F2EF}
.tfl-gal-sec .wp-block-gallery.has-nested-images figure.wp-block-image:not(#a){width:auto!important;margin:0!important;flex:none;scroll-snap-align:start;position:relative}
.tfl-gal-sec .wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:100%;object-fit:cover;display:block}
/* a forma de cada quadrado segue a orientação da fotografia (classes postas pelo tema) */
.tfl-gal-sec .wp-block-gallery.has-nested-images figure.wp-block-image.tfl-p{grid-row:span 2}
.tfl-gal-sec .wp-block-gallery.has-nested-images figure.wp-block-image.tfl-w{grid-column:span 2}
@media (max-width:640px){
.tfl-gal-sec .wp-block-gallery.has-nested-images{grid-template-rows:repeat(2,var(--rh));grid-auto-columns:calc(var(--rh) * 1.5)}
}
/* Vídeos verticais 9:16 */
.tfl-vids{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:0 var(--tfl-pad) 20px;scrollbar-width:thin;scrollbar-color:#FF7900 #F4F2EF}
.tfl-vids>.wp-block-video{flex:0 0 clamp(170px,18vw,250px);aspect-ratio:9/16;margin:0;scroll-snap-align:start;background:#fff;border:1px dashed #777777;box-sizing:border-box}
.tfl-vids>.wp-block-video video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:640px){.tfl-vids>.wp-block-video{flex-basis:clamp(150px,50vw,220px)}}

/* Marketing Digital */
.tfl-intro{display:grid;gap:24px 64px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:clamp(32px,4vw,56px);align-items:end}
.tfl-intro p{margin:0;font-size:clamp(17px,1.5vw,19px);max-width:560px}
.tfl-svr-list{counter-reset:svr}
.tfl-svr{counter-increment:svr;display:grid;gap:8px 32px;grid-template-columns:64px minmax(200px,1fr) minmax(260px,1.4fr);align-items:baseline;border-top:1px solid #222222;padding:24px 0}
.tfl-svr:last-child{border-bottom:1px solid #222222}
.tfl-svr::before{content:counter(svr,decimal-leading-zero);font:800 18px/1 'Manrope',sans-serif}
.tfl-svr h3{font-size:clamp(22px,2.4vw,30px);margin:0}
.tfl-svr p{margin:0;color:#555555}
@media (max-width:720px){.tfl-svr{grid-template-columns:1fr}}
h2.tfl-mh{font:800 clamp(32px,5vw,64px)/1 'Manrope',sans-serif;letter-spacing:-.03em;text-transform:uppercase;max-width:960px;margin:0 0 16px}
.tfl-msub{margin:0 0 clamp(32px,4vw,56px);max-width:620px;font-size:clamp(17px,1.5vw,19px)}
.tfl-steps{gap:16px!important}
.tfl-stp{background:#fff;border:1px solid #d9d6d1;border-top:4px solid #FF7900;padding:28px 24px 32px}
.tfl-stp .tfl-n{font:800 44px/1 'Manrope',sans-serif;letter-spacing:-.04em;display:block;margin:0 0 28px}
.tfl-stp h3{font-size:20px;margin:0 0 10px}
.tfl-stp p{margin:0;color:#555555;font-size:15.5px}

/* Sobre */
.tfl-about{display:grid;gap:clamp(32px,6vw,80px);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center;max-width:1200px;margin:0 auto}
.tfl-about figure{margin:0}
.tfl-about figure img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.tfl-hi-s{font:600 clamp(18px,2vw,26px)/1.2 'Manrope',sans-serif;letter-spacing:-.01em;margin:12px 0 0}
h1.tfl-hi-n{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(60px,8.5vw,128px);line-height:.9;letter-spacing:0;margin:0 0 clamp(24px,3vw,40px)}
h1.tfl-hi-n em{font-size:1em}
.tfl-about-p{margin:0 0 20px;max-width:600px;font-size:clamp(16px,1.4vw,18px)}
.tfl-stats{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));text-align:center;max-width:640px;margin:0 auto;padding:0 0 clamp(56px,8vw,112px)}
.tfl-stats p{margin:0}
.tfl-stats strong{display:block;font:800 clamp(20px,2vw,26px)/1.2 'Manrope',sans-serif;letter-spacing:-.01em}
.tfl-stats span{display:block;margin-top:4px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#555555}

/* Contacto */
.tfl-ct{display:grid;gap:clamp(32px,6vw,80px);grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);align-items:start}
@media (max-width:900px){.tfl-ct{grid-template-columns:1fr}}
.tfl-fm{background:#F4F2EF;padding:clamp(24px,3vw,40px)}
.tfl-fm h2{font-size:clamp(24px,2.4vw,32px);margin-bottom:12px}
.tfl-hint{margin:0 0 28px;color:#555555;font-size:15px;max-width:560px}
.tfl-notice{border:2px dashed #FF7900;padding:20px;background:#fff;font-size:15px}
.tfl-cr{border-top:1px solid #d9d6d1;padding:14px 0;margin:0}
.tfl-cr:last-child{border-bottom:1px solid #d9d6d1}
.tfl-cr small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#555555;margin-bottom:2px}
.tfl-cr a{text-decoration:underline;overflow-wrap:anywhere}
.tfl-cr a:hover{text-decoration-color:#FF7900;text-decoration-thickness:3px}
/* estilo básico para plugins de formulários */
.tfl-fm label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.tfl-fm input[type=text],.tfl-fm input[type=email],.tfl-fm input[type=tel],.tfl-fm select,.tfl-fm textarea{width:100%;box-sizing:border-box;padding:14px;border:1px solid #222222;font:400 16px/1.4 'DM Sans',sans-serif;color:#222222;background:#fff;margin-bottom:20px;border-radius:0}
.tfl-fm input:focus-visible,.tfl-fm select:focus-visible,.tfl-fm textarea:focus-visible{outline:3px solid #FF7900;outline-offset:2px}
.tfl-fm input[type=submit],.tfl-fm button[type=submit]{padding:16px 28px;background:#222222;color:#fff;border:0;border-radius:0;font:600 15px/1.2 'Manrope',sans-serif;cursor:pointer}
.tfl-fm input[type=submit]:hover,.tfl-fm button[type=submit]:hover{background:#FF7900;color:#222222}

/* Privacidade */
h1.tfl-lg-t{font:800 clamp(36px,7vw,92px)/.95 'Manrope',sans-serif;letter-spacing:-.04em;margin:0 0 16px}
.tfl-lg-up{margin:0 0 clamp(32px,4vw,56px);font-size:14px;color:#555555}
.tfl-lg{max-width:760px}
.tfl-lg h2{font-size:clamp(22px,2.2vw,28px);margin:clamp(36px,4vw,52px) 0 14px;scroll-margin-top:96px}
.tfl-lg h3{font-size:17px;margin:24px 0 8px}
.tfl-lg p,.tfl-lg li{font-size:17px;line-height:1.7;margin:0 0 14px}
.tfl-lg ul{margin:0 0 18px;padding-left:22px}
.tfl-lg a{text-decoration:underline;overflow-wrap:anywhere}
.tfl-lg a:hover{text-decoration-color:#FF7900;text-decoration-thickness:3px}

/* Rodapé */
.tfl-ft{position:relative;background:#222222;color:#fff;padding:clamp(56px,7vw,88px) var(--tfl-pad) 32px}
.tfl-ft *{color:#fff}
.tfl-ft-in{max-width:1200px;margin:0 auto;position:relative}
.tfl-up{position:absolute;top:calc(-1*clamp(36px,4.5vw,60px));right:0;margin:0}
.tfl-up a{display:inline-block;padding:8px 0;font:600 14px/1.2 'Manrope',sans-serif;text-decoration:underline}
.tfl-up a:hover,.tfl-ft li a:hover{color:#FF7900}
.tfl-ft-top{padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid #444444;margin-bottom:clamp(40px,5vw,64px)}
.tfl-ft .wp-block-site-logo{margin:0;line-height:0}
.tfl-ft .wp-block-site-logo img{display:block;width:100%;max-width:560px;height:auto}
.tfl-ft-tag{font-size:clamp(18px,2vw,24px);margin:20px 0 0;max-width:640px}
.tfl-ft h3{font-size:22px;margin-bottom:12px}
.tfl-ft ul{list-style:none;margin:0;padding:0}
.tfl-ft li a{display:inline-block;padding:8px 0;font-size:18px;text-decoration:underline}
.tfl-ft a:focus-visible{outline:3px solid #FF7900;outline-offset:3px}
.tfl-ft-bottom{margin:clamp(40px,5vw,64px) 0 0;border-top:1px solid #444444;padding-top:24px;font-size:14px}

/* Faixa de marcas (padrão «Faixa de marcas») */
.tfl-marcas{margin-top:72px;border-top:1px solid #222222;border-bottom:1px solid #222222;padding:32px var(--tfl-pad)}
.tfl-marcas-in{display:flex;align-items:center;gap:48px}
.tfl-marcas-in>.tfl-marcas-t{flex:0 0 auto;max-width:260px;margin:0}
.tfl-marcas .tfl-logos.wp-block-gallery.has-nested-images{flex:1 1 0;min-width:0;display:flex;flex-wrap:nowrap;gap:24px;justify-content:safe flex-end;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;cursor:grab;margin:0}
.tfl-marcas .tfl-logos::-webkit-scrollbar{display:none}
.tfl-marcas .tfl-logos.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.tfl-marcas .tfl-logos.has-nested-images figure.wp-block-image:not(#a){flex:0 0 110px!important;width:110px!important;height:110px;margin:0!important;padding:6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;scroll-snap-align:start}
.tfl-marcas .tfl-logos.has-nested-images figure.wp-block-image img{width:100%!important;height:100%!important;object-fit:contain!important;filter:grayscale(1);opacity:.85;-webkit-user-drag:none;user-select:none}
.tfl-marcas .tfl-logos figcaption{display:none!important}
@media (max-width:720px){.tfl-marcas-in{flex-direction:column;align-items:flex-start;gap:16px}.tfl-marcas .tfl-logos.wp-block-gallery.has-nested-images{width:100%;flex:0 0 auto;justify-content:safe flex-start}}

/* Formulário (Contact Form 7) */
.tfl-fm .wpcf7-form-control-wrap{display:block}
.tfl-fm .wpcf7 p{margin:0}
.tfl-fm .tfl-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.tfl-fm .tfl-rq{color:#FF7900}
.tfl-fm .tfl-op{font-weight:400;color:#777777}
.tfl-fm .wpcf7-not-valid-tip{color:#b00020;font-size:14px;margin:-12px 0 16px}
.tfl-fm .wpcf7-response-output{margin:20px 0 0!important;padding:14px!important;border:1px solid #222222!important;background:#fff;font-size:15px}
.tfl-fm .wpcf7 form.sent .wpcf7-response-output{border-color:#FF7900!important}
.tfl-fm .wpcf7-spinner{margin-left:12px}
.tfl-fm .tfl-src{border:0;margin:0 0 28px;padding:0;min-width:0}
.tfl-fm .tfl-src-t{display:block;font-size:14px;font-weight:500;margin-bottom:10px}
.tfl-fm .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px}
.tfl-fm .wpcf7-radio .wpcf7-list-item{margin:0;display:inline-flex}
.tfl-fm .wpcf7-radio label{position:relative;display:inline-flex;align-items:center;margin:0;cursor:pointer;font-weight:400;font-size:16px}
.tfl-fm .wpcf7-radio input[type=radio]{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.tfl-fm .wpcf7-radio .wpcf7-list-item-label{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 0}
.tfl-fm .wpcf7-radio .wpcf7-list-item-label::before{content:"";width:22px;height:22px;box-sizing:border-box;background:#fff;border:1.5px solid #222222;flex:0 0 auto}
.tfl-fm .wpcf7-radio input:checked+.wpcf7-list-item-label::before{background:linear-gradient(45deg,transparent 44%,#222222 44%,#222222 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,#222222 44%,#222222 56%,transparent 56%),#fff}
.tfl-fm .wpcf7-radio label:hover .wpcf7-list-item-label::before{border-color:#FF7900}
.tfl-fm .wpcf7-radio input:focus-visible+.wpcf7-list-item-label::before{outline:3px solid #FF7900;outline-offset:2px}
.tfl-fm .wpcf7-acceptance{display:block;margin:0 0 24px}
.tfl-fm .wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;margin:0}
.tfl-fm .wpcf7-acceptance input{width:20px;height:20px;margin:2px 0 0;accent-color:#222222;flex:0 0 auto}
.tfl-fm .wpcf7-acceptance a{text-decoration:underline}
@media (max-width:640px){.tfl-fm .tfl-fgrid{grid-template-columns:1fr}}

/* Menu do cabeçalho: letra branca (reforço sobre as regras do bloco Navegação); botão Contacto mantém-se */
.tfl-top .tfl-nav.wp-block-navigation{color:#fff}
.tfl-top .tfl-nav .wp-block-navigation-item__content.wp-block-navigation-item__content,.tfl-top .tfl-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:#fff}
.tfl-top .tfl-nav .tfl-nav-cta .wp-block-navigation-item__content.wp-block-navigation-item__content{background:#222222;color:#fff}
.tfl-top .tfl-nav .tfl-nav-cta .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:#FF7900}

/* Galeria com maioria de fotos verticais: 2 linhas, sem espaço vazio por baixo */
.tfl-gal-sec .wp-block-gallery.has-nested-images.tfl-g2{grid-template-rows:repeat(2,var(--rh));grid-auto-columns:calc(var(--rh) * 1.4)}

/* Vídeos incorporados (YouTube / Vimeo) na secção Vídeo: mesmo formato 9:16 dos vídeos carregados */
.tfl-vids .wp-block-embed{flex:0 0 clamp(170px,18vw,250px);aspect-ratio:9/16;margin:0;scroll-snap-align:start;position:relative;background:#222222;box-sizing:border-box}
.tfl-vids .wp-block-embed .wp-block-embed__wrapper{position:absolute;inset:0;width:100%;height:100%}
.tfl-vids .wp-block-embed .wp-block-embed__wrapper::before{display:none!important}
.tfl-vids .wp-block-embed iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;display:block}
.tfl-vids .wp-block-embed figcaption{display:none}
@media (max-width:640px){.tfl-vids .wp-block-embed{flex-basis:clamp(150px,50vw,220px)}}

/* Galerias: o deslize fica dentro da própria galeria e nunca alarga a página */
.wp-site-blocks,.wp-site-blocks main,.wp-block-post-content{min-width:0;max-width:100%}
body{overflow-x:clip}
.tfl-gal-sec{width:100%;min-width:0;max-width:100%;overflow-x:clip;box-sizing:border-box}
.tfl-gal-sec .wp-block-gallery.has-nested-images,.tfl-vids{width:100%;max-width:100%;min-width:0;box-sizing:border-box;contain:inline-size}
