/*
Theme Name: TF Graphics Minisito
Theme URI: https://www.tfgraphics.it/
Author: TF Graphics
Description: Minisito TF Graphics ENG/ITA. CSS e SVG originali ProductGather, selettore lingua e cinque pagine bilingui tramite pattern e shortcode.
Version: 0.3.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: tfgraphics-minisite
*/
/* Website adapter. Original plugin styles in assets/vendor remain unchanged.
   The light palette below preserves the plugin's default colours on the public site. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#f6f7fb; color:#1e2430; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; font-size:16px; line-height:1.65; }
.tfg-site.tfsi-admin-page { --tfsi-bg:#f6f7fb; --tfsi-panel-bg:#fff; --tfsi-border:#d9dee8; --tfsi-text:#1e2430; --tfsi-muted:#5b6475; --tfsi-accent:#0a7f5a; --tfsi-accent-2:#0e5f90; --tfsi-surface:#fff; --tfsi-primary:#2e709c; --tfsi-secondary:#2271b1; --tfsi-primary-soft:#eef7fc; max-width:none; padding:0; margin:0; color-scheme:light; }
.tfg-shell { width:min(1180px,calc(100% - 64px)); margin:auto; }
a { color:var(--tfsi-primary,#2e709c); text-underline-offset:4px; }
img { max-width:100%; height:auto; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { line-height:1.18; }
h2 { font-size:30px; letter-spacing:-.025em; }
h3 { font-size:20px; }
p + p { margin-top:16px; }
[hidden] { display:none !important; }
.tfg-skip { position:absolute; top:-80px; left:16px; z-index:99; background:#fff; padding:12px 18px; }
.tfg-skip:focus { top:10px; }
.tfg-header { background:#fff; border-bottom:1px solid var(--tfsi-border); }
.tfg-header-inner { display:flex; gap:28px; justify-content:space-between; align-items:center; min-height:100px; }
.tfg-wordmark { text-decoration:none; color:var(--tfsi-text); font-size:25px; font-weight:800; letter-spacing:-1px; line-height:1.15; }
.tfg-wordmark small { display:block; margin-top:6px; font-size:11px; letter-spacing:1.7px; color:var(--tfsi-muted); font-weight:600; text-transform:uppercase; }
.tfg-nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:26px; padding:0; margin:0; }
.tfg-nav a { display:inline-flex; min-height:44px; align-items:center; text-decoration:none; color:var(--tfsi-muted); font-size:14px; font-weight:600; border-bottom:2px solid transparent; }
.tfg-nav a[aria-current="page"],.tfg-nav .current-menu-item a { color:var(--tfsi-primary); border-bottom-color:var(--tfsi-primary); }
.tfg-main { padding-top:30px; padding-bottom:68px; }
.tfg-site .tfsi-dashboard-header.tfg-hero { padding:48px; margin:0 0 64px; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr); align-items:center; gap:52px; border:0; }
.tfg-kicker { margin:0 0 14px; font-size:11px; font-weight:750; letter-spacing:1.5px; text-transform:uppercase; color:var(--tfsi-primary); }
.tfg-site .tfg-hero h1 { font-size:clamp(36px,4.2vw,54px); line-height:1.08; font-weight:750; letter-spacing:-1.8px; margin:0 0 22px; }
.tfg-site .tfg-hero .tfg-kicker { color:#e9f5ff; font-size:11px; margin-bottom:20px; }
.tfg-site .tfg-hero-copy > p:not(.tfg-kicker) { color:#e9f5ff; font-size:17px; line-height:1.7; max-width:480px; }
.tfg-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:26px; }
.tfg-site .tfsi-btn { min-height:48px; padding:12px 22px; font-size:14px; }
.tfg-site .tfg-hero-link,.tfg-site .tfg-hero-link:is(:hover,:focus,:active) { color:#fff !important; font-size:14px; font-weight:600; padding:12px 0; }
.tfg-hero-link span { margin-left:8px; }
.tfg-product-spotlight { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); padding:26px 22px; border-radius:14px; text-align:center; }
.tfg-product-logo { width:144px; height:144px; display:block; margin:0 auto 18px; border-radius:26px; }
.tfg-site .tfg-product-spotlight h2 { color:#fff; font-size:26px; margin-bottom:10px; }
.tfg-site .tfg-product-spotlight > p:not(.tfg-kicker):not(.tfg-status) { font-size:13px; line-height:1.5; color:#e9f5ff; }
.tfg-site .tfg-status { display:inline-block; margin-top:20px; padding:5px 10px; border:1px solid var(--tfsi-border); border-radius:30px; background:var(--tfsi-primary-soft); color:var(--tfsi-primary); font-size:11px; font-weight:650; line-height:1.5; }
.tfg-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-bottom:30px; align-items:center; }
.tfg-section-title h2 { max-width:430px; }
.tfg-intro-copy { color:var(--tfsi-muted); font-size:15px; line-height:1.8; }
.tfg-cards { margin-bottom:42px; }
.tfg-process-card { min-height:235px; padding:26px !important; }
.tfg-site .tfg-process-card .tfsi-step-number { margin:0; display:inline-block; }
.tfg-icon { display:block; color:var(--tfsi-primary); margin:16px 0; }
.tfg-icon svg { display:block; width:28px; height:28px; }
.tfg-process-card h3 { margin:0 0 12px; }
.tfg-process-card > p:not(.tfsi-step-number) { color:var(--tfsi-muted); font-size:14px; line-height:1.7; }
.tfg-support-strip { display:flex; justify-content:space-between; gap:30px; align-items:center; padding:30px 34px; margin-top:44px; border-radius:13px; }
.tfg-support-strip h2 { font-size:24px; margin:0 0 12px; }
.tfg-support-strip p:not(.tfg-kicker) { color:var(--tfsi-muted); font-size:14px; }
.tfg-support-strip .tfg-actions { flex-shrink:0; margin:0; }
.tfg-page-intro { padding:34px 0 38px; max-width:770px; }
.tfg-page-intro h1 { font-size:clamp(36px,4.2vw,50px); letter-spacing:-1.5px; margin-bottom:20px; }
.tfg-lead { font-size:18px; color:var(--tfsi-muted); }
.tfg-product-detail { display:grid; grid-template-columns:260px 1fr; gap:40px; padding:38px; margin-bottom:34px; border-radius:14px; }
.tfg-product-side { text-align:center; padding:28px 20px; border-radius:12px; background:var(--tfsi-primary-soft); align-self:start; }
.tfg-product-side .tfg-status { margin-top:8px; background:#fff; }
.tfg-product-copy h2 { margin:0 0 10px; font-size:34px; }
.tfg-product-copy p:not(.tfg-kicker) { color:var(--tfsi-muted); font-size:15px; }
.tfg-product-copy .tfg-product-subtitle { color:var(--tfsi-text) !important; font-weight:600; margin-bottom:20px; }
.tfg-reading { max-width:800px; margin:48px 0 0; }
.tfg-reading h2 { font-size:27px; margin:40px 0 18px; }
.tfg-reading h3 { margin:28px 0 12px; }
.tfg-reading p { color:var(--tfsi-muted); margin:0 0 16px; line-height:1.8; }
.tfg-reading strong { color:var(--tfsi-text); }
.tfg-contact-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:48px; padding:36px; border-radius:14px; }
.tfg-contact-main h2 { font-size:clamp(21px,2.6vw,30px); margin-bottom:20px; overflow-wrap:anywhere; }
.tfg-contact-main h2 a { text-decoration:none; }
.tfg-contact-main > p:not(.tfg-kicker) { color:var(--tfsi-muted); font-size:15px; }
.tfg-contact-note { background:var(--tfsi-primary-soft); padding:22px; border-radius:10px; }
.tfg-contact-note .tfg-icon { margin:0 0 18px; }
.tfg-contact-note h3 { margin-bottom:12px; }
.tfg-contact-note p { font-size:14px; color:var(--tfsi-muted); }
.tfg-draft-note { background:#fff8df; color:#694800; padding:24px; border:1px solid #e3c887; border-radius:10px; }
.tfg-draft-note h2 { color:#694800; font-size:20px; margin-bottom:12px; }
.tfg-draft-note p { font-size:14px; }
.tfg-policy .tfg-pending { background:#fff8df; color:#694800; padding:18px; border-left:3px solid #a15c00; }
.tfg-footer { background:#fff; border-top:1px solid var(--tfsi-border); padding:34px 0 24px; }
.tfg-footer-top { display:flex; justify-content:space-between; gap:32px; align-items:center; margin-bottom:24px; }
.tfg-footer-name { font-size:20px; font-weight:800; letter-spacing:-.6px; }
.tfg-footer-links { display:flex; flex-wrap:wrap; gap:22px; font-size:13px; }
.tfg-footer-legal { color:var(--tfsi-muted); font-size:11px; line-height:1.7; max-width:900px; }
.tfg-legal-identity { font-size:12px; margin-bottom:10px; color:var(--tfsi-muted); }
.tfg-preview-note { padding:8px 24px; background:#eef7fc; color:#285474; text-align:center; font-size:11px; letter-spacing:.2px; border-bottom:1px solid #d9dee8; }
.tfg-not-found { padding:80px 0; }
.tfg-site .wp-block-group { box-sizing:border-box; }
.tfg-site .tfg-hero > *, .tfg-site .tfg-intro-grid > *, .tfg-site .tfg-cards > *, .tfg-site .tfg-product-detail > *, .tfg-site .tfg-contact-grid > * { margin-block-start:0; margin-block-end:0; min-width:0; }
@media(max-width:800px) {
 .tfg-shell { width:calc(100% - 40px); }
 .tfg-site .tfsi-dashboard-header.tfg-hero { padding:32px; gap:28px; grid-template-columns:1fr; margin-bottom:40px; }
 .tfg-product-spotlight { display:grid; grid-template-columns:76px 1fr; gap:5px 20px; text-align:left; align-items:center; padding:20px; }
 .tfg-product-spotlight .tfg-product-logo { width:76px; height:76px; grid-row:1 / 4; margin:0; border-radius:18px; }
 .tfg-site .tfg-product-spotlight > .tfg-kicker { display:none; }
 .tfg-site .tfg-product-spotlight h2 { margin:0; font-size:22px; }
 .tfg-site .tfg-product-spotlight .tfg-status { grid-column:1 / -1; justify-self:start; margin-top:12px; }
 .tfg-intro-grid { grid-template-columns:1fr; gap:20px; }
 .tfg-product-detail { grid-template-columns:190px 1fr; gap:26px; padding:24px; }
 .tfg-contact-grid { grid-template-columns:1fr; gap:28px; padding:26px; }
 .tfg-support-strip { align-items:flex-start; flex-direction:column; }
 .tfg-cards { grid-template-columns:1fr; }
 .tfg-process-card { min-height:0; }
}
@media(max-width:540px) {
 .tfg-shell { width:calc(100% - 32px); }
 .tfg-header-inner { min-height:120px; padding:19px 0 0; gap:12px; flex-direction:column; align-items:flex-start; }
 .tfg-wordmark { font-size:23px; }
 .tfg-wordmark small { font-size:9px; }
 .tfg-nav ul { gap:28px; }
 .tfg-nav a { min-height:43px; }
 .tfg-main { padding-top:18px; padding-bottom:42px; }
 .tfg-site .tfsi-dashboard-header.tfg-hero { padding:28px 24px; }
 .tfg-site .tfg-hero h1 { font-size:37px; letter-spacing:-1.2px; }
 .tfg-site .tfg-hero-copy > p:not(.tfg-kicker) { font-size:16px; }
 .tfg-site .tfg-hero .tfg-kicker { font-size:10px; }
 .tfg-actions { gap:8px 16px; }
 .tfg-support-strip { padding:24px; }
 .tfg-section-title h2 { font-size:28px; }
 .tfg-page-intro { padding:22px 0 30px; }
 .tfg-product-detail { grid-template-columns:1fr; }
 .tfg-product-side { width:100%; }
 .tfg-product-logo { width:120px; height:120px; }
 .tfg-contact-grid { padding:22px; }
 .tfg-footer-top { flex-direction:column; align-items:flex-start; gap:16px; }
 .tfg-preview-note { padding:7px 14px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }

.tfg-language {display:flex;gap:4px;align-items:center;}
.tfg-language a {padding:8px 12px;min-height:44px;border:1px solid var(--tfsi-border);border-radius:8px;text-decoration:none;font-weight:650;}
.tfg-language a[aria-current] {background:var(--tfsi-primary);color:white;}
.tfg-header-inner {flex-wrap:wrap;padding:16px 0;}
.tfg-header {position:sticky;top:0;z-index:30;}
.admin-bar .tfg-header {top:32px;}
@media(max-width:782px){.admin-bar .tfg-header{top:46px;}}
@media(max-width:600px){.admin-bar .tfg-header{top:0;}.tfg-header-inner{gap:12px;}.tfg-nav ul{gap:14px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
