/* ============================================================================
   AUTO VESELÝ SANCHEZ — marketing landing (motorsport theme)
   Self-contained stylesheet for the public landing (sessions#new), loaded ONLY
   by layouts/landing.html.erb. The design is copied 1:1 from the official site
   autoveselysanchez.cz (Saira Condensed italic display type, angular clip-path
   cards, red/black/metal palette) and extended with the client-portal / app /
   referral components in the same visual language.
   The portal app + legal pages keep using application.css — this file never
   touches them.
   ========================================================================== */

:root{
  --black:#0a0a0a;
  --black-2:#121212;
  --panel:#1a1a1a;
  --panel-2:#222222;
  --line:#2e2e2e;
  --red:#e30613;
  --red-dark:#a00510;
  --silver-1:#f2f2f2;
  --silver-2:#bdbdbd;
  --silver-3:#8a8a8a;
  --white:#ffffff;
  --muted:#b0b0b0;
  --green:#25d366;
  --shadow:0 14px 40px rgba(0,0,0,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  background:var(--black);
  color:var(--white);
  font-family:'Saira',system-ui,Arial,sans-serif;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* ---------- type ---------- */
.display{
  font-family:'Saira Condensed',sans-serif;
  font-weight:900;text-transform:uppercase;
  letter-spacing:.5px;font-style:italic;line-height:.92;
}
.eyebrow{
  font-family:'Saira Condensed',sans-serif;
  font-weight:700;font-style:italic;text-transform:uppercase;
  letter-spacing:3px;color:var(--red);font-size:.85rem;
}
.metal{display:inline-block;padding:.35em .4em 0 0;color:#e6e6e6}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .metal{
    background:linear-gradient(180deg,#ffffff 0%,#dcdcdc 38%,#9a9a9a 60%,#cfcfcf 100%);
    background-size:100% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
h1,h2,h3{font-family:'Saira Condensed',sans-serif;text-transform:uppercase;font-style:italic;font-weight:800;line-height:1.02}

/* ---------- layout ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
section{padding:84px 0}
.section-head{margin-bottom:46px}
.section-head h2{font-size:clamp(2rem,5vw,3.4rem)}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:200;
  background:rgba(8,8,8,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:14px}
.brand{display:flex;align-items:center;gap:12px;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.brand-logo{height:50px;width:auto;display:block}
.brand b{color:var(--white)}
.menu{display:flex;align-items:center;gap:6px}
.menu a{
  font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;
  text-transform:uppercase;letter-spacing:1px;font-size:.95rem;
  padding:10px 14px;color:var(--silver-2);position:relative;cursor:pointer;
  transition:color .2s;white-space:nowrap;
}
.menu a:hover,.menu a.active{color:var(--white)}
.menu a.active::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;background:var(--red);transform:skewX(-18deg)}
.nav-cta{
  background:var(--red);color:#fff;padding:11px 20px;
  font-family:'Saira Condensed',sans-serif;font-weight:800;font-style:italic;
  text-transform:uppercase;letter-spacing:1px;white-space:nowrap;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  cursor:pointer;transition:background .2s;
}
.nav-cta:hover{background:var(--red-dark)}
.burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:8px;min-width:44px;min-height:44px;background:none;border:none}
.burger span{width:26px;height:3px;background:var(--silver-1);transition:.25s}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  cursor:pointer;border:none;
  font-family:'Saira Condensed',sans-serif;font-weight:800;font-style:italic;
  text-transform:uppercase;letter-spacing:1.5px;font-size:1rem;
  padding:15px 30px;transition:transform .15s,background .2s,box-shadow .2s,border-color .2s,color .2s;
}
.btn i{font-style:normal}
.btn-red{background:var(--red);color:#fff;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--white);border:2px solid #444;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.btn-block{width:100%}
.btn-lg{padding:18px 34px;font-size:1.1rem}
/* button_to wraps its <button> in a <form>; collapse the form so the button
   participates directly in the surrounding flex/grid layout. */
form.btnform{display:contents}

/* ---------- flash ---------- */
.flash{
  padding:14px 18px;margin:0 0 4px;font-weight:600;
  border-left:4px solid var(--red);background:var(--panel);
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
}
.flash--notice{border-left-color:var(--green)}
.flash-wrap{position:relative;z-index:3}
.flash-wrap .wrap{padding-top:18px}

/* ---------- hero ---------- */
.hero{
  position:relative;padding:96px 0 80px;
  background:
    radial-gradient(circle at 78% 30%,rgba(227,6,19,.18),transparent 45%),
    linear-gradient(180deg,#0d0d0d 0%,#070707 100%);
  overflow-x:clip;
}
.hero::before{
  content:"";position:absolute;top:0;right:0;width:50%;height:100%;max-width:100%;
  background:linear-gradient(115deg,transparent 40%,rgba(227,6,19,.12) 50%,transparent 60%);
  transform:skewX(-12deg);pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:40px;align-items:center;position:relative;z-index:2}
.hero-grid>div{min-width:0}
.hero h1{font-size:clamp(1.9rem,4.4vw,3.5rem);padding:.08em .6em .05em 0;overflow-wrap:break-word;letter-spacing:0}
.hero h1 .red{color:var(--red);-webkit-text-fill-color:var(--red);display:inline-block;padding:.35em .4em 0 0}
.hero p.lead{color:var(--muted);font-size:1.15rem;margin:22px 0 30px;max-width:32em}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}
.hero-refnote{
  display:flex;align-items:center;gap:12px;margin:0 0 22px;
  background:linear-gradient(100deg,rgba(227,6,19,.16),rgba(227,6,19,.04));
  border:1px solid var(--red-dark);padding:14px 18px;color:var(--silver-1);
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);font-weight:600;
}
.hero-refnote i{color:var(--red)}
.hero-consent{color:var(--silver-3);font-size:.82rem;margin-top:16px;max-width:34em}
.hero-consent a{color:var(--silver-2);text-decoration:underline}
.hero-card{
  background:linear-gradient(160deg,var(--panel) 0%,#101010 100%);
  border:1px solid var(--line);box-shadow:var(--shadow);
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));
  padding:30px 28px;
}
.hero-card .eyebrow{margin-bottom:14px;display:block}
.hero-card .row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.hero-card .row:last-child{border-bottom:none}
.hero-card .row span{font-family:'Saira Condensed',sans-serif;font-weight:600;font-style:italic;text-transform:uppercase;letter-spacing:1px}
.hero-card .row b{color:var(--red);font-family:'Saira Condensed',sans-serif;font-style:italic;font-size:1.15rem}

/* ---------- service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{
  background:linear-gradient(165deg,var(--panel) 0%,#0e0e0e 100%);
  border:1px solid var(--line);padding:28px 22px;position:relative;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  transition:transform .2s,border-color .2s;
}
.card:hover{transform:translateY(-5px);border-color:var(--red)}
.card .ico{
  width:54px;height:54px;margin-bottom:16px;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%,#2a2a2a,#161616);
  border:1px solid #3a3a3a;color:var(--red);font-size:1.4rem;
  clip-path:polygon(28% 0,72% 0,100% 28%,100% 72%,72% 100%,28% 100%,0 72%,0 28%);
}
.card h3{font-size:1.35rem;margin-bottom:6px}
.card p{color:var(--muted);margin:6px 0 10px}
.card .price{color:var(--red);font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;font-size:1.1rem}

/* ---------- features (proč k nám) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}
.lead-block{max-width:62ch;color:var(--muted);font-size:1.1rem}
.lead-block strong{color:var(--white)}
.feature{
  background:var(--panel);border:1px solid var(--line);padding:26px 24px;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
}
.feature h3{color:var(--white);font-size:1.4rem;margin-bottom:10px;display:flex;align-items:center}
.feature h3 .bar{display:inline-block;width:26px;height:4px;background:var(--red);margin-right:10px;vertical-align:middle;transform:skewX(-20deg)}
.feature p{color:var(--muted)}

/* ---------- team (náš tým) ---------- */
.team{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.member{background:var(--panel);border:1px solid var(--line);padding:26px;display:flex;gap:18px;align-items:flex-start;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));}
.member .av{width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--red),var(--red-dark));display:grid;place-items:center;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1.5rem;border:2px solid #3a3a3a}
.member h3{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-size:1.25rem}
.member p{color:var(--muted);font-size:.95rem}

/* ---------- steps (jak funguje doporučení) ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.step{position:relative;background:var(--panel);border:1px solid var(--line);padding:24px 20px;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));}
.step .num{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:2.4rem;color:var(--red);line-height:1}
.step h3{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;margin:6px 0 6px;font-size:1.15rem}
.step p{color:var(--muted);font-size:.95rem}

/* ---------- app / portal section ---------- */
.app-band{background:linear-gradient(180deg,#0c0c0c 0%,#070707 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.app-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.app-grid>div{min-width:0}
.app-feats{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:14px}
.app-feats li{display:flex;align-items:center;gap:14px;font-size:1.02rem;color:var(--silver-1)}
.app-feats li i{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;color:var(--red);background:#151515;border:1px solid var(--line);
  clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%)}
.app-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.app-note{color:var(--silver-3);font-size:.85rem;margin-top:14px;display:flex;align-items:center;gap:8px}
.app-note i{color:var(--silver-2)}
.store-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.store-badge{display:inline-flex;align-items:center;gap:11px;background:#000;border:1px solid #3a3a3a;border-radius:10px;padding:9px 16px;transition:border-color .2s}
.store-badge:hover{border-color:var(--silver-2)}
.store-badge i{font-size:1.7rem;color:#fff}
.store-badge .sb-txt{display:flex;flex-direction:column;line-height:1.15}
.store-badge .sb-small{font-size:.62rem;text-transform:uppercase;letter-spacing:1px;color:var(--silver-2)}
.store-badge .sb-big{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;font-size:1.05rem}

/* the phone mock-up beside the app pitch */
.app-visual{display:grid;place-items:center;position:relative}
.phone{
  width:248px;max-width:78vw;background:#0e0e0e;border:1px solid var(--line);
  border-radius:30px;padding:14px;box-shadow:var(--shadow);position:relative;
}
.phone::before{content:"";position:absolute;top:18px;left:50%;transform:translateX(-50%);width:64px;height:6px;border-radius:6px;background:#2a2a2a}
.phone__screen{background:linear-gradient(170deg,#161616,#0a0a0a);border:1px solid var(--line);border-radius:20px;padding:30px 18px 22px;overflow:hidden}
.phone__logo{display:block;height:54px;margin:6px auto 16px}
.phone__bar{height:11px;border-radius:6px;background:#242424;margin:9px 0}
.phone__bar.s{width:60%}
.phone__credit{background:linear-gradient(120deg,var(--red-dark),var(--red));border-radius:14px;padding:16px;margin:14px 0 16px;text-align:center}
.phone__credit small{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:1.5px;opacity:.85}
.phone__credit b{font-family:'Saira Condensed',sans-serif;font-style:italic;font-size:1.7rem}
.phone__tabbar{display:flex;justify-content:space-around;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:var(--silver-3);font-size:1.05rem}
.phone__tabbar i.on{color:var(--red)}

/* ---------- referral promo band ---------- */
.ref-head{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}
.ref-pct{color:var(--red);-webkit-text-fill-color:var(--red)}

/* ---------- pricing table ---------- */
.price-note{color:var(--muted);max-width:60ch;margin-bottom:26px}
.ptables{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.ptable{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line)}
.ptable caption{text-align:left;font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;color:var(--red);letter-spacing:2px;padding:18px 20px 8px;font-size:1.1rem}
.ptable td{padding:14px 20px;border-top:1px solid var(--line)}
.ptable td:last-child{text-align:right;color:var(--red);font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;white-space:nowrap}
.ptable tr:hover{background:#161616}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.info-list{display:grid;gap:18px;align-content:start}
.info-item{background:var(--panel);border-left:4px solid var(--red);padding:16px 20px}
.info-item .eyebrow{margin-bottom:4px}
.info-item p{color:var(--white);font-weight:600}
.info-item a:hover{color:var(--red)}
.map-frame{width:100%;height:100%;min-height:340px;border:1px solid var(--line);filter:grayscale(.3) contrast(1.05)}

/* ---------- auth / portal forms ---------- */
.form-card{background:var(--panel);border:1px solid var(--line);padding:30px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));}
.form-card .eyebrow{display:block;margin-bottom:6px}
.form-card h3{color:var(--white);font-size:1.5rem;margin-bottom:6px}
.form-card .fc-sub{color:var(--muted);font-size:.95rem;margin-bottom:18px}
.form-card label{display:block;font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:1px;font-size:.85rem;color:var(--silver-2);margin:14px 0 6px}
.form-card input{width:100%;background:#0e0e0e;border:1px solid var(--line);color:#fff;padding:12px 14px;font-family:'Saira',sans-serif;font-size:1rem}
.form-card input:focus{outline:none;border-color:var(--red)}
.form-card .hint{color:var(--silver-3);font-size:.85rem;margin-top:10px}
.form-card .consent{color:var(--silver-3);font-size:.78rem;margin-top:12px;line-height:1.5}
.form-card .consent a{color:var(--silver-2);text-decoration:underline}
.auth-split{display:grid;grid-template-columns:1fr;gap:18px}
.auth-or{display:flex;align-items:center;gap:14px;color:var(--silver-3);font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:2px;font-size:.8rem;margin:2px 0}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--line)}
.form-card.is-cta{background:linear-gradient(160deg,#1c1110 0%,#140d0d 100%);border-color:var(--red-dark)}

/* ---------- cta band ---------- */
.cta-band{background:linear-gradient(100deg,var(--red-dark),var(--red));padding:46px 0;margin-top:0}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,4vw,2.4rem)}
.cta-band .btn-ghost{border-color:#fff;color:#fff}
.cta-band .btn-ghost:hover{background:#fff;color:var(--red)}

/* ---------- footer ---------- */
footer{background:#060606;border-top:1px solid var(--line);padding:54px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.foot-grid h3{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;color:var(--red);letter-spacing:2px;margin-bottom:14px;font-size:1rem}
.foot-grid p,.foot-grid a{color:var(--muted);font-size:.95rem;line-height:1.9}
.foot-grid a:hover{color:#fff}
.foot-bottom{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;color:var(--silver-3);font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.foot-bottom a{color:var(--silver-3)}
.foot-bottom a:hover{color:#fff}

/* ---------- whatsapp float ---------- */
.wa{position:fixed;right:22px;bottom:22px;z-index:300;background:var(--green);color:#062e14;
  font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:1px;
  padding:14px 20px;border-radius:40px;box-shadow:0 10px 30px rgba(0,0,0,.5);display:flex;gap:10px;align-items:center;transition:transform .15s}
.wa:hover{transform:translateY(-2px)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .app-grid{grid-template-columns:1fr;gap:34px}
  .app-visual{order:-1}
}
@media(max-width:900px){
  .hero-grid,.split,.team,.contact-grid,.foot-grid,.ptables{grid-template-columns:1fr}
  .cards,.steps{grid-template-columns:1fr 1fr}
  .menu,.nav-cta{display:none}
  .menu.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:#0b0b0b;border-bottom:1px solid var(--line);padding:14px 22px;gap:2px;z-index:210}
  .menu.open a{padding:12px 4px;border-bottom:1px solid var(--line)}
  .burger{display:flex}
  .cta-band .wrap{flex-direction:column;align-items:flex-start}
  .steps{grid-template-columns:1fr}
}
@media(max-width:560px){
  section{padding:58px 0}
  .hero{padding:60px 0 56px}
  .cards{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .app-actions{flex-direction:column;align-items:stretch}
  .app-actions .btn{width:100%}
  .wa{padding:12px 16px;right:14px;bottom:14px}
}
