/*
Theme Name: Valviro Fish Guide PT
Theme URI: https://valviro.org/
Author: Valviro Editorial
Description: Guia editorial PT-PT para Fish Eat Fish And Grow, com Global Text persistente, provisioning self-heal e SEO nativo.
Version: 1.0.1
Text Domain: valviro
*/
:root{
  --vv-bg:#071315;
  --vv-bg-soft:#0e2222;
  --vv-surface:#142b29;
  --vv-surface-2:#1c3732;
  --vv-paper:#f3f0e8;
  --vv-paper-2:#e7e1d6;
  --vv-ink:#10201e;
  --vv-text:#f7f3e9;
  --vv-muted:#aebdb7;
  --vv-muted-dark:#5d6b66;
  --vv-primary:#eabf55;
  --vv-primary-strong:#c8962d;
  --vv-secondary:#6fbea9;
  --vv-accent:#bf6041;
  --vv-border:rgba(247,243,233,.16);
  --vv-border-dark:rgba(16,32,30,.16);
  --vv-focus:#f2cf78;
  --vv-success:#7fc59d;
  --vv-warning:#eabf55;
  --vv-danger:#d86b58;
  --vv-container:88rem;
  --vv-reading:48rem;
  --vv-gutter:clamp(1.1rem,3.8vw,4rem);
  --vv-space-1:.5rem;
  --vv-space-2:.75rem;
  --vv-space-3:1rem;
  --vv-space-4:1.5rem;
  --vv-space-5:2rem;
  --vv-space-6:3rem;
  --vv-space-7:4.5rem;
  --vv-space-8:6.5rem;
  --vv-radius-sm:.5rem;
  --vv-radius-md:1rem;
  --vv-radius-lg:1.6rem;
  --vv-hairline:.0625rem;
  --vv-serif:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --vv-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--vv-bg)}
body{margin:0;background:var(--vv-paper);color:var(--vv-ink);font-family:var(--vv-sans);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility}
img{display:block;max-inline-size:100%;block-size:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:.18rem solid var(--vv-focus);outline-offset:.2rem}
.vv-shell{inline-size:min(calc(100% - (2 * var(--vv-gutter))),var(--vv-container));margin-inline:auto}
.vv-reading{inline-size:min(calc(100% - (2 * var(--vv-gutter))),var(--vv-reading));margin-inline:auto}
.vv-skip{position:fixed;inset-block-start:var(--vv-space-2);inset-inline-start:var(--vv-space-2);z-index:9999;padding:.8rem 1rem;border-radius:var(--vv-radius-sm);background:var(--vv-primary);color:var(--vv-bg);font-weight:800;transform:translateY(-180%)}
.vv-skip:focus{transform:none}
.vv-kicker{display:inline-flex;align-items:center;gap:.55rem;color:var(--vv-primary-strong);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.vv-kicker:before{content:"";inline-size:1.75rem;block-size:var(--vv-hairline);background:currentColor}
.vv-kicker--light{color:var(--vv-primary)}
.vv-title{font-family:var(--vv-serif);font-weight:500;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
.vv-lead{font-size:clamp(1.06rem,1.2vw,1.25rem);line-height:1.62;color:var(--vv-muted-dark)}
.vv-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-block-size:3rem;padding:.82rem 1.2rem;border:var(--vv-hairline) solid transparent;border-radius:999rem;background:var(--vv-primary);color:var(--vv-bg);font-weight:800;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.vv-button:hover{transform:translateY(-.12rem);background:var(--vv-primary-strong)}
.vv-button--ghost{border-color:var(--vv-border);background:transparent;color:var(--vv-text)}
.vv-button--ghost:hover{background:rgba(255,255,255,.07)}
.vv-button--dark{background:var(--vv-bg);color:var(--vv-text)}
.vv-button--dark:hover{background:var(--vv-surface)}
.vv-text-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--vv-accent);font-weight:800;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.22em}
.vv-header{position:sticky;inset-block-start:0;z-index:90;background:rgba(7,19,21,.92);color:var(--vv-text);border-block-end:var(--vv-hairline) solid var(--vv-border);backdrop-filter:blur(.8rem)}
.vv-header__inner{min-block-size:4.75rem;display:flex;align-items:center;justify-content:space-between;gap:var(--vv-space-4)}
.vv-logo{display:flex;align-items:center;gap:.7rem;font-weight:900;letter-spacing:.02em}
.vv-logo svg{inline-size:2.15rem;block-size:2.15rem}
.vv-logo span{font-family:var(--vv-serif);font-size:1.35rem;font-weight:700}
.vv-nav{display:flex;align-items:center;gap:clamp(.8rem,1.8vw,1.45rem)}
.vv-nav a{font-size:.9rem;color:#d9e1dd;font-weight:700;padding:.45rem 0;position:relative}
.vv-nav a:after{content:"";position:absolute;inset-inline:0;inset-block-end:.1rem;block-size:.1rem;background:var(--vv-primary);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.vv-nav a:hover:after,.vv-nav a[aria-current="page"]:after{transform:scaleX(1)}
.vv-menu-toggle{display:none;inline-size:2.8rem;block-size:2.8rem;border:var(--vv-hairline) solid var(--vv-border);border-radius:50%;background:transparent;color:var(--vv-text);place-items:center}
.vv-menu-toggle span,.vv-menu-toggle:before,.vv-menu-toggle:after{content:"";display:block;inline-size:1.15rem;block-size:.1rem;background:currentColor;margin:.2rem auto;transition:transform .2s ease,opacity .2s ease}
.vv-menu-toggle[aria-expanded="true"] span{opacity:0}.vv-menu-toggle[aria-expanded="true"]:before{transform:translateY(.3rem) rotate(45deg)}.vv-menu-toggle[aria-expanded="true"]:after{transform:translateY(-.3rem) rotate(-45deg)}
.vv-hero{background:var(--vv-bg);color:var(--vv-text);position:relative;overflow:hidden}
.vv-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 15%,rgba(111,190,169,.18),transparent 31%),linear-gradient(145deg,transparent 58%,rgba(234,191,85,.06));pointer-events:none}
.vv-hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(4rem,7vw,7rem)}
.vv-hero__copy{position:relative;z-index:2}
.vv-hero h1{max-inline-size:12ch;margin:.65rem 0 1.2rem;font-size:clamp(3rem,5.5vw,5.5rem)}
.vv-hero__copy .vv-lead{max-inline-size:43rem;color:#c8d5d0}
.vv-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-block-start:1.7rem}
.vv-hero__media{position:relative;min-inline-size:0}
.vv-hero__media:before{content:"";position:absolute;inset:-1rem -1rem 1rem 1rem;border:var(--vv-hairline) solid rgba(234,191,85,.38);border-radius:var(--vv-radius-lg);transform:rotate(2deg)}
.vv-hero__media img{position:relative;z-index:1;inline-size:100%;aspect-ratio:1.35/1;object-fit:cover;border-radius:var(--vv-radius-lg);box-shadow:0 2.2rem 5rem rgba(0,0,0,.28)}
.vv-page-hero{background:var(--vv-bg);color:var(--vv-text);position:relative;overflow:hidden}
.vv-page-hero:after{content:"";position:absolute;inset:auto -12% -55% 46%;block-size:25rem;background:radial-gradient(circle,rgba(111,190,169,.16),transparent 65%)}
.vv-page-hero__inner{padding-block:clamp(3.4rem,6vw,6rem);position:relative;z-index:2}
.vv-page-hero h1{max-inline-size:16ch;margin:.7rem 0 1rem;font-size:clamp(2.6rem,5vw,4.8rem)}
.vv-page-hero .vv-lead{max-inline-size:47rem;color:#c8d5d0}
.vv-signal-strip{background:var(--vv-paper-2);border-block:var(--vv-hairline) solid var(--vv-border-dark)}
.vv-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.vv-signal{padding:1.55rem 1.25rem;border-inline-end:var(--vv-hairline) solid var(--vv-border-dark)}
.vv-signal:last-child{border-inline-end:0}.vv-signal strong{display:block;color:var(--vv-accent);font-size:.82rem;letter-spacing:.11em}.vv-signal span{display:block;margin-block-start:.4rem;font-size:.92rem;color:var(--vv-muted-dark)}
.vv-section{padding-block:clamp(4rem,7vw,7rem)}
.vv-section--paper{background:var(--vv-paper)}
.vv-section--soft{background:var(--vv-paper-2)}
.vv-section--dark{background:var(--vv-bg-soft);color:var(--vv-text)}
.vv-section--dark .vv-lead,.vv-section--dark p,.vv-section--dark li{color:#c1cdc8}
.vv-section__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-block-end:2.2rem}
.vv-section__head h2{max-inline-size:15ch;margin:.55rem 0 0;font-size:clamp(2.2rem,4.2vw,4rem)}
.vv-section__head p{max-inline-size:38rem;margin:0;color:var(--vv-muted-dark)}
.vv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem)}
.vv-split--reverse .vv-split__media{order:-1}
.vv-split__copy h2{max-inline-size:14ch;margin:.6rem 0 1rem;font-size:clamp(2.25rem,4vw,4rem)}
.vv-split__copy p{max-inline-size:42rem;color:var(--vv-muted-dark);margin:.75rem 0}
.vv-section--dark .vv-split__copy p{color:#c1cdc8}
.vv-checks{display:grid;gap:.7rem;margin:1.4rem 0 0;padding:0;list-style:none}
.vv-checks li{display:grid;grid-template-columns:1.4rem 1fr;gap:.75rem;align-items:start;color:var(--vv-muted-dark)}
.vv-checks li:before{content:"↗";inline-size:1.4rem;block-size:1.4rem;border-radius:50%;display:grid;place-items:center;background:rgba(191,96,65,.13);color:var(--vv-accent);font-weight:900;font-size:.8rem;margin-block-start:.12rem}
.vv-section--dark .vv-checks li{color:#c1cdc8}.vv-section--dark .vv-checks li:before{background:rgba(234,191,85,.12);color:var(--vv-primary)}
.vv-split__media{min-inline-size:0;position:relative}
.vv-split__media img{inline-size:100%;aspect-ratio:1.5/1;object-fit:cover;border-radius:var(--vv-radius-lg);box-shadow:0 1.4rem 3.4rem rgba(16,32,30,.15)}
.vv-section--dark .vv-split__media img{box-shadow:0 1.8rem 4rem rgba(0,0,0,.28)}
.vv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.vv-card{border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:var(--vv-radius-md);padding:1.45rem;background:rgba(255,255,255,.42);min-block-size:100%}
.vv-card h3{font-family:var(--vv-serif);font-size:1.45rem;line-height:1.15;margin:0 0 .65rem}.vv-card p{color:var(--vv-muted-dark);margin:0}
.vv-card a{margin-block-start:1rem}
.vv-card--dark{border-color:var(--vv-border);background:rgba(255,255,255,.035)}.vv-card--dark p{color:#b9c8c2}
.vv-steps{counter-reset:step;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.vv-step{counter-increment:step;padding:1.5rem;border-block-start:.2rem solid var(--vv-primary);background:rgba(255,255,255,.35)}
.vv-step:before{content:counter(step,decimal-leading-zero);display:block;color:var(--vv-accent);font-size:.78rem;font-weight:900;letter-spacing:.12em;margin-block-end:.7rem}.vv-step h3{font-family:var(--vv-serif);font-size:1.45rem;margin:0 0 .5rem}.vv-step p{margin:0;color:var(--vv-muted-dark)}
.vv-library{background:linear-gradient(140deg,var(--vv-bg) 0%,var(--vv-bg-soft) 66%,#16332d 100%);color:var(--vv-text)}
.vv-library .vv-card{border-color:var(--vv-border);background:rgba(255,255,255,.04)}.vv-library .vv-card p{color:#b9c8c2}.vv-library .vv-card .vv-text-link{color:var(--vv-primary)}
.vv-reviews{background:var(--vv-paper-2)}
.vv-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.vv-review{background:var(--vv-paper);border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:var(--vv-radius-md);padding:1.4rem}.vv-review blockquote{font-family:var(--vv-serif);font-size:1.22rem;line-height:1.4;margin:0 0 1.15rem}.vv-review strong{display:block;font-size:.88rem}.vv-review span{font-size:.78rem;color:var(--vv-muted-dark)}
.vv-final{background:var(--vv-accent);color:#fff}
.vv-final__inner{padding-block:clamp(4rem,6vw,6rem);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem}
.vv-final h2{font-size:clamp(2.4rem,4.5vw,4.5rem);max-inline-size:14ch;margin:.55rem 0 .8rem}.vv-final p{max-inline-size:44rem;margin:0;color:#fdece5}.vv-final .vv-button{background:#fff;color:var(--vv-bg)}
.vv-faq{display:grid;gap:.8rem}
.vv-faq details{border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:var(--vv-radius-md);background:rgba(255,255,255,.35);padding:0 1.1rem}.vv-faq summary{cursor:pointer;font-weight:800;padding:1.1rem 2rem 1.1rem 0;position:relative;list-style:none}.vv-faq summary::-webkit-details-marker{display:none}.vv-faq summary:after{content:"+";position:absolute;inset-inline-end:0;inset-block-start:1rem;color:var(--vv-accent);font-size:1.3rem}.vv-faq details[open] summary:after{content:"−"}.vv-faq details p{color:var(--vv-muted-dark);margin:0 0 1.2rem}
.vv-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.vv-contact-card{background:var(--vv-paper);border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:var(--vv-radius-md);padding:1.45rem}.vv-contact-card span{display:block;color:var(--vv-muted-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.09em}.vv-contact-card strong{display:block;font-family:var(--vv-serif);font-size:1.3rem;margin-block-start:.35rem;overflow-wrap:anywhere}.vv-address{white-space:pre-line}
.vv-policy{background:var(--vv-paper)}
.vv-policy__toc{border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:var(--vv-radius-md);padding:1.2rem 1.3rem;background:var(--vv-paper-2);margin-block:2rem 3rem}.vv-policy__toc strong{display:block;margin-block-end:.65rem}.vv-policy__toc a{display:block;color:var(--vv-accent);text-decoration:underline;text-underline-offset:.2em;margin:.25rem 0}
.vv-policy section{scroll-margin-top:6rem;margin-block-end:3rem}.vv-policy section h2{font-family:var(--vv-serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15}.vv-policy section p,.vv-policy section li{color:var(--vv-muted-dark)}
.vv-table-wrap{overflow:auto;border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:var(--vv-radius-md)}table{border-collapse:collapse;inline-size:100%;min-inline-size:44rem}th,td{text-align:left;vertical-align:top;padding:.9rem;border-block-end:var(--vv-hairline) solid var(--vv-border-dark);font-size:.92rem}th{background:var(--vv-paper-2)}
.vv-footer{background:#050d0e;color:var(--vv-text)}
.vv-footer__grid{display:grid;grid-template-columns:1.4fr .7fr .9fr .9fr;gap:clamp(2rem,4vw,4rem);padding-block:4.5rem 3.5rem}.vv-footer__brand p,.vv-footer__col a,.vv-footer__col span{color:#aebdb7}.vv-footer__brand p{max-inline-size:28rem}.vv-footer__col{display:grid;align-content:start;gap:.55rem}.vv-footer__col h2{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--vv-primary);margin:0 0 .7rem}.vv-footer__col a{font-size:.9rem}.vv-footer__col a:hover{color:#fff}.vv-footer__bottom{border-block-start:var(--vv-hairline) solid var(--vv-border);min-block-size:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#82918c;font-size:.86rem}
.vv-cookie{position:fixed;z-index:120;inset-inline:var(--vv-gutter);inset-block-end:1rem;max-inline-size:48rem;margin-inline:auto;background:#0b1c1d;color:var(--vv-text);border:var(--vv-hairline) solid rgba(234,191,85,.35);border-radius:var(--vv-radius-md);box-shadow:0 1rem 3rem rgba(0,0,0,.28);padding:1rem 1.1rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.vv-cookie[hidden]{display:none}.vv-cookie strong{display:block;margin-block-end:.25rem}.vv-cookie p{margin:0;color:#b9c8c2;font-size:.88rem}.vv-cookie__actions{display:flex;gap:.55rem;flex-wrap:wrap}.vv-cookie .vv-button{min-block-size:2.6rem;padding:.65rem .9rem;font-size:.86rem}
.vv-modal{position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.62);display:grid;place-items:center;padding:var(--vv-gutter)}.vv-modal[hidden]{display:none}.vv-modal__panel{inline-size:min(35rem,100%);background:var(--vv-paper);border-radius:var(--vv-radius-lg);padding:1.5rem;box-shadow:0 2rem 6rem rgba(0,0,0,.35)}.vv-modal__head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.vv-modal__head h2{font-family:var(--vv-serif);font-size:2rem;margin:0}.vv-modal__close{inline-size:2.5rem;block-size:2.5rem;border:var(--vv-hairline) solid var(--vv-border-dark);border-radius:50%;background:transparent}.vv-storage-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 0;border-block:var(--vv-hairline) solid var(--vv-border-dark)}.vv-storage-row strong{display:block}.vv-storage-row p{margin:.3rem 0 0;color:var(--vv-muted-dark)}.vv-pill{align-self:start;padding:.35rem .6rem;border-radius:999rem;background:rgba(127,197,157,.18);color:#2f7250;font-size:.75rem;font-weight:800}
.vv-not-found{min-block-size:65svh;display:grid;place-items:center;background:var(--vv-bg);color:var(--vv-text);text-align:center;padding:var(--vv-gutter)}.vv-not-found__inner{max-inline-size:42rem}.vv-not-found h1{font-size:clamp(2.8rem,6vw,5.3rem);margin:.5rem 0 1rem}.vv-not-found p{color:#c1cdc8}
.vv-muted-note{font-size:.88rem;color:var(--vv-muted-dark);border-inline-start:.18rem solid var(--vv-primary);padding-inline-start:1rem}
.vv-source-note{background:#fff8e5;border:var(--vv-hairline) solid rgba(200,150,45,.3);border-radius:var(--vv-radius-md);padding:1rem 1.1rem;color:#6f5932}
@media(max-width:64rem){
  .vv-nav{position:absolute;inset-inline:var(--vv-gutter);inset-block-start:4.1rem;display:none;flex-direction:column;align-items:stretch;gap:0;background:#0b1c1d;border:var(--vv-hairline) solid var(--vv-border);border-radius:var(--vv-radius-md);padding:.6rem;box-shadow:0 1rem 3rem rgba(0,0,0,.3)}
  .vv-nav.is-open{display:flex}.vv-nav a{padding:.8rem 1rem}.vv-menu-toggle{display:grid}.vv-header__inner{min-block-size:4.15rem}
  .vv-hero__grid{grid-template-columns:1fr;gap:2.5rem}.vv-hero__copy{max-inline-size:48rem}.vv-hero__media{max-inline-size:48rem}.vv-hero__media:before{inset:-.6rem -.6rem .6rem .6rem}
  .vv-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vv-signal:nth-child(2){border-inline-end:0}.vv-signal:nth-child(-n+2){border-block-end:var(--vv-hairline) solid var(--vv-border-dark)}
  .vv-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vv-footer__grid{grid-template-columns:1fr 1fr}.vv-footer__brand{grid-column:1/-1}
}
@media(max-width:48rem){
  .vv-split{grid-template-columns:1fr}.vv-split--reverse .vv-split__media{order:0}.vv-split__media{order:-1}.vv-grid,.vv-contact-grid{grid-template-columns:1fr 1fr}.vv-steps{grid-template-columns:1fr}.vv-section__head{align-items:start;flex-direction:column}.vv-final__inner{grid-template-columns:1fr}.vv-cookie{grid-template-columns:1fr}.vv-footer__bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:1rem}
}
@media(max-width:34rem){
  .vv-grid,.vv-contact-grid,.vv-review-grid,.vv-signal-grid{grid-template-columns:1fr}.vv-signal{border-inline-end:0;border-block-end:var(--vv-hairline) solid var(--vv-border-dark)}.vv-signal:last-child{border-block-end:0}.vv-footer__grid{grid-template-columns:1fr}.vv-hero__actions,.vv-cookie__actions{align-items:stretch;flex-direction:column}.vv-button{inline-size:100%}.vv-hero__media img{aspect-ratio:1/1}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
