﻿/**
 * Infiintare SRL Page Styles
 * Mobile-first approach - base styles for mobile, scale up with media queries
 */

/* ===== Page Header ===== */
.page-header {
  padding: 40px 0 32px;
}

.page-header-center {
  text-align: center;
}

/* ===== Modals ===== */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  z-index: 10000;
  animation: none;
}

.modal-container {
  max-width: 480px;
  margin: 10vh auto;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
}

.modal-container-sm {
  max-width: 420px;
  margin: 12vh auto;
  padding: 22px 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  border-radius: 14px;
}

.modal-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.modal-header-sm {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.modal-icon-wrapper {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold) 0%, #d4a017 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.modal-icon-wrapper-danger {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fee2e2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-icon {
  color: #fff;
  font-size: 1.25rem;
}

.modal-icon-danger {
  color: #ef4444;
}

.modal-title-wrapper {
  flex: 1;
}

.modal-title {
  font-weight: 700;
  color: var(--navy);
  font-size: 1.15rem;
}

.modal-title-sm {
  font-weight: 600;
  color: #0f172a;
}

.modal-subtitle {
  font-size: 0.85rem;
  color: #6b7280;
  margin-top: 2px;
}

.modal-message {
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.4;
  margin-bottom: 18px;
}

.modal-info-box {
  background: #f9fafb;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
}

.modal-info-content {
  font-size: 0.9rem;
  color: #374151;
  line-height: 1.6;
}

.modal-info-item {
  display: flex;
  align-items: start;
  gap: 8px;
  margin-bottom: 8px;
}

.modal-info-item:last-child {
  margin-bottom: 0;
}

.modal-info-icon {
  color: var(--gold);
  margin-top: 2px;
}

.modal-security-box {
  background: #ecfdf5;
  border: 1px solid #10b981;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 18px;
}

.modal-security-content {
  display: flex;
  align-items: start;
  gap: 8px;
}

.modal-security-icon {
  color: #059669;
  font-size: 1rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.modal-security-text {
  flex: 1;
  font-size: 0.8rem;
  color: #047857;
  line-height: 1.4;
}

.modal-label {
  display: block;
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 8px;
  font-size: 0.95rem;
}

.modal-required {
  color: #ef4444;
}

.modal-input {
  width: 100%;
  font-size: 1rem;
  padding: 14px 16px;
}

.modal-error {
  display: none;
  color: #ef4444;
  font-size: 0.85rem;
  margin-top: 6px;
}

.modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.modal-loading {
  display: none;
  text-align: center;
  padding: 20px 0;
}

.modal-spinner {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 3px solid #f3f4f6;
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.modal-loading-text {
  margin-top: 12px;
  color: #6b7280;
  font-size: 0.9rem;
}

/* ===== Progress Bar ===== */
.progress-wrapper {
  margin-bottom: 28px;
}

.simple-progress-bar {
  height: 32px;
  border-radius: 16px;
  background: #e5e7eb;
  position: relative;
  overflow: hidden;
}

.simple-progress-fill {
  width: 0%;
  height: 100%;
  border-radius: 16px;
  transition: none;
}

.progress-text-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  z-index: 10;
}

.progress-text {
  font-size: 0.85rem;
  color: var(--navy);
  font-weight: 600;
  white-space: nowrap;
}

/* ===== Form Sections ===== */
.form-section-center {
  text-align: center;
  margin-bottom: 24px;
}

.form-section-title {
  font-size: 1.5rem;
  margin-bottom: 12px;
  line-height: 1.3;
  color: var(--navy);
}

.hidden-fields {
  display: none;
}

/* ===== Hosting Selection Cards ===== */
.hosting-selection-container {
  background: #fefce8;
  border: 2px solid #d4af37;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
}

.hosting-choice-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

.hosting-choice-btn {
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 12px;
}

.hosting-choice-btn:hover {
  border-color: var(--gold);
  background: #fffbeb;
}

.hosting-choice-btn.active {
  border-color: var(--gold);
  background: #fefce8;
  border-width: 3px;
}

.hosting-choice-icon {
  font-size: 2rem;
}

.hosting-choice-content {
  flex: 1;
}

.hosting-choice-title {
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 4px;
}

.hosting-choice-desc {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0;
}

/* Hosting Packages */
.hosting-packages-container {
  display: none;
  margin-top: 16px;
}

.hosting-packages-container.active {
  display: block;
}

.hosting-packages-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.hosting-package-card {
  position: relative;
}

.hosting-package-option {
  position: relative;
  border: 2px solid #d1d5db;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 14px;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.hosting-package-option:focus-visible {
  outline: 3px solid rgba(212, 168, 83, 0.35);
  outline-offset: 2px;
}

.hosting-package-option.is-selected {
  border-color: var(--gold);
  background: linear-gradient(180deg, #fff8e8 0%, #fffdf5 100%);
  box-shadow: 0 10px 24px rgba(212, 168, 83, 0.18);
}

.hosting-package-top {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  align-items: start;
  margin-bottom: 10px;
}

.hosting-package-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  grid-row: span 2;
}

.hosting-package-title-wrap {
  min-width: 0;
}

.hosting-package-name {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.35;
  color: #111827;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.hosting-package-price-chip {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #111827;
  color: #f9fafb;
}

.hosting-package-price-chip strong {
  font-size: 1rem;
  font-weight: 800;
}

.hosting-package-price-chip span {
  font-size: 0.82rem;
  color: #d1d5db;
}

.hosting-package-description {
  margin: 0 0 10px 0;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #475569;
}

.hosting-package-details {
  margin: 0;
  padding: 11px 12px;
  border-left: 3px solid var(--gold);
  border-radius: 8px;
  background: #f3f4f6;
  color: #334155;
  font-size: 0.86rem;
  line-height: 1.5;
}

.hosting-package-checkmark {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 26px;
  height: 26px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 13px;
  opacity: 0;
  transform: scale(0.82);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.hosting-package-card.selected .hosting-package-checkmark {
  opacity: 1;
  transform: scale(1);
}

.hosting-package-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.hosting-package-actions {
  margin-top: 14px;
  display: flex;
  justify-content: center;
}

@media (hover: hover) {
  .hosting-package-option:hover {
    border-color: #c4b38e;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
  }
}

@media (min-width: 768px) {
  .hosting-packages-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .hosting-package-option {
    padding: 16px;
  }

  .hosting-package-top {
    grid-template-columns: 48px 1fr auto;
    gap: 12px;
    align-items: center;
  }

  .hosting-package-icon-wrap {
    width: 48px;
    height: 48px;
    font-size: 1.5rem;
    grid-row: auto;
  }

  .hosting-package-price-chip {
    grid-column: auto;
    margin-left: 8px;
  }
}

/* Address Form Section */
.address-form-section {
  display: none;
  margin-top: 16px;
}

.address-form-section.active {
  display: block;
}

/* CAEN Suggestion Section */
.caen-suggestion-section {
  background: #f8f9fa;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
}

.caen-suggestion-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.caen-suggestion-icon {
  color: var(--gold);
  font-size: 1.2rem;
}

.caen-suggestion-title {
  font-weight: 600;
  color: var(--navy);
  font-size: 1rem;
  margin: 0;
}

.caen-suggestion-desc {
  color: #6b7280;
  font-size: 0.9rem;
  margin-bottom: 12px;
  line-height: 1.4;
}

.caen-activity-input {
  width: 100%;
  padding: 12px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 0.95rem;
  margin-bottom: 12px;
  resize: vertical;
  min-height: 80px;
}

.caen-activity-input:focus {
  outline: none;
  border-color: var(--gold);
  background: #fffbeb;
}

.caen-suggest-btn {
  width: 100%;
}

.caen-suggestion-results {
  display: none;
  margin-top: 16px;
}

/* CAEN Suggestion Cards */
.caen-suggestion-card {
  background: #f8f9fa;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  transition: all 0.2s;
  margin-bottom: 12px;
}

.caen-suggestion-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.caen-suggestion-card-inner {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  flex-direction: column;
}

.caen-suggestion-info {
  flex: 1;
  width: 100%;
}

.caen-suggestion-code-name {
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 4px;
  font-size: 0.95rem;
}

.caen-suggestion-reason {
  font-size: 0.85rem;
  color: #6b7280;
  display: flex;
  align-items: start;
  gap: 6px;
}

.caen-suggestion-buttons {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.add-primary-btn,
.add-secondary-btn {
  white-space: nowrap;
  padding: 8px 12px;
  font-size: 0.8rem;
  width: 100%;
  justify-content: center;
}

/* CAEN Empty State */
.caen-empty-state {
  text-align: center;
  padding: 40px 20px;
}

.caen-empty-box {
  background: #fef3c7;
  border: 2px dashed var(--gold);
  border-radius: 12px;
  padding: 32px 20px;
  margin-bottom: 20px;
}

.caen-empty-icon {
  font-size: 2.5rem;
  color: var(--gold);
  margin-bottom: 16px;
}

.caen-empty-title {
  color: var(--navy);
  margin-bottom: 12px;
  font-size: 1.2rem;
}

.caen-empty-desc {
  color: #92400e;
  font-size: 0.95rem;
  margin-bottom: 20px;
  line-height: 1.5;
}

/* Dovada Sediului Cards */
.contract-type-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

.contract-type-option {
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 12px;
}

.contract-type-option:hover {
  border-color: var(--gold);
  background: #fffbeb;
}

.contract-type-radio {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.contract-type-content {
  flex: 1;
}

.contract-type-title {
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 4px;
}

.contract-type-desc {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0;
}

/* Contract Details Section */
.contract-details-section {
  display: none;
  margin-top: 16px;
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
}

/* Info Boxes */
.info-box {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 0.9rem;
  margin-top: 16px;
  line-height: 1.5;
}

.info-box-icon {
  margin-right: 8px;
}

/* Payment Step Pricing */
.pricing-breakdown {
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
}

.pricing-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}

.pricing-row:last-child {
  border-bottom: none;
  padding-top: 16px;
  margin-top: 8px;
  border-top: 2px solid #e5e7eb;
}

.pricing-label {
  color: #374151;
  font-size: 0.95rem;
}

.pricing-value {
  color: var(--navy);
  font-weight: 600;
  font-size: 1rem;
}

.pricing-row.total .pricing-label {
  font-weight: 700;
  color: var(--navy);
  font-size: 1.1rem;
}

.pricing-row.total .pricing-value {
  font-size: 1.5rem;
  color: var(--gold);
}

/* Payment Methods */
.payment-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.payment-method-option {
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 12px;
}

.payment-method-option:hover {
  border-color: var(--gold);
}

.payment-method-option.selected {
  border-color: var(--gold);
  background: #fefce8;
}

.payment-method-radio {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.payment-method-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
}

.payment-method-details {
  flex: 1;
}

.payment-method-title {
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 4px;
}

.payment-method-desc {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0;
}

/* Bank Transfer Details */
.bank-transfer-details {
  display: none;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
}

.bank-transfer-details.active {
  display: block;
}

.bank-detail-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
  flex-wrap: wrap;
  gap: 8px;
}

.bank-detail-row:last-child {
  border-bottom: none;
}

.bank-detail-label {
  font-weight: 600;
  color: #374151;
  font-size: 0.9rem;
}

.bank-detail-value {
  color: var(--navy);
  font-family: monospace;
  font-size: 0.9rem;
  text-align: right;
}

/* ===== Animations ===== */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* ===== Tablet Styles (576px and up) ===== */
@media (min-width: 576px) {
  .hosting-choice-buttons {
    flex-direction: row;
  }

  .hosting-packages-grid {
    grid-template-columns: 1fr;
  }

  .contract-type-options {
    flex-direction: row;
  }

  .payment-methods {
    flex-direction: row;
  }

  .caen-suggestion-card-inner {
    flex-direction: row;
    align-items: center;
  }

  .caen-suggestion-buttons {
    flex-direction: row;
    width: auto;
    flex-shrink: 0;
  }

  .add-primary-btn,
  .add-secondary-btn {
    width: auto;
  }

  .caen-suggest-btn {
    width: auto;
  }

  .caen-empty-icon {
    font-size: 3rem;
  }

  .caen-empty-title {
    font-size: 1.4rem;
  }
}

/* ===== Desktop Styles (768px and up) ===== */
@media (min-width: 768px) {
  .hosting-selection-container {
    padding: 20px;
  }

  .hosting-packages-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hosting-package-card {
    padding: 0;
  }

  .pricing-breakdown {
    padding: 24px;
  }

  .bank-transfer-details {
    padding: 20px;
  }

  .caen-suggestion-section {
    padding: 20px;
  }

  .caen-activity-input {
    min-height: 100px;
  }
}

/* ===== Large Desktop Styles (992px and up) ===== */
@media (min-width: 992px) {
  .hosting-packages-grid {
    gap: 16px;
  }

  .payment-methods {
    gap: 16px;
  }

  .caen-empty-box {
    padding: 40px 32px;
  }
}

/* Moved from infiintare-srl.php inline <style> blocks */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

.signature-cards-grid {
              display: grid;
              grid-template-columns: 1fr;
              gap: 10px;
            }
            @media (min-width: 992px) {
              .signature-cards-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 12px;
              }
            }

@keyframes bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
          }

.caen-category-card {
            background: #f8f9fa;
            border: 2px solid #e5e7eb;
            border-radius: 12px;
            padding: 20px;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            gap: 12px;
          }

          .caen-category-card i {
            width: 48px;
            height: 48px;
            background: var(--navy);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            color: white;
            flex-shrink: 0;
          }

          .caen-category-card h5 {
            font-weight: 600;
            color: var(--navy);
            font-size: 1rem;
            margin: 0 0 4px 0;
          }

          .caen-category-card p {
            font-size: 0.8rem;
            color: #6b7280;
            margin: 0;
          }

          .caen-category-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            border-color: var(--gold);
          }

          .caen-category-card.selected {
            background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
            border-color: var(--gold);
            box-shadow: 0 4px 16px rgba(212,168,83,0.3);
          }

          .caen-category-card.manual {
            background: linear-gradient(135deg, var(--gold) 0%, #d4a853 100%);
            border-color: var(--gold);
          }

          .caen-category-card.manual i {
            background: white;
            color: var(--gold);
          }

          .caen-category-card.manual h5 {
            color: white;
          }

          .caen-category-card.manual p {
            color: rgba(255,255,255,0.9);
          }

          /* CAEN Activity Item Styles */
.caen-activity-item {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.2s;
}

          .caen-activity-item:hover {
            border-color: var(--gold);
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
          }

.caen-activity-item.principal {
  border-left: 3px solid var(--gold);
  background: #fffaf0;
}

.caen-activity-item.secondary {
  border-left: 3px solid #9ca3af;
}

          .caen-code-badge {
            background: var(--navy);
            color: white;
            padding: 6px 12px;
            border-radius: 6px;
            font-weight: 600;
            font-size: 0.9rem;
            flex-shrink: 0;
          }

          .caen-description {
            flex: 1;
            color: #374151;
            font-size: 0.9rem;
            line-height: 1.4;
          }

          .caen-actions {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-left: auto;
            flex-shrink: 0;
          }

          .caen-promote-btn {
            padding: 6px 10px;
            font-size: 0.75rem;
            white-space: nowrap;
          }

          .caen-remove-btn {
            background: #fee2e2;
            color: #dc2626;
            border: none;
            width: 32px;
            height: 32px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            flex-shrink: 0;
          }

          .caen-remove-btn:hover {
            background: #dc2626;
            color: white;
          }

          @media (max-width: 767.98px) {
  .caen-activity-item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 8px;
    padding: 10px;
  }

            .caen-code-badge {
              align-self: start;
            }

            .caen-description {
              min-width: 0;
    font-size: 1rem;
    line-height: 1.45;
    word-break: break-word;
    margin: 0;
  }

            .caen-actions {
              grid-column: 1 / -1;
              width: 100%;
              margin-left: 0;
    margin-top: 2px;
    justify-content: flex-end;
    flex-wrap: wrap;
  }

            .caen-promote-btn {
              flex: 1 1 auto;
              min-height: 40px;
              font-size: 0.8rem;
              text-align: center;
              padding: 8px 10px;
            }

            .caen-remove-btn {
    width: 40px;
    height: 40px;
  }
}

/* CAEN selected panels */
.caen-selected-wrapper {
  background: #f0fdf4;
  border: 2px solid #22c55e;
  border-radius: 14px;
  padding: 14px;
}

.caen-selected-section {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px 12px 14px;
  margin-bottom: 12px;
}

.caen-selected-section h4 {
  margin: 0 0 8px 0;
  font-size: 1.05rem;
}

.caen-selected-section p {
  margin: 0 0 10px 0;
  color: #475569;
  line-height: 1.45;
  font-size: 0.95rem;
}

.caen-selected-section .btn {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
}

@media (max-width: 767.98px) {
  .caen-selected-wrapper {
    padding: 10px;
    border-width: 1px;
  }
  .caen-selected-section {
    padding: 10px 10px 12px;
    border-radius: 10px;
  }
  .caen-selected-section h4 {
    font-size: 1rem;
  }
  .caen-selected-section p {
    font-size: 0.92rem;
  }
}

          .btn-outline-gold {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: transparent;
            color: var(--gold);
            border: 2px solid var(--gold);
            padding: 10px 20px;
            border-radius: 8px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
          }

          .btn-outline-gold:hover {
            background: var(--gold);
            color: white;
          }

details[open] summary i.fa-chevron-down {
            transform: rotate(180deg);
          }

.asociatie-radio-label:has(input:checked) {
              border-color: var(--gold) !important;
              background: #fffbeb !important;
            }
            .asociatie-radio-label:hover {
              border-color: #f59e0b;
            }

.contract-type-grid {
              display: grid;
              grid-template-columns: 1fr;
              gap: 12px;
            }
            @media (min-width: 992px) {
              .contract-type-grid {
                grid-template-columns: repeat(2, minmax(320px, 720px));
                justify-content: center;
              }
            }

/* Auto-generated from infiintare-srl.php inline style attributes */
.srl-inline-7464b896 { padding:40px 0 32px;; }
.srl-inline-539b047e { text-align:center;; }
.srl-inline-8083ed58 { display:none; position:fixed; inset:0; background:rgba(15,23,42,0.45); z-index:9999;; }
.srl-inline-1e60937f { max-width:420px; margin:12vh auto; background:#fff; border-radius:14px; padding:22px 20px; box-shadow:0 20px 50px rgba(0,0,0,0.2);; }
.srl-inline-f15dbda0 { display:flex; align-items:center; gap:12px; margin-bottom:10px;; }
.srl-inline-37dd05bb { width:36px; height:36px; border-radius:50%; background:#fee2e2; display:flex; align-items:center; justify-content:center;; }
.srl-inline-25cb8a6a { color:#ef4444;; }
.srl-inline-b98a8cab { font-weight:600; color:#0f172a;; }
.srl-inline-2b62d0ab { color:#475569; font-size:0.95rem; line-height:1.4; margin-bottom:18px;; }
.srl-inline-6640acb8 { display:flex; justify-content:flex-end; gap:10px;; }
.srl-inline-50d2ea79 { color:#ef4444; border-color:#ef4444;; }
.srl-inline-a41b45ef { display:none; position:fixed; inset:0; background:rgba(15,23,42,0.55); z-index:10000; }
.srl-inline-3018409b {
  max-width:480px;
  margin:8vh auto 5vh;
  background:#fff;
  border-radius:18px;
  padding:24px 22px 96px;
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
  border:1px solid #e5e7eb;
  max-height:calc(100vh - 40px);
  overflow-y:auto;
}
.srl-inline-2756a118 {
  display:flex;
  gap:12px;
  justify-content:space-between;
  flex-wrap:wrap;
  position:sticky;
  bottom:0;
  background:#fff;
  padding:12px 0 6px;
  margin-top:12px;
  border-top:1px solid #eef1f5;
  box-shadow:0 -6px 24px rgba(0,0,0,0.06);
}
.srl-inline-2756a118 .btn { flex:1 1 48%; min-width:0; justify-content:center; }

@media (max-width: 575.98px) {
  .srl-inline-3018409b { margin: 6vh 12px 3vh; padding:20px 18px 90px; max-height:calc(100vh - 32px); }
  .srl-inline-2756a118 { gap:10px; }
  .srl-inline-2756a118 .btn { flex:1 1 100%; }
}
.srl-inline-f9ee683f { display:flex; align-items:center; gap:14px; margin-bottom:16px;; }
.srl-inline-868d3c8a { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg, var(--gold) 0%, #d4a017 100%); display:flex; align-items:center; justify-content:center; flex-shrink:0;; }
.srl-inline-9af7066f { color:#fff; font-size:1.25rem;; }
.srl-inline-d5e8c5f3 { flex:1;; }
.srl-inline-ae027f24 { font-weight:700; color:var(--navy); font-size:1.15rem;; }
.srl-inline-8770c6cd { font-size:0.85rem; color:#6b7280; margin-top:2px;; }
.srl-inline-759be1cf { background:#f9fafb; border-radius:10px; padding:14px 16px; margin-bottom:18px;; }
.srl-inline-be00a9de { font-size:0.9rem; color:#374151; line-height:1.6;; }
.srl-inline-bc5993f5 { display:flex; align-items:start; gap:8px; margin-bottom:8px;; }
.srl-inline-7e91bc1c { color:var(--gold); margin-top:2px;; }
.srl-inline-5d7fa1cb { display:flex; align-items:start; gap:8px;; }
.srl-inline-5499ee4a { margin-bottom:18px;; }
.srl-inline-b6908954 { display:block; font-weight:600; color:var(--navy); margin-bottom:8px; font-size:0.95rem;; }
.srl-inline-c9e34862 { color:#ef4444; }
.srl-inline-763eebc9 { width:100%; font-size:1rem; padding:14px 16px;; }
.srl-inline-03c4d676 { display:none; color:#ef4444; font-size:0.85rem; margin-top:6px;; }
.srl-inline-1598edcf { background:#ecfdf5; border:1px solid #10b981; border-radius:8px; padding:10px 12px; margin-bottom:18px;; }
.srl-inline-a7f31b8c { color:#059669; font-size:1rem; margin-top:2px; flex-shrink:0;; }
.srl-inline-e093687e { flex:1; font-size:0.8rem; color:#047857; line-height:1.4;; }
.srl-inline-2756a118 { display:flex; gap:10px; justify-content:flex-end;; }
.srl-inline-c7a53586 { padding:10px 20px;; }
.srl-inline-79cd4d56 { padding:10px 24px;; }
.srl-inline-f8373d7a { display:none; text-align:center; padding:20px 0;; }
.srl-inline-fe599958 { display:inline-block; width:32px; height:32px; border:3px solid #f3f4f6; border-top-color:var(--gold); border-radius:50%; animation:spin 0.8s linear infinite;; }
.srl-inline-c3d0d316 { margin-top:12px; color:#6b7280; font-size:0.9rem;; }
.srl-inline-93b8ea5b { display:none;; }
.srl-inline-801732a1 { margin-bottom:28px;; }
.srl-inline-0b5e8b53 { height:32px; border-radius:16px; background:#e5e7eb; position:relative;; }
.srl-inline-89e35f7a { width:0%; height:100%; border-radius:16px;; }
.srl-inline-f75b804d { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; text-align:center; z-index:10;; }
.srl-inline-3b8065bc { font-size:0.85rem; color:var(--navy); font-weight:600; white-space:nowrap;; }
.srl-inline-3181f1c2 { text-align:center; margin-bottom:24px;; }
.srl-inline-cdd8242a { font-size:1.5rem; margin-bottom:12px; line-height:1.3; color:var(--navy);; }
.srl-inline-537c3f57 { color:var(--gold); margin-right:8px;; }
.srl-inline-06d0c093 { font-size:0.95rem; color:#6b7280; max-width:560px; margin:0 auto;; }
.srl-inline-58aba575 { cursor:pointer;; }
.srl-inline-e755e42a { font-size:1.05rem;; }
.srl-inline-2e1da625 { display:block; margin-top:4px;; }
.srl-inline-7beb6efe { margin-top:10px; padding-top:10px; border-top:1px solid #e5e7eb;; }
.srl-inline-8a2e5ba6 { font-size:0.95rem; color:#1f2937;; }
.srl-inline-fd39994c { font-size:1.3rem; color:var(--gold);; }
.srl-inline-b2fae2eb { color:#6b7280;; }
.srl-inline-9db64763 { font-size:0.85rem; color:#ef4444; margin-top:4px;; }
.srl-inline-85a24042 { font-size:0.85rem; color:#3b82f6; margin-top:4px;; }
.srl-inline-3f887ffb { display:none; margin-top:12px;; }
.srl-inline-3d12f1a7 { display:block; margin-top:8px; color:#6b7280;; }
.srl-inline-45d37dc5 { background:linear-gradient(135deg, #f0f9ff 0%, #fef3c7 100%); border-radius:12px; padding:16px; margin-top:20px; text-align:center;; }
.srl-inline-a0e410e4 { font-size:0.9rem; color:#1f2937; line-height:1.7;; }
.srl-inline-9318a9cf { color:var(--navy); font-size:1rem;; }
.srl-inline-99b5c532 { margin-top:8px; display:flex; justify-content:center; gap:20px; flex-wrap:wrap;; }
.srl-inline-1efd7491 { margin-top:16px;; }
.srl-inline-cb2c4374 { color:var(--gold); text-decoration:underline;; }
.srl-inline-e60a0d03 { display:flex; justify-content:center; margin-top:24px;; }
.srl-inline-57d90a8b { font-size:1.1rem; padding:16px 40px;; }
.srl-inline-c7610d6d { background:linear-gradient(135deg, #f0f9ff 0%, #fef3c7 100%); border-radius:16px; padding:24px; margin-bottom:24px; border:2px solid var(--gold);; }
.srl-inline-5cb4289e { display:flex; align-items:center; gap:12px; margin-bottom:16px;; }
.srl-inline-5db62ab5 { width:48px; height:48px; background:var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; flex-shrink:0;; }
.srl-inline-08647ea3 { margin:0; font-size:1.05rem; color:var(--navy);; }
.srl-inline-d1c50b71 { font-size:1.05rem; padding:14px;; }
.srl-inline-5c9b1cb5 { background:linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%); border:1px solid #10b981; border-radius:8px; padding:12px 16px; margin-top:12px;; }
.srl-inline-d861744e { display:flex; align-items:start; gap:10px;; }
.srl-inline-6e476775 { color:#059669; font-size:1.2rem; margin-top:2px;; }
.srl-inline-77bd07c5 { font-weight:600; color:#065f46; font-size:0.9rem; margin-bottom:4px;; }
.srl-inline-92094ca1 { color:#047857; font-size:0.85rem; line-height:1.5;; }
.srl-inline-2f2f354b { display:none; margin-top:16px;; }
.srl-inline-406d52a2 { background:white; border:2px solid #e5e7eb; border-radius:12px; padding:20px; margin-bottom:20px;; }
.srl-inline-ffe12e94 { display:flex; align-items:center; gap:10px; margin-bottom:16px;; }
.srl-inline-06d51caa { font-size:1.5rem;; }
.srl-inline-45fd1955 { font-weight:600; color:var(--navy); font-size:1.05rem;; }
.srl-inline-32d33fef { font-size:0.85rem; color:#6b7280;; }
.srl-inline-53463d6d { margin-bottom:12px;; }
.srl-inline-79365996 { color:var(--gold); }
.srl-inline-6c438ca6 { display:none; margin-bottom:24px;; }
.srl-inline-d0227291 { margin-bottom:16px; text-align:center; display:none;; }
.srl-inline-ae5e4c21 { display:none; position:relative;; }
.srl-inline-03a36704 { position:absolute; top:10px; right:12px; color:#ef4444; border-color:#ef4444; display:inline-flex; padding:4px 10px!important; font-size:0.75rem!important; line-height:1.1;; }
.srl-inline-29cb1148 { margin-bottom:4px;; }
.srl-inline-dff9532d { font-size:0.78rem; margin-top:4px; color:#9ca3af;; }
.srl-inline-6b67e457 { margin-top:10px; display:none;; }
.srl-inline-656d0a7b { padding:10px 12px; background:#fff; border-radius:6px; border-left:4px solid var(--gold);; }
.srl-inline-d55bfd34 { text-align:center;margin-top:10px;; }
.srl-inline-019128fe { min-width:220px;; }
.srl-inline-e1341016 { margin-top:20px; display:none; justify-content:center; gap:12px;; }
.srl-inline-c5fe4a09 { padding:12px 32px;; }
.srl-inline-83994a1e { display:none; margin-top:18px;; }
.srl-inline-e0a53afe { display:flex; gap:24px; margin-top:6px;; }
.srl-inline-7a543b16 { display:flex; align-items:center; gap:7px; font-weight:500; cursor:pointer;; }
.srl-inline-b697c166 { accent-color:var(--gold);; }
.srl-inline-127f80a0 { font-size:0.82rem; color:#6b7280; margin-top:6px;; }
.srl-inline-92d17336 { margin-top:10px;; }
.srl-inline-0b6b41dc { max-width:120px;; }
.srl-inline-538f98e1 { opacity:0.5; cursor:not-allowed;; }
.srl-inline-64e186c1 { margin-top:24px;; }
.srl-inline-a565055e { background:white; border:2px solid #e5e7eb; border-radius:12px; padding:20px;; }
.srl-inline-d0915670 { font-weight:600; color:var(--navy); font-size:1.05rem; margin-bottom:16px;; }
.srl-inline-44673856 { display:flex; gap:24px;; }
.srl-inline-00d71bea { font-size:0.78rem; color:#6b7280; margin-top:4px;; }
.srl-inline-c609fc11 { background:#f9fafb;; }
.srl-inline-8ba813d5 { display:flex; gap:16px; margin-top:8px;; }
.srl-inline-c42bff67 { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:12px; border:2px solid #e5e7eb; border-radius:8px; font-weight:500; cursor:pointer; transition:all 0.2s;; }
.srl-inline-ab5aaa9d { font-size:1.4rem; margin-bottom:6px; color:var(--navy);; }
.srl-inline-38b89324 { font-size:0.9rem; color:#6b7280; margin:0;; }
.srl-inline-b0cff3ab { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin-bottom:24px;; }
.srl-inline-6841118b { margin-bottom:20px;; }
.srl-inline-8a42e98d { background:#f3f4f6; color:var(--navy); padding:10px 20px; border-radius:8px; font-size:0.9rem; border:2px solid #e5e7eb;; }
.srl-inline-71f20790 { margin-right:8px;; }
.srl-inline-c2a01282 { background:linear-gradient(135deg, #eff6ff 0%, #f0f9ff 100%); border:2px solid #3b82f6; border-radius:12px; padding:24px; margin-bottom:24px;; }
.srl-inline-3f4687e9 { color:var(--navy); margin-bottom:12px;; }
.srl-inline-1655473f { color:#3b82f6;; }
.srl-inline-10c3ff14 { font-size:0.9rem; color:#1e40af; margin-bottom:16px;; }
.srl-inline-36da975c { resize:vertical; min-height:80px;; }
.srl-inline-8588e44d { width:100%;; }
.srl-inline-4bf89dcf { background:white; border:2px solid var(--gold); border-radius:12px; padding:24px; margin-bottom:24px;; }
.srl-inline-622d3df7 { color:var(--navy); margin-bottom:16px;; }
.srl-inline-e02e647a { color:var(--gold);; }
.srl-inline-a1d9ba65 { font-size:0.9rem; color:#6b7280; margin-bottom:16px;; }
.srl-inline-8b7f07bd { margin-top:12px; display:none;; }
.srl-inline-73a57caf { background:white; border:2px solid #e5e7eb; border-radius:12px; padding:24px; margin-bottom:24px;; }
.srl-inline-eb0f5497 { display:none; background:#f0fdf4; border:2px solid #22c55e; border-radius:12px; padding:20px; margin-bottom:24px;; }
.srl-inline-c5bc9342 { color:#166534; margin-bottom:12px;; }
.srl-inline-bdedc30b { background:#f8f9fa; border:1px solid #e5e7eb; border-radius:12px; padding:20px; margin-bottom:20px;; }
.srl-inline-05e53471 { display:none;cursor:pointer; font-weight:600; color:var(--navy); font-size:1.05rem; list-style:none; display:flex; align-items:center; gap:10px;; }
.srl-inline-26b241b2 { color:var(--gold); transition:transform 0.3s;; }
.srl-inline-bb1a9548 { margin-top:20px; display:flex; flex-direction:column; gap:16px;; }
.srl-inline-42f6d004 { font-size:0.95rem;; }
.srl-inline-751276ee { color:#6b7280; margin-right:6px;; }
.srl-inline-9e59eabb { font-size:0.8rem; color:#6b7280; margin-top:4px;; }
.srl-inline-bb3c4353 { background:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border:2px solid #f59e0b; border-radius:12px; padding:16px; margin-bottom:24px;; }
.srl-inline-ab8379c8 { display:flex; gap:12px;; }
.srl-inline-e45a825d { color:#d97706; font-size:1.5rem; flex-shrink:0;; }
.srl-inline-84e12bc8 { font-weight:600; color:#92400e; margin-bottom:6px;; }
.srl-inline-e1575862 { font-size:0.9rem; color:#78350f; line-height:1.6;; }
.srl-inline-c3136f54 { display:flex; align-items:flex-start; gap:12px; margin-bottom:8px;; }
.srl-inline-177776ef { width:36px; height:36px; border-radius:8px; background:#e5e7eb; display:flex; align-items:center; justify-content:center; color:#111827;; }
.srl-inline-06f21017 { font-size:0.9rem; color:#6b7280; margin-top:4px;; }
.srl-inline-e4eb3fc5 { background:#eff6ff; border:1px solid #bfdbfe; color:#1d4ed8; padding:12px 14px; border-radius:8px; font-size:0.9rem; margin:12px 0;; }
.srl-inline-6b04d27f { background:#fef3c7; border-radius:12px; padding:20px; margin:20px 0;; }
.srl-inline-a48a7de0 { font-size:0.95rem; color:#78350f; margin-bottom:16px; line-height:1.5;; }
.hosting-choice-group { display:flex; gap:12px; flex-wrap:wrap; }
.btn-hosting-choice {
  flex:1;
  min-width:200px;
  background:#fff;
  color:#1f2937;
  border:2px solid #e5e7eb;
  padding:14px 24px;
  border-radius:8px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  text-align:center;
}
.btn-hosting-choice.is-selected {
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow:0 4px 12px rgba(0,0,0,0.12);
}
.btn-hosting-choice:focus-visible {
  outline:3px solid #d4af37;
  outline-offset:2px;
}
.srl-inline-38362022 { display:none; margin:20px 0;; }
.srl-inline-53b9d94c { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px;; }
.srl-inline-d5cec693 { background:#fff; border:2px solid #e5e7eb; border-radius:12px; padding:20px; cursor:pointer; transition:all 0.2s;; }
.srl-inline-ed06954f { display:flex; align-items:flex-start; gap:16px;; }
.srl-inline-a15d9929 { width:48px; height:48px; flex-shrink:0; border-radius:8px; background:#f3f4f6; display:flex; align-items:center; justify-content:center; font-size:1.5rem;; }
.srl-inline-cc683f92 { font-weight:700; font-size:1.1rem; color:var(--navy); margin-bottom:8px;; }
.srl-inline-650b5c67 { color:var(--gold); margin-left:8px;; }
.srl-inline-4a4e3b0f { color:#6b7280; font-size:0.9rem; margin:0 0 8px 0; line-height:1.5;; }
.srl-inline-3260d221 { font-size:0.85rem; color:#1f2937; background:#f9fafb; padding:10px; border-radius:6px; border-left:3px solid var(--gold);; }
.srl-inline-9fbf63ea { display:flex; justify-content:center; gap:12px; margin-top:20px;; }
.srl-inline-0b09d8ab { margin-left:8px;; }
.srl-inline-4cb8ceeb { position:relative;; }
.srl-inline-8dbfbe96 { padding-right:210px;; }
.srl-inline-c619b7cb { position:absolute; right:8px; top:50%; transform:translateY(-50%); background:var(--gold); border:none; color:#fff; padding:6px 12px; border-radius:6px; font-size:0.85rem; cursor:pointer; font-weight:600; transition:all 0.2s; white-space:nowrap;; }
.srl-inline-e9eaedc5 { font-weight:600; color:var(--navy); margin-bottom:12px;; }
.srl-inline-6de53983 { display:grid; grid-template-columns:1fr 1fr; gap:12px;; }
.srl-inline-85e15e73 { display:flex; align-items:center; gap:10px; padding:12px; background:#fff; border:2px solid #e5e7eb; border-radius:8px; font-weight:500; cursor:pointer; transition:all 0.2s;; }
.srl-inline-cf2954b0 { width:20px;height:20px;accent-color:var(--gold);; }
.srl-inline-0af0c9c2 { margin-top:16px; padding-top:16px; border-top:1px dashed #e5e7eb;; }
.srl-inline-862793c7 { font-size:0.9rem; font-weight:600; color:#6b7280; margin-bottom:12px;; }
.srl-inline-26f876a3 { display:none; margin-top:16px; padding:16px; background:#fefce8; border-radius:8px; border:1px dashed #fbbf24;; }
.srl-inline-74eccd90 { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; margin-bottom:12px;; }
.srl-inline-1d3989a6 { font-weight:600; color:var(--navy);; }
.srl-inline-b57cd480 { display:flex; align-items:flex-start; gap:12px; padding:16px; border:2px solid #e5e7eb; border-radius:8px; cursor:pointer; transition:all 0.2s;; }
.srl-inline-794b1eb6 { margin-top:3px; accent-color:var(--gold);; }
.srl-inline-612e079d { font-weight:600; color:var(--navy); margin-bottom:4px;; }
.srl-inline-36d469eb { background:#fffbeb; border:2px solid var(--gold); border-radius:12px; padding:20px; margin-bottom:20px;; }
.srl-inline-5529fe18 { max-width:150px;; }
.srl-inline-e457bff0 { background:#fef3c7; border-left:4px solid #f59e0b; padding:12px 16px; border-radius:6px; margin-top:16px;; }
.srl-inline-ba3042fc { font-size:0.85rem; color:#92400e; line-height:1.5;; }
.srl-inline-7e5870d0 { text-align:center; margin-bottom:24px; color:var(--navy); font-size:1.5rem;; }
.srl-inline-6e2ccf95 { font-size:0.9rem; color:#6b7280; line-height:1.6; margin-bottom:12px;; }
.srl-inline-1be6953f { background:#fef3c7; border:1px solid #f59e0b; color:#92400e; padding:12px 14px; border-radius:8px; font-size:0.9rem; margin-bottom:16px;; }
.srl-inline-169dad5c { display:block; border:2px solid #e5e7eb; border-radius:10px; padding:16px; cursor:pointer;; }
.srl-inline-fe94b5d9 { display:flex; gap:10px; align-items:center;; }
.srl-inline-155dcc73 { font-size:0.85rem; color:#6b7280; margin-top:6px;; }
.srl-inline-6de03ceb { background:#eff6ff; border:1px solid #bfdbfe; color:#1d4ed8; padding:12px 14px; border-radius:8px; font-size:0.9rem; margin-top:16px;; }
.srl-inline-bc1dec78 { margin:10px 0 0 18px; font-size:0.85rem; color:#6b7280; line-height:1.5;; }
.srl-inline-80a7c61f { background:#fef3c7; border:1px solid #f59e0b; color:#92400e; padding:12px 14px; border-radius:8px; font-size:0.9rem; margin-top:16px;; }
.srl-inline-a1f52590 { text-align:center; margin-bottom:12px;; }
.srl-inline-710df8cb { text-align:center; margin-bottom:32px;; }
.srl-inline-cb6d9db2 { background:#f8f9fa; border-radius:12px; padding:24px; margin-bottom:24px;; }
.srl-inline-53e1cde8 { font-size:1.1rem; margin-bottom:16px; color:var(--navy);; }
.srl-inline-56248620 { border-top:2px solid #e5e7eb; margin-top:12px; padding-top:12px; font-size:1.25rem; font-weight:700;; }
.srl-inline-986d1d0c { display:flex; flex-direction:column; gap:12px;; }
.srl-inline-8faaed9d { display:none; margin-top:16px; padding:16px; background:#fff3cd; border:1px solid #ffc107; border-radius:8px;; }
.srl-inline-ae3c65bb { margin:0; font-size:0.95rem; color:#856404;; }
.srl-inline-d3d52d9c { background:#f8f9fa; border-radius:12px; padding:20px; margin-bottom:24px;; }
.srl-inline-5a42ef45 { padding:16px 48px; font-size:1.1rem; font-weight:600;; }

/* ===== Mobile Readability Fixes ===== */
@media (max-width: 767.98px) {
  .form-panel {
    padding: 14px;
    border-radius: 16px;
  }

  .form-step h3,
  .form-section-title,
  .srl-inline-cdd8242a,
  .srl-inline-7e5870d0 {
    font-size: 1.3rem !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }

  .step-desc,
  .form-step p,
  .srl-inline-d1c50b71,
  .srl-inline-6e2ccf95,
  .srl-inline-a48a7de0,
  .srl-inline-06d0c093 {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
  }

  .contact-input {
    font-size: 16px !important;
    line-height: 1.4;
    padding: 12px 14px !important;
  }

  .srl-inline-c7610d6d,
  .srl-inline-c2a01282,
  .srl-inline-406d52a2,
  .srl-inline-a565055e,
  .srl-inline-73a57caf,
  .srl-inline-cb6d9db2 {
    padding: 16px !important;
    border-radius: 10px !important;
  }

  .srl-inline-5cb4289e,
  .srl-inline-ffe12e94,
  .srl-inline-ed06954f {
    gap: 10px !important;
    align-items: flex-start !important;
  }

  .srl-inline-5db62ab5,
  .srl-inline-a15d9929 {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.2rem !important;
  }

  .srl-inline-99b5c532 {
    gap: 10px !important;
    justify-content: flex-start !important;
  }

  .srl-inline-99b5c532 span {
    font-size: 0.9rem;
  }

  .srl-inline-7817352e {
    flex-direction: column !important;
  }

  .srl-inline-ccdedd3f,
  .srl-inline-c775d253 {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center;
  }

  .srl-inline-6de53983 {
    grid-template-columns: 1fr !important;
  }

  .srl-inline-8dbfbe96 {
    padding-right: 14px !important;
  }

  .srl-inline-c619b7cb {
    position: static !important;
    transform: none !important;
    width: 100%;
    margin-top: 10px;
    display: inline-flex;
    justify-content: center;
  }

  .form-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
  }

  .form-nav .btn,
  .form-nav .btn-back,
  .form-nav .btn-gold {
    font-size: 1rem !important;
    padding: 12px 16px !important;
  }

  .form-nav .btn-next,
  .form-nav .btn[type="submit"] {
    width: 100%;
    order: 2;
    justify-content: center;
  }

  .form-nav .btn-back {
    order: 1;
    min-height: 44px;
  }

  .details-box > summary {
    font-size: 0.98rem;
    line-height: 1.4;
  }

  .form-label {
    font-size: 0.9rem;
    line-height: 1.35;
  }

  /* Member cards (saved associates) */
  .member-card[data-index] > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }

  .member-card[data-index] > div > div:first-child {
    flex: 1 1 100% !important;
    min-width: 0;
  }

  .member-card[data-index] > div > div:last-child {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }

  .member-card[data-index] .modify-member-btn,
  .member-card[data-index] .delete-member-btn,
  .member-card[data-index] .modify-admin-btn,
  .member-card[data-index] .delete-admin-btn {
    display: inline-flex !important;
    width: 100%;
    justify-content: center;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 0.98rem;
  }

  .member-card[data-index] .modify-member-btn,
  .member-card[data-index] .modify-admin-btn {
    margin-right: 0 !important;
  }

  .member-card__upload p {
    font-size: 0.92rem;
    line-height: 1.45;
  }
}

@media (min-width: 768px) {
  .member-card[data-index] > div {
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }

  .member-card[data-index] > div > div:first-child {
    flex: 1 1 auto !important;
  }

  .member-card[data-index] > div > div:last-child {
    width: auto;
    display: flex !important;
    gap: 8px !important;
  }

  .member-card[data-index] .modify-member-btn,
  .member-card[data-index] .delete-member-btn,
  .member-card[data-index] .modify-admin-btn,
  .member-card[data-index] .delete-admin-btn {
    display: inline-flex !important;
    width: auto;
    min-height: 0;
  }
}

/* ===== Tablet + Mobile Form Fixes ===== */
@media (max-width: 991.98px) {
  /* Step 5 duration cards: avoid cramped side-by-side layout */
  .srl-inline-8ba813d5 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .srl-inline-c42bff67 {
    justify-content: flex-start !important;
    text-align: left;
    min-height: 52px;
    padding: 12px 14px !important;
  }

  .srl-inline-c42bff67 span {
    font-size: 1rem;
    line-height: 1.35;
  }

  /* Keep navigation buttons above floating phone button */
  .form-nav {
    position: relative;
    z-index: 950;
    background: #fff;
  }

  .form-nav .btn-next,
  .form-nav .btn[type="submit"] {
    position: relative;
    z-index: 951;
  }

  /* Make room at bottom so CTA is never blocked */
  .form-panel {
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
  }
}

/* ===== Payment Summary Cleanup ===== */
.confirm-step .price-line {
  align-items: baseline;
  gap: 12px;
}

.confirm-step .price-line > span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  color: #1f2937;
}

.confirm-step .price-line > span:last-child {
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 600;
  text-align: right;
}

/* ===== Company Name Status (Step 2) ===== */
#companyNameStatus .name-check-card {
  overflow: hidden;
}

#companyNameStatus .name-check-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

#companyNameStatus .name-check-icon {
  flex-shrink: 0;
}

#companyNameStatus .name-check-content {
  min-width: 0;
}

#companyNameStatus .name-check-title,
#companyNameStatus .name-check-subtitle {
  overflow-wrap: anywhere;
  word-break: break-word;
}

#companyNameStatus .name-check-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

#companyNameStatus .name-check-icon--bounce {
  animation: bounce 1s;
}

@media (max-width: 767.98px) {
  #companyNameStatus .name-check-card {
    padding: 14px !important;
    border-radius: 10px !important;
  }

  #companyNameStatus .name-check-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  #companyNameStatus .name-check-icon {
    width: 52px !important;
    height: 52px !important;
    font-size: 1.6rem !important;
  }

  #companyNameStatus .name-check-title {
    font-size: 1.05rem !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }

  #companyNameStatus .name-check-subtitle {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
  }

  #companyNameStatus .name-check-note {
    padding: 10px 12px !important;
  }

  #companyNameStatus .name-check-note span,
  #companyNameStatus .name-check-note--error span {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
  }

  #companyNameStatus .name-check-loading-icon {
    font-size: 1.5rem !important;
  }

  #companyNameStatus .name-check-suggestions ul {
    padding-left: 16px !important;
  }
  .caen-selected-wrapper {
    padding: 1px;
    border-width: 1px;
    border: 0;
  }
  .srl-inline-eb0f5497 {
    display: none;
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0px;
    margin-bottom: 0;
  }
  .srl-inline-c5bc9342 { display: none;}
}
