
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,400&family=Cinzel:wght@400;600&family=IM+Fell+English:ital@0;1&display=swap');
:root{--gold:#C9A84C;--gold-light:#E8C97A;--crimson:#8B1A1A;--dark:#0D0A07;--parchment:#F5EDD8;--ink:#1A1208;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--dark);color:var(--parchment);font-family:'Cormorant Garamond',serif;overflow-x:hidden;}
header{text-align:center;padding:3rem 2rem 1rem;position:relative;}
header::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:50px;background:linear-gradient(to bottom,transparent,var(--gold));}
.horno{color:var(--gold);letter-spacing:1rem;font-size:1.5rem;opacity:.6;}
h1{font-family:'Cinzel',serif;font-size:clamp(1.8rem,4vw,3.2rem);color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-weight:400;}
.subtitle{font-family:'IM Fell English',serif;font-style:italic;font-size:clamp(.9rem,2vw,1.2rem);opacity:.7;margin-top:.3rem;}
.divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.2rem auto;max-width:400px;}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold));}
.divider::after{background:linear-gradient(to left,transparent,var(--gold));}
.stats-bar{display:flex;justify-content:center;gap:3rem;padding:.8rem 2rem;flex-wrap:wrap;border-top:1px solid rgba(201,168,76,.2);border-bottom:1px solid rgba(201,168,76,.2);background:rgba(201,168,76,.04);margin-bottom:1.5rem;}
.stat{text-align:center;}
.stat-number{font-family:'Cinzel',serif;font-size:1.6rem;color:var(--gold);display:block;}
.stat-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;opacity:.6;}
.map-wrapper{max-width:1200px;margin:0 auto;padding:0 1rem;position:relative;}
#map-svg{width:100%;height:auto;background:#080C12;border:1px solid rgba(201,168,76,.15);display:block;touch-action:pan-y;}
.country{fill:#1C1812;stroke:#2A2218;stroke-width:.3;transition:fill .25s;}
.country-active{fill:#3D1A1A;stroke:var(--gold);stroke-width:.8;cursor:pointer;}
.country-active:hover,.country-active:active{fill:#5A2020;}
.graticule{fill:none;stroke:rgba(201,168,76,.06);stroke-width:.5;}
.sphere{fill:#080C12;}
.equator{stroke:rgba(201,168,76,.15);stroke-width:.8;stroke-dasharray:4,8;fill:none;}
.pin-outer{fill:rgba(201,168,76,.12);stroke:rgba(201,168,76,.4);stroke-width:.8;animation:pulse 2.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center;cursor:pointer;}
.pin-inner{fill:var(--gold);cursor:pointer;}
.pin-core{fill:var(--dark);pointer-events:none;}
@keyframes pulse{0%,100%{r:9;opacity:.5;}50%{r:13;opacity:.9;}}
.pin-label{font-family:'Cinzel',serif;font-size:8px;fill:var(--gold-light);text-anchor:middle;pointer-events:none;opacity:0;transition:opacity .3s;}
.pin-group:hover .pin-label,.pin-group:active .pin-label{opacity:1;}
.pin-group:hover .pin-outer{stroke:var(--gold);stroke-width:1.5;}
.map-legend{text-align:center;padding:.8rem 2rem 1.5rem;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.15em;color:var(--gold);opacity:.4;}

/* POPUP — centrato su mobile, tooltip su desktop */
#popup{display:none;position:fixed;z-index:300;}
.popup-card{background:var(--ink);border:1px solid var(--gold);min-width:260px;max-width:320px;box-shadow:0 0 40px rgba(0,0,0,.9),0 0 20px rgba(201,168,76,.2);position:relative;overflow:hidden;}
.popup-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--gold),transparent);}
.popup-head{padding:.9rem 2.5rem .6rem 1.2rem;border-bottom:1px solid rgba(201,168,76,.15);}
.popup-country{font-family:'Cinzel',serif;font-size:.85rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;}
.popup-flag{font-size:1.3rem;margin-right:.4rem;}
.popup-body{padding:.6rem 1.2rem 1rem;}
.popup-products-title{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);opacity:.6;margin-bottom:.5rem;}
.popup-products{list-style:none;max-height:220px;overflow-y:auto;}
.popup-products::-webkit-scrollbar{width:3px;}
.popup-products::-webkit-scrollbar-thumb{background:var(--gold);}
.popup-products li{font-family:'IM Fell English',serif;font-size:.85rem;padding:.2rem 0;border-bottom:1px solid rgba(201,168,76,.07);display:flex;align-items:flex-start;gap:.4rem;}
.popup-products li::before{content:'◆';color:var(--gold);font-size:.35rem;margin-top:.42rem;flex-shrink:0;}
.popup-products a{color:var(--parchment);text-decoration:none;transition:color .2s;}
.popup-products a:hover{color:var(--gold);}
.popup-cta{display:block;margin-top:.8rem;text-align:center;background:var(--crimson);color:var(--gold);font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1rem;text-decoration:none;border:1px solid rgba(201,168,76,.3);transition:background .2s;}
.popup-cta:hover{background:#A52020;}
.popup-count{font-family:'Cinzel',serif;font-size:.6rem;color:var(--gold);opacity:.45;margin-top:.5rem;text-align:right;}
.popup-close{position:absolute;top:.5rem;right:.7rem;color:var(--gold);opacity:.5;cursor:pointer;font-size:1.1rem;line-height:1;background:none;border:none;padding:.2rem;min-width:30px;min-height:30px;}
.popup-close:hover{opacity:1;}

/* Mobile: popup centrato in basso */
@media(max-width:767px){
  #popup{left:50%!important;top:auto!important;bottom:1rem!important;transform:translateX(-50%)!important;width:90vw!important;max-width:360px!important;}
  .popup-card{min-width:unset;max-width:unset;width:100%;}
  .popup-products{max-height:160px;}
}

/* GRID */
.countries-section{max-width:1200px;margin:0 auto;padding:2rem 1rem 4rem;border-top:1px solid rgba(201,168,76,.12);}
.section-title{font-family:'Cinzel',serif;font-size:.9rem;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;text-align:center;margin-bottom:1.5rem;opacity:.7;}
.countries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1px;background:rgba(201,168,76,.08);}
.country-card{background:var(--dark);padding:1rem 1.2rem;transition:background .2s;}
.country-card:hover{background:rgba(201,168,76,.05);}
.country-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;}
.country-card-flag{font-size:1.2rem;}
.country-card-name{font-family:'Cinzel',serif;font-size:.8rem;color:var(--gold);letter-spacing:.08em;}
.country-card-products{display:flex;flex-wrap:wrap;gap:.25rem;}
.product-chip{font-family:'IM Fell English',serif;font-size:.72rem;color:var(--parchment);opacity:.65;background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.12);padding:.1rem .45rem;border-radius:1px;transition:opacity .2s,background .2s;}
.product-chip:hover{opacity:1;background:rgba(201,168,76,.14);}
.product-chip a{color:inherit;text-decoration:none;}
.product-chip a:hover{color:var(--gold);}
