/* ============================================================
   TotoShop landing — CSS static (Tailwind-compatible, fără CDN)
   Conține doar clasele folosite în index.html. Randare instant.
   ============================================================ */

/* ---------- Reset / preflight ---------- */
*,::before,::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{-webkit-text-size-adjust:100%;line-height:1.5;scroll-behavior:smooth}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,figure{margin:0}
ul{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
button,input,select,textarea{font-family:inherit;font-size:100%;color:inherit;margin:0}
button{background:transparent;background-image:none;cursor:pointer;padding:0}
input,textarea,select{padding:0}
textarea{resize:vertical}
img,svg,video,canvas{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}
::file-selector-button{appearance:none;border:0;border-radius:.5rem;font-family:inherit;cursor:pointer}
:focus{outline:none}

/* ---------- Base typography ---------- */
.font-sans{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ---------- Layout / display ---------- */
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-1{flex:1 1 0%}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.place-items-center{place-items:center}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.relative{position:relative}
.fixed{position:fixed}
.sticky{position:sticky}
.top-0{top:0}
.bottom-0{bottom:0}
.inset-x-0{left:0;right:0}
.z-40{z-index:40}
.z-50{z-index:50}
.overflow-hidden{overflow:hidden}

/* ---------- Spacing: width / height ---------- */
.w-5{width:1.25rem}
.w-12{width:3rem}
.w-auto{width:auto}
.w-full{width:100%}
.h-5{height:1.25rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-40{height:10rem}
.h-44{height:11rem}
.max-w-md{max-width:28rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.object-cover{object-fit:cover}

/* ---------- Margin ---------- */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}
.mb-6{margin-bottom:1.5rem}

/* ---------- Padding ---------- */
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-7{padding:1.75rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-3\.5{padding-left:.875rem;padding-right:.875rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-7{padding-left:1.75rem;padding-right:1.75rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-10{padding-top:2.5rem}
.pb-14{padding-bottom:3.5rem}

/* ---------- Gap ---------- */
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}

/* ---------- space-y (margin between children) ---------- */
.space-y-2\.5>*+*{margin-top:.625rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-3\.5>*+*{margin-top:.875rem}

/* ---------- Borders / radius ---------- */
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-t{border-top-width:1px}
.border-slate-100{border-color:#f1f5f9}
.border-slate-200{border-color:#e2e8f0}
.border-slate-300{border-color:#cbd5e1}
.border-white\/25{border-color:rgba(255,255,255,.25)}
.border-green-400\/40{border-color:rgba(74,222,128,.4)}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}

/* ---------- Typography sizes / weight ---------- */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-5xl{font-size:3rem;line-height:1}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-black{font-weight:900}
.leading-tight{line-height:1.25}
.tracking-tight{letter-spacing:-.025em}
.text-center{text-align:center}
.whitespace-nowrap{white-space:nowrap}
.list-none{list-style:none}

/* ---------- Colors: text ---------- */
.text-white{color:#fff}
.text-brand-50{color:#eff6ff}
.text-brand-300{color:#93c5fd}
.text-brand-500{color:#3b82f6}
.text-brand-700{color:#1d4ed8}
.text-brand-900{color:#1e3a8a}
.text-brand-100\/70{color:rgba(219,234,254,.7)}
.text-brand-100\/80{color:rgba(219,234,254,.8)}
.text-brand-100\/90{color:rgba(219,234,254,.9)}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-green-200{color:#bbf7d0}
.text-green-400{color:#4ade80}
.text-yellow-400{color:#facc15}

/* ---------- Colors: background ---------- */
.bg-white{background-color:#fff}
.bg-white\/10{background-color:rgba(255,255,255,.1)}
.bg-slate-50{background-color:#f8fafc}
.bg-brand-600{background-color:#2563eb}
.bg-brand-900{background-color:#1e3a8a}
.bg-brand-950{background-color:#0f1f4d}
.bg-green-500{background-color:#22c55e}
.bg-green-400\/15{background-color:rgba(74,222,128,.15)}
.bg-orange-500{background-color:#f97316}

/* ---------- Shadows ---------- */
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-\[0_-4px_20px_-8px_rgba\(0\2c 0\2c 0\2c .2\)\]{box-shadow:0 -4px 20px -8px rgba(0,0,0,.2)}

/* ---------- Custom (din vechiul <style>) ---------- */
.gradient-hero{
  background:
    radial-gradient(900px 500px at 80% -10%, rgba(37,99,235,.25), transparent 60%),
    radial-gradient(700px 500px at 0% 10%, rgba(30,58,138,.35), transparent 55%),
    linear-gradient(160deg, #0f1f4d 0%, #15296a 55%, #1d4ed8 130%);
}
.card-shadow{box-shadow:0 10px 40px -12px rgba(15,31,77,.18)}

/* Varianta B — fundal foto pe hero, cu overlay albastru pentru lizibilitate */
.hero-photo{
  background:
    linear-gradient(105deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.08) 100%),
    url('images/hero-bg.jpg');
  background-size:cover;
  background-position:center;
}
/* Pe mobil/tabletă: scrim uniform mai dens, ca tot textul să fie lizibil */
@media (max-width:1023px){
  .hero-photo{
    background:
      linear-gradient(rgba(0,0,0,.64), rgba(0,0,0,.64)),
      url('images/hero-bg.jpg');
    background-size:cover;
    background-position:center;
  }
}
/* Hero (A + B) — text alb curat, se citește mai bine */
.gradient-hero .text-brand-300,
.gradient-hero .text-brand-100\/90,
.gradient-hero .text-brand-50{color:#fff}

/* Sticky CTA — ascuns până derulezi de formular */
#sticky-cta{transform:translateY(130%);transition:transform .25s ease}
#sticky-cta.show{transform:translateY(0)}

/* Cârlig discount — Varianta 2 (supratitlu + text cu highlight) */
.hook-kicker{display:block;color:#a3e635;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem}
.hook-line{display:block;color:#fff;font-size:1.1875rem;line-height:1.4;font-weight:600}
.hook-mark{white-space:nowrap;color:#a3e635;font-weight:800}

/* ---------- Imagini carduri nișe (poze pătrate, se văd întregi) ---------- */
.cat-img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}

/* ---------- Galerie „Clienții noștri" — rânduri aliniate (înălțime egală/rând) ---------- */
.work-gallery{display:flex;flex-wrap:wrap;gap:.75rem}
.work-gallery img{height:15rem;object-fit:cover;display:block;min-width:0;flex-grow:calc(var(--r) * 100);flex-basis:calc(15rem * var(--r))}
.work-gallery .wg-spacer{flex-grow:10;height:0}
@media(max-width:640px){.work-gallery img{height:10.5rem}}

/* ---------- Bandă „broderie, nu imprimare" ---------- */
.brod-band{position:relative;overflow:hidden}
.brod-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.brod-band__overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0f1f4d 0%,rgba(15,31,77,.92) 30%,rgba(15,31,77,.55) 62%,rgba(15,31,77,.2) 100%)}
.brod-band__content{position:relative;padding-top:4rem;padding-bottom:4rem}
@media(min-width:1024px){.brod-band__content{padding-top:5rem;padding-bottom:5rem}}

/* Hero grid — pe mobil: titlu → formular → beneficii; pe desktop: 2 coloane */
.hero-grid{display:grid;grid-template-columns:1fr;gap:1.75rem}
.hero-copy-top{order:1}
.hero-form{order:2;justify-self:center}
.hero-copy-bottom{order:3}
@media (min-width:1024px){
  .hero-grid{grid-template-columns:1fr 1fr;column-gap:2.5rem;row-gap:1.5rem;align-items:start}
  .hero-copy-top{grid-column:1;grid-row:1}
  .hero-copy-bottom{grid-column:1;grid-row:2}
  .hero-form{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:end}
}

/* ---------- Transitions / transforms ---------- */
.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.cursor-pointer{cursor:pointer}
.outline-none{outline:2px solid transparent;outline-offset:2px}

/* ---------- Form controls ---------- */
.outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--rc,#93c5fd)}
.focus\:ring-brand-500:focus{--rc:#3b82f6}
.focus\:border-brand-500:focus{border-color:#3b82f6}

/* Controale formular 16px — lizibil pe mobil + previne zoom-ul auto pe iOS */
.lead-form input,
.lead-form select,
.lead-form textarea,
.lead-form option{font-size:16px}

/* Dropdown personalizat — control total, text mereu lizibil pe mobil */
.custom-select{position:relative}
.cs-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;font-size:16px;font-family:inherit;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.625rem .875rem;color:#334155;cursor:pointer}
.custom-select.open .cs-trigger{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f6}
.cs-value.placeholder{color:#94a3b8}
.cs-chev{width:18px;height:18px;flex:none;transition:transform .2s}
.custom-select.open .cs-chev{transform:rotate(180deg)}
.cs-options{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 14px 34px -10px rgba(15,31,77,.3);padding:.3rem;margin:0;list-style:none;max-height:260px;overflow:auto;display:none}
.custom-select.open .cs-options{display:block}
.cs-option{font-size:16px;line-height:1.3;padding:.6rem .7rem;border-radius:.5rem;color:#334155;cursor:pointer}
.cs-option:hover,.cs-option.active{background:#eff6ff;color:#1d4ed8}

/* ---------- file: variants ---------- */
.file\:mr-3::file-selector-button{margin-right:.75rem}
.file\:py-2\.5::file-selector-button{padding-top:.625rem;padding-bottom:.625rem}
.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}
.file\:border-0::file-selector-button{border-width:0}
.file\:bg-brand-50::file-selector-button{background-color:#eff6ff}
.file\:text-brand-700::file-selector-button{color:#1d4ed8}
.file\:font-semibold::file-selector-button{font-weight:600}
.hover\:file\:bg-brand-100:hover::file-selector-button{background-color:#dbeafe}

/* ---------- hover states ---------- */
.hover\:bg-brand-50:hover{background-color:#eff6ff}
.hover\:bg-brand-700:hover{background-color:#1d4ed8}
.hover\:bg-green-600:hover{background-color:#16a34a}
.hover\:bg-orange-600:hover{background-color:#ea580c}
.hover\:bg-white\/20:hover{background-color:rgba(255,255,255,.2)}
.hover\:text-white:hover{color:#fff}
.hover\:text-brand-600:hover{color:#2563eb}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}

/* ---------- group (details open) ---------- */
.group[open] .group-open\:rotate-45{transform:rotate(45deg)}

/* ============================================================
   Responsive
   ============================================================ */
@media (min-width:640px){
  .sm\:flex{display:flex}
  .sm\:flex-row{flex-direction:row}
  .sm\:items-end{align-items:flex-end}
  .sm\:gap-4{gap:1rem}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:h-10{height:2.5rem}
  .sm\:h-56{height:14rem}
  .sm\:p-7{padding:1.75rem}
  .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:hidden{display:none}
  .sm\:inline{display:inline}
  .sm\:block{display:block}
}
@media (min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:hidden{display:none}
  .lg\:justify-self-end{justify-self:end}
  .lg\:pt-16{padding-top:4rem}
  .lg\:pb-20{padding-bottom:5rem}
  .lg\:text-5xl{font-size:3rem;line-height:1}
  .lg\:flex-none{flex:none}
}
