/* ============================================================
   TAGHLEEFY — Custom Packaging Quote Request  v1.0  |  D2C  |  RTL
   ============================================================ */

:root {
  --tagh-ink-900:     #0A121F;
  --tagh-ink-700:     #16283F;
  --tagh-teal:        #0E9F9A;
  --tagh-teal-hover:  #0C8580;
  --tagh-teal-dim:    rgba(14,159,154,0.14);
  --tagh-text:        #E2E8F0;
  --tagh-muted:       #94A3B8;
  --tagh-white:       #FFFFFF;
  --tagh-ease:        220ms cubic-bezier(0.2,0,0.2,1);
  --tagh-glow-teal:   0 0 32px rgba(14,159,154,0.30);
}

.tagh-qf, .tagh-qf * { box-sizing: border-box; }

.tagh-qf {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  background: linear-gradient(135deg, var(--tagh-ink-900) 0%, var(--tagh-ink-700) 100%);
  padding: 120px 24px 96px;
  direction: rtl;
  font-family: 'Tajawal', 'Cairo', 'Segoe UI', system-ui, sans-serif;
}

.tagh-qf__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.tagh-qf__grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(14,159,154,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,159,154,0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 85% 65% at 50% 0%, black 20%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 85% 65% at 50% 0%, black 20%, transparent 100%);
}
.tagh-qf__glow {
  position: absolute; top: -120px; left: 50%; transform: translateX(-50%);
  width: 700px; height: 400px;
  background: radial-gradient(ellipse, rgba(14,159,154,0.25), transparent 70%);
  filter: blur(70px);
}

.tagh-qf__container {
  position: relative; z-index: 1;
  max-width: 1080px; margin: 0 auto;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 860px) {
  .tagh-qf__container { grid-template-columns: 1fr; }
}

/* ── Intro column ── */
.tagh-qf__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--tagh-teal-dim);
  border: 1px solid rgba(14,159,154,0.32);
  border-radius: 100px; padding: 7px 16px;
  font-size: 12.5px; font-weight: 700; color: var(--tagh-teal);
  margin-bottom: 22px;
}
.tagh-qf__badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--tagh-teal); }

.tagh-qf__title {
  font-size: clamp(1.7rem, 3.6vw, 2.4rem); font-weight: 800; color: var(--tagh-white);
  line-height: 1.35; margin: 0 0 16px;
}
.tagh-qf__title-hl {
  background: linear-gradient(130deg, var(--tagh-teal) 0%, #6FE0C9 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

.tagh-qf__subtitle { font-size: .98rem; color: var(--tagh-muted); line-height: 1.9; margin: 0 0 32px; max-width: 440px; }

.tagh-qf__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.tagh-qf__step { display: flex; align-items: center; gap: 12px; font-size: .92rem; color: var(--tagh-text); }
.tagh-qf__step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(14,159,154,0.35);
  color: var(--tagh-teal); font-size: .78rem; font-weight: 800;
}

/* ── Form card ── */
.tagh-qf__card {
  background: rgba(255,255,255,0.045);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 22px;
  padding: 36px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
}
@media (max-width: 480px) { .tagh-qf__card { padding: 24px 20px; } }

/* ── CF7 layout inside the card ── */
.tagh-qf__card .contact-form { display: flex; flex-direction: column; gap: 18px; }
.tagh-qf__card .contact-form__row { width: 100%; }
.tagh-qf__card .contact-form__row--cols-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
@media (max-width: 560px) {
  .tagh-qf__card .contact-form__row--cols-2 { grid-template-columns: 1fr; }
}
.tagh-qf__card .contact-form__col { min-width: 0; }

.tagh-qf__file-label {
  display: block; font-size: .85rem; font-weight: 700; color: var(--tagh-text);
  margin-bottom: 8px;
}

/* ── Field controls ──
   Scoped with #tagh-qf (ID specificity) to beat the site-wide
   #tagh-form-colors snippet, which forces #222 text/placeholder on
   every input via a 7-clause :not() chain (higher specificity than
   any class-only selector, even with !important). ── */
#tagh-qf .tagh-qf__card input:not([type=submit]):not([type=checkbox]):not([type=radio]),
#tagh-qf .tagh-qf__card textarea,
#tagh-qf .tagh-qf__card select {
  width: 100% !important;
  background: rgba(15, 23, 42, 0.6) !important;
  border: 1px solid rgba(14, 159, 154, 0.3) !important;
  border-radius: 12px !important;
  padding: 13px 16px !important;
  font-family: 'Tajawal', 'Cairo', sans-serif !important;
  font-size: .94rem !important;
  color: #ffffff !important;
  caret-color: var(--tagh-teal) !important;
  transition: border-color var(--tagh-ease), background var(--tagh-ease);
}
#tagh-qf .tagh-qf__card input::placeholder,
#tagh-qf .tagh-qf__card textarea::placeholder { color: #a0aec0 !important; opacity: 1 !important; }

#tagh-qf .tagh-qf__card input:focus,
#tagh-qf .tagh-qf__card textarea:focus,
#tagh-qf .tagh-qf__card select:focus {
  outline: none !important;
  border-color: rgba(14, 159, 154, 0.75) !important;
  background: rgba(15, 23, 42, 0.75) !important;
  box-shadow: 0 0 0 3px rgba(14,159,154,0.22) !important;
}

#tagh-qf .tagh-qf__card select { color-scheme: dark; }
#tagh-qf .tagh-qf__card select option { background: var(--tagh-ink-700); color: #ffffff; }

#tagh-qf .tagh-qf__card textarea { min-height: 110px; resize: vertical; }

#tagh-qf .tagh-qf__card input[type=file] {
  width: 100% !important;
  background: rgba(15, 23, 42, 0.45) !important;
  border: 1px dashed rgba(14, 159, 154, 0.4) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  color: #a0aec0 !important;
  font-size: .85rem !important;
}
.tagh-qf__card input[type=file]::file-selector-button {
  background: var(--tagh-teal-dim);
  border: 1px solid rgba(14,159,154,0.4);
  color: var(--tagh-teal);
  border-radius: 8px;
  padding: 8px 14px;
  font-family: inherit; font-weight: 700; font-size: .82rem;
  margin-inline-end: 10px;
  cursor: pointer;
}

/* ── Submit ── */
.tagh-qf__card .contact-form__submit--center { text-align: center; margin-top: 6px; }
.tagh-qf__card input[type=submit] {
  background: var(--tagh-teal) !important;
  color: var(--tagh-ink-900) !important;
  border: none !important;
  border-radius: 13px !important;
  padding: 15px 44px !important;
  font-family: 'Tajawal', 'Cairo', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  cursor: pointer;
  box-shadow: var(--tagh-glow-teal);
  transition: transform var(--tagh-ease), background var(--tagh-ease);
}
.tagh-qf__card input[type=submit]:hover { background: var(--tagh-teal-hover) !important; color: var(--tagh-white) !important; transform: translateY(-2px); }
.tagh-qf__card input[type=submit]:disabled { opacity: .6; cursor: progress; }

/* ── Validation / response ── */
.tagh-qf__card .wpcf7-not-valid-tip {
  color: #F87171 !important; font-size: .78rem !important; margin-top: 6px; display: block;
}
.tagh-qf__card .wpcf7-not-valid { border-color: #F87171 !important; }
.tagh-qf__card .wpcf7-response-output {
  margin: 18px 0 0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  font-size: .88rem !important;
  border: 1px solid rgba(14,159,154,0.35) !important;
  color: var(--tagh-text) !important;
  background: rgba(14,159,154,0.08) !important;
}
.tagh-qf__card .wpcf7 form.invalid .wpcf7-response-output,
.tagh-qf__card .wpcf7 form.unaccepted .wpcf7-response-output,
.tagh-qf__card .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: rgba(248,113,113,0.4) !important;
  background: rgba(248,113,113,0.08) !important;
}
.tagh-qf__card .wpcf7-spinner { margin-inline-start: 8px; }
