/* ============================================================
   Abajururi personalizate — strat modern peste abj.css
   Limbajul FD.STIL: Playfair Display + Inter, accente pastel vesele,
   hairline calde, carduri albe. Se incarca DUPA abj.css.
   ============================================================ */

:root {
  --abj-ink:      #1d1812;
  --abj-text:     #3c3733;
  --abj-muted:    #8d8577;
  --abj-line:     #E9E2D6;
  --abj-soft:     #FAF7F2;
  /* paleta pastel: fond deschis + textul din aceeasi nuanta, mai inchis */
  --abj-peach:    #FFD9C4;   /* butoane */
  --abj-peach-h:  #FFC9AC;
  --abj-peach-t:  #9C4F26;
  --abj-rose:     #F6CFDA;   /* numerele pasilor */
  --abj-rose-t:   #C2607E;
  --abj-sky:      #CBDFF0;   /* etichete campuri + focus */
  --abj-sky-t:    #5B88B4;
  --abj-lilac:    #DFD8F2;   /* cardul de contact */
  --abj-lilac-t:  #7A6ABF;
}

/* ---- Baza ---- */
body.gridlock.custom-order,
.custom-order p, .custom-order li, .custom-order label,
.custom-order select, .custom-order input, .custom-order textarea {
  font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  color: var(--abj-text);
}
.custom-order p { font-size: 14.5px !important; line-height: 1.65 !important; }
.custom-order p b, .custom-order p strong { color: var(--abj-ink); }
.custom-order ul { list-style: none !important; padding-left: 0 !important; }
.custom-order ul li {
  font-size: 12.5px !important;
  color: var(--abj-muted) !important;
  line-height: 1.55 !important;
  margin-bottom: 4px;
}

/* ---- Titlu (un singur H1, ecranul 1) ---- */
.abj-eyebrow {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--abj-rose-t);
  font-weight: 500;
  margin: 26px 0 10px;
  text-align: left !important;
  text-indent: 0 !important;
}
h1.abj-h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 4.5vw, 44px) !important;
  letter-spacing: 0 !important;
  color: var(--abj-ink) !important;
  margin: 0 0 14px !important;
  text-indent: 0 !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

/* ---- Imaginea hero ---- */
.custom-order .desktop-full img { border-radius: 14px; width: 100%; height: auto; }

/* ---- Carduri (pasii) ---- */
.custom-order .round-box {
  background: #fff !important;
  border: 1px solid var(--abj-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 26px rgba(29,24,18,0.045) !important;
  padding: 26px 26px 20px !important;
  margin: 0 0 26px !important;
}
.custom-order fieldset { border: none !important; margin: 0 !important; padding: 0 !important; }

/* legendele pasilor: numarul in roz pastel Playfair, eticheta in Playfair ink */
.custom-order legend {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 21px !important;
  color: var(--abj-ink) !important;
  font-weight: 400 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.custom-order legend b {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 28px !important;
  color: var(--abj-rose-t) !important;
  font-weight: 400 !important;
  margin-right: 2px;
}

/* ---- Optiuni cu imagine (materiale, forme, fixari) ---- */
.custom-order .radio-image,
.custom-order .radio-button {
  font-size: 12px !important;
  letter-spacing: 0.06em;
  color: var(--abj-muted) !important;
  text-transform: uppercase;
}
.custom-order .radio-image img,
.custom-order .radio-button img {
  border-radius: 10px !important;
  border: 1px solid var(--abj-line) !important;
  background: #fff;
  transition: transform 0.22s cubic-bezier(0.4,0,0.2,1),
              box-shadow 0.22s cubic-bezier(0.4,0,0.2,1),
              border-color 0.22s ease;
}
.custom-order .radio-image a:hover img,
.custom-order .radio-image a:focus-visible img,
.custom-order .radio-button a:hover img,
.custom-order .radio-button a:focus-visible img {
  transform: translateY(-3px);
  border-color: var(--abj-sky) !important;
  box-shadow: 0 12px 28px rgba(29,24,18,0.10);
}
.custom-order .radio-image a:focus-visible,
.custom-order .radio-button a:focus-visible {
  outline: 2px solid var(--abj-sky-t);
  outline-offset: 3px;
  border-radius: 10px;
}

/* ---- Formulare: selecturi, inputuri, textarea ---- */
.custom-order select,
.custom-order textarea,
.custom-order input[type="text"],
.custom-order input[type="email"],
.custom-order input[type="tel"] {
  border: 1px solid #E1DACD !important;
  border-radius: 10px !important;
  background: #fff !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  color: var(--abj-ink) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.custom-order select:focus,
.custom-order textarea:focus,
.custom-order input[type="text"]:focus,
.custom-order input[type="email"]:focus,
.custom-order input[type="tel"]:focus {
  outline: none !important;
  border-color: var(--abj-sky-t) !important;
  box-shadow: 0 0 0 3px rgba(91,136,180,0.16) !important;
}
.custom-order label {
  font-size: 11px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--abj-sky-t) !important;
  font-weight: 500 !important;
}
/* etichetele optiunilor cu imagine raman cum sunt definite mai sus */
.custom-order .radio-image, .custom-order .radio-button { font-weight: 400 !important; }

/* ---- Butoane ---- */
.custom-order .button,
.custom-order a.button,
.custom-order button,
.custom-order input[type="submit"] {
  font-family: 'Inter', Helvetica, Arial, sans-serif !important;
  background: var(--abj-peach) !important;
  background-image: none !important;
  color: var(--abj-peach-t) !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  padding: 13px 28px !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background 0.2s ease !important;
}
.custom-order .button:hover,
.custom-order a.button:hover,
.custom-order button:hover,
.custom-order input[type="submit"]:hover {
  background: var(--abj-peach-h) !important;
  color: var(--abj-peach-t) !important;
}
.custom-order .button:focus-visible,
.custom-order input[type="submit"]:focus-visible {
  outline: 2px solid var(--abj-peach-t) !important;
  outline-offset: 2px;
}
/* butonul mare "Calculeaza pretul" */
.custom-order #orderFormSubmit {
  font-size: 13px !important;
  padding: 16px 28px !important;
  min-width: 100% !important;
}

/* spinnerul de cantitate: nu e buton de actiune, ramane discret */
.custom-order .wan-spinner .minus,
.custom-order .wan-spinner .plus {
  background: var(--abj-soft) !important;
  color: var(--abj-ink) !important;
  border: 1px solid #E1DACD !important;
  border-radius: 999px 0 0 999px !important;
  text-transform: none !important;
  padding: 5px !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
.custom-order .wan-spinner .plus { border-radius: 0 999px 999px 0 !important; }
.custom-order .wan-spinner .minus:hover,
.custom-order .wan-spinner .plus:hover {
  background: var(--abj-peach) !important;
  color: var(--abj-peach-t) !important;
}
.custom-order .wan-spinner input {
  border: 1px solid #E1DACD !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  color: var(--abj-ink) !important;
}

/* ---- Pretul calculat ---- */
.custom-order legend b[style*="25px"],
.custom-order legend b[style*="font-size:25px"] {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 32px !important;
  color: var(--abj-ink) !important;
  letter-spacing: 0 !important;
}
.custom-order legend u { text-decoration: none !important; color: var(--abj-muted) !important; }

/* ---- Cardul de contact lateral ---- */
.custom-order .sidebar-cta {
  background: #F7F4FD;
  border-left: 2px solid var(--abj-lilac);
  border-radius: 0 12px 12px 0;
  padding: 16px 18px;
}
.custom-order .sidebar-cta a { color: var(--abj-lilac-t) !important; text-decoration: none; }
.custom-order .sidebar-cta a:hover { text-decoration: underline; }

/* ---- Subtitlul H3 "Reguli de dimensionare" ---- */
.custom-order h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--abj-ink) !important;
  margin: 8px 0 12px !important;
}

/* ---- Miscari reduse ---- */
@media (prefers-reduced-motion: reduce) {
  .custom-order .radio-image img,
  .custom-order .radio-button img { transition: none; }
  .custom-order .radio-image a:hover img,
  .custom-order .radio-button a:hover img { transform: none; }
}

/* ---- Mobil ---- */
@media (max-width: 610px) {
  .custom-order .round-box { padding: 18px 16px 14px !important; border-radius: 12px !important; }
  h1.abj-h1 { font-size: 28px !important; }
  .abj-eyebrow { margin-top: 14px; }
}
