/* GMC Corsi — CSS unico per cart/checkout/paypal-pay/crypto-pay (stile corsipirata) */

:root{
    --gmc-accent: #ef4444;
    --gmc-accent-dark: #b91c1c;
    --gmc-dark-900:#0a0a0f;
    --gmc-dark-800:#15151c;
    --gmc-dark-700:#1e1e26;
    --gmc-gray-700:#374151;
    --gmc-gray-800:#1f2937;
    --gmc-gray-400:#9ca3af;
    --gmc-green-400:#4ade80;
    --gmc-green-500:#22c55e;
    --gmc-yellow-300:#fde047;
    --gmc-yellow-500:#eab308;
    --gmc-red-400:#f87171;
    --gmc-red-500:#ef4444;
    --gmc-red-600:#dc2626;
    --gmc-blue-300:#93c5fd;
    --gmc-blue-400:#60a5fa;
    --gmc-blue-500:#3b82f6;
}

.gmc-page{ max-width: 720px; margin: 32px auto; padding: 0 16px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:#1d1d1f; }
.gmc-page.wide{ max-width: 920px; }

.gmc-h1{ font-size: 28px; font-weight: 700; margin: 0 0 22px; color:#1d1d1f; }
.gmc-h2{ font-size: 18px; font-weight: 700; margin: 0 0 16px; color:#1d1d1f; }
.gmc-h3{ font-size: 15px; font-weight: 600; margin: 0 0 8px; color:#1d1d1f; }

.gmc-box{ background:#fff; border:1px solid #e5e5e7; border-radius:14px; padding:20px 22px; margin-bottom:16px; box-shadow:0 1px 6px rgba(0,0,0,.04); }

.gmc-empty{ text-align:center; padding:60px 20px; color:#6b7280; }
.gmc-empty .gmc-cta{ display:inline-block; margin-top:16px; padding:12px 22px; background:var(--gmc-accent); color:#fff; border-radius:10px; text-decoration:none; font-weight:600; }
.gmc-empty .gmc-cta:hover{ background:var(--gmc-accent-dark); }

/* Cart item */
.gmc-cart-items{ background:#fff; border:1px solid #e5e5e7; border-radius:14px; overflow:hidden; }
.gmc-cart-row{ display:flex; align-items:center; gap:14px; padding:14px 18px; border-bottom:1px solid #f0f0f2; }
.gmc-cart-row:last-child{ border-bottom:0; }
.gmc-cart-row img{ width:56px; height:56px; border-radius:8px; object-fit:cover; background:#f5f5f7; flex-shrink:0; }
.gmc-cart-row .gmc-cart-info{ flex:1; min-width:0; }
.gmc-cart-row .gmc-cart-title{ font-size:14px; font-weight:600; color:#1d1d1f; text-decoration:none; display:block; }
.gmc-cart-row .gmc-cart-title:hover{ color:var(--gmc-accent); }
.gmc-cart-row .gmc-cart-discount{ font-size:12px; color:var(--gmc-green-500); margin-top:2px; }
.gmc-cart-row .gmc-cart-price{ font-weight:700; color:var(--gmc-accent); white-space:nowrap; }
.gmc-cart-row .gmc-cart-price del{ color:#9ca3af; font-weight:400; font-size:11px; margin-right:4px; }
.gmc-cart-row .gmc-cart-x{ background:none; border:0; color:#9ca3af; cursor:pointer; padding:6px; }
.gmc-cart-row .gmc-cart-x:hover{ color:var(--gmc-red-500); }

/* Banner upsell */
.gmc-upsell{ margin-top:18px; padding:20px; border-radius:14px; background:linear-gradient(135deg,var(--gmc-accent),var(--gmc-accent-dark)); color:#fff; box-shadow:0 6px 16px rgba(239,68,68,.25); }
.gmc-upsell h3{ color:#fff; font-size:18px; font-weight:800; margin:0 0 8px; }
.gmc-upsell p{ font-size:14px; line-height:1.5; margin:0 0 12px; }
.gmc-upsell strong.hi{ background:#000; color:#fff; padding:2px 6px; border-radius:4px; }
.gmc-upsell .gmc-upsell-cta{ display:inline-block; padding:10px 18px; background:#fff; color:#111; font-weight:700; border-radius:999px; text-decoration:none; font-size:13px; }
.gmc-upsell .gmc-upsell-cta:hover{ background:#f3f4f6; }

/* Coupon */
.gmc-coupon-row{ display:flex; gap:8px; }
.gmc-coupon-row input{ flex:1; background:#f5f5f7; border:1px solid #e5e5e7; border-radius:10px; padding:11px 14px; font-size:14px; text-transform:uppercase; letter-spacing:.5px; }
.gmc-coupon-row input:focus{ outline:2px solid var(--gmc-accent); border-color:var(--gmc-accent); background:#fff; }
.gmc-btn-secondary{ background:#f5f5f7; border:1px solid #d4d4d8; border-radius:10px; padding:11px 18px; font-weight:600; color:#6b7280; cursor:pointer; }
.gmc-btn-secondary:hover{ background:#e5e7eb; color:#1d1d1f; }
.gmc-btn-secondary:disabled{ opacity:.5; cursor:not-allowed; }

/* Totals */
.gmc-totals .row{ display:flex; justify-content:space-between; padding:8px 0; font-size:14px; color:#6b7280; }
.gmc-totals .row.muted{ color:#9ca3af; font-size:13px; }
.gmc-totals .row.discount{ color:var(--gmc-green-500); }
.gmc-totals .row.total{ border-top:1px solid #e5e5e7; padding-top:12px; margin-top:4px; font-size:18px; font-weight:700; color:#1d1d1f; }

.gmc-crypto-note{ margin-top:14px; padding:12px 14px; background:#fffbeb; border:1px solid #fde68a; border-radius:10px; font-size:13px; color:#92400e; }
.gmc-crypto-note strong{ color:#78350f; }

.gmc-cta-primary{ display:block; width:100%; box-sizing:border-box; margin-top:18px; padding:14px 18px; background:var(--gmc-accent); color:#fff; border:0; border-radius:12px; font-size:16px; font-weight:700; text-align:center; text-decoration:none; cursor:pointer; }
.gmc-cta-primary:hover{ background:var(--gmc-accent-dark); }

/* Suggested grid */
.gmc-suggested{ margin-top:22px; }
.gmc-suggested h2{ font-size:18px; margin-bottom:12px; }
.gmc-suggested-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gmc-suggested-card{ position:relative; background:#fff; border:1px solid #e5e5e7; border-radius:10px; padding:10px; }
.gmc-suggested-card img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; background:#f5f5f7; }
.gmc-suggested-card .t{ font-size:12px; font-weight:600; margin-top:6px; height:32px; overflow:hidden; }
.gmc-suggested-card .p{ font-size:14px; font-weight:700; color:var(--gmc-accent); margin:2px 0 6px; }
.gmc-suggested-card .p del{ color:#9ca3af; font-weight:500; font-size:12px; margin-right:6px; text-decoration:line-through; }
.gmc-suggested-card .p .gmc-sugg-final{ color:var(--gmc-accent); font-weight:800; }
.gmc-suggested-card .gmc-sugg-badge{ position:absolute; top:6px; right:6px; background:var(--gmc-green-500); color:#fff; font-size:10px; font-weight:800; padding:3px 6px; border-radius:6px; letter-spacing:.3px; box-shadow:0 1px 3px rgba(16,185,129,.4); z-index:2; }
.gmc-suggested-card button{ width:100%; padding:6px 8px; background:var(--gmc-green-500); color:#fff; border:0; border-radius:6px; font-size:12px; font-weight:600; cursor:pointer; }
.gmc-suggested-card button:hover{ background:#16a34a; }
.gmc-suggested-card .added{ display:block; text-align:center; color:var(--gmc-green-500); font-size:12px; padding:6px; }

/* Form fields */
.gmc-field{ margin-bottom:14px; }
.gmc-field label{ display:block; font-size:13px; color:#5b6371; margin-bottom:6px; }
.gmc-field input{ width:100%; box-sizing:border-box; background:#f5f5f7; border:1px solid #e5e5e7; border-radius:10px; padding:12px 14px; font-size:15px; color:#1d1d1f; font-family:inherit; }
.gmc-field input:focus{ outline:2px solid var(--gmc-accent); border-color:var(--gmc-accent); background:#fff; }
.gmc-field input.is-error{ border-color:var(--gmc-red-500); background:#fef2f2; }
.gmc-field input.is-warning{ border-color:var(--gmc-yellow-500); }
.gmc-field input.is-ok{ border-color:var(--gmc-green-500); }
.gmc-field-hint{ font-size:12px; color:#8a8f99; margin-top:6px; }
.gmc-field-success{ font-size:12px; color:var(--gmc-green-500); margin-top:6px; }
.gmc-field-warning{ font-size:12px; color:#b45309; margin-top:6px; }

.gmc-error-box{ margin-top:10px; padding:16px; border-radius:10px; background:#fee2e2; border:2px solid #dc2626; box-shadow:0 4px 10px rgba(220,38,38,.15); }
.gmc-error-box .gmc-error-head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid rgba(220,38,38,.25); }
.gmc-error-box .gmc-error-head .ttl{ color:#dc2626; font-size:1.4rem; font-weight:900; letter-spacing:.08em; }
.gmc-error-box .gmc-error-msg{ color:#7f1d1d; font-weight:700; line-height:1.4; margin:0 0 8px; }
.gmc-error-box .gmc-error-help{ color:#1f2937; font-size:.85rem; line-height:1.5; margin:0; }
.gmc-error-box .gmc-error-fix{ margin-top:10px; display:inline-block; padding:8px 14px; background:#dc2626; color:#fff; font-size:13px; font-weight:700; border:0; border-radius:6px; cursor:pointer; text-decoration:none; }

/* Banner promo crypto */
.gmc-promo-crypto{ background:linear-gradient(90deg,rgba(234,179,8,.10),rgba(245,158,11,.10)); border:2px solid rgba(234,179,8,.40); border-radius:14px; padding:14px 16px; text-align:center; margin:0 0 14px; }
.gmc-promo-crypto p{ margin:0; color:#92400e; font-weight:700; font-size:14px; }
.gmc-promo-crypto .big{ font-size:22px; color:#78350f; }
.gmc-promo-crypto .small{ font-size:12px; color:#a16207; font-weight:400; margin-top:4px; }

/* Banner stato qty discount */
.gmc-status-qty{ margin:0 0 14px; padding:14px 16px; border-radius:12px; border:2px solid; }
.gmc-status-qty.blue{ background:rgba(59,130,246,.08); border-color:rgba(59,130,246,.45); }
.gmc-status-qty.green{ background:rgba(34,197,94,.08); border-color:rgba(34,197,94,.45); }
.gmc-status-qty p{ margin:0; font-size:14px; font-weight:600; }
.gmc-status-qty.blue p{ color:#1e40af; }
.gmc-status-qty.green p{ color:#15803d; }

/* Bottoni pagamento */
.gmc-pay-buttons{ display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.gmc-pay-btn{ position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; width:100%; padding:18px 22px; padding-left:96px; border:0; border-radius:14px; font-family:inherit; font-size:16px; font-weight:700; cursor:pointer; transition:transform .12s, box-shadow .12s; }
.gmc-pay-btn:hover{ transform:translateY(-1px); }
.gmc-pay-btn:disabled{ opacity:.55; cursor:not-allowed; }
.gmc-pay-btn-crypto{ background:linear-gradient(90deg,var(--gmc-accent),var(--gmc-accent-dark)); color:#fff; box-shadow:0 8px 20px rgba(239,68,68,.25); }
.gmc-pay-btn-paypal{ background:#1f2937; color:#fff; padding-left:22px; }
.gmc-pay-btn .gmc-pay-label{ display:inline-flex; align-items:center; gap:8px; }
.gmc-pay-btn .gmc-pay-price{ font-size:22px; font-weight:900; text-shadow:0 1px 2px rgba(0,0,0,.15); }
.gmc-pay-btn .gmc-pay-orig{ font-size:14px; opacity:.85; text-decoration:line-through; text-decoration-thickness:2px; font-weight:600; }
.gmc-pay-btn .gmc-pay-badge{ position:absolute; top:50%; left:16px; transform:translateY(-50%); background:#fde047; color:#111; padding:4px 10px; border-radius:6px; font-size:11px; font-weight:900; letter-spacing:.3px; }

/* Anchor link / back link */
.gmc-back-link{ color:#6b7280; text-decoration:none; font-size:14px; display:inline-flex; align-items:center; gap:6px; }
.gmc-back-link:hover{ color:var(--gmc-accent); }

/* PayPal pay page */
.gmc-pp-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; margin-bottom:6px; }
.gmc-pp-meta{ color:#6b7280; font-size:14px; margin:0 0 20px; }
.gmc-pp-meta .mono{ font-family:ui-monospace,monospace; color:#1d1d1f; }
.gmc-pp-meta b{ color:#1d1d1f; }

.gmc-pp-sent{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.gmc-pp-sent .ico{ width:44px; height:44px; border-radius:50%; background:#dcfce7; display:inline-flex; align-items:center; justify-content:center; color:#16a34a; font-size:20px; }
.gmc-pp-sent h2{ margin:0; font-size:18px; }
.gmc-pp-sent p{ margin:2px 0 0; font-size:13px; color:#6b7280; }
.gmc-pp-sent p b{ color:#1d1d1f; }

.gmc-pp-spam{ background:#fef9c3; border:1px solid #fde68a; border-radius:10px; padding:12px 14px; margin:12px 0; color:#92400e; font-size:13px; }
.gmc-pp-spam b{ display:block; margin-bottom:4px; }
.gmc-pp-spam p{ margin:0; font-size:12px; line-height:1.4; }

.gmc-pp-steps{ margin:8px 0; padding-left:22px; line-height:1.8; color:#374151; font-size:14px; }

.gmc-pp-guide{ background:#f9fafb; border:1px solid #e5e7eb; border-radius:12px; padding:14px 16px; margin-top:14px; }
.gmc-pp-guide summary{ font-weight:600; color:#1e40af; cursor:pointer; padding:4px 0; outline:none; }
.gmc-pp-guide[open] summary{ margin-bottom:14px; border-bottom:1px solid #e5e7eb; padding-bottom:10px; }
.gmc-pp-guide h4{ display:flex; align-items:center; gap:8px; font-size:15px; margin:14px 0 8px; }
.gmc-pp-guide h4 .badge{ width:24px; height:24px; border-radius:50%; background:#3b82f6; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
.gmc-pp-guide ol{ padding-left:22px; line-height:1.8; font-size:13px; color:#374151; margin:0; }
.gmc-pp-guide code{ background:#1f2937; color:var(--gmc-accent); padding:1px 6px; border-radius:4px; font-family:ui-monospace,monospace; font-size:12px; }
.gmc-pp-guide .gmc-pp-warn{ background:#fef3c7; border:1px solid #fde68a; border-radius:8px; padding:10px 12px; margin-top:12px; font-size:12px; color:#92400e; }

.gmc-cta-green{ display:block; width:100%; box-sizing:border-box; margin-top:14px; padding:16px 18px; background:var(--gmc-green-500); color:#fff; border:0; border-radius:14px; font-size:16px; font-weight:700; text-align:center; cursor:pointer; }
.gmc-cta-green:hover{ background:#16a34a; }
.gmc-cta-green:disabled{ opacity:.55; cursor:not-allowed; }
.gmc-cta-note{ font-size:12px; color:#9ca3af; text-align:center; margin-top:8px; }

.gmc-verify-box{ text-align:center; padding:40px 22px; background:#fff; border:1px solid #e5e5e7; border-radius:14px; }
.gmc-verify-box .ico{ width:64px; height:64px; border-radius:50%; background:rgba(59,130,246,.10); color:#3b82f6; font-size:28px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; animation:gmc-pulse 1.5s ease-in-out infinite; }
@keyframes gmc-pulse{ 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.08);opacity:.85} }
.gmc-verify-box h2{ font-size:22px; margin:0 0 10px; }
.gmc-verify-box .body{ background:#f9fafb; border-radius:10px; padding:14px 16px; text-align:left; margin-top:16px; font-size:13px; color:#374151; }
.gmc-verify-box .body ul{ margin:6px 0 0; padding-left:20px; line-height:1.7; }

.gmc-done-box{ text-align:center; padding:30px 22px; background:#fff; border:1px solid #e5e5e7; border-radius:14px; }
.gmc-done-box .ico{ width:64px; height:64px; border-radius:50%; background:#dcfce7; color:#16a34a; font-size:28px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; }
.gmc-done-box h2{ font-size:22px; margin:0 0 16px; }
.gmc-done-list{ text-align:left; }
.gmc-done-list .item{ background:#f9fafb; border-radius:10px; padding:14px; margin-bottom:8px; }
.gmc-done-list .item .t{ font-weight:600; color:#1d1d1f; }
.gmc-done-list .item a{ color:var(--gmc-accent); word-break:break-all; font-size:13px; }

/* Crypto grid (corsipirata-style) */
.gmc-chain-group{ margin-top:22px; }
.gmc-chain-group:first-of-type{ margin-top:14px; }
.gmc-chain-banner{ display:flex; align-items:center; gap:8px; margin:0 0 12px; padding:10px 14px; border-radius:8px; font-size:15px; font-weight:700; }
.gmc-chain-banner-label{ font-weight:500; opacity:.8; }
.gmc-chain-banner strong{ font-weight:800; }
.gmc-chain-banner-std{ font-size:12px; font-weight:600; opacity:.7; margin-left:4px; }
.gmc-crypto-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:0; }
.gmc-crypto-card{ background:#fff; border:1.5px solid #e5e5e7; border-radius:12px; padding:14px 16px; cursor:pointer; transition:border-color .12s, box-shadow .12s, transform .1s; text-align:left; font-family:inherit; }
.gmc-crypto-card:hover{ border-color:#94a3b8; box-shadow:0 4px 14px rgba(0,0,0,.06); transform:translateY(-1px); }
.gmc-crypto-card:disabled{ opacity:.5; cursor:wait; }
.gmc-crypto-card .head{ display:flex !important; align-items:center; gap:12px; margin-bottom:8px; flex-wrap:nowrap; }
.gmc-crypto-card .icon{ width:45px !important; height:45px !important; min-width:45px; flex:0 0 45px; border-radius:50%; display:inline-flex !important; align-items:center; justify-content:center; font-weight:700; font-size:13px; letter-spacing:.2px; line-height:1; text-align:center; padding:0 2px; box-sizing:border-box; border:0; }
.gmc-crypto-card .nm{ display:inline-block !important; font-weight:700 !important; font-size:16px !important; color:#1d1d1f !important; line-height:1.25; white-space:nowrap; flex:1 1 auto; }
.gmc-crypto-card .net{ font-size:12px; color:#6b7280; line-height:1.4; padding-left:56px; }
.gmc-crypto-card .net b{ color:#0066cc; font-weight:600; }

.gmc-warn-net{ display:flex; gap:14px; background:#fff5f5; border:1px solid #fecaca; border-left:6px solid #dc2626; border-radius:10px; padding:14px 18px; margin-bottom:20px; }
.gmc-warn-net .ico{ font-size:22px; color:#dc2626; font-weight:700; }
.gmc-warn-net .body{ font-size:13px; line-height:1.55; color:#7f1d1d; }
.gmc-warn-net b{ color:#7f1d1d; }

/* Recovery banner */
.gmc-recover-banner{ background:#dcfce7; border:1px solid #86efac; border-radius:10px; padding:10px 14px; margin-bottom:14px; color:#15803d; font-size:13px; }

/* Spinner */
.gmc-spinner{ display:inline-block; width:14px; height:14px; border:2px solid #e5e5e7; border-top-color: var(--gmc-accent); border-radius:50%; animation:gmc-spin 1s linear infinite; vertical-align:middle; }
@keyframes gmc-spin{ to{ transform:rotate(360deg); } }

/* Mobile */
@media (max-width: 720px){
    .gmc-suggested-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gmc-crypto-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gmc-pay-btn{ padding-left:84px; font-size:15px; }
    .gmc-pay-btn .gmc-pay-price{ font-size:18px; }
}
@media (max-width: 460px){
    .gmc-crypto-grid{ grid-template-columns:1fr; }
    .gmc-pay-btn{ flex-direction:column; padding-left:22px; }
    .gmc-pay-btn .gmc-pay-badge{ position:static; transform:none; margin-bottom:4px; align-self:flex-start; }
}
