.arlu-quote-wrap {
  --arlu-bg: #050608;
  --arlu-card: #121419;
  --arlu-card-2: #171a21;
  --arlu-line: rgba(255,255,255,.10);
  --arlu-text: #f4f7fb;
  --arlu-muted: #aeb7c5;
  --arlu-blue: #153f91;
  --arlu-blue-2: #2454c6;
  --arlu-gold: #e8c456;
  --arlu-gold-2: #e09a43;
  --arlu-good: #44d27d;
  font-family: inherit;
  background: radial-gradient(circle at 20% 0%, rgba(36,84,198,.25), transparent 32%), linear-gradient(135deg, #020305, var(--arlu-bg));
  color: var(--arlu-text);
  border-radius: 26px;
  padding: clamp(22px, 4vw, 44px);
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.36);
}

.arlu-quote-wrap *,
.arlu-quote-wrap *::before,
.arlu-quote-wrap *::after { box-sizing: border-box; }

.arlu-quote-hero {
  max-width: 840px;
  margin: 0 auto 30px;
  text-align: center;
}

.arlu-eyebrow,
.arlu-section-head span,
.arlu-empty-state span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--arlu-gold);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

.arlu-quote-hero h2,
.arlu-section-head h3 {
  margin: 8px 0 10px;
  color: var(--arlu-text);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.02;
  font-weight: 900;
}

.arlu-section-head h3 { font-size: clamp(24px, 3vw, 36px); }

.arlu-quote-hero p,
.arlu-section-head p,
.arlu-form-note {
  color: var(--arlu-muted);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.arlu-quote-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 22px;
  align-items: start;
}

.arlu-quote-form,
.arlu-result-card,
.arlu-tent-card {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border: 1px solid var(--arlu-line);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 42px rgba(0,0,0,.22);
}

.arlu-quote-form { padding: 24px; }
.arlu-result-card { padding: 24px; min-height: 372px; position: sticky; top: 20px; }

.arlu-form-row {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}

.arlu-form-row-2 { grid-template-columns: 1fr 1fr; }

.arlu-quote-form label,
.arlu-full-label { display: block; }

.arlu-quote-form label span,
.arlu-field-title {
  display: block;
  color: #dfe7f2;
  font-weight: 800;
  font-size: 13px;
  margin-bottom: 8px;
}

.arlu-quote-form input,
.arlu-quote-form select {
  width: 100%;
  min-height: 48px;
  background: rgba(255,255,255,.065);
  color: var(--arlu-text);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  padding: 0 14px;
  outline: none;
  transition: border .2s ease, box-shadow .2s ease, background .2s ease;
}

.arlu-quote-form select option { color: #111827; }
.arlu-quote-form input::placeholder { color: rgba(244,247,251,.45); }
.arlu-quote-form input:focus,
.arlu-quote-form select:focus {
  border-color: rgba(232,196,86,.75);
  box-shadow: 0 0 0 4px rgba(232,196,86,.13);
  background: rgba(255,255,255,.095);
}

.arlu-full-label { margin-bottom: 16px; }

.arlu-extras {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  background: rgba(0,0,0,.22);
  border: 1px solid var(--arlu-line);
  border-radius: 18px;
  margin-bottom: 18px;
}

.arlu-extras .arlu-field-title { grid-column: 1/-1; margin-bottom: 2px; }
.arlu-extras label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--arlu-muted);
  font-size: 14px;
}
.arlu-extras input { width: auto; min-height: auto; accent-color: var(--arlu-gold); }

.arlu-primary-btn,
.arlu-whatsapp-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 16px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: .01em;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.arlu-primary-btn {
  color: #06101d;
  background: linear-gradient(135deg, var(--arlu-gold), var(--arlu-gold-2));
  box-shadow: 0 14px 32px rgba(224,154,67,.28);
}

.arlu-whatsapp-btn {
  margin-top: 14px;
  color: #fff;
  background: linear-gradient(135deg, #128c7e, #25d366);
  box-shadow: 0 14px 32px rgba(37,211,102,.18);
}

.arlu-primary-btn:hover,
.arlu-whatsapp-btn:hover { transform: translateY(-1px); filter: brightness(1.03); }
.arlu-primary-btn:disabled { opacity: .7; cursor: not-allowed; transform: none; }
.arlu-form-note { margin-top: 12px; font-size: 13px; }

.arlu-empty-state {
  display: grid;
  gap: 10px;
  place-items: center;
  min-height: 310px;
  text-align: center;
}

.arlu-empty-state strong { font-size: 24px; line-height: 1.18; }

.arlu-result-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.arlu-result-top h3 {
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
}

.arlu-pill {
  white-space: nowrap;
  background: rgba(21,63,145,.55);
  color: #dbe8ff;
  border: 1px solid rgba(120,164,255,.25);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 900;
}

.arlu-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 18px 0;
}

.arlu-stat {
  background: rgba(0,0,0,.22);
  border: 1px solid var(--arlu-line);
  border-radius: 18px;
  padding: 14px;
}

.arlu-stat span { display: block; color: var(--arlu-muted); font-size: 12px; font-weight: 800; margin-bottom: 7px; }
.arlu-stat strong { display: block; color: var(--arlu-text); font-size: 24px; line-height: 1; }
.arlu-stat small { display: block; color: var(--arlu-muted); margin-top: 5px; }

.arlu-price-box {
  background: linear-gradient(135deg, rgba(232,196,86,.18), rgba(21,63,145,.18));
  border: 1px solid rgba(232,196,86,.24);
  border-radius: 20px;
  padding: 18px;
  margin-top: 14px;
}
.arlu-price-box span { display: block; color: var(--arlu-muted); font-weight: 800; margin-bottom: 6px; }
.arlu-price-box strong { display: block; color: var(--arlu-gold); font-size: clamp(28px, 4vw, 42px); line-height: 1; }
.arlu-price-box small { color: var(--arlu-muted); display: block; margin-top: 8px; line-height: 1.45; }

.arlu-corporate-alert {
  background: rgba(232,196,86,.13);
  border: 1px solid rgba(232,196,86,.25);
  border-radius: 20px;
  padding: 18px;
  color: #fff4c2;
  line-height: 1.55;
}

.arlu-reco-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.arlu-reco-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--arlu-muted);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: 8px;
}
.arlu-reco-list strong { color: var(--arlu-text); }

.arlu-tent-section { margin-top: 28px; }
.arlu-section-head { max-width: 760px; margin-bottom: 18px; }

.arlu-tent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.arlu-tent-card {
  position: relative;
  min-height: 190px;
  padding: 24px;
  text-align: center;
  overflow: hidden;
  transition: border .2s ease, transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.arlu-tent-badge {
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 48px;
  height: 30px;
  border-radius: 0 0 15px 15px;
  background: var(--arlu-blue-2);
  color: var(--arlu-gold);
  font-size: 13px;
}

.arlu-tent-icon {
  width: 42px;
  height: 28px;
  margin: 35px auto 22px;
  border: 3px solid rgba(255,255,255,.22);
  border-radius: 2px;
}

.arlu-tent-card h4 {
  margin: 0;
  font-size: 30px;
  line-height: 1;
  letter-spacing: .03em;
  color: var(--arlu-text);
}

.arlu-tent-card p {
  color: var(--arlu-muted);
  font-weight: 800;
  margin: 12px 0 0;
}

.arlu-tent-card.is-recommended {
  border-color: rgba(232,196,86,.72);
  background: linear-gradient(180deg, rgba(232,196,86,.14), rgba(255,255,255,.03));
  box-shadow: 0 22px 52px rgba(232,196,86,.13);
  transform: translateY(-2px);
}

.arlu-tent-card.is-recommended::after {
  content: "Ideal";
  position: absolute;
  right: 14px;
  top: 14px;
  background: rgba(232,196,86,.95);
  color: #111827;
  font-size: 11px;
  font-weight: 900;
  border-radius: 999px;
  padding: 6px 9px;
}

.arlu-save-message {
  margin-top: 18px;
  color: #d8f8e5;
  font-weight: 800;
}
.arlu-save-message.is-error { color: #ffc7c7; }

@media (max-width: 920px) {
  .arlu-quote-grid { grid-template-columns: 1fr; }
  .arlu-result-card { position: static; }
  .arlu-tent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .arlu-quote-wrap { border-radius: 18px; padding: 18px; }
  .arlu-form-row-2,
  .arlu-extras,
  .arlu-stats,
  .arlu-tent-grid { grid-template-columns: 1fr; }
  .arlu-quote-form,
  .arlu-result-card,
  .arlu-tent-card { border-radius: 18px; }
}

/* v1.0.1 - Distribución modular por carpas de 5 x 5 */
.arlu-layout-card {
  appearance: none;
  border: 1px solid var(--arlu-line);
  color: var(--arlu-text);
  font: inherit;
  cursor: pointer;
}

.arlu-layout-card:hover {
  border-color: rgba(232,196,86,.48);
  transform: translateY(-2px);
}

.arlu-layout-card small {
  display: block;
  color: var(--arlu-muted);
  margin-top: 8px;
  line-height: 1.35;
}

.arlu-layout-preview {
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(6px, 1fr));
  grid-template-rows: repeat(var(--rows), minmax(6px, 1fr));
  gap: 3px;
  width: min(126px, 86%);
  aspect-ratio: var(--cols) / var(--rows);
  min-height: 34px;
  max-height: 94px;
  margin: 35px auto 22px;
  padding: 5px;
  border: 1px solid rgba(232,196,86,.25);
  border-radius: 10px;
  background: rgba(0,0,0,.25);
}

.arlu-layout-preview span {
  display: block;
  min-width: 5px;
  min-height: 5px;
  border-radius: 2px;
  background: rgba(232,196,86,.22);
  border: 1px solid rgba(232,196,86,.45);
}

.arlu-layout-card.is-recommended .arlu-layout-preview {
  border-color: rgba(232,196,86,.75);
  box-shadow: 0 0 0 4px rgba(232,196,86,.08);
}

.arlu-layout-card.is-recommended .arlu-layout-preview span {
  background: rgba(232,196,86,.34);
}

.arlu-layout-note {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(232,196,86,.10);
  border: 1px solid rgba(232,196,86,.20);
  color: #fff4c2;
  line-height: 1.45;
  font-size: 13px;
  font-weight: 700;
}
