/* 行程配置页（/trip-config）——对应 src/pages/trip-config-page.js */
.config-hero { position: relative; height: 195px; overflow: hidden; color: white; }
.config-hero img { width: 100%; height: 100%; object-fit: cover; }
.config-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,73,101,.74), transparent); }
.config-hero div { position: absolute; z-index: 1; left: 27px; top: 42px; }
.config-hero h2 { font: 800 27px/1.25 var(--font-serif); }
.config-hero p { margin-top: 9px; }
.config-groups { margin: -14px 14px 0; position: relative; z-index: 2; display: grid; gap: 10px; }
.config-group { padding: 13px; display: grid; grid-template-columns: 94px 1fr; gap: 10px; border-radius: 18px; background: white; box-shadow: var(--shadow-soft); }
.config-group h3 { font-size: 14px; }
.config-group small { margin-top: 4px; display: block; color: var(--muted); font-size: 9px; }
.choice-row { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.choice-row button { min-width: 55px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 13px; font-size: 10px; }
.choice-row button.is-active { border-color: var(--orange); background: var(--orange-soft); color: var(--orange-dark); font-weight: 700; }
.config-summary { margin: 11px 14px; padding: 13px; display: grid; grid-template-columns: 72px 1fr; gap: 10px; align-items: center; border-radius: 20px; background: linear-gradient(135deg, #eef8ec, #fffdf9); box-shadow: var(--shadow-soft); }
.config-summary img { width: 72px; height: 72px; object-fit: contain; }
.config-summary h3 { color: var(--jade-dark); }
.config-summary p { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.config-actions { padding: 0 14px 16px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 9px; }

.config-subtitle { margin: -2px 0 10px; color: var(--muted); font-size: 13px; text-align: center; }
.config-screen .config-hero { height: 190px; }
.config-screen .config-groups { margin-top: -10px; }
.config-group { grid-template-columns: 112px minmax(0, 1fr); padding: 14px; gap: 12px; }
.config-group > header { display: flex; gap: 9px; align-items: center; }
.config-group > header > div { min-width: 0; }
.config-group-icon { width: 37px; height: 37px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: white; font-size: 18px; }
.config-group-icon.is-green { background: linear-gradient(145deg, #62ba78, #3e9a66); }
.config-group-icon.is-orange { background: linear-gradient(145deg, #ff9f3e, #f15a1a); }
.config-group-icon.is-blue { background: linear-gradient(145deg, #64b8f2, #368dde); }
.config-group > header h3 { font-size: 15px; font-weight: 750; }
.config-group > header small { line-height: 1.35; }
.choice-row { align-content: center; }
.choice-row button { position: relative; min-height: 42px; font-size: 11px; }
.choice-row button i { position: absolute; right: 4px; bottom: 3px; width: 14px; height: 14px; display: none; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-size: 8px; font-style: normal; }
.choice-row button.is-active i { display: grid; }
.choice-row--days { display: grid; grid-template-columns: repeat(3, 1fr); }
.choice-row--days button { min-width: 0; font-size: 15px; }
.choice-row--media { display: grid; grid-template-columns: repeat(3, 1fr); }
.choice-row--media button { min-width: 0; padding: 4px; display: grid; gap: 3px; justify-items: center; }
.choice-row--media img { width: 48px; height: 34px; border-radius: 8px; object-fit: cover; }
.choice-row--media span { font-size: 9px; }
.choice-row--interests { display: grid; grid-template-columns: 1fr 1fr; }
.choice-row--interests button { min-width: 0; padding: 5px 7px; display: flex; gap: 5px; align-items: center; }
.choice-row--interests img { width: 31px; height: 28px; object-fit: contain; }
.choice-row--select { display: grid; gap: 6px; }
.choice-row--select button { width: 100%; display: flex; justify-content: space-between; align-items: center; text-align: left; }
.choice-row--select button:not(.is-active) { display: none; }
.choice-row--pace { display: grid; grid-template-columns: repeat(3, 1fr); }
.choice-row--pace button { min-width: 0; padding: 7px 3px; }
.choice-row--pace strong, .choice-row--pace small { display: block; }
.choice-row--pace strong { font-size: 10px; }
.choice-row--pace small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.config-summary { grid-template-columns: 84px 1fr; }
.config-summary img { width: 82px; height: 82px; }
.config-summary h3 { font-size: 16px; }
.config-summary p { margin-top: 3px; }
.config-actions button { padding: 8px 10px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 7px; align-content: center; text-align: left; }
.config-actions button > span { grid-row: 1 / 3; align-self: center; font-size: 22px; }
.config-actions button b, .config-actions button small { display: block; }
.config-actions button b { font-size: 12px; }
.config-actions button small { margin-top: 2px; font-size: 8px; opacity: .82; }

@media (max-width: 380px) {
  .config-group { grid-template-columns: 100px minmax(0, 1fr); }
}
