* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  background:
    radial-gradient(circle at 20% 20%, #FFE5EC 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, #E8F7FB 0%, transparent 45%),
    radial-gradient(circle at 50% 90%, #FFF5BA 0%, transparent 40%),
    #FAF7F2;
  color: #1E1A16;
  min-height: 100vh;
  padding: 60px 24px;
  line-height: 1.6;
}

.picker-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 60px;
}
.picker-logo {
  width: 90px;
  margin: 0 auto 20px;
  filter: drop-shadow(0 14px 24px rgba(244, 178, 35, 0.3));
  animation: picker-bob 4s ease-in-out infinite;
}
@keyframes picker-bob {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50%      { transform: translateY(-10px) rotate(2deg); }
}
.picker-header h1 {
  font-family: 'Fredoka', sans-serif;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 700;
  margin-bottom: 14px;
}
.picker-header p {
  color: #6C656D;
  font-size: 1.08rem;
}

/* GRID */
.picker-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1280px;
  margin: 0 auto;
}
.option {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(30, 26, 22, 0.1);
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s, box-shadow 0.25s;
  display: flex;
  flex-direction: column;
}
.option:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(30, 26, 22, 0.18);
}
.preview {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.option-body { padding: 28px 28px 32px; }
.option .tag {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9C9188;
  margin-bottom: 8px;
}
.option h2 {
  font-family: 'Fredoka', sans-serif;
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.option p {
  color: #6C656D;
  font-size: .95rem;
  margin-bottom: 18px;
  min-height: 64px;
}
.option .cta {
  display: inline-block;
  font-weight: 700;
  color: #E63946;
  transition: transform 0.2s;
}
.option:hover .cta { transform: translateX(4px); }

/* ============ PREVIEW 1: Tierno Clásico ============ */
.preview-1 {
  background: #FFF8EE;
}
.p1-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(28px);
  opacity: 0.55;
}
.p1-b1 { width: 140px; height: 140px; background: #E63946; top: -30px; left: -30px; }
.p1-b2 { width: 130px; height: 130px; background: #FFC93C; top: 30px; right: -20px; }
.p1-b3 { width: 120px; height: 120px; background: #5AC8FA; bottom: -40px; left: 40%; }
.p1-card {
  position: absolute;
  inset: 30px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}
.p1-title {
  font-family: 'Fredoka', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.15;
  color: #2B2D42;
  margin-bottom: 14px;
}
.p1-title span {
  background: linear-gradient(180deg, transparent 60%, #FFC93C 60%);
  padding: 0 4px;
}
.p1-line {
  width: 80%;
  height: 7px;
  background: rgba(43, 45, 66, 0.12);
  border-radius: 999px;
  margin-bottom: 6px;
}
.p1-line.short { width: 60%; margin-bottom: 16px; }
.p1-btn {
  display: inline-block;
  width: fit-content;
  padding: 8px 16px;
  background: #E63946;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(230, 57, 70, 0.35);
}

/* ============ PREVIEW 2: Boutique Moderno ============ */
.preview-2 {
  background: #FAF7F2;
  position: relative;
}
.p2-top {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 22px;
  background: #1E1A16;
}
.p2-kicker {
  position: absolute;
  top: 42px;
  left: 24px;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #7E766E;
}
.p2-title {
  position: absolute;
  top: 60px;
  left: 24px;
  right: 120px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
  color: #1E1A16;
}
.p2-title em { font-style: italic; color: #B43B3B; }
.p2-line {
  position: absolute;
  left: 24px;
  right: 120px;
  height: 4px;
  background: rgba(30, 26, 22, 0.12);
}
.p2-line { top: 140px; }
.p2-line.short { top: 152px; right: 180px; }
.p2-btn {
  position: absolute;
  left: 24px;
  bottom: 24px;
  background: #1E1A16;
  color: #fff;
  font-size: .65rem;
  font-weight: 600;
  padding: 9px 16px;
  letter-spacing: 0.03em;
}
.p2-circle {
  position: absolute;
  right: 22px;
  top: 54px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: linear-gradient(135deg, #F2EDE3, #EADBBE);
  box-shadow: 0 10px 20px rgba(190, 154, 76, 0.3);
  border: 1px dashed rgba(30, 26, 22, 0.2);
}
@media (min-width: 900px) {
  .preview-2 .p2-circle { width: 110px; height: 110px; }
}

/* ============ PREVIEW 3: Pop Playful ============ */
.preview-3 {
  background: linear-gradient(180deg, #FFE5EC 0%, #E8F7FB 100%);
  position: relative;
  overflow: hidden;
}
.p3-star, .p3-heart, .p3-crown {
  position: absolute;
  animation: p3-float 4s ease-in-out infinite;
}
.p3-s1 {
  top: 12%; left: 8%;
  font-size: 1.8rem;
  color: #FFD93D;
  -webkit-text-stroke: 2px #2D1B4E;
}
.p3-s2 {
  top: 18%; right: 10%;
  font-size: 1.4rem;
  color: #3EC6E0;
  animation-delay: 1.2s;
}
.p3-heart {
  bottom: 26%; right: 14%;
  font-size: 1.5rem;
  color: #FF4858;
  animation-delay: 0.6s;
}
.p3-crown {
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 3rem;
  filter: drop-shadow(4px 5px 0 #2D1B4E);
  animation: p3-bob 3s ease-in-out infinite;
}
@keyframes p3-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  50%      { transform: translateY(-8px) rotate(8deg); }
}
@keyframes p3-bob {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-3deg); }
  50%      { transform: translateX(-50%) translateY(-6px) rotate(3deg); }
}
.p3-title {
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, -50%);
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.15;
  text-align: center;
  color: #2D1B4E;
  width: 80%;
}
.p3-title span {
  display: inline-block;
  background: #FFD93D;
  padding: 0 10px;
  border: 2px solid #2D1B4E;
  border-radius: 14px;
  box-shadow: 3px 3px 0 #2D1B4E;
  transform: rotate(-2deg);
  margin-top: 4px;
}
.p3-btn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #FF4858;
  color: #fff;
  font-weight: 700;
  padding: 8px 18px;
  border: 2px solid #2D1B4E;
  border-radius: 999px;
  font-size: .75rem;
  box-shadow: 3px 3px 0 #2D1B4E;
}

/* FOOTER */
.picker-footer {
  text-align: center;
  margin: 70px auto 0;
  max-width: 600px;
  color: #9C9188;
  font-size: .92rem;
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .picker-grid { grid-template-columns: 1fr; max-width: 520px; }
  body { padding: 40px 20px; }
  .picker-header { margin-bottom: 40px; }
}
