.parent-offers-page {
  --offer-ink: #102f39;
  --offer-muted: #60727a;
  --offer-line: #d7e1df;
  --offer-surface: #ffffff;
  --offer-soft: #f2f7f5;
  --offer-accent: #d87820;
  display: grid;
  gap: 18px;
  width: min(1480px, 100%);
  margin: 0 auto;
}

.parent-offers-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  padding: 30px 34px;
  color: #fff;
  border: 1px solid #163f4b;
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 12%, rgba(240, 164, 80, .28), transparent 28%),
    linear-gradient(135deg, #0c2b35 0%, #164b53 100%);
  box-shadow: 0 18px 45px rgba(20, 52, 59, .14);
}

.parent-offers-back {
  display: inline-flex;
  margin-bottom: 20px;
  color: #d9e9e8;
  font-size: .88rem;
  font-weight: 750;
  text-decoration: none;
}

.parent-offers-hero .eyebrow { color: #f2b269; }
.parent-offers-hero h2 { margin: 4px 0 8px; color: #fff; font-size: clamp(2rem, 3vw, 3.2rem); }
.parent-offers-hero p:last-child { max-width: 760px; margin: 0; color: #dce9e8; font-size: 1rem; line-height: 1.65; }

.parent-offers-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(112px, 1fr));
  gap: 8px;
}

.parent-offers-hero-metrics article {
  min-height: 92px;
  padding: 15px 16px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 16px;
  background: rgba(255, 255, 255, .08);
}

.parent-offers-hero-metrics strong,
.parent-offers-hero-metrics span { display: block; }
.parent-offers-hero-metrics strong { margin-bottom: 5px; color: #fff; font-size: 1.7rem; }
.parent-offers-hero-metrics span { color: #dce9e8; font-size: .76rem; line-height: 1.3; }

.parent-offers-policy {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px 20px;
  border: 1px solid #e7c797;
  border-radius: 16px;
  background: #fff8eb;
}

.parent-offers-policy > span {
  display: grid;
  flex: 0 0 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--offer-accent);
  font-weight: 900;
}

.parent-offers-policy strong,
.parent-offers-policy p { display: block; margin: 0; }
.parent-offers-policy strong { color: var(--offer-ink); }
.parent-offers-policy p { margin-top: 3px; color: var(--offer-muted); font-size: .88rem; }

.parent-offers-form { display: grid; gap: 18px; }

.parent-offers-section {
  overflow: hidden;
  border: 1px solid var(--offer-line);
  border-radius: 22px;
  background: var(--offer-surface);
  box-shadow: 0 12px 32px rgba(20, 52, 59, .07);
}

.parent-offers-section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: 22px 24px;
  border-bottom: 1px solid var(--offer-line);
  background: linear-gradient(120deg, #fbfdfc, #f1f7f5);
}

.parent-offers-section-head > div:first-child { display: flex; gap: 14px; align-items: center; }
.parent-offers-section-head h3,
.parent-offers-section-head p { margin: 0; }
.parent-offers-section-head h3 { color: var(--offer-ink); font-size: 1.24rem; }
.parent-offers-section-head p { margin-top: 3px; color: var(--offer-muted); font-size: .86rem; }

.parent-offers-step {
  display: grid;
  flex: 0 0 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: #174b54;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.parent-offers-switch {
  display: flex;
  min-width: 230px;
  gap: 11px;
  align-items: center;
  padding: 11px 14px;
  border: 1px solid var(--offer-line);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
}

.parent-offers-switch input { width: 22px; height: 22px; accent-color: #157a70; }
.parent-offers-switch strong,
.parent-offers-switch small { display: block; }
.parent-offers-switch strong { color: var(--offer-ink); font-size: .88rem; }
.parent-offers-switch small { margin-top: 2px; color: var(--offer-muted); font-size: .72rem; }

.parent-offers-promotion-list,
.parent-offers-pack-panel {
  padding: 20px 24px 24px;
  transition: opacity .18s ease, background-color .18s ease;
}

.parent-offers-promotion-list.is-disabled,
.parent-offers-pack-panel.is-disabled { opacity: .58; background: #f7f9f8; }

.parent-offers-promotion-list { display: grid; gap: 10px; }

.parent-offers-promotion {
  border: 1px solid var(--offer-line);
  border-radius: 15px;
  background: #fff;
}

.parent-offers-promotion > summary {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) 28px;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 10px 14px;
  color: var(--offer-ink);
  cursor: pointer;
  list-style: none;
}

.parent-offers-promotion > summary::-webkit-details-marker { display: none; }
.parent-offers-promotion > summary > span:first-child { color: var(--offer-accent); font-size: .74rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.parent-offers-details-mark { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: var(--offer-soft); font-weight: 900; }
.parent-offers-promotion[open] .parent-offers-details-mark { transform: rotate(45deg); }

.parent-offers-promotion-grid,
.parent-offers-pack-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  border-top: 1px solid var(--offer-line);
  background: #fbfdfc;
}

.parent-offers-promotion-grid .form-field,
.parent-offers-pack-fields .form-field { min-width: 0; }
.parent-offers-field-wide { grid-column: span 2; }

.parent-offers-check {
  display: flex;
  grid-column: span 2;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--offer-line);
  border-radius: 12px;
  background: #fff;
}

.parent-offers-check input { width: 20px; height: 20px; accent-color: #157a70; }
.parent-offers-check strong,
.parent-offers-check small { display: block; }
.parent-offers-check small { color: var(--offer-muted); }

.parent-offers-pack-fields { padding: 0 0 20px; border: 0; background: transparent; }

.parent-offers-error {
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid #efb7ab;
  border-radius: 10px;
  color: #8a2d21;
  background: #fff2ef;
  font-size: .82rem;
}

.parent-offers-board-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  padding-top: 18px;
  border-top: 1px solid var(--offer-line);
}

.parent-offers-board-heading h4,
.parent-offers-board-heading p { margin: 0; }
.parent-offers-board-heading h4 { color: var(--offer-ink); }
.parent-offers-board-heading p { max-width: 760px; margin-top: 4px; color: var(--offer-muted); font-size: .83rem; }
.parent-offers-board-heading > span { padding: 7px 10px; border-radius: 10px; color: #0d6e65; background: #e7f5f1; font-size: .78rem; font-weight: 850; white-space: nowrap; }

.parent-offers-board-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.parent-offers-board {
  position: relative;
  display: grid;
  grid-template-rows: 126px auto;
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--offer-line);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.parent-offers-board:hover { transform: translateY(-2px); border-color: #8cb9b2; box-shadow: 0 9px 22px rgba(20, 52, 59, .1); }
.parent-offers-board.is-selected { border-color: #157a70; box-shadow: inset 0 0 0 1px #157a70; }
.parent-offers-board input {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.parent-offers-board-visual { display: grid; place-items: center; overflow: hidden; padding: 9px; background: linear-gradient(145deg, #eef5f2, #fbf5ea); }
.parent-offers-board-visual img { width: 100%; height: 100%; object-fit: contain; }
.parent-offers-board-visual > span { color: #547078; font-size: .72rem; font-weight: 850; }
.parent-offers-board-copy { display: block; min-width: 0; padding: 11px 12px 12px; }
.parent-offers-board-copy strong,
.parent-offers-board-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.parent-offers-board-copy strong { color: var(--offer-ink); font-size: .84rem; }
.parent-offers-board-copy small { margin-top: 4px; color: var(--offer-muted); font-size: .69rem; }
.parent-offers-board-check { position: absolute; z-index: 3; top: 9px; right: 9px; display: none; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: #fff; background: #157a70; font-weight: 900; pointer-events: none; }
.parent-offers-board.is-selected .parent-offers-board-check { display: grid; }
.parent-offers-board:has(input:disabled) { opacity: .55; cursor: not-allowed; }

.parent-offers-empty {
  display: grid;
  justify-items: start;
  gap: 6px;
  margin-top: 16px;
  padding: 26px;
  border: 1px dashed #b8cbc7;
  border-radius: 15px;
  background: var(--offer-soft);
}
.parent-offers-empty strong { color: var(--offer-ink); }
.parent-offers-empty p { margin: 0 0 8px; color: var(--offer-muted); }

.parent-offers-footer {
  position: sticky;
  z-index: 4;
  bottom: 14px;
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 15px 18px;
  border: 1px solid #cddbd8;
  border-radius: 17px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 36px rgba(20, 52, 59, .14);
  backdrop-filter: blur(12px);
}

.parent-offers-footer > div { display: grid; flex: 1; }
.parent-offers-footer strong { color: var(--offer-ink); }
.parent-offers-footer span { color: var(--offer-muted); font-size: .76rem; }

@media (max-width: 1180px) {
  .parent-offers-hero { grid-template-columns: 1fr; }
  .parent-offers-hero-metrics { width: 100%; }
  .parent-offers-promotion-grid,
  .parent-offers-pack-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parent-offers-board-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .parent-offers-hero { padding: 24px 20px; border-radius: 18px; }
  .parent-offers-hero-metrics { grid-template-columns: 1fr; }
  .parent-offers-section-head,
  .parent-offers-board-heading,
  .parent-offers-footer { align-items: stretch; flex-direction: column; }
  .parent-offers-switch { min-width: 0; }
  .parent-offers-promotion-grid,
  .parent-offers-pack-fields,
  .parent-offers-board-grid { grid-template-columns: 1fr; }
  .parent-offers-field-wide,
  .parent-offers-check { grid-column: auto; }
  .parent-offers-promotion > summary { grid-template-columns: 100px minmax(0, 1fr) 28px; }
  .parent-offers-footer { position: static; }
}
