/* Garanzia Italia – portale pubblico (verifica, registro, area riservata)
   Colori dal Brand Manual: blu #1F4395, verde #558841, arancio #F39000 */
.gi-wrap{--gi-blue:#1F4395;--gi-blue-d:#17336f;--gi-green:#558841;--gi-orange:#F39000;--gi-red:#b3261e;--gi-ink:#1b2333;--gi-muted:#667085;--gi-line:#e3e7ef;--gi-wash:#f5f7fb;
  max-width:760px;margin:0 auto;color:var(--gi-ink);font-size:16px;line-height:1.55}
.gi-wrap *,.gi-wrap *::before,.gi-wrap *::after{box-sizing:border-box}
.gi-narrow{max-width:520px}
.gi-center{text-align:center}
.gi-small{font-size:.85em;color:var(--gi-muted)}
.gi-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}
.gi-link{color:var(--gi-blue);font-weight:600;text-decoration:none}
.gi-link:hover{text-decoration:underline}
.gi-stack{display:flex;flex-direction:column;gap:10px;align-items:stretch}

.gi-box{background:#fff;border:1px solid var(--gi-line);border-radius:16px;padding:20px;margin:16px 0}
.gi-alert{background:#fff8eb;border:1px solid #f5d49a;color:#7a4b00;border-radius:12px;padding:12px 16px;margin:12px 0}
.gi-alert--ok{background:#eef6ea;border-color:#bcd9ae;color:#2f5b1f}
.gi-alert--ko{background:#fdeceb;border-color:#f1b8b4;color:var(--gi-red)}

/* Form */
.gi-form label{display:block;font-weight:600;font-size:.9em;margin:10px 0 0}
.gi-form input[type=text],.gi-form input[type=email],.gi-form input[type=search],.gi-form select,.gi-form textarea,
.gi-wrap #loginform input[type=text],.gi-wrap #loginform input[type=password]{
  display:block;width:100%;margin-top:6px;padding:11px 13px;border:1px solid #cfd6e3;border-radius:10px;font:inherit;font-weight:400;background:#fff;color:var(--gi-ink)}
.gi-form input:focus,.gi-form select:focus,.gi-form textarea:focus{outline:none;border-color:var(--gi-blue);box-shadow:0 0 0 3px rgba(31,67,149,.15)}
.gi-form select{max-width:100%;min-width:0}
.gi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.gi-row > select,.gi-row > input{margin-top:0}
.gi-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important;font-size:.85em!important;color:var(--gi-muted)}
.gi-check input{margin-top:3px}
.gi-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gi-btn,.gi-wrap #wp-submit{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:0;border-radius:10px;background:var(--gi-blue);color:#fff!important;font:inherit;font-weight:700;padding:11px 20px;cursor:pointer;text-decoration:none;margin-top:12px}
.gi-btn:hover,.gi-wrap #wp-submit:hover{background:var(--gi-blue-d)}
.gi-btn--light{background:#fff;color:var(--gi-blue)!important;width:100%}
.gi-btn--light:hover{background:#eef2fb}
.gi-btn--outline{background:#fff;color:var(--gi-blue)!important;border:2px solid var(--gi-blue)}
.gi-btn--outline:hover{background:#eef2fb}

/* Hero verifica */
.gi-hero{background:linear-gradient(135deg,var(--gi-blue) 0%,#244f9e 55%,var(--gi-green) 100%);color:#fff;border-radius:24px;padding:32px 24px;text-align:center;box-shadow:0 12px 30px rgba(31,67,149,.25)}
.gi-hero h2{color:#fff;margin:6px 0 6px;font-size:1.5em}
.gi-hero p{opacity:.9;margin:0 0 16px}
.gi-hero__icon{opacity:.95}
.gi-form--hero input,.gi-form--hero select{border-color:transparent!important}
.gi-code-input{text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace!important;font-size:1.15em!important;text-transform:uppercase;letter-spacing:.06em}

/* Esito */
.gi-result{border-radius:20px;padding:20px;margin:16px 0}
.gi-result--ko{background:#fdeceb;border:2px solid #f1b8b4;color:#5f1611}
.gi-result__head{display:flex;gap:12px;align-items:center;color:var(--gi-red)}
.gi-result__head strong{display:block;font-size:1.25em}
.gi-result__head .gi-mono{display:block;color:#5f1611;font-size:.9em}

/* Carta d'identità */
.gi-card{background:#fff;border:1px solid var(--gi-line);border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(16,24,40,.08);margin:16px 0}
.gi-card__media{position:relative;height:260px;background:linear-gradient(135deg,var(--gi-blue),var(--gi-green))}
.gi-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.gi-card__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.05) 65%)}
.gi-card__overlay h2{color:#fff;margin:8px 0 2px;font-size:1.5em;line-height:1.2}
.gi-card__overlay p{color:rgba(255,255,255,.85);margin:0;font-size:.9em}
.gi-card__body{padding:22px}
.gi-card__body section{margin:18px 0}
.gi-card__body h3{font-size:.95em;margin:0 0 6px;color:var(--gi-blue);display:flex;align-items:center;gap:8px}
.gi-card__body p{margin:0}
.gi-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;background:var(--gi-wash);border-radius:14px;padding:14px}
.gi-facts dt{font-size:.75em;color:var(--gi-muted);text-transform:uppercase;letter-spacing:.04em}
.gi-facts dd{margin:2px 0 0;font-weight:700}
.gi-italy{border:2px solid #cfe3c5;background:linear-gradient(135deg,#f1f8ee,#fff);border-radius:14px;padding:14px}
.gi-italy h3{color:var(--gi-green)!important}
.gi-flag{display:inline-flex;width:18px;height:12px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #ddd}
.gi-flag i{flex:1}.gi-flag i:nth-child(1){background:#009246}.gi-flag i:nth-child(2){background:#fff}.gi-flag i:nth-child(3){background:#ce2b37}

.gi-badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:.75em;font-weight:700;white-space:nowrap}
.gi-badge--ok{background:#e5f2df;color:#2f5b1f}
.gi-badge--ko{background:#fdeceb;color:var(--gi-red)}
.gi-badge--warn{background:#fff1d6;color:#8a5a00}
.gi-badge--seal{background:var(--gi-green);color:#fff;align-self:flex-start}
.gi-tag{display:inline-block;background:#e8eefb;color:var(--gi-blue);border-radius:6px;padding:1px 8px;font-size:.8em;font-weight:700}
.gi-certs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.gi-certs li{background:var(--gi-wash);border-radius:10px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}

.gi-details{margin:12px 0}
.gi-details summary{cursor:pointer;color:var(--gi-blue);font-weight:700;padding:8px 0}
.gi-registry{list-style:none;margin:0;padding:0}
.gi-registry__head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.gi-wrap #loginform p{margin:10px 0}
.gi-wrap #loginform label{font-weight:600;font-size:.9em}

@media (max-width:520px){.gi-card__media{height:210px}.gi-hero{padding:24px 16px}.gi-box{padding:16px}}
