/* One continuous scene for the two catalog overviews. */
.program-extras-overview { position: relative; isolation: isolate; padding: 44px 0 60px; background: var(--forest-edge),linear-gradient(90deg,#03142250,#03142288 50%,#03142250),url('forest-lanterns.webp') center bottom / cover; }
.program-extras-overview .extras-overview-container { width: min(1280px,calc(100% - 80px)); }
.duration-overview-heading { text-align: center; margin-bottom: 52px; }
.duration-overview-heading h2 { color: #f8f3ec; font-size: clamp(42px,3.6vw,60px); line-height: 1.1; }
.program-extras-overview .program-gold-divider { display: flex; align-items: center; justify-content: center; width: min(370px,80%); margin: 10px auto 8px; gap: 10px; }
.program-extras-overview .program-gold-divider > span { flex: 1; height: 1px; background: linear-gradient(90deg,transparent,#e9bd73c4); }
.program-extras-overview .program-gold-divider > span:last-child { transform: rotate(180deg); }
.program-extras-overview .program-gold-divider img { width: 26px; height: 26px; flex-shrink: 0; }
.duration-overview-heading > p { color: #d3dce7; font-size: 18px; line-height: 1.5; }
.duration-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; align-items: stretch; }
.duration-summary-card { position: relative; isolation: isolate; min-width: 0; padding: 34px 25px 25px; min-height: 230px; border: 1px solid #e9bd7380; border-radius: 17px; background: #06182ef7; box-shadow: 0 8px 24px #0003,inset 0 1px 12px #d5eaff0d; }
.ornamental-winter-frame { position: absolute; inset: -1px; z-index: 2; border-radius: inherit; background: none center / 100% 100% no-repeat; pointer-events: none; }
.duration-summary-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 3% 95%,#e9bd732d,transparent 35%),url('program-frost.svg') center / 100% 100%; opacity: .6; }
.duration-summary-icon { position: absolute; top: -29px; left: 50%; transform: translateX(-50%); z-index: 3; display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid #e9bd73; border-radius: 50%; background: radial-gradient(circle,#10273b,#031423); box-shadow: 0 0 0 3px #06182e,0 0 12px #e9bd7326; color: #e9bd73; }
.duration-summary-icon .line-icon { width: 32px; height: 32px; stroke-width: 1.4; }
.duration-summary-card h3 { position: relative; color: #f6d69e; font: 500 32px/1.06 'Cormorant Garamond',Georgia,serif; text-align: center; }
.duration-summary-card > p { position: relative; color: #dce3eb; font-size: 15px; line-height: 1.55; margin: 16px 0 0 45px; }
.summary-edge-detail { position: absolute; bottom: 27px; left: 15px; width: 44px; height: 56px; color: #e9bd73; pointer-events: none; }
.summary-edge-detail > svg { width: 100%; height: 100%; }
.summary-edge-branch { position: absolute; bottom: 1px; left: 0; width: 85px; height: auto; opacity: .6; pointer-events: none; transform: rotate(180deg); }
.addons-overview { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); grid-template-areas: 'intro photo' 'copy photo'; grid-template-rows: auto 1fr; align-items: center; gap: 23px 48px; margin-top: 44px; }
.addons-overview-intro { grid-area: intro; min-width: 0; align-self: start; }
.addons-overview-intro h2 { color: #f8f3ec; font-size: clamp(40px,3.3vw,56px); line-height: 1.1; }
.addons-overview-intro > p { color: #dce3eb; font-size: 17px; line-height: 1.55; margin-top: 18px; max-width: 530px; }
.addons-overview-description { grid-area: copy; display: flex; align-items: flex-start; gap: 20px; min-width: 0; align-self: start; }
.addons-overview-description > .line-icon { width: 54px; height: 54px; flex-shrink: 0; color: #e9bd73; }
.addons-overview-description h3 { font: 500 34px/1.1 'Cormorant Garamond',Georgia,serif; margin: 3px 0 14px; color: #f8f3ec; }
.addons-overview-description p { color: #dce3eb; font-size: 16px; line-height: 1.55; }
.program-extras-overview .addons-overview-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; width: 260px; max-width: 100%; min-height: 56px; margin-top: 22px; padding: 12px 24px; border: 1px solid #e9bd73; border-radius: 7px; background: #04172b; color: #f2d391; font: 500 23px/1.25 'Cormorant Garamond',Georgia,serif; }
.addons-overview-button > span { font: 400 27px/1 Georgia,serif; }
.overview-reindeer-visual { grid-area: photo; position: relative; isolation: isolate; min-width: 0; border: 1px solid #e9bd73c9; border-radius: 18px; background: #06182e; box-shadow: 0 8px 28px #0004; }
.overview-reindeer-visual > .ornamental-winter-frame { background: none; border: 28px solid transparent; border-image: none 35 / 28px / 0 stretch; }
.overview-reindeer-photo { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 17px; }
.overview-reindeer-image { width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.overview-reindeer-visual::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: url('program-frost.svg') center / 100% 100%; opacity: .35; pointer-events: none; }
.overview-reindeer-visual figcaption { position: absolute; z-index: 3; bottom: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 10px 21px; border-radius: 0 0 17px 17px; background: #04162aef; color: #f3f4f5; font: 400 18px/1.35 'Cormorant Garamond',Georgia,serif; text-align: center; }
.overview-reindeer-visual figcaption img { width: 23px; height: 23px; flex-shrink: 0; }
@media (prefers-reduced-motion:no-preference) {
 .program-extras-overview .overview-pending { opacity: 0; transform: translateY(25px); transition: opacity .8s ease,transform .8s ease; }
 .program-extras-overview .overview-pending.is-revealed { opacity: 1; transform: none; }
 .duration-summary-grid.overview-pending .duration-summary-card { opacity: 0; transform: translateY(25px); transition: opacity .8s ease var(--overview-delay),transform .8s ease var(--overview-delay); }
 .duration-summary-grid.overview-pending.is-revealed .duration-summary-card { opacity: 1; transform: none; }
 .addons-overview .overview-pending { transform: translateX(-18px); }
 .addons-overview .overview-reindeer-visual.overview-pending { transform: translateX(18px) scale(.98); }
 .addons-overview .overview-pending.is-revealed { transform: none; }
 .program-extras-overview .addons-overview-button,.addons-overview-button > span { transition: transform .3s ease,box-shadow .3s ease,background .3s ease; }
 @media (hover:hover) {
  .program-extras-overview .addons-overview-button:hover { transform: translateY(-2px); background: #102c40; box-shadow: 0 0 16px #e9bd7326; }
  .addons-overview-button:hover > span { transform: translateX(4px); }
 }
}
@media (max-width:1199px) {
 .program-extras-overview .extras-overview-container { width: calc(100% - 64px); }
 .duration-summary-grid { grid-template-columns: minmax(0,1fr); gap: 42px; max-width: 620px; margin-inline: auto; }
 .duration-summary-card { min-height: 0; padding: 40px 30px 30px; }
 .duration-summary-card > p { margin-left: 45px; }
 .addons-overview { grid-template-columns: minmax(0,1fr); grid-template-areas: 'intro' 'photo' 'copy'; grid-template-rows: auto; max-width: 720px; margin-inline: auto; gap: 28px; }
 .addons-overview-intro h2 { font-size: 48px; }
 .overview-reindeer-photo { aspect-ratio: 5 / 6; }
 .overview-reindeer-image { object-position: center; }
}
@media (max-width:767px) {
 .program-extras-overview { padding: 35px 0 40px; }
 .program-extras-overview .extras-overview-container { width: calc(100% - 40px); }
 .duration-overview-heading { margin-bottom: 48px; }
 .duration-overview-heading h2 { font-size: 39px; }
 .duration-overview-heading > p { font-size: 16px; }
 .duration-summary-card { padding: 38px 22px 25px; }
 .duration-summary-card h3 { font-size: 30px; }
 .duration-summary-card > p { font-size: 15px; margin-left: 39px; }
 .summary-edge-detail { width: 36px; left: 11px; bottom: 26px; }
 .summary-edge-branch { width: 65px; opacity: .5; }
 .addons-overview { margin-top: 38px; gap: 25px; }
 .addons-overview-intro h2 { font-size: 40px; }
 .addons-overview-intro > p { font-size: 16px; }
 .overview-reindeer-photo { aspect-ratio: 3 / 4; }
 .overview-reindeer-image { object-fit: contain; }
 .overview-reindeer-visual figcaption { font-size: 16px; padding-inline: 14px; gap: 8px; }
 .overview-reindeer-visual figcaption img { width: 20px; height: 20px; }
 .addons-overview-description { gap: 13px; }
 .addons-overview-description > .line-icon { width: 43px; height: 43px; }
 .addons-overview-description h3 { font-size: 32px; }
 .addons-overview-description p { font-size: 15px; }
 .program-extras-overview .addons-overview-button { width: 100%; font-size: 22px; padding-inline: 17px; }
}
@media (prefers-reduced-motion:reduce) {
 .program-extras-overview *, .program-extras-overview *::before { transition: none !important; animation: none !important; }
}
