:root {
          --smp-primary: #7d8f4a;
          --smp-primary-dark: #5a6834;
          --smp-primary-light: #9aad5c;
          --smp-olive-soft: #eef2e3;
          --smp-olive-mist: rgba(125, 143, 74, 0.18);
          --smp-olive-glow: rgba(125, 143, 74, 0.42);
          --smp-olive-halo: rgba(154, 173, 92, 0.55);
          --smp-text: #1a2210;
          --smp-text-muted: #5c6648;
          --smp-border: rgba(125, 143, 74, 0.22);
          --smp-bg: #fbfdf8;
          --smp-surface: #ffffff;
          --smp-radius: 22px;
        }

        .smp-popup-overlay {
          position: fixed;
          inset: 0;
          background: rgba(15, 23, 42, 0.55);
          backdrop-filter: blur(4px);
          -webkit-backdrop-filter: blur(4px);
          display: flex;
          align-items: center;
          justify-content: center;
          z-index: 99999;
          padding: 20px;
          animation: smpOverlayIn 0.45s ease;
        }
        @keyframes smpOverlayIn {
          from { opacity: 0; }
          to { opacity: 1; }
        }

        .smp-popup {
          position: relative;
          background: #fbfdf8;
          border-radius: var(--smp-radius);
          max-width: 540px;
          width: 100%;
          border: 1px solid rgba(255, 255, 255, 0.85);
          box-shadow: 0 25px 60px rgba(15, 23, 42, 0.25);
          overflow: hidden;
          font-family: inherit;
          animation: smpPopupIn 0.5s cubic-bezier(0.22, 1.15, 0.36, 1);
          display: flex;
          flex-direction: column;
        }
        .smp-popup::before {
          content: '';
          position: absolute;
          inset: 0;
          border-radius: inherit;
          pointer-events: none;
          z-index: 0;
          background:
            radial-gradient(circle 130px at -8% -10%, rgba(125, 143, 74, 0.28) 0%, transparent 72%),
            radial-gradient(circle 115px at 108% -8%, rgba(154, 173, 92, 0.24) 0%, transparent 70%),
            radial-gradient(circle 120px at -10% 108%, rgba(90, 104, 52, 0.22) 0%, transparent 68%),
            radial-gradient(circle 110px at 108% 108%, rgba(125, 143, 74, 0.26) 0%, transparent 70%),
            radial-gradient(circle 90px at -6% 50%, rgba(154, 173, 92, 0.14) 0%, transparent 72%),
            radial-gradient(circle 90px at 106% 50%, rgba(125, 143, 74, 0.14) 0%, transparent 72%),
            radial-gradient(circle 70px at 50% -6%, rgba(154, 173, 92, 0.12) 0%, transparent 68%),
            radial-gradient(circle 65px at 50% 106%, rgba(125, 143, 74, 0.1) 0%, transparent 65%);
        }
        .smp-popup::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          height: 4px;
          background: linear-gradient(90deg, var(--smp-primary-dark), var(--smp-primary), var(--smp-primary-light), var(--smp-primary));
          z-index: 2;
        }
        @keyframes smpPopupIn {
          from { opacity: 0; transform: scale(0.9) translateY(24px); }
          to { opacity: 1; transform: scale(1) translateY(0); }
        }

        .smp-popup-header {
          position: relative;
          z-index: 5;
          display: flex;
          align-items: center;
          justify-content: flex-start;
          min-height: 48px;
          padding: 10px 14px 6px;
          flex-shrink: 0;
          box-sizing: border-box;
        }
        .smp-popup-header .smp-close {
          margin-inline-start: auto;
        }

        .smp-popup .smp-close {
          position: static;
          width: 34px;
          height: 34px;
          display: flex;
          align-items: center;
          justify-content: center;
          background: rgba(255, 255, 255, 0.92);
          color: var(--smp-text-muted);
          border-radius: 10px;
          cursor: pointer;
          font-size: 0;
          line-height: 1;
          flex-shrink: 0;
          transition: all 0.25s ease;
          border: 1px solid var(--smp-border);
          backdrop-filter: blur(8px);
          box-shadow: 0 2px 8px rgba(125, 143, 74, 0.08);
        }
        .smp-popup .smp-close::before {
          content: '\00d7';
          font-size: 22px;
          font-weight: 400;
          line-height: 1;
        }
        .smp-popup .smp-close:hover {
          background: #fff5f5;
          color: #b91c1c;
          border-color: rgba(185, 28, 28, 0.25);
          box-shadow: 0 0 14px rgba(185, 28, 28, 0.12);
          transform: rotate(90deg);
        }

        .smp-steps {
          padding: 0;
          position: relative;
          z-index: 1;
          flex: 1 1 auto;
          min-height: 0;
        }

        .smp-popup .smp-step {
          display: none;
          padding: 8px 30px 18px;
          background: transparent;
          border: none;
        }
        .smp-popup .smp-step.active,
        .smp-step.active { display: block; }

        .smp-popup .smp-step h3 {
          margin: 0 0 22px;
          font-size: 18px;
          font-weight: 800;
          color: var(--smp-text);
          line-height: 1.65;
          text-align: center;
          letter-spacing: -0.01em;
          position: relative;
          padding-bottom: 14px;
        }
        .smp-popup .smp-step h3::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 50%;
          transform: translateX(-50%);
          width: 56px;
          height: 3px;
          border-radius: 999px;
          background: linear-gradient(90deg, transparent, var(--smp-primary), transparent);
          box-shadow: 0 0 12px var(--smp-olive-glow);
        }

        .smp-field { margin-bottom: 16px; }
        .smp-field > div {
          display: flex;
          flex-direction: column;
          gap: 10px;
        }

        .smp-field--text {
          display: flex;
          flex-direction: column;
          gap: 8px;
          margin-bottom: 18px;
        }
        .smp-field__label {
          display: block;
          font-size: 13px;
          font-weight: 700;
          color: var(--smp-text-muted);
          margin: 0;
          padding: 0 2px;
          line-height: 1.5;
          text-align: right;
          cursor: default;
          border: none;
          background: none;
          box-shadow: none;
        }
        .smp-field__label .smp-required {
          color: #b45309;
          font-weight: 800;
        }
        .smp-field--text .smp-input {
          margin: 0;
        }
        .smp-input--invalid {
          border-color: #dc2626 !important;
          box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
        }
        .smp-field-error {
          display: none;
          color: #dc2626;
          font-size: 12px;
          font-weight: 500;
          margin-top: 6px;
          padding: 0 4px;
          line-height: 1.5;
          text-align: right;
        }
        .smp-field-error.smp-is-visible {
          display: block;
        }
        .smp-field--invalid > div > .smp__label__class {
          border-color: #fecaca;
        }
        .smp-input--tel {
          direction: ltr;
          text-align: left;
          font-family: inherit;
          letter-spacing: 0.02em;
        }
        .smp-contact-fields {
          position: relative;
          display: flex;
          flex-direction: column;
          gap: 16px;
          margin-top: 10px;
          padding: 22px 18px 18px;
          border-radius: 18px;
          border: 2px solid rgba(125, 143, 74, 0.32);
          background:
            linear-gradient(145deg, #fff 0%, var(--smp-olive-soft) 48%, #f7faef 100%);
          box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.9) inset,
            0 4px 20px rgba(125, 143, 74, 0.1),
            0 0 28px var(--smp-olive-mist);
          overflow: hidden;
        }
        .smp-contact-fields::before {
          content: '';
          position: absolute;
          inset: 0;
          border-radius: inherit;
          pointer-events: none;
          background:
            radial-gradient(circle 80px at 100% 0%, rgba(154, 173, 92, 0.18) 0%, transparent 70%),
            radial-gradient(circle 70px at 0% 100%, rgba(125, 143, 74, 0.12) 0%, transparent 68%);
        }
        .smp-contact-fields::after {
          content: 'اطلاعات تماس';
          position: relative;
          z-index: 1;
          display: block;
          align-self: center;
          margin: -6px auto 2px;
          padding: 5px 16px;
          font-size: 12px;
          font-weight: 800;
          letter-spacing: 0.02em;
          color: var(--smp-primary-dark);
          background: linear-gradient(135deg, #fff 0%, var(--smp-olive-soft) 100%);
          border: 1.5px solid rgba(125, 143, 74, 0.28);
          border-radius: 999px;
          box-shadow: 0 2px 10px rgba(125, 143, 74, 0.1);
        }
        .smp-contact-fields .smp-field--text {
          position: relative;
          z-index: 1;
          margin-bottom: 0;
          padding: 12px 14px;
          border-radius: 14px;
          background: rgba(255, 255, 255, 0.88);
          border: 1.5px solid var(--smp-border);
          box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.95),
            0 2px 8px rgba(125, 143, 74, 0.05);
          transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
        }
        .smp-contact-fields .smp-field--text:focus-within {
          border-color: rgba(125, 143, 74, 0.5);
          background: #fff;
          box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 1),
            0 0 0 3px var(--smp-olive-mist),
            0 4px 14px rgba(125, 143, 74, 0.12);
        }
        .smp-contact-fields .smp-field--text.smp-field--invalid {
          border-color: #f87171;
          background: #fffafa;
          box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.12);
        }
        .smp-contact-fields .smp-field__label {
          min-height: 20px;
          color: var(--smp-primary-dark);
          font-size: 13px;
          font-weight: 800;
        }
        .smp-contact-fields .smp-field__label .smp-required {
          color: var(--smp-primary);
        }
        .smp-contact-fields .smp-field--text .smp-input {
          display: block;
          width: 100%;
          min-height: 46px;
          height: 46px;
          padding: 0 14px;
          font-size: 15px;
          line-height: 46px;
          border: 1.5px solid var(--smp-border);
          border-radius: 12px;
          background: linear-gradient(180deg, #fff 0%, #fbfdf8 100%);
          color: var(--smp-text);
          -webkit-appearance: none;
          appearance: none;
          box-shadow: inset 0 1px 3px rgba(125, 143, 74, 0.04);
          transition: border-color 0.25s ease, box-shadow 0.25s ease;
        }
        .smp-contact-fields .smp-field--text .smp-input:focus {
          border-color: var(--smp-primary);
          background: #fff;
          box-shadow:
            0 0 0 3px var(--smp-olive-mist),
            0 0 20px rgba(125, 143, 74, 0.15),
            inset 0 1px 2px rgba(125, 143, 74, 0.04);
        }
        .smp-contact-fields .smp-field--text .smp-input::placeholder {
          color: #94a387;
          opacity: 0.9;
        }
        .smp-contact-fields .smp-input--tel {
          font-variant-numeric: tabular-nums;
        }

        .smp-success-panel {
          text-align: center;
          padding: 20px 10px 10px;
        }
        .smp-success-icon {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 72px;
          height: 72px;
          margin: 0 auto 16px;
        }
        .smp-success-icon svg {
          width: 72px;
          height: 72px;
          display: block;
          filter: drop-shadow(0 0 12px rgba(125, 143, 74, 0.45));
        }
        .smp-success-icon__circle {
          fill: rgba(125, 143, 74, 0.12);
          stroke: var(--smp-primary);
          stroke-width: 2.5;
        }
        .smp-success-icon__check {
          fill: none;
          stroke: var(--smp-primary);
          stroke-width: 4;
          stroke-linecap: round;
          stroke-linejoin: round;
        }
        .smp-success-panel__title {
          margin: 0 0 12px;
          font-size: 18px;
          font-weight: 800;
          color: var(--smp-text);
          line-height: 1.6;
        }
        .smp-success-panel__text {
          margin: 0;
          font-size: 15px;
          font-weight: 500;
          color: var(--smp-text-muted);
          line-height: 1.75;
        }
        .smp-success-panel__links {
          display: flex;
          flex-direction: column;
          gap: 10px;
          margin-top: 18px;
        }
        .smp-success-panel__links .smp__popup__a {
          margin-top: 0;
        }

        .smp-field label:not(.smp__label__class):not(.smp-field__label) {
          font-size: 14px;
          font-weight: 600;
          color: var(--smp-text-muted);
        }

        .smp__label__class {
          display: flex;
          flex-direction: row;
          gap: 10px;
          align-items: center;
          font-size: 14px;
          font-weight: 500;
          color: var(--smp-text);
          cursor: pointer;
          padding: 14px 16px;
          border-radius: 14px;
          border: 1.5px solid var(--smp-border);
          background: rgba(255, 255, 255, 0.88);
          transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
          box-shadow: 0 2px 8px rgba(125, 143, 74, 0.04);
        }
        .smp__label__class:hover {
          border-color: rgba(125, 143, 74, 0.45);
          background: #fff;
          box-shadow: 0 4px 18px rgba(125, 143, 74, 0.12);
          transform: translateY(-1px);
        }
        .smp__label__class:has(input:checked) {
          border-color: var(--smp-primary);
          background: linear-gradient(135deg, #f7faef 0%, var(--smp-olive-soft) 100%);
          box-shadow:
            0 0 0 3px var(--smp-olive-mist),
            0 0 22px rgba(125, 143, 74, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.8);
          color: var(--smp-primary-dark);
          font-weight: 600;
        }

        .smp-input {
          width: 100%;
          padding: 14px 16px;
          border: 1.5px solid var(--smp-border);
          border-radius: 14px;
          font-size: 15px;
          outline: none;
          transition: all 0.25s ease;
          background: rgba(255, 255, 255, 0.92);
          color: var(--smp-text);
          box-sizing: border-box;
          box-shadow: inset 0 1px 2px rgba(125, 143, 74, 0.04);
        }
        .smp-input:focus {
          border-color: var(--smp-primary);
          background: #fff;
          box-shadow:
            0 0 0 4px var(--smp-olive-mist),
            0 0 20px rgba(125, 143, 74, 0.18);
        }
        .smp-input::placeholder {
          color: #94a387;
          opacity: 1;
        }

        .smp-field input[type='radio'],
        .smp-field input[type='checkbox'] {
          accent-color: var(--smp-primary);
          width: 18px;
          height: 18px;
          cursor: pointer;
          flex-shrink: 0;
        }

        .smp-note {
          background: linear-gradient(135deg, rgba(238, 242, 227, 0.95) 0%, rgba(247, 250, 239, 0.98) 100%) !important;
          border: 1px solid rgba(125, 143, 74, 0.28) !important;
          color: var(--smp-primary-dark) !important;
          padding: 16px 18px !important;
          border-radius: 14px !important;
          margin-bottom: 18px !important;
          font-size: 14px !important;
          line-height: 1.75 !important;
          text-align: center !important;
          box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.6) inset,
            0 0 24px rgba(125, 143, 74, 0.14) !important;
          position: relative;
        }

        .smp-error {
          background: linear-gradient(135deg, #fff5f5, #fef2f2);
          border: 1px solid #fecaca;
          color: #dc2626;
          font-weight: 600;
          padding: 12px 16px;
          border-radius: 12px;
          margin: 20px 28px;
          text-align: center;
          font-size: 14px;
          box-shadow: 0 0 20px rgba(220, 38, 38, 0.12);
        }

        .smp-popup .smp-actions {
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 12px;
          padding: 18px 28px 26px;
          border-top: 1px solid rgba(125, 143, 74, 0.12);
          margin-top: 0;
          background: rgba(255, 255, 255, 0.45);
          position: relative;
          z-index: 1;
        }

        .smp-popup .smp-next,
        .smp-submit-btn,
        .smp-popup .smp-prev {
          border: none !important;
          border-radius: 14px !important;
          padding: 13px 24px !important;
          cursor: pointer;
          font-weight: 700;
          font-size: 14px;
          transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
          min-width: 110px;
          letter-spacing: 0.01em;
        }

        .smp-popup .smp-next,
        .smp-submit-btn {
          background: linear-gradient(135deg, var(--smp-primary-light) 0%, var(--smp-primary) 52%, var(--smp-primary-dark) 100%) !important;
          color: #fff !important;
          box-shadow:
            0 4px 14px rgba(90, 104, 52, 0.28),
            0 0 24px rgba(125, 143, 74, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
        }
        .smp-popup .smp-next:hover,
        .smp-submit-btn:hover {
          transform: translateY(-2px);
          box-shadow:
            0 8px 24px rgba(90, 104, 52, 0.35),
            0 0 32px rgba(125, 143, 74, 0.35),
            inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
          filter: brightness(1.05);
        }

        .smp-popup .smp-prev {
          background: rgba(255, 255, 255, 0.9) !important;
          color: var(--smp-text-muted) !important;
          border: 1.5px solid var(--smp-border) !important;
          box-shadow: 0 2px 8px rgba(125, 143, 74, 0.06) !important;
        }
        .smp-popup .smp-prev:hover {
          background: #fff !important;
          color: var(--smp-primary-dark) !important;
          border-color: rgba(125, 143, 74, 0.35) !important;
          box-shadow: 0 0 16px rgba(125, 143, 74, 0.12) !important;
          transform: translateY(-1px);
        }

        .smp-popup .smp-exit {
          background: linear-gradient(135deg, #fff1f2, #ffe4e6);
          color: #be123c;
          border: 1px solid #fecdd3;
          border-radius: 14px;
          padding: 12px 20px;
          cursor: pointer;
          font-weight: 700;
          font-size: 14px;
          box-shadow: 0 0 16px rgba(190, 18, 60, 0.1);
        }
        .smp-popup .smp-exit:hover {
          background: #ffe4e6;
          box-shadow: 0 0 22px rgba(190, 18, 60, 0.18);
        }

        .smp__popup__a {
          background: linear-gradient(135deg, #fff 0%, var(--smp-olive-soft) 100%);
          padding: 13px 20px;
          font-size: 15px;
          margin-top: 10px;
          display: inline-block;
          color: var(--smp-primary-dark);
          border-radius: 14px;
          font-weight: 700;
          text-decoration: none;
          transition: all 0.28s ease;
          border: 1px solid rgba(125, 143, 74, 0.25);
          box-shadow: 0 2px 12px rgba(125, 143, 74, 0.1);
        }
        .smp__popup__a:hover {
          background: linear-gradient(135deg, var(--smp-primary-light), var(--smp-primary));
          color: #fff;
          border-color: transparent;
          box-shadow:
            0 6px 22px rgba(90, 104, 52, 0.3),
            0 0 28px rgba(125, 143, 74, 0.28);
          transform: translateY(-2px);
        }

        .smp-message {
          text-align: center;
          margin: 16px 28px 0;
          font-weight: 600;
          font-size: 14px;
          color: var(--smp-primary-dark) !important;
          padding: 10px;
          border-radius: 10px;
          background: var(--smp-olive-soft);
          box-shadow: 0 0 20px rgba(125, 143, 74, 0.12);
        }
