:root {
  --brand: #D06F77;
  --brand-dark: #B85761;

  --ink: #000000;
  --ink-soft: #333333;
  --muted: #767676;

  --bg: #FFFFFF;
  --bg-alt: #F5F5F5;
  --line: #EAEAEA;

  --font-sans: "Futura PT", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

/* =========================
   RESET TOTALE TIPOGRAFIA (NO IVYMODE)
========================= */

* {
  box-sizing: border-box;
  font-family: var(--font-sans) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* elimina qualsiasi serif residuo */
h1, h2, h3, h4, h5, h6,
p, span, a, input, button, label, small, strong, b, li {
  font-family: var(--font-sans) !important;
}

/* grassetti più puliti (evita effetto “sgranato”) */
strong, b {
  font-weight: 600 !important;
  -webkit-font-smoothing: antialiased;
}

/* BODY */
body {
  margin: 0;
  font-family: var(--font-sans) !important;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.55;
}

/* =========================
   LAYOUT HERO (ALLINEAMENTO FORM)
========================= */

.hero-inner {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: stretch; /* IMPORTANTISSIMO: stessa altezza colonna */
}

.form-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: 36px;
  position: sticky;
  top: 24px;
  height: fit-content;
}

/* =========================
   IMMAGINI (UGUALE ALTEZZA OVUNQUE)
========================= */

.hero-kit-img,
.kit-image-area {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--bg-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.hero-kit-img img,
.kit-image-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================
   KIT HERO
========================= */

.hero-kits-preview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.hero-kit {
  border: 1px solid var(--line);
  background: #fff;
  text-decoration: none;
  color: var(--ink);
  display: flex;
  flex-direction: column;
}

.hero-kit-body {
  padding: 14px;
}

.hero-kit-label {
  font-size: 10px;
  color: var(--brand);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.hero-kit-name {
  font-size: 16px;
  font-weight: 600;
}

.hero-kit-price strong {
  color: var(--brand);
  font-size: 16px;
  font-weight: 600;
}

/* =========================
   FORM FIX
========================= */

.shipping-hero {
  background: var(--brand);
  color: #fff;
  padding: 22px;
  margin: -36px -36px 20px;
}

.form-kit-recap {
  background: var(--bg-alt);
  padding: 14px;
  border-left: 3px solid var(--ink);
  margin-bottom: 24px;
  font-size: 13px;
}

/* input coerenti */
.field input {
  width: 100%;
  padding: 14px;
  border: 1px solid var(--line);
  font-size: 14px;
  font-family: var(--font-sans) !important;
}

.field input:focus {
  outline: none;
  border-color: var(--brand);
}

/* CTA */
.cta-btn {
  width: 100%;
  background: var(--brand);
  color: #fff;
  padding: 16px;
  border: none;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 10px;
  cursor: pointer;
}

/* =========================
   RECAPTCHA DISTANZIATO (FIX)
========================= */

.g-recaptcha {
  margin: 11px auto 14px auto !important;
  display: flex;
  justify-content: center;
}

/* evita attaccamento bottone */
#form_save {
  margin-top: 3px;
}

/* =========================
   KIT GRID
========================= */

.kits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.kit-card {
  border: 1px solid var(--line);
  background: #fff;
}

.kit-body {
  padding: 24px;
}

.kit-name {
  font-size: 20px;
  font-weight: 300;
}

.kit-desc {
  font-size: 14px;
  color: var(--ink-soft);
}

.kit-price-new {
  font-size: 28px;
  font-weight: 600;
  color: var(--brand);
}

/* =========================
   FIX GRASSETTI (ANTI “SGRANATO”)
========================= */

h1, h2, h3 {
  font-weight: 300;
  letter-spacing: -0.2px;
}

h1 strong, h2 strong, h3 strong {
  font-weight: 600;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 900px) {

  .hero-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .form-card {
    position: static;
  }

  .kits-grid {
    grid-template-columns: 1fr;
  }

  .hero-kits-preview {
    grid-template-columns: 1fr;
  }
}

/* FEEDATY */

.feedaty-wrapper{
    margin-top:20px;
}

.feedaty_widget{
    padding:0 !important;
    margin:0 !important;
}

.feedaty_widget *{
    max-width:100%;
}

@media (max-width:900px){

  .hero-inner{
      display:flex;
      flex-direction:column;
  }

  .hero-left{
      display:contents;
  }

  .badge-promo,
  h1,
  .hero-sub{
      order:1;
  }

  .form-card{
      order:2;
  }

  .hero-kits-preview{
      order:3;
      margin-top:24px;
  }

}
a{
    color: var(--brand);
}

a:hover{
    color: var(--brand-dark);
}