/*
Theme Name: Uber Sux In Italy
Description: Single-page trip-report theme for uber-sux-in-italy.com, converted from the static design in design-index.html.
Version: 1.0.3
Author: FFN
Text Domain: ubersuxinitaly
*/

  :root{
    --ink:#16232B;
    --ink-soft:#3E4C53;
    --teal:#2F6F6E;
    --teal-deep:#1B4645;
    --amber:#D9A441;
    --red:#C23B32;
    --paper:#E9EDEC;
    --paper-card:#F5F7F6;
    --line:#C9D2D0;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
    color:var(--ink);
    margin:0;
  }
  .wrap{max-width:920px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-family:"SF Mono","Courier New",monospace;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.72rem;
    color:var(--teal-deep);
    font-weight:700;
  }

  /* ---------- NAV ---------- */
  nav{
    position:sticky;top:0;z-index:50;
    background:rgba(233,237,236,.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
  .brand{
    font-family:"SF Mono","Courier New",monospace;
    font-weight:700;letter-spacing:.02em;font-size:.95rem;
    display:flex;align-items:center;gap:8px;
  }
  .brand .dot{width:9px;height:9px;border-radius:50%;background:var(--red);display:inline-block;box-shadow:0 0 8px rgba(194,59,50,.7);}
  .subject-badge{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--paper-card);border:1px solid var(--line);
    padding:6px 12px 6px 8px;border-radius:20px;margin-bottom:18px;
  }
  .subject-badge svg{width:20px;height:20px;flex-shrink:0;}
  .subject-badge span{
    font-family:"SF Mono","Courier New",monospace;font-size:.78rem;font-weight:700;
    letter-spacing:.02em;color:var(--ink);
  }
  nav a.cta{
    font-family:"SF Mono","Courier New",monospace;
    font-size:.78rem;font-weight:700;
    background:var(--ink);color:var(--paper);
    padding:9px 14px;border-radius:3px;text-decoration:none;
    letter-spacing:.03em;
  }

  /* ---------- HERO ---------- */
  header.hero{
    padding:64px 0 40px;
    border-bottom:1px solid var(--line);
  }
  header.hero h1{
    font-size:clamp(2.4rem,6.5vw,4.4rem);
    line-height:1.05;
    margin:18px 0 22px;
    max-width:none;
  }
  header.hero h1 .rip{display:block;color:var(--red);}
  header.hero p.dek{
    font-size:1.08rem;color:var(--ink-soft);max-width:68ch;margin-bottom:36px;
  }

  .meter{
    background:var(--ink);
    border-radius:10px;
    padding:28px clamp(16px,4vw,40px);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    box-shadow:0 20px 50px -20px rgba(22,35,43,.5);
  }
  .meter-block{flex:1;min-width:200px;}
  .meter-label{
    font-family:"SF Mono","Courier New",monospace;
    color:#8FA6A5;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;
  }
  .meter-num{
    font-family:"SF Mono","Courier New",monospace;
    font-variant-numeric:tabular-nums;
    font-size:clamp(2.4rem,7vw,3.6rem);
    font-weight:700;
    letter-spacing:.01em;
    color:#5CE0DA;
    text-shadow:0 0 14px rgba(92,224,218,.45);
  }
  .meter-num.charged{
    color:var(--red);
    text-shadow:0 0 18px rgba(255,90,70,.65);
  }
  .meter-arrow{
    font-family:"SF Mono","Courier New",monospace;
    color:#5A6B70;font-size:1.8rem;
  }
  .meter-sub{font-family:"SF Mono","Courier New",monospace;color:#8FA6A5;font-size:.78rem;margin-top:6px;}

  .stat-row{
    display:flex;gap:32px;flex-wrap:wrap;margin-top:28px;
    font-family:"SF Mono","Courier New",monospace;font-size:.85rem;color:var(--ink-soft);
  }
  .stat-row strong{color:var(--ink);display:block;font-size:1.1rem;font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;}

  /* ---------- SECTIONS ---------- */
  section{padding:64px 0;border-bottom:1px solid var(--line);}
  section.noborder{border-bottom:none;}
  .section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:32px;}
  .section-head h2{font-size:clamp(1.5rem,3vw,2.1rem);}
  .section-head .eyebrow{white-space:nowrap;}

  p{color:var(--ink-soft);max-width:none;}
  .lede{font-size:1.05rem;}

  /* timeline */
  .tl{border-left:2px solid var(--teal);margin-left:6px;padding-left:0;}
  .tl-item{position:relative;padding:0 0 30px 28px;}
  .tl-item::before{
    content:"";position:absolute;left:-7px;top:4px;
    width:12px;height:12px;border-radius:50%;
    background:var(--paper);border:2px solid var(--teal);
  }
  .tl-item.flag::before{background:var(--red);border-color:var(--red);}
  .tl-date{font-family:"SF Mono","Courier New",monospace;font-size:.74rem;letter-spacing:.06em;color:var(--teal-deep);text-transform:uppercase;margin-bottom:6px;font-weight:700;}
  .tl-item h3{font-size:1.05rem;margin-bottom:6px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:700;}
  .tl-item p{margin:0;font-size:.96rem;}
  .quote-block{
    margin-top:10px;background:var(--paper-card);border-left:3px solid var(--amber);
    padding:12px 16px;font-size:.92rem;font-style:italic;color:var(--ink-soft);border-radius:0 4px 4px 0;
  }
  .agent-tag{
    display:inline-block;font-family:"SF Mono","Courier New",monospace;font-size:.68rem;
    background:var(--ink);color:var(--paper);padding:2px 7px;border-radius:3px;margin-right:8px;letter-spacing:.02em;
  }

  /* receipt */
  .receipt{
    background:var(--paper-card);
    border:1px dashed var(--ink-soft);
    border-radius:6px;
    padding:28px clamp(18px,4vw,36px);
    max-width:480px;
    font-family:"SF Mono","Courier New",monospace;
  }
  .receipt h3{font-family:"SF Mono","Courier New",monospace;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;color:var(--teal-deep);}
  .receipt-line{display:flex;justify-content:space-between;font-size:.9rem;padding:7px 0;border-bottom:1px dotted var(--line);color:var(--ink-soft);}
  .receipt-line.total{border-bottom:none;border-top:2px solid var(--ink);margin-top:8px;padding-top:12px;font-weight:700;color:var(--ink);font-size:1rem;}
  .receipt-line.charged{color:var(--red);font-weight:700;}
  .receipt-note{margin-top:16px;font-size:.78rem;color:var(--ink-soft);font-family:-apple-system,sans-serif;font-style:italic;}

  /* claims */
  .claims{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  @media(max-width:700px){.claims{grid-template-columns:1fr;}}
  .claim-card{
    background:var(--paper-card);border-radius:8px;padding:26px;border-top:4px solid var(--teal);
  }
  .claim-card.b{border-top-color:var(--red);}
  .claim-card .letter{
    font-family:"SF Mono","Courier New",monospace;font-size:1.6rem;font-weight:700;color:var(--teal);display:block;margin-bottom:10px;
  }
  .claim-card.b .letter{color:var(--red);}
  .claim-card h3{font-size:1.05rem;font-family:-apple-system,sans-serif;margin-bottom:8px;}
  .claim-card p{font-size:.92rem;margin:0;}

  /* gallery */
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media(max-width:760px){.gallery{grid-template-columns:1fr;}}
  figure{margin:0;background:var(--paper-card);border-radius:8px;overflow:hidden;border:1px solid var(--line);}
  figure img{width:100%;display:block;}
  figcaption{padding:12px 14px;font-size:.8rem;color:var(--ink-soft);font-family:"SF Mono","Courier New",monospace;}

  /* darkpattern callout */
  .callout{
    background:var(--ink);color:var(--paper);border-radius:8px;padding:30px clamp(18px,4vw,40px);
    display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;
  }
  .callout .star{font-size:1.6rem;line-height:1;}
  .callout h3{color:var(--paper);font-size:1.2rem;margin-bottom:8px;}
  .callout p{color:#C9D6D5;margin:0;max-width:none;}
  .callout.alert{background:#D8210F;color:#fff;box-shadow:0 20px 50px -20px rgba(216,33,15,.6);}
  .callout.alert h3{color:#fff;font-size:1.6rem;margin-bottom:12px;}
  .callout.alert p{color:#fff;font-size:1.12rem;line-height:1.6;}

  /* rebuttal table */
  table.rebuttal{width:100%;border-collapse:collapse;margin-top:8px;}
  table.rebuttal th{
    text-align:left;font-family:"SF Mono","Courier New",monospace;font-size:.72rem;text-transform:uppercase;
    letter-spacing:.08em;color:var(--teal-deep);padding:0 14px 10px 0;border-bottom:2px solid var(--ink);
  }
  table.rebuttal td{padding:14px 14px 14px 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--ink-soft);vertical-align:top;}
  table.rebuttal td:first-child{color:var(--ink);font-weight:600;width:38%;}

  /* advice */
  .advice-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
  .advice-list li{
    display:flex;gap:14px;align-items:flex-start;background:var(--paper-card);padding:16px 18px;border-radius:6px;border-left:3px solid var(--teal);
  }
  .advice-list .num{font-family:"SF Mono","Courier New",monospace;color:var(--teal);font-weight:700;}
  .advice-list p{margin:0;font-size:.94rem;}

  footer{padding:44px 0 70px;}
  footer p{font-size:.8rem;color:var(--ink-soft);max-width:70ch;}
  footer .brand{margin-bottom:16px;}

  ::selection{background:var(--amber);color:var(--ink);}

  @media(prefers-reduced-motion:no-preference){
    .meter-num{animation:tickin .9s ease-out;}
    @keyframes tickin{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
  }
  /* ---------- DESKTOP SPLIT LAYOUTS (fill the row) ---------- */
  .split,.math-grid{display:grid;gap:36px;align-items:start;}
  @media(min-width:900px){
    .split{grid-template-columns:minmax(0,1fr) 320px;}
    .math-grid{grid-template-columns:minmax(0,1fr) 480px;}
  }
  .trip-card{display:none;}
  @media(min-width:900px){
    .trip-card{
      display:block;
      background:var(--paper-card);
      border:1px dashed var(--ink-soft);
      border-radius:6px;
      padding:24px 26px;
      font-family:"SF Mono","Courier New",monospace;
    }
  }
  .trip-card .tc-head{
    font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--teal-deep);font-weight:700;margin-bottom:16px;
  }
  .tc-stop{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:.95rem;color:var(--ink);}
  .tc-stop .tc-pin{width:12px;height:12px;border-radius:50%;border:3px solid var(--teal);background:var(--paper-card);flex:none;}
  .tc-stop.end .tc-pin{border-color:var(--red);}
  .tc-line{margin-left:8px;height:24px;border-left:2px dashed var(--line);}
  .tc-stats{
    display:flex;justify-content:space-between;gap:10px;
    font-size:.8rem;color:var(--ink-soft);
    border-top:1px solid var(--line);
    padding-top:14px;margin-top:16px;margin-bottom:8px;
  }
  .tc-stars{color:var(--amber);letter-spacing:2px;}
  .tc-note{font-size:.72rem;color:#8FA6A5;}

  /* ---------- NAV SECOND LINK ---------- */
  .nav-links{display:flex;align-items:center;gap:18px;}
  .nav-links a.plain{
    font-family:"SF Mono","Courier New",monospace;
    font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--teal-deep);text-decoration:none;
  }
  .nav-links a.plain:hover{color:var(--red);}

  /* ---------- STORY FORM (Contact Form 7) ---------- */
  .story-form{
    background:var(--paper-card);
    border:1px solid var(--line);
    border-radius:6px;
    padding:30px clamp(18px,4vw,38px);
    max-width:780px;
  }
  .story-form form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;}
  @media(max-width:700px){.story-form form{grid-template-columns:1fr;}}
  .story-form form > div{min-width:0;}
  .story-form .full{grid-column:1 / -1;}
  .story-form label{
    display:block;
    font-family:"SF Mono","Courier New",monospace;
    font-size:.72rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.12em;
    color:var(--teal-deep);
    margin-bottom:8px;
  }
  .story-form input[type="text"],
  .story-form input[type="email"],
  .story-form select,
  .story-form textarea{
    width:100%;
    background:#fff;
    border:1px solid var(--line);
    border-radius:4px;
    color:var(--ink);
    font-family:inherit;font-size:.95rem;
    padding:12px 14px;
  }
  .story-form textarea{min-height:170px;resize:vertical;}
  .story-form input:focus,
  .story-form select:focus,
  .story-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
  .story-form input[type="file"]{
    width:100%;
    font-family:"SF Mono","Courier New",monospace;font-size:.75rem;
    color:var(--ink-soft);
    padding:9px 0;
  }
  .story-form input[type="file"]::file-selector-button{
    font-family:"SF Mono","Courier New",monospace;
    text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;
    background:transparent;color:var(--teal-deep);
    border:1px solid var(--teal-deep);
    padding:8px 14px;border-radius:3px;margin-right:14px;cursor:pointer;
    transition:color .2s,border-color .2s;
  }
  .story-form input[type="file"]::file-selector-button:hover{color:var(--red);border-color:var(--red);}
  .story-form .wpcf7-submit{
    font-family:"SF Mono","Courier New",monospace;
    text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:700;
    background:var(--red);color:#fff;
    border:none;border-radius:4px;
    padding:14px 26px;cursor:pointer;
    transition:background .2s,transform .15s;
    width:auto;
  }
  .story-form .wpcf7-submit:hover{background:#A32F27;}
  .story-form .wpcf7-submit:active{transform:scale(.98);}
  .story-form .wpcf7-submit:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
  .story-form .wpcf7-spinner{background-color:var(--amber);}
  .story-form .wpcf7-not-valid-tip{
    display:block;margin-top:6px;
    font-family:"SF Mono","Courier New",monospace;font-size:.72rem;letter-spacing:.04em;
    color:var(--red);
  }
  .story-form .wpcf7-response-output{
    grid-column:1 / -1;
    margin:10px 0 0 !important;
    font-family:"SF Mono","Courier New",monospace;font-size:.8rem;
    border:1px dashed var(--teal-deep) !important;color:var(--teal-deep);
    padding:14px 16px !important;border-radius:4px;
  }
  .story-form form.sent .wpcf7-response-output{border-color:#2F6F4E !important;color:#2F6F4E;}
  .story-form form.invalid .wpcf7-response-output,
  .story-form form.unaccepted .wpcf7-response-output,
  .story-form form.failed .wpcf7-response-output,
  .story-form form.aborted .wpcf7-response-output{border-color:var(--red) !important;color:var(--red);}
  .story-form .hidden-fields-container{display:none;}
