/* ================================================================
   PattiOnLine — pol-treni.css  (pagina Orari Treni)
   Hero con foto treno + CTA ricerca live Trenitalia + stazioni.
   Scopato .ptr. Piena larghezza. Design squadrato (niente rounded).
   ================================================================ */
.ptr{
  --navy:#0C2E7A;--blu:#16408f;--sea:#0E9E8E;--sea-d:#0a7d70;--sand:#F4EAD6;
  --gold:#DDA65A;--ink:#14202B;--muted:#5b6674;--line:#E7E1D4;--mist:#F7F5F0;--paper:#fff;--rail:#C15A3C;
  font-family:"Poppins",system-ui,sans-serif;color:var(--ink);line-height:1.45;
  width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow-x:clip;
  padding:0 0 56px;background:var(--mist)}
.ptr,.ptr *{box-sizing:border-box}
.ptr-in{padding:0 clamp(18px,4.5vw,90px)}

/* ===== HERO con foto treno ===== */
.ptr-hero{position:relative;overflow:hidden;color:#fff;min-height:420px;display:flex;align-items:flex-end;
  background:linear-gradient(90deg,rgba(6,16,38,.86) 0%,rgba(6,16,38,.34) 46%,rgba(6,16,38,0) 74%),
            linear-gradient(0deg,rgba(6,16,38,.97) 0%,rgba(6,16,38,.78) 24%,rgba(6,16,38,.34) 44%,transparent 62%),
            url('/pol/treno.jpg') center 42%/cover no-repeat,
            linear-gradient(120deg,#0b2a5e,var(--navy) 45%,var(--sea) 130%)}
.ptr-hero-tx{position:relative;z-index:2;padding:30px clamp(18px,4vw,54px) 34px;max-width:660px}
.ptr-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ptr-hero h1{color:#fff;font-family:"Fraunces",serif;font-weight:700;font-size:clamp(32px,4.4vw,54px);line-height:1;margin:.35rem 0 .5rem;letter-spacing:-.01em;text-shadow:0 2px 4px rgba(0,0,0,.6),0 6px 34px rgba(0,0,0,.55)}
.ptr-route{color:#fff;display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:1.2rem;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.ptr-route span{color:var(--gold);font-size:1.55rem;line-height:1}
.ptr-sub{margin-top:.7rem;font-size:.86rem;color:#e6ecfb;font-weight:500}

/* ===== CTA principale (ricerca live) ===== */
.ptr-cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:26px clamp(18px,4.5vw,90px) 0;
  padding:26px 30px;color:#fff;background:linear-gradient(115deg,var(--navy),var(--blu) 60%,#2f66c9);
  box-shadow:0 16px 40px rgba(12,46,122,.22);position:relative;overflow:hidden}
.ptr-cta::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;background:rgba(255,255,255,.06)}
.ptr-cta-tx{position:relative;z-index:1;flex:1 1 320px}
.ptr-cta-tx h2{color:#fff;font-family:"Fraunces",serif;font-weight:700;font-size:clamp(22px,2.4vw,30px);margin:0 0 .4rem}
.ptr-cta-tx p{font-size:.96rem;color:#dbe3f2;margin:0 0 14px;max-width:60ch}
.ptr-stations{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:10px 16px;font-size:.92rem}
.ptr-stations b{display:block;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.ptr-stations .sw{color:var(--gold);font-size:1.3rem;font-weight:700}
.ptr-cta-btns{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;flex:0 0 auto;min-width:230px}
.ptr-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;font-size:1rem;
  padding:15px 22px;text-decoration:none;transition:.16s;white-space:nowrap;border:2px solid transparent}
.ptr-btn.primary{background:var(--gold);color:#3a2b06}
.ptr-btn.primary:hover{background:#e8b76a;transform:translateY(-2px)}
.ptr-btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.ptr-btn.ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}

/* ===== SEZIONE ===== */
.ptr-sec{margin:2rem clamp(18px,4.5vw,90px) 1rem;font-family:"Fraunces",serif;font-size:1.4rem;color:var(--navy);position:relative;padding-bottom:10px}
.ptr-sec::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:var(--gold)}

/* ===== CARDS (stazioni + operatore) ===== */
.ptr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 clamp(18px,4.5vw,90px)}
.ptr-card{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;
  box-shadow:0 10px 26px rgba(12,46,122,.1);transition:transform .22s,box-shadow .22s}
.ptr-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px rgba(12,46,122,.2)}
.ptr-card-top{padding:20px 22px;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;
  background:linear-gradient(120deg,#0b2a5e,var(--blu))}
.ptr-card.op .ptr-card-top{background:linear-gradient(120deg,#7a2f1c,var(--rail))}
.ptr-card-ic{flex:none;width:42px;height:42px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22)}
.ptr-card-ic svg{width:23px;height:23px;color:#fff}
.ptr-card-top h3{color:#fff;font-family:"Fraunces",serif;font-weight:700;font-size:1.2rem;margin:0;line-height:1.1}
.ptr-card-top small{display:block;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.ptr-cardbody{padding:18px 22px 20px;display:flex;flex-direction:column;gap:.6rem;flex:1;font-size:.92rem;color:var(--muted)}
.ptr-cardbody .row b{display:block;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.ptr-cardbody a{color:var(--sea-d);font-weight:700;text-decoration:none}
.ptr-cardbody a:hover{text-decoration:underline}
.ptr-cardbody .oflink{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.4rem;
  font-weight:800;font-size:.9rem;padding:.7rem 1rem;background:var(--rail);color:#fff;text-decoration:none;transition:.15s}
.ptr-cardbody .oflink:hover{filter:brightness(1.08);transform:translateY(-2px)}

/* ===== NOTA ===== */
.ptr-note{margin:28px clamp(18px,4.5vw,90px) 0;display:flex;align-items:center;gap:18px;padding:20px 24px;color:#fff;
  background:linear-gradient(100deg,var(--navy),var(--blu));border-left:4px solid var(--gold);box-shadow:0 10px 26px rgba(12,46,122,.14)}
.ptr-note-ic{flex:none;width:50px;height:50px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22)}
.ptr-note-ic svg{width:25px;height:25px;color:var(--gold)}
.ptr-note-tx b{font-family:"Fraunces",serif;font-weight:700;font-size:1.12rem;color:#fff;display:block}
.ptr-note-tx span{font-size:.92rem;color:#dbe3f2}

/* niente rounded */
.ptr,.ptr *,.ptr *::before,.ptr *::after{border-radius:0}

/* responsive */
@media(max-width:900px){.ptr-cards{grid-template-columns:1fr}.ptr-cta{flex-direction:column;align-items:stretch}.ptr-cta-btns{min-width:0}}
