/* Oriibrands Flow 2 — estilo Sereno */
:root{
  --c-primary:#0B7A6F;
  --c-primary-soft:color-mix(in srgb,var(--c-primary) 14%,var(--c-bg));
  --c-accent:var(--c-accent);
  --c-ink:#15201E; --c-muted:#56635F; --c-line:#DCE3E0;
  --c-bg:#F5F8F7; --c-surface:#FFFFFF; --c-surface-2:#EEF3F1;
  --c-ok:#127A3E; --c-err:#B42318; --c-warn:#EA580C;
  --f-display:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-sm:8px; --r-md:14px; --r-lg:22px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:40px; --s-7:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c-ink:#E8EFED;--c-muted:#9CABA6;--c-line:#2A3634;--c-bg:#0F1614;--c-surface:#16201E;--c-surface-2:#1C2826;--c-ok:#4ADE80;--c-err:#F97066;--c-warn:#FB923C;color-scheme:dark}}
:root[data-theme="dark"]{--c-ink:#E8EFED;--c-muted:#9CABA6;--c-line:#2A3634;--c-bg:#0F1614;--c-surface:#16201E;--c-surface-2:#1C2826;--c-ok:#4ADE80;--c-err:#F97066;--c-warn:#FB923C;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.f-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.f-muted{color:var(--c-muted)}
.f-small{font-size:14px}
.f-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-sm);border:1.5px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.f-btn--primary{background:var(--c-primary);border-color:var(--c-primary-text);color:var(--c-primary-ink)}
.f-btn--sm{min-height:36px;padding:6px 12px;font-size:14px}
.f-btn--block{width:100%}
.f-editbar{background:var(--c-deep);color:var(--c-deep-ink);font-size:14px}
.f-editbar__in{display:flex;gap:10px;align-items:center;min-height:48px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.f-editbar__in span{margin-right:auto}
.f-editbar .f-btn{border-color:color-mix(in srgb,var(--c-deep-ink) 35%,transparent);background:transparent;color:var(--c-deep-ink)}
.f-editbar .f-btn--primary{background:var(--c-deep-ink);color:var(--c-deep);border-color:var(--c-deep-ink)}
.f-head{background:var(--c-surface);border-bottom:1px solid var(--c-line)}
.f-head__in{display:flex;align-items:center;gap:16px;min-height:68px}
.f-brand{display:flex;align-items:center;text-decoration:none;margin-right:auto}
.f-logo{max-height:44px;width:auto}
.f-wordmark{font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:-.02em}
.f-status{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--c-muted)}
.f-dot{width:9px;height:9px;border-radius:50%;background:var(--c-ok)}
.f-dot.is-off{background:var(--c-err)}
@media (max-width:700px){.f-head .f-status{display:none}}
.f-hero{position:relative;padding:var(--s-7) 0 var(--s-6);overflow:hidden}
.f-hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-6);align-items:center;position:relative}
.f-hero--background .f-hero__in,.f-hero:not(.has-img) .f-hero__in{grid-template-columns:1fr}
.f-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.f-hero--background.has-img::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.25));z-index:1}
.f-hero--background.has-img .f-hero__in{z-index:2;color:#fff}
.f-hero--background.has-img .f-lead{color:rgba(255,255,255,.88)}
.f-hero__pic img{border-radius:var(--r-lg);aspect-ratio:4/3;object-fit:cover;width:100%}
.f-kicker{color:var(--c-primary-text);font-weight:700;margin:0 0 12px}
.f-hero--background.has-img .f-kicker{color:var(--c-accent)}
.f-h1{font-family:var(--f-display);margin:0;line-height:1.05;letter-spacing:-.03em;font-weight:800;font-size:clamp(2.3rem,5.4vw,4.2rem);max-width:18ch}
.f-h1--discreto{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:700}
.f-h1--impactante{font-size:clamp(2.7rem,7vw,5.4rem)}
.f-lead{font-size:1.15rem;color:var(--c-muted);margin:18px 0 26px;max-width:48ch}
.f-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:0}
@media (max-width:820px){.f-hero__in{grid-template-columns:1fr}}
.f-profile{background:var(--c-surface);border-block:1px solid var(--c-line)}
.f-profile__in{display:flex;gap:24px;flex-wrap:wrap;padding-block:14px;font-size:15px}
.f-profile a{text-decoration:none;font-weight:600}
.f-sec{padding:var(--s-7) 0}
.f-sec--alt{background:var(--c-surface)}
.f-h2{font-family:var(--f-display);font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;margin:0 0 var(--s-5)}
.f-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.f-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column}
.f-card__pic{aspect-ratio:4/3;background:var(--c-primary-soft);display:grid;place-items:center}
.f-card__pic img{width:100%;height:100%;object-fit:cover}
.f-card__ph{font-family:var(--f-display);font-size:3rem;font-weight:800;color:var(--c-primary-text)}
.f-card__body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.f-card h3{margin:0;font-size:1.1rem}
.f-card p{margin:0}
.f-price{font-weight:700;margin-top:auto!important;padding-top:6px}
.f-price s{font-weight:400;color:var(--c-muted);font-size:.9em}
.f-empty{border:1.5px dashed var(--c-primary);background:var(--c-primary-soft);border-radius:var(--r-md);padding:20px}
.f-empty p{margin:0}
.f-about{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-6)}
@media (max-width:760px){.f-about{grid-template-columns:1fr}}
.f-prose{max-width:760px}
.f-foot{background:var(--c-deep);color:var(--c-deep-ink);margin-top:var(--s-6)}
.f-foot__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding:48px 20px 28px}
.f-foot__h{font-size:15px;color:var(--c-deep-ink);margin:0 0 10px}
.f-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14.5px}
.f-foot p{font-size:14.5px;margin:6px 0 0}
.f-foot a{text-decoration:none}
.f-foot__base{border-top:1px solid rgba(255,255,255,.14);padding:16px 20px;font-size:13.5px;color:var(--c-deep-muted)}
@media (max-width:860px){.f-foot__cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.f-foot__cols{grid-template-columns:1fr}}
/* Início de sessão */
.flow2-login{min-height:100vh;display:grid;place-items:center;padding:24px}
.f-login{width:100%;max-width:400px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:32px 26px}
.f-login .f-brand{margin-bottom:20px}
.f-login h1{margin:0 0 6px;font-size:1.6rem}
.f-form{margin-top:20px;display:grid;gap:14px}
.f-field{display:grid;gap:6px;font-weight:600;font-size:14.5px}
.f-field input,.f-field select,.f-field textarea{font:inherit;font-weight:400;color:var(--c-ink);background:var(--c-surface);border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:11px 12px;min-height:44px;width:100%}
.f-check{display:flex;gap:8px;align-items:center;font-size:14.5px}
.f-alert{background:color-mix(in srgb,var(--c-err) 12%,var(--c-surface));color:var(--c-err);border-radius:var(--r-sm);padding:10px 12px;font-weight:600}
/* M2: secções e modo edição */
.f-grid--row,.f-grid--carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);grid-template-columns:none;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.f-grid--row>*,.f-grid--carousel>*{scroll-snap-align:start}
.f-grid--carousel{grid-auto-columns:85%;}
@media (min-width:760px){.f-grid--carousel{grid-auto-columns:calc((100% - 36px)/3)}}
.f-contact{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.f-contact__actions{display:flex;flex-wrap:wrap;gap:10px;align-content:start}
.f-contact__actions p{flex-basis:100%;margin:6px 0 0}
@media (max-width:760px){.f-contact{grid-template-columns:1fr}}
.f-editable{position:relative}
.f-editpill{display:none;position:absolute;top:12px;right:12px;z-index:5;background:var(--c-accent);color:var(--c-accent-ink);font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.is-editing .f-editpill{display:inline-block}
.is-editing .f-editable{outline:2px dashed var(--c-accent);outline-offset:-6px}
.f-editbar [data-editmode][aria-pressed="true"]{background:var(--c-accent);color:var(--c-accent-ink);border-color:var(--c-accent)}

/* M2: secções e modo edição */
.f-grid--row,.f-grid--carousel{grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);grid-template-columns:none;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.f-grid--row>*,.f-grid--carousel>*{scroll-snap-align:start}
.f-grid--carousel{grid-auto-columns:85%}
@media (min-width:760px){.f-grid--carousel{grid-auto-columns:calc((100% - 36px)/3)}}
.f-contact{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.f-contact__actions{display:flex;flex-wrap:wrap;gap:10px;align-content:start}
.f-contact__actions p{flex-basis:100%;margin:6px 0 0}
@media (max-width:760px){.f-contact{grid-template-columns:1fr}}
.f-editable{position:relative}
.f-editpill{display:none;position:absolute;top:12px;right:12px;z-index:5;background:var(--c-accent);color:var(--c-accent-ink);font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.is-editing .f-editpill{display:inline-block}
.is-editing .f-editable{outline:2px dashed var(--c-accent);outline-offset:-6px}
.f-editbar [data-editmode][aria-pressed="true"]{background:var(--c-accent);color:var(--c-accent-ink);border-color:var(--c-accent)}

/* M3: lista de pedido */
.f-pill{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;gap:8px;align-items:center;padding:12px 18px;border-radius:999px;background:var(--c-primary);color:var(--c-primary-ink);font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.f-pill span{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--c-primary-ink);color:var(--c-primary);font-size:13px}
.f-toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:61;background:var(--c-ink);color:var(--c-bg);padding:11px 16px;border-radius:10px;font-weight:600}
.f-add.is-in{background:var(--c-primary-soft);border-color:var(--c-primary-text);color:var(--c-primary-text)}
.f-order{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start}
@media (max-width:860px){.f-order{grid-template-columns:1fr}.f-pill{left:16px;right:16px;justify-content:center}}
.f-panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:22px}
.f-h3{font-family:var(--f-display);font-size:1.2rem;margin:0 0 16px}
.f-list{margin:18px 0}
.f-li{border-bottom:1px solid var(--c-line);padding:14px 0}
.f-li:last-child{border-bottom:0}
.f-li__top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.f-li__ctrl{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.f-li__q{display:grid;gap:4px;font-size:13px;color:var(--c-muted)}
.f-li__q input{min-height:44px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:8px 10px;background:var(--c-surface);color:var(--c-ink);width:120px}
.f-li__ctrl input[type=text]{flex:1;min-width:200px;min-height:44px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:8px 10px;background:var(--c-surface);color:var(--c-ink)}
.f-link{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--c-muted);font:inherit}
.f-empty-list{color:var(--c-muted)}
.f-field.has-err input,.f-field.has-err textarea{border-color:var(--c-err)}
.f-field textarea{min-height:100px}
.f-done__in{max-width:640px;margin:0 auto;text-align:center;padding:40px 0}
.f-done__sum{list-style:none;padding:0;margin:20px 0;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:16px;text-align:left}
.f-done__sum li{padding:4px 0}
.f-wa{background:#25D366!important;border-color:#25D366!important;color:#07351a!important}

.f-search{display:flex;gap:10px;margin:18px 0 24px;max-width:520px}
.f-search input{flex:1;min-height:46px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:10px 14px;background:var(--c-surface);color:var(--c-ink);font:inherit}
.f-iconlink{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--c-muted);text-decoration:none}
.f-iconlink:hover{background:var(--c-surface-2);color:var(--c-ink)}

/* M6: cartões uniformes, altura do destaque, sobre com imagem, setas */
.f-grid{align-items:stretch}
.f-grid>.f-card{height:100%}
.f-card{display:flex;flex-direction:column;min-width:0}
.f-card__pic{aspect-ratio:4/3;flex:0 0 auto;overflow:hidden}
.f-card__pic img{width:100%;height:100%;object-fit:cover;display:block}
.f-card__body{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0}
.f-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.f-card .f-muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.f-card .f-price{margin-top:auto}
.f-card .f-add{width:100%;margin-top:12px}
.f-hero--h-compacto{padding:32px 0 26px}
.f-hero--h-compacto .f-h1{font-size:clamp(1.9rem,4vw,3rem)}
.f-hero--h-ecra{min-height:calc(100svh - 68px);display:flex;align-items:center;padding:48px 0}
.f-hero--h-ecra .f-hero__in{width:100%}
.f-about{display:grid;gap:var(--s-6);align-items:center}
.f-about--texto{grid-template-columns:1fr 2fr}
.f-about--lado_esq,.f-about--lado_dir{grid-template-columns:1fr 1fr}
.f-about--acima{grid-template-columns:1fr}
.f-about__txt{max-width:62ch}
.f-about__pic{width:100%;background:var(--c-surface-2);border-radius:var(--r-md);overflow:hidden}
.f-about__pic img{width:100%;height:100%;object-fit:cover;display:block}
.f-ratio--1x1{aspect-ratio:1/1}
.f-ratio--4x3{aspect-ratio:4/3}
.f-ratio--16x9{aspect-ratio:16/9}
@media (max-width:760px){.f-about,.f-about--texto,.f-about--lado_esq,.f-about--lado_dir{grid-template-columns:1fr}}
.f-slider{position:relative}
.f-arrow{display:none}
@media (min-width:900px){
  .f-arrow{display:grid;place-items:center;position:absolute;top:calc(50% - 22px);width:44px;height:44px;border-radius:50%;border:1.5px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);z-index:3}
  .f-arrow--prev{left:-10px}
  .f-arrow--next{right:-10px}
  .f-arrow[hidden]{display:none}
}
/* M6: setas junto ao título, pílulas de navegação */
.f-sechead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:var(--s-5)}
.f-sechead .f-h2{margin:0}
.f-arrows{display:none;gap:8px}
@media (min-width:860px){.f-arrows{display:flex}.f-arrows[hidden]{display:none}}
.f-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);font-size:22px;line-height:1;cursor:pointer;position:static;box-shadow:none}
.f-arrow:hover:not(:disabled){background:var(--c-primary-soft);border-color:var(--c-primary-text);color:var(--c-primary-text)}
.f-arrow:disabled{opacity:.35;cursor:default}
.f-dots{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:16px}
.f-dots[hidden]{display:none}
.f-dot{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:var(--c-line);cursor:pointer;transition:width .2s,background .2s}
.f-dot.is-on{width:30px;background:var(--c-primary)}
.f-dot:hover{background:var(--c-muted)}
@media (prefers-reduced-motion:reduce){.f-dot{transition:none}}

/* M6: página Sobre, ler mais, acessibilidade e afinações */
.f-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--c-primary);color:var(--c-primary-ink);padding:12px 18px;border-radius:0 0 var(--r-sm) 0;font-weight:700;text-decoration:none}
.f-skip:focus{left:0}
.f-navlink{text-decoration:none;font-weight:600;color:var(--c-muted);padding:8px 10px;border-radius:8px}
.f-navlink:hover{color:var(--c-ink);background:var(--c-surface-2)}
@media (max-width:700px){.f-navlink{display:none}}
.f-more{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;color:var(--c-primary-text);border-bottom:2px solid transparent}
.f-more::after{content:'→';transition:transform .15s}
.f-more:hover{border-bottom-color:var(--c-primary-text)}
.f-more:hover::after{transform:translateX(3px)}
.f-about__txt>div>p:last-of-type{margin-bottom:0}
.f-aboutpage{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s-6);align-items:start;margin-bottom:var(--s-6)}
.f-aboutpage__txt p{margin-bottom:14px;max-width:62ch}
.f-aboutpage__pic{width:100%;border-radius:var(--r-md);overflow:hidden;background:var(--c-surface-2);position:sticky;top:20px}
.f-aboutpage__pic img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:820px){.f-aboutpage{grid-template-columns:1fr}.f-aboutpage__pic{position:static;order:-1}}
.f-factgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding-top:var(--s-5);border-top:1px solid var(--c-line)}
.f-fact{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:18px}
.f-fact b{display:block;margin-bottom:8px}
.f-fact p{margin:0 0 6px;color:var(--c-muted)}
.f-fact a{font-weight:600}
.f-backhome{margin-top:var(--s-6)}
.f-price small{font-weight:500}
.f-card .f-price:empty{display:none}

/* M6: carrossel sem barra de deslocamento visível */
.f-grid--row,.f-grid--carousel{scrollbar-width:none;-ms-overflow-style:none;scroll-padding-left:2px}
.f-grid--row::-webkit-scrollbar,.f-grid--carousel::-webkit-scrollbar{display:none;height:0;width:0}

/* M5: legal, acompanhamento, denúncia, consentimento */
.f-foot__base{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.f-foot__legal{display:flex;gap:6px 16px;flex-wrap:wrap}
.f-foot__legal a{color:inherit;text-decoration:none}
.f-foot__legal a:hover{text-decoration:underline}
.f-legal{max-width:820px}
.f-legalnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.f-legalnav a{padding:7px 14px;border-radius:999px;border:1.5px solid var(--c-line);text-decoration:none;font-weight:600;font-size:14px}
.f-legalnav a[aria-current='page']{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}
.f-legal__txt h2{font-size:1.1rem;margin:26px 0 6px}
.f-legal__txt p{margin:0 0 12px;line-height:1.65}
.f-track{max-width:720px}
.f-track__card{margin-top:18px}
.f-track__state{font-family:var(--f-display);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;margin:4px 0 14px;color:var(--c-primary-text)}
.f-timeline{list-style:none;margin:18px 0;padding:0 0 0 18px;border-left:2px solid var(--c-line)}
.f-timeline li{position:relative;padding:0 0 14px 10px}
.f-timeline li::before{content:'';position:absolute;left:-25px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--c-primary)}
.f-timeline p{margin:4px 0 0;color:var(--c-muted)}
.f-report{max-width:720px}
.f-report .f-panel{display:grid;gap:14px}
.f-report select{font:inherit;min-height:44px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:10px 12px;background:var(--c-surface);color:var(--c-ink)}
.f-consent{align-items:flex-start;line-height:1.5}
.f-consent input{margin-top:3px;flex:none}
.f-check.has-err{color:var(--c-err)}
.f-code{background:var(--c-primary-soft);border-radius:var(--r-sm);padding:10px 14px}

/* Menu em telemóvel e conta */
.f-burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:10px;color:var(--c-ink)}
.f-burger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px}
.f-burger:hover{background:var(--c-surface-2)}
@media (max-width:700px){.f-burger{display:flex}.f-head .f-btn--sm{display:none}.f-iconlink{display:none}}
.f-mnav{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.45);display:flex;justify-content:flex-end}
.f-mnav[hidden]{display:none}
.f-mnav__panel{width:min(340px,86vw);height:100%;background:var(--c-surface);padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px;overflow:auto}
.f-mnav__head{display:flex;justify-content:space-between;align-items:center}
.f-mnav__x{border:0;background:none;font-size:30px;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;color:var(--c-ink)}
.f-mnav nav{display:flex;flex-direction:column}
.f-mnav nav a{padding:14px 4px;border-bottom:1px solid var(--c-line);text-decoration:none;font-weight:600;font-size:1.05rem}
.f-mnav__acc{margin-top:auto;text-align:center;font-weight:600;padding:12px;color:var(--c-muted)}

/* Menu principal, rodapé em 4 colunas */
.f-mainnav{display:flex;align-items:center;gap:2px}
.f-navmore{position:relative}
.f-navmore>summary{list-style:none;cursor:pointer}
.f-navmore>summary::-webkit-details-marker{display:none}
.f-navmore__list{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:0 12px 32px rgba(0,0,0,.14);padding:6px;display:flex;flex-direction:column;z-index:40}
.f-navmore__list a{padding:10px 12px;border-radius:8px;text-decoration:none;font-weight:600;color:var(--c-ink)}
.f-navmore__list a:hover{background:var(--c-surface-2)}
.f-navlink--acc{border:1.5px solid var(--c-line)}
@media (max-width:900px){.f-mainnav{display:none}}
.f-foot__cols{grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:start}
.f-foot__brand p{max-width:32ch}
.f-social{display:flex;gap:10px;margin-top:14px!important}
.f-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--c-deep-ink) 30%,transparent);color:var(--c-deep-ink)}
.f-social a:hover{background:color-mix(in srgb,var(--c-deep-ink) 12%,transparent)}
.f-themetoggle{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--c-muted);cursor:pointer}
.f-themetoggle:hover{background:var(--c-surface-2);color:var(--c-ink)}
.f-themetoggle .f-ico-moon{display:none}
.f-themetoggle.is-dark .f-ico-sun{display:none}
.f-themetoggle.is-dark .f-ico-moon{display:block}

/* ================= Loja (WooCommerce) ================= */
.f-shopwrap{max-width:1120px}
.f-card{position:relative}
.f-card h3 a{text-decoration:none;color:inherit}
.f-card h3 a:hover{color:var(--c-primary-text)}
.f-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--c-accent);color:var(--c-accent-ink);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.f-add.is-off{opacity:.55;pointer-events:none}
.f-add.added{background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary-text)}
.f-add.loading{opacity:.6}
.f-card .added_to_cart{display:block;text-align:center;margin-top:8px;font-size:14px;font-weight:600;color:var(--c-primary-text)}
.f-price del{color:var(--c-muted);font-weight:400;font-size:.9em;margin-right:6px}
.f-price ins{text-decoration:none}
.f-cart{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--c-ink);text-decoration:none}
.f-cart:hover{background:var(--c-surface-2)}
.f-cart__n{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--c-primary);color:var(--c-primary-ink);font-size:12px;font-weight:700;display:grid;place-items:center}
.f-cart__n[hidden]{display:none}
/* Grelha da loja */
.woocommerce .woocommerce-breadcrumb{font-size:14px;color:var(--c-muted);margin:0 0 14px}
.woocommerce .woocommerce-breadcrumb a{color:var(--c-muted)}
.woocommerce-products-header__title,.woocommerce div.product .product_title{font-family:var(--f-display);font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.02em;margin:0 0 12px}
.woocommerce .woocommerce-result-count{color:var(--c-muted);font-size:14px}
.woocommerce .woocommerce-ordering select{min-height:40px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:6px 10px;background:var(--c-surface);color:var(--c-ink);font:inherit}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin:18px 0 0!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;padding:0 0 16px!important}
.woocommerce ul.products li.product a img{aspect-ratio:4/3;object-fit:cover;margin:0 0 12px!important;width:100%;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.05rem!important;padding:0 16px!important;color:var(--c-ink)}
.woocommerce ul.products li.product .price{padding:0 16px;color:var(--c-ink)!important;font-weight:700;margin-top:auto!important}
.woocommerce ul.products li.product .button{margin:12px 16px 0!important}
.woocommerce span.onsale{background:var(--c-accent);color:var(--c-accent-ink);min-height:0;min-width:0;padding:4px 10px;line-height:1.4;border-radius:999px;font-size:12px;top:12px;left:12px;right:auto;margin:0}
/* Botões */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link),.wp-element-button,.woocommerce .single_add_to_cart_button{background:var(--c-primary)!important;color:var(--c-primary-ink)!important;border:0!important;border-radius:var(--r-sm)!important;font-weight:600!important;min-height:44px;padding:10px 18px!important;font-family:inherit!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:not(.is-link):hover{filter:brightness(1.06)}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--c-primary)!important}
/* Produto */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images img{border-radius:var(--r-md)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--c-ink)!important;font-size:1.5rem;font-weight:700}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--c-surface-2)!important;border-color:var(--c-line)!important;border-radius:var(--r-sm) var(--r-sm) 0 0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--c-surface)!important}
.woocommerce .quantity .qty{min-height:44px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-ink)}
@media (max-width:820px){.woocommerce div.product{grid-template-columns:1fr}}
/* Formulários e avisos */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-textarea{border:1.5px solid var(--c-line)!important;border-radius:var(--r-sm)!important;background:var(--c-surface)!important;color:var(--c-ink)!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:var(--r-sm)!important;background:var(--c-surface)!important;color:var(--c-ink)!important;border:1px solid var(--c-line)!important;border-left:4px solid var(--c-primary)!important}
.woocommerce-error,.wc-block-components-notice-banner.is-error{border-left-color:var(--c-err)!important}
.woocommerce-message{border-left-color:var(--c-ok)!important}
.wc-block-components-totals-wrapper,.wc-block-components-order-summary,.wp-block-woocommerce-checkout-order-summary-block{border-color:var(--c-line)!important}
.wc-block-components-product-name{color:var(--c-ink)!important}
.wc-block-components-radio-control__option,.wc-block-components-checkbox__input{accent-color:var(--c-primary)}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{width:100%}
/* A minha conta */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:auto!important;float:none!important}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 12px;border-radius:var(--r-sm);text-decoration:none;font-weight:600;color:var(--c-muted)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--c-primary-soft);color:var(--c-primary-text)}
@media (max-width:760px){.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:20px}}
.woocommerce table.shop_table{border-color:var(--c-line)!important;border-radius:var(--r-md)!important}
/* ================= Revisão de desenho ================= */
/* O atributo hidden ganha sempre, mesmo em elementos com display próprio */
[hidden]{display:none!important}
/* Ritmo vertical entre painéis e mensagens de estado */
.f-panel+.f-panel,.f-panel+.f-alert,.f-alert+.f-panel{margin-top:16px}
.f-panel>.f-h3:first-child,.f-panel>h2:first-child{margin-top:0}
.f-panel>p:last-child{margin-bottom:0}
.f-panel .f-h3{margin:0 0 8px}
.f-report [data-report-done]{border-left:4px solid var(--c-ok)}
.f-alert{margin:0}
.f-alert[role='alert']{border-left:4px solid var(--c-err)}
/* Estados de interação dos botões */
.f-btn{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .08s}
.f-btn:hover{background:var(--c-surface-2);border-color:color-mix(in srgb,var(--c-ink) 25%,var(--c-line))}
.f-btn--primary:hover{background:color-mix(in srgb,var(--c-primary) 88%,#000);border-color:color-mix(in srgb,var(--c-primary) 88%,#000)}
.f-btn:active{transform:translateY(1px)}
.f-btn:disabled,.f-btn[aria-disabled='true']{opacity:.5;cursor:not-allowed;transform:none}
.f-btn:focus-visible,.f-navlink:focus-visible,.f-cart:focus-visible,.f-themetoggle:focus-visible{outline:3px solid var(--c-primary-text);outline-offset:2px}
.f-navlink:hover{color:var(--c-ink);background:var(--c-surface-2)}
/* Cartões: resposta ao passar o rato, sem saltos */
.f-card{transition:box-shadow .2s,border-color .2s}
.f-card:hover{border-color:color-mix(in srgb,var(--c-primary) 35%,var(--c-line));box-shadow:0 10px 26px rgba(0,0,0,.08)}
.f-card a:focus-visible{outline:3px solid var(--c-primary-text);outline-offset:2px}
/* Ligações no texto: visíveis e com contraste */
.f-prose a,.f-legal__txt a,.f-about__txt a,.f-consent a{color:var(--c-primary-text);text-decoration:underline;text-underline-offset:3px}
/* Campos: estado de foco e de erro consistentes */
.f-field input:focus,.f-field textarea:focus,.f-field select:focus,.f-search input:focus,.f-li__q input:focus,.f-li__ctrl input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-primary) 22%,transparent)}
.f-field.has-err input,.f-field.has-err textarea,.f-field.has-err select{border-color:var(--c-err);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-err) 18%,transparent)}
/* Aviso flutuante: sempre acima da barra do telemóvel e legível */
.f-toast{max-width:calc(100% - 32px);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25);bottom:calc(84px + env(safe-area-inset-bottom,0px))}
/* Cabeçalho em ecrãs médios: o estado fica só com o ponto, para não apertar o menu */
@media (min-width:901px) and (max-width:1180px){.f-head .f-status{font-size:0;gap:0}.f-head .f-status .f-dot{width:10px;height:10px}}
@media (max-width:900px){.f-head__in{gap:8px}}
/* Loja: cupão e campos dos blocos com altura confortável ao toque */
.wc-block-components-totals-coupon__form{gap:10px;align-items:stretch}
.wc-block-components-totals-coupon__form .wc-block-components-text-input{flex:1}
.wc-block-components-text-input input{min-height:50px}
.wc-block-components-totals-coupon__button{min-height:50px}
.wc-block-components-button:disabled,.wc-block-components-button[aria-disabled='true']{opacity:.5}
.wc-block-cart-item__image img{border-radius:var(--r-sm)}
.wc-block-components-product-metadata{color:var(--c-muted)}
.wc-block-cart .wc-block-cart__totals-title{font-size:13px;letter-spacing:.02em;color:var(--c-muted)}
/* Tabelas largas não empurram a página */
.woocommerce table.shop_table{display:block;overflow-x:auto}
@media (min-width:760px){.woocommerce table.shop_table{display:table}}
/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){.f-btn,.f-card{transition:none}.f-btn:active{transform:none}}
.f-price small{font-weight:500;color:var(--c-muted);margin-left:4px;font-size:.85em}
.f-meta{margin:0;font-size:13.5px;color:var(--c-muted)}

/* Publicações e galerias */
.f-card--post .f-price{font-weight:600}
.f-sechead .f-more{white-space:nowrap}
.f-article{max-width:820px}
.f-article .f-meta a{color:var(--c-primary-text)}
.f-article__cover{margin:24px 0;border-radius:var(--r-lg);overflow:hidden}
.f-article__cover img{width:100%;height:auto;display:block}
.f-article .f-prose{max-width:none;font-size:1.06rem;line-height:1.75}
.f-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:28px 0}
.f-gallery a{display:block;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1/1;background:var(--c-surface-2)}
.f-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.f-gallery a:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.f-gallery img{transition:none}}

/* Faixa de informação modular */
.f-info{padding:20px 0}
.f-info__in{display:grid;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden}
.f-info__in--1{grid-template-columns:1fr}
.f-info__in--2{grid-template-columns:repeat(2,1fr)}
.f-info__in--3{grid-template-columns:repeat(3,1fr)}
.f-info__item{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;min-width:0}
.f-info__item+.f-info__item{border-left:1px solid var(--c-line)}
.f-info__ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary-text)}
.f-info__label{margin:0 0 4px;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-muted)}
.f-info__main{margin:0;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.f-info__main a{text-decoration:none;color:var(--c-ink)}
.f-info__main .f-status{font-size:15px}
.f-info__more{margin:4px 0 0;font-size:14px;color:var(--c-muted);line-height:1.45}
.f-info__more a{color:var(--c-primary-text);font-weight:600;text-decoration:none}
.f-info__more a:hover,.f-info__main a:hover{text-decoration:underline}
@media (max-width:820px){.f-info__in--2,.f-info__in--3{grid-template-columns:1fr}.f-info__item+.f-info__item{border-left:0;border-top:1px solid var(--c-line)}.f-info__item{padding:16px 18px}}

/* ================= Revisão de responsividade ================= */
/* Nunca deixar a página deslizar para o lado */
html,body{max-width:100%;overflow-x:clip}
/* Rodapé: 4 colunas só em ecrãs largos; 2 em tablet; 1 em telemóvel */
.f-foot__cols{grid-template-columns:1.4fr 1fr 1fr 1fr}
.f-foot__cols>*{min-width:0}
.f-foot a{overflow-wrap:anywhere}
@media (max-width:980px){.f-foot__cols{grid-template-columns:1fr 1fr;gap:28px 24px}}
@media (max-width:560px){.f-foot__cols{grid-template-columns:1fr;gap:24px}.f-foot__base{flex-direction:column;align-items:flex-start}}
/* Ritmo vertical: menos espaço entre secções em ecrãs pequenos */
.f-sec{padding-block:clamp(40px,7vw,var(--s-7,84px))}
@media (max-width:700px){.f-sec--alt .f-wrap{padding:24px}.f-info{padding:12px 0}}
/* Destaque: botões a toda a largura em telemóvel, título sem cortar palavras */
.f-h1{overflow-wrap:break-word;hyphens:auto}
@media (max-width:520px){.f-ctas{display:grid;grid-template-columns:1fr;gap:10px}.f-ctas .f-btn{width:100%;justify-content:center}}
/* Grelhas: nunca mais largas que o ecrã */
.f-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}
.f-grid>*{min-width:0}
/* Formulários longos em telemóvel */
@media (max-width:700px){.f-order{gap:20px}.f-panel{padding:18px}.f-li__q input{width:100%}.f-li__ctrl{flex-direction:column}.f-li__ctrl input[type=text]{min-width:0}}
/* Loja: página de produto */
.woocommerce div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.woocommerce div.product>*{min-width:0}
@media (max-width:820px){.woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:24px}}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:18px 0}
.woocommerce div.product form.cart .quantity{margin:0!important}
.woocommerce div.product form.cart .quantity .qty{width:84px;height:100%;min-height:48px;text-align:center}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-height:48px;min-width:180px}
.woocommerce div.product .product_meta{font-size:14px;color:var(--c-muted)}
.woocommerce div.product .stock{font-weight:600;color:var(--c-ok)}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:6px;overflow-x:auto;padding:0!important;margin:0 0 16px!important}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{flex:none;margin:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs .panel{margin:0 0 24px}
.woocommerce #reviews #comment,.woocommerce #review_form input[type=text],.woocommerce #review_form input[type=email],.woocommerce #review_form select{width:100%;max-width:100%;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:10px 12px;background:var(--c-surface);color:var(--c-ink);font:inherit}
.woocommerce .related>h2,.woocommerce .upsells>h2{font-size:1.4rem;margin:8px 0 14px}
/* Tabelas e blocos da loja: nunca transbordar */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:100%}
/* (menu horizontal da conta: ver bloco "Conta do cliente") */
/* Formulários: espaço entre campos e rótulos */
.f-field{display:grid;gap:6px;margin:0 0 16px}
.f-field>span{font-weight:600}
.f-field small{color:var(--c-muted);font-size:13px;line-height:1.4}
.f-panel .f-check{margin:4px 0 14px}
.f-panel .f-btn--block{margin-top:6px}
/* Contactos: botões com a mesma largura em telemóvel */
@media (max-width:700px){.f-contact__actions{flex-direction:column;align-items:stretch}.f-contact__actions .f-btn{width:100%;justify-content:center}}

/* ================= Cartões modulares: mesmo tamanho, preço e botão alinhados ================= */
.f-card{display:flex;flex-direction:column;height:100%;min-width:0}
.f-card__pic{position:relative;width:100%;aspect-ratio:4/3;flex:none;overflow:hidden}
.f-card__pic img{width:100%;height:100%;object-fit:cover}
.f-card__ph{display:grid;place-items:center;width:100%;height:100%;font-size:2.4rem;font-weight:800;color:var(--c-primary-text);text-decoration:none}
.f-card__pic a,.f-card a.f-card__pic{text-decoration:none}
.f-card__body{display:flex;flex-direction:column;flex:1 1 auto;gap:0;padding:14px 16px 16px}
.f-card__title{margin:0 0 6px;font-size:1rem;line-height:1.3;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;overflow-wrap:anywhere}
.f-card__title a{color:inherit;text-decoration:none}
.f-card__desc{margin:0;font-size:.9rem;line-height:1.5;color:var(--c-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}
.f-card__meta{margin:6px 0 0;font-size:.82rem;line-height:1.4;color:var(--c-muted);min-height:1.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f-card__foot{margin-top:auto;padding-top:14px;display:grid;gap:10px}
.f-card .f-price{margin:0;min-height:1.5em;line-height:1.5;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f-card .f-price small{font-size:.8em}
.f-price__quote{font-weight:600;color:var(--c-muted)}
.f-card .f-add{width:100%;margin:0;justify-content:center;min-height:42px}
.f-card .added_to_cart{margin:0;text-align:center}
.f-card>.f-card__body>h3:not(.f-card__title){display:none}
/* Grelha: colunas iguais */
.f-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));align-items:stretch}
/* Linha e carrossel: todos os cartões com a mesma largura, sem colunas misturadas */
.f-grid.f-grid--row,.f-grid.f-grid--carousel{grid-template-columns:none!important;grid-auto-flow:column;align-items:stretch}
.f-grid.f-grid--row{grid-auto-columns:260px}
.f-grid.f-grid--carousel{grid-auto-columns:calc((100% - 3 * 18px) / 4)}
@media (max-width:1100px){.f-grid.f-grid--carousel{grid-auto-columns:calc((100% - 2 * 18px) / 3)}}
@media (max-width:760px){.f-grid.f-grid--carousel{grid-auto-columns:calc((100% - 18px) / 2)}.f-grid.f-grid--row{grid-auto-columns:220px}}
@media (max-width:520px){.f-grid.f-grid--carousel{grid-auto-columns:82%}}
/* Cartões: alturas exatas (medidas em 375, 768 e 1280 px) */
.f-card__title{height:2.6em;min-height:0;margin-bottom:8px}
.f-card__desc{height:3em;min-height:0}
.f-card .f-price{height:1.5em}
.f-card .f-price small,.f-card .f-price s{line-height:1;vertical-align:baseline}

.f-track__eta{display:inline-flex;align-items:center;gap:8px;margin:-6px 0 14px;padding:8px 14px;border-radius:999px;background:var(--c-primary-soft);color:var(--c-primary-text);font-weight:700}
.f-track__eta::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}

/* ================= M13: galeria, clientes, separadores ================= */
.f-sec__lead{margin:6px 0 0;color:var(--c-muted);max-width:60ch}
/* Fotos 1:1 */
.f-photos{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.f-photo a{display:block;aspect-ratio:1/1;border-radius:var(--r-md);overflow:hidden;background:var(--c-surface-2)}
.f-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.f-photo a:hover img{transform:scale(1.04)}
.f-photo a:focus-visible{outline:3px solid var(--c-primary-text);outline-offset:3px}
@media (max-width:1000px){.f-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.f-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.f-photos.f-grid--row,.f-photos.f-grid--carousel,.f-logos.f-grid--row,.f-logos.f-grid--carousel{grid-template-columns:none!important;grid-auto-flow:column;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.f-photos.f-grid--row::-webkit-scrollbar,.f-photos.f-grid--carousel::-webkit-scrollbar,.f-logos.f-grid--row::-webkit-scrollbar,.f-logos.f-grid--carousel::-webkit-scrollbar{display:none}
.f-photos.f-grid--carousel,.f-photos.f-grid--row{grid-auto-columns:calc((100% - 3 * 12px) / 4)}
@media (max-width:1000px){.f-photos.f-grid--carousel,.f-photos.f-grid--row{grid-auto-columns:calc((100% - 2 * 12px) / 3)}}
@media (max-width:600px){.f-photos.f-grid--carousel,.f-photos.f-grid--row{grid-auto-columns:calc((100% - 8px) / 2)}}
.f-photos>*,.f-logos>*{scroll-snap-align:start}
.f-homegal__more{text-align:center;margin:20px 0 0}
.f-gallery.f-photos{margin:28px 0}
/* Janela sobreposta */
.f-lb{position:fixed;inset:0;z-index:120;background:rgba(8,10,12,.92);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:56px 12px 40px}
.f-lb[hidden]{display:none}
.f-lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:100%}
.f-lb__img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:6px}
.f-lb__cap{color:#eee;margin-top:12px;text-align:center;font-size:15px;max-width:70ch}
.f-lb__x{position:absolute;top:10px;right:12px;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.f-lb__nav{width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.f-lb__nav:hover,.f-lb__x:hover{background:rgba(255,255,255,.24)}
.f-lb__count{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#bbb;margin:0;font-size:14px}
@media (max-width:600px){.f-lb{grid-template-columns:1fr;padding:56px 8px 40px}.f-lb__nav{display:none}}
/* Clientes: células iguais 3:2, logótipos equilibrados, sempre em fundo claro */
.f-logos{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.f-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:600px){.f-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.f-logos.f-grid--carousel,.f-logos.f-grid--row{grid-auto-columns:calc((100% - 5 * 14px) / 6)}
@media (max-width:1100px){.f-logos.f-grid--carousel,.f-logos.f-grid--row{grid-auto-columns:calc((100% - 3 * 14px) / 4)}}
@media (max-width:600px){.f-logos.f-grid--carousel,.f-logos.f-grid--row{grid-auto-columns:calc((100% - 10px) / 2)}}
.f-logo.f-card{aspect-ratio:3/2;display:grid;place-items:center;background:#fff;border:1px solid #E6E8EA;border-radius:var(--r-md);padding:0;height:auto}
.f-logo a{display:grid;place-items:center;width:100%;height:100%}
.f-logo img{object-fit:contain;display:block;max-width:86%;max-height:72%}
.f-clients--mono .f-logo img{filter:grayscale(1);opacity:.72;transition:filter .2s,opacity .2s}
.f-clients--mono .f-logo:hover img,.f-clients--mono .f-logo a:focus-visible img{filter:none;opacity:1}
/* Separadores e acordeão */
.f-tabs{margin:28px 0}
.f-tabs__list{display:flex;gap:4px;border-bottom:2px solid var(--c-line);overflow-x:auto;scrollbar-width:none}
.f-tabs__list [role=tab]{border:0;background:none;padding:12px 16px;font:inherit;font-weight:600;color:var(--c-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.f-tabs__list [role=tab][aria-selected=true]{color:var(--c-primary-text);border-bottom-color:var(--c-primary)}
.f-tabs__list [role=tab]:focus-visible{outline:3px solid var(--c-primary-text);outline-offset:-3px}
.f-tabs--tabs .f-tabs__acc{display:none}
.f-tabs--tabs .f-tabs__body{padding:18px 2px}
.f-tabs--accordion .f-tabs__panel,.f-tabs--tabs .f-tabs__panel{border-bottom:1px solid var(--c-line)}
.f-tabs--tabs .f-tabs__panel{border-bottom:0}
.f-tabs__acc{margin:0;font-size:1rem}
.f-tabs__acc button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;background:none;padding:16px 2px;font:inherit;font-weight:700;color:var(--c-ink);text-align:left;cursor:pointer}
.f-tabs__acc button::after{content:'+';font-size:1.4rem;color:var(--c-primary-text);transition:transform .2s}
.f-tabs__acc button[aria-expanded=true]::after{transform:rotate(45deg)}
.f-tabs__acc button:focus-visible{outline:3px solid var(--c-primary-text);outline-offset:2px}
.f-tabs--accordion .f-tabs__body{padding:0 2px 16px}
@media (max-width:700px){.f-tabs--tabs .f-tabs__list{display:none}.f-tabs--tabs .f-tabs__acc{display:block}.f-tabs--tabs .f-tabs__panel{border-bottom:1px solid var(--c-line)}.f-tabs--tabs .f-tabs__body{padding:0 2px 16px}}
@media (prefers-reduced-motion:reduce){.f-photo img,.f-tabs__acc button::after{transition:none}}
/* Luz de estado do horário: verde aberto, laranja a fechar em breve (≤ 2 h), vermelho fechado.
   Classe própria para não herdar o estilo das bolinhas dos carrosséis (.f-dot). */
.f-dot.f-dot--status{width:9px;height:9px;padding:0;border-radius:50%;background:var(--c-ok);cursor:default;flex-shrink:0}
.f-dot.f-dot--status.is-closing{background:var(--c-warn)}
.f-dot.f-dot--status.is-off{background:var(--c-err)}
.f-dot.f-dot--status:hover{background:var(--c-ok)}.f-dot.f-dot--status.is-closing:hover{background:var(--c-warn)}.f-dot.f-dot--status.is-off:hover{background:var(--c-err)}

/* ================= Conta do cliente e avisos da loja (2.0.7) ================= */
/* O WooCommerce aplica um clearfix (::before/::after display:table) a estes contentores; numa grelha
   esses pseudo-elementos ocupavam células e empurravam o menu para a 2.ª coluna e o conteúdo para 240 px. */
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after,
.woocommerce-account .col2-set.addresses::before,.woocommerce-account .col2-set.addresses::after,
.woocommerce-account .addresses .title::before,.woocommerce-account .addresses .title::after{content:none!important;display:none!important}
.woocommerce-account .f-shopwrap>.f-h2{margin:0 0 24px}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
.woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:96px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:8px}
.woocommerce-MyAccount-navigation ul{gap:2px}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:44px;padding:10px 12px}
.woocommerce-MyAccount-navigation a:hover{background:var(--c-surface-2);color:var(--c-ink)}
.woocommerce-MyAccount-navigation .is-active a:hover{background:var(--c-primary-soft);color:var(--c-primary-text)}
.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:6px;padding-top:6px;border-top:1px solid var(--c-line)}
.woocommerce-MyAccount-content>.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-MyAccount-content>:first-child{margin-top:0}
.woocommerce-MyAccount-content>:last-child{margin-bottom:0}
.woocommerce-MyAccount-content p{margin:0 0 14px;line-height:1.6}
/* Moradas em cartões */
.woocommerce-account .col2-set.addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:4px 0 0}
.woocommerce-account .addresses .col-1,.woocommerce-account .addresses .col-2{float:none!important;width:auto!important;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:18px 20px}
.woocommerce-account .addresses .woocommerce-Address{display:flex;flex-direction:column}
.woocommerce-account .addresses .title{display:contents}
.woocommerce-account .addresses .title h2,.woocommerce-account .addresses .title h3{float:none;margin:0 0 8px;font-size:1.05rem;order:0}
.woocommerce-account .addresses .title .edit{float:none;order:2;align-self:flex-start;margin-top:14px;font-weight:600;font-size:14px;color:var(--c-primary-text)}
.woocommerce-account .addresses address{order:1;font-style:normal;color:var(--c-muted);line-height:1.6;margin:0}
/* Formulários da conta (detalhes e moradas) em grelha de 2 colunas */
.woocommerce-account .woocommerce-EditAccountForm,.woocommerce-account .woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}
.woocommerce-account .woocommerce-EditAccountForm>*,.woocommerce-account .woocommerce-address-fields__field-wrapper>*{grid-column:1/-1}
.woocommerce-account .woocommerce-EditAccountForm>.form-row-first,.woocommerce-account .woocommerce-address-fields__field-wrapper>.form-row-first{grid-column:1}
.woocommerce-account .woocommerce-EditAccountForm>.form-row-last,.woocommerce-account .woocommerce-address-fields__field-wrapper>.form-row-last{grid-column:2}
.woocommerce-account .woocommerce-EditAccountForm .form-row,.woocommerce-account .woocommerce-address-fields .form-row{float:none!important;width:auto!important;padding:0!important;margin:0 0 16px!important}
.woocommerce-account .woocommerce-EditAccountForm .clear{display:none}
.woocommerce-account .woocommerce-EditAccountForm fieldset{border:1px solid var(--c-line);border-radius:var(--r-md);padding:14px 18px 2px;margin:4px 0 20px;min-width:0}
.woocommerce-account .woocommerce-EditAccountForm legend{font-weight:700;padding:0 6px}
.woocommerce-account form .form-row label{font-weight:600;font-size:14px;line-height:1.4;margin:0 0 6px}
.woocommerce-account form .form-row .input-text{min-height:44px;padding:10px 12px}
.woocommerce-account form .form-row em,.woocommerce-account form .form-row span>em{display:block;font-size:13px;color:var(--c-muted);margin-top:6px}
/* Tabela de encomendas */
.woocommerce-account table.shop_table{width:100%;font-size:15px}
.woocommerce-account table.shop_table th,.woocommerce-account table.shop_table td{padding:12px 14px;vertical-align:middle}
.woocommerce-account table.shop_table .button{min-height:36px;padding:6px 12px!important;margin:2px 6px 2px 0}
/* Avisos da loja: ícone próprio no lugar da fonte do WooCommerce. Por omissão o aviso é texto corrido
   (links e negritos ficam na frase); o botão flutua à direita. Quando o tema separou o texto
   (<span class="f-notice__txt">, ver flow2_notice_layout), texto e botão alinham lado a lado. */
.woocommerce-info,.woocommerce-message,.woocommerce-error{--f-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");display:block;position:relative;padding:14px 16px 14px 48px!important;margin:0 0 16px!important;line-height:1.5}
.woocommerce-message{--f-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.7 2.7L16 9.6'/%3E%3C/svg%3E")}
.woocommerce-error{--f-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 21.5 20h-19z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E")}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{content:""!important;font-family:inherit!important;display:block!important;position:absolute;left:16px;top:16px;width:20px;height:20px;background:currentColor;-webkit-mask:var(--f-ico) center/contain no-repeat;mask:var(--f-ico) center/contain no-repeat;color:var(--c-primary-text)!important}
.woocommerce-message::before{color:var(--c-ok)!important}
.woocommerce-error::before{color:var(--c-err)!important}
.woocommerce-error li{margin:0 0 4px!important}.woocommerce-error li:last-child{margin-bottom:0!important}
.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button,.woocommerce-info .button,.woocommerce-message .button{float:right!important;margin:-8px 0 -8px 16px!important;min-height:40px;padding:8px 16px!important;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
.woocommerce-info:has(>.f-notice__txt),.woocommerce-message:has(>.f-notice__txt){display:flex!important;align-items:center;gap:12px 16px}
.woocommerce-info:has(>.f-notice__txt)::before,.woocommerce-message:has(>.f-notice__txt)::before{top:50%;transform:translateY(-50%)}
.woocommerce-info:has(>.f-notice__txt)::after,.woocommerce-message:has(>.f-notice__txt)::after{display:none!important}
.f-notice__txt{flex:1 1 auto;min-width:0}
.woocommerce .woocommerce-info:has(>.f-notice__txt) .button,.woocommerce .woocommerce-message:has(>.f-notice__txt) .button,.woocommerce-info:has(>.f-notice__txt) .button,.woocommerce-message:has(>.f-notice__txt) .button{float:none!important;flex:none;margin:0!important}
@media (max-width:760px){
  .woocommerce-account .woocommerce-MyAccount-navigation{position:static;padding:6px}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:4px}
  .woocommerce-MyAccount-navigation a{min-height:40px;padding:8px 12px}
  .woocommerce-MyAccount-navigation-link--customer-logout{margin:0;padding:0;border-top:0}
}
@media (max-width:560px){
  .woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button,.woocommerce-info .button,.woocommerce-message .button{float:none!important;display:flex;width:100%;margin:12px 0 0!important}
  .woocommerce-info:has(>.f-notice__txt),.woocommerce-message:has(>.f-notice__txt){flex-wrap:wrap;align-items:flex-start}
  .woocommerce-info:has(>.f-notice__txt)::before,.woocommerce-message:has(>.f-notice__txt)::before{top:16px;transform:none}
  .woocommerce-info:has(>.f-notice__txt) .f-notice__txt,.woocommerce-message:has(>.f-notice__txt) .f-notice__txt{flex-basis:100%}
  .woocommerce .woocommerce-info:has(>.f-notice__txt) .button,.woocommerce .woocommerce-message:has(>.f-notice__txt) .button,.woocommerce-info:has(>.f-notice__txt) .button,.woocommerce-message:has(>.f-notice__txt) .button{width:100%;margin:0!important}
  .woocommerce-account .woocommerce-EditAccountForm>.form-row-first,.woocommerce-account .woocommerce-EditAccountForm>.form-row-last,.woocommerce-account .woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce-account .woocommerce-address-fields__field-wrapper>.form-row-last{grid-column:1/-1}
}
