/* #134: projektový Club target; brand bbef692, bez přenosu lokálních růžových výjimek. */
.content--christmas > .container { width: 100%; padding-right: 16px; padding-left: 16px; }
.christmas { --christmas-blue: #003da5; --christmas-grey: #706f6f; color: #706f6f; font: 400 16px/1.5 "Info Display Pro", "Helvetica Neue", Helvetica, Arial, sans-serif; overflow-wrap: anywhere; }
.christmas *, .christmas *::before, .christmas *::after { box-sizing: border-box; }
.christmas [hidden] { display: none !important; }
.christmas h1, .christmas h2, .christmas h3 { color: #003da5; font-family: "Futura LT Pro", Futura, "Avenir Next", Avenir, "Century Gothic", Arial, sans-serif; font-weight: 400; overflow-wrap: anywhere; }
/* Lokální korekce českého zalomeného H1 (#134); globální display token se nemění. */
.christmas h1 { font-size: clamp(40px, calc(37.4777px + .7882vw), 48.828125px); line-height: 1.2; letter-spacing: .01em; text-transform: uppercase; margin: 0 0 24px; }
.christmas h2 { font-size: clamp(28px, calc(27.0714px + .2902vw), 31.25px); line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; margin: 0 0 24px; max-width: 900px; }
.christmas h3 { font-size: clamp(24px, calc(23.7143px + .0893vw), 25px); line-height: 1.2; letter-spacing: .02em; text-transform: uppercase; margin: 0 0 12px; }
.christmas p { margin: 0 0 16px; }
.christmas a { color: #003da5; }
.christmas a:focus-visible { outline: 3px solid #003da5; outline-offset: 4px; }
.christmas a:hover { text-decoration: underline; }
.christmas-breadcrumb { padding: 16px 0; font-size: 14px; }
.christmas-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 32px 0; align-items: center; }
.christmas-hero > div { min-width: 0; }
.christmas-eyebrow { color: #003da5; font-weight: 700; }
.christmas-lead { font-size: clamp(18px, calc(17.4286px + .1786vw), 20px); line-height: 1.4; }
.christmas-promo { color: #003da5; border-left: 4px solid #ff8200; padding-left: 16px; margin-bottom: 24px; }
.christmas-promo p { margin-bottom: 8px; }
/* Klientské ornamenty jen v produktové části; rezervovaný poměr drží kompozici i bez SVG. */
.christmas-hero__visual { position: relative; aspect-ratio: 3 / 2; }
.christmas-seasonal { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.christmas-hero__images { position: absolute; inset: 12.5% 0; display: flex; align-items: center; justify-content: center; min-width: 0; background: #fff; }
.christmas-hero__images img { width: 33.333%; height: auto; object-fit: contain; max-height: 400px; }
.christmas-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; }
.christmas .christmas-button { display: inline-flex; justify-content: center; align-items: center; padding: 12px 24px; min-height: 52px; max-width: 100%; border: 2px solid #003da5; border-radius: 14px; background: #003da5; color: #fff; text-align: center; font: 700 16px/1.5 "Futura LT Pro", Futura, Arial, sans-serif; text-decoration: none; }
.christmas .christmas-button:hover { text-decoration: underline; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.christmas .christmas-button:focus-visible { outline: 3px solid #003da5; outline-offset: 4px; }
.christmas .christmas-button--secondary { background: #fff; color: #003da5; font-weight: 400; min-height: 44px; padding: 8px 12px; }
.christmas-text-link { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; text-decoration: underline; }
.christmas-jumps { display: flex; flex-wrap: wrap; gap: 12px; border-top: 1px solid #ededed; border-bottom: 1px solid #ededed; padding: 16px 0; }
.christmas-jumps a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid #003da5; border-radius: 14px; font-family: "Futura LT Pro", Futura, Arial, sans-serif; text-decoration: none; }
.christmas-section { padding: 48px 0; scroll-margin-top: 24px; }
.christmas-section--soft { background: #ededed; border-radius: 18px; padding: 32px 16px; }
/* Copy na Light Grey používá schválenou Corporate Blue (Grey/Light Grey nemá 4,5:1). */
.christmas-section--soft > p, .christmas-section--soft .christmas-notes, .christmas-recipient-copy { color: #003da5; }
.christmas-intro { max-width: 900px; }
.christmas-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.christmas-sonic-grid { display: grid; gap: 24px; margin: 24px 0; }
.christmas-card { min-width: 0; background: #fff; border: 1px solid #ededed; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; }
.christmas-card h3 { font-size: 18px; text-transform: none; letter-spacing: 0; }
.christmas-card:not(.christmas-card--sonic) h3 { flex: 1 0 auto; margin-bottom: 16px; }
.christmas-card h3 a { text-decoration: none; }
.christmas-card h3 a:hover { text-decoration: underline; }
.christmas-card__image { position: relative; display: block; width: 100%; height: 0; padding-bottom: 100%; flex: 0 0 auto; min-width: 0; margin-bottom: 24px; overflow: hidden; background: #fff; }
.christmas-card__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 12px; object-fit: contain; }
.christmas-image-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 14px; text-align: center; padding: 12px; }
.christmas-card .christmas-price { color: #003da5; font-size: 24px; line-height: 1.2; margin-top: 16px; }
.christmas-price span { display: block; font-size: 14px; line-height: 1.5; font-weight: 400; }
.christmas-card .christmas-club { color: #003da5; font-size: 14px; line-height: 1.5; }
.christmas-card > .christmas-button { margin-top: auto; }
.christmas-card__purchase { display: flex; flex-direction: column; flex: 1 0 auto; }
.christmas-card__purchase .christmas-button { margin-top: auto; }
/* Sdílené řádky zachovají celé názvy i stejně položené ceny a CTA. */
@supports (grid-template-rows: subgrid) {
    .christmas-grid > .christmas-card { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 16px; }
    .christmas-grid .christmas-card__image { margin-bottom: 0; }
    .christmas-grid .christmas-card h3 { margin: 0; }
    .christmas-card__purchase .christmas-price { margin-top: 0; }
}
.christmas-card--sonic { padding: 24px; }
.christmas-card--sonic h3 { font-size: 24px; }
.christmas-card--sonic > .christmas-button { margin-top: 16px; }
.christmas-card__tagline { color: #003da5; }
.christmas-card__story > p:last-child { margin-bottom: 0; }
.christmas-gifts { background: #ededed; color: #003da5; border-radius: 14px; padding: 16px; font-size: 16px; }
.christmas-gifts ul { padding: 0; margin: 0 0 16px; list-style: none; display: grid; gap: 12px; }
.christmas-gift { display: flex; align-items: center; gap: 12px; min-width: 0; }
.christmas-gift img { flex: 0 0 64px; width: 64px; height: 64px; object-fit: contain; background: #fff; padding: 4px; border-radius: 14px; }
.christmas-gift > span { min-width: 0; }
.christmas-gift__variant { display: block; font-size: 14px; }
.christmas-gifts > p:last-child { margin-bottom: 0; }
.christmas-gifts a { text-decoration: underline; }
.christmas-badge { display: inline-block; color: #003da5; background: #fff; border: 1px solid #ededed; border-left: 4px solid #ff8200; border-radius: 14px; padding: 8px 12px; font-weight: 700; }
.christmas-explainer { padding: 24px; border: 1px solid #ededed; border-radius: 18px; }
.christmas-terms { padding-top: 16px; font-size: 14px; }
.christmas-recipient-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.christmas-recipient-links a { display: inline-flex; min-height: 44px; align-items: center; background: #fff; border: 1px solid #003da5; border-radius: 14px; padding: 8px 16px; text-decoration: none; }
.christmas-recipient-links a[aria-pressed="true"] { border: 2px solid #003da5; padding: 7px 15px; text-decoration: underline; font-weight: 700; }
.christmas-recipient-copy { max-width: 900px; margin-bottom: 24px; }
.christmas-tip { border-left: 4px solid #003da5; background: #fff; padding: 24px; border-radius: 0 14px 14px 0; margin: 24px 0; }
.christmas-notes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin: 24px 0; }
.christmas-notes > div { min-width: 0; }
.christmas-notes--intro { display: grid; grid-template-columns: minmax(0, 1fr); padding: 24px; border-radius: 18px; background: #ededed; color: #003da5; }
.christmas-notes--intro p { margin-bottom: 0; }
.christmas-extras-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; margin: 24px 0; }
.christmas-extra { min-width: 0; }
.christmas-extra__intro { display: flex; flex-direction: column; color: #003da5; }
.christmas-extra__intro .christmas-text-link { margin-top: auto; }
.christmas-finale { text-align: center; }
.christmas-finale h2 { margin-right: auto; margin-left: auto; }
.christmas-finale .christmas-actions { justify-content: center; }
.christmas-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 576px) { .content--christmas > .container { max-width: 540px; } }
@media (min-width: 768px) {
    .content--christmas > .container { max-width: 720px; padding-right: 24px; padding-left: 24px; }
    .christmas-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .christmas-notes--intro > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; }
    .christmas-notes--intro h3 { margin-bottom: 0; }
    .christmas-section--soft { padding: 32px; }
    .christmas-extras-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .christmas-extra .christmas-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 992px) {
    .content--christmas > .container { max-width: 960px; padding-right: 32px; padding-left: 32px; }
    .christmas-hero { grid-template-columns: 1.1fr 1fr; padding: 48px 0; }
    .christmas-sonic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .christmas-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .christmas-section { padding-top: 64px; padding-bottom: 64px; }
    .christmas-section--soft { padding-top: 48px; padding-bottom: 48px; }
}
@media (min-width: 1200px) { .content--christmas > .container { max-width: 1140px; } }
@supports (grid-template-rows: subgrid) {
    @media (min-width: 768px) {
        .christmas-extra { display: grid; grid-template-rows: subgrid; grid-row: span 7; row-gap: 24px; }
        .christmas-extra__intro { grid-row: 1; }
        .christmas-extra .christmas-grid { display: contents; }
        .christmas-extra .christmas-card { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 16px; }
        .christmas-extra .christmas-card__image, .christmas-extra .christmas-card h3 { margin: 0; }
    }
    @media (min-width: 992px) {
        .christmas-sonic-grid > .christmas-card { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 16px; }
        .christmas-card--sonic > .christmas-card__image { grid-row: 1; margin: 0; }
        .christmas-card--sonic > h3 { grid-row: 2; margin: 0; }
        .christmas-card--sonic > .christmas-card__story { grid-row: 3; }
        .christmas-card--sonic > .christmas-card__purchase { grid-row: 4; }
        .christmas-card--sonic .christmas-price { margin-top: 0; }
        .christmas-card--sonic .christmas-club { margin-bottom: 0; }
        .christmas-card--sonic > .christmas-gifts { grid-row: 5; }
        .christmas-card--sonic > .christmas-button { grid-row: 6; align-self: end; margin-top: 0; }
    }
}
@media (min-width: 1400px) { .content--christmas > .container { max-width: 1320px; } }
/* Dva virtuální tracky na kartu zachovají 2/3/4 stejně široké sloupce.
   Centrovaný konec počítá jen vykreslené karty; pořadí DOM se nemění. */
.christmas-grid--balanced > .christmas-card { grid-column: span 2; }
@media (max-width: 767.98px) {
    .christmas-grid--balanced { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .christmas-grid--balanced > :nth-child(2n+1 of .christmas-card:not([hidden])):nth-last-child(1 of .christmas-card:not([hidden])) { grid-column: 2 / span 2; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .christmas-grid--balanced { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .christmas-grid--balanced > :nth-child(3n+1 of .christmas-card:not([hidden])):nth-last-child(1 of .christmas-card:not([hidden])) { grid-column: 3 / span 2; }
    .christmas-grid--balanced > :nth-child(3n+1 of .christmas-card:not([hidden])):nth-last-child(2 of .christmas-card:not([hidden])) { grid-column: 2 / span 2; }
}
@media (min-width: 992px) {
    .christmas-grid--balanced { grid-template-columns: repeat(8, minmax(0, 1fr)); }
    .christmas-grid--balanced > :nth-child(4n+1 of .christmas-card:not([hidden])):nth-last-child(1 of .christmas-card:not([hidden])) { grid-column: 4 / span 2; }
    .christmas-grid--balanced > :nth-child(4n+1 of .christmas-card:not([hidden])):nth-last-child(2 of .christmas-card:not([hidden])) { grid-column: 3 / span 2; }
    .christmas-grid--balanced > :nth-child(4n+1 of .christmas-card:not([hidden])):nth-last-child(3 of .christmas-card:not([hidden])) { grid-column: 2 / span 2; }
}
@media (prefers-reduced-motion: reduce) { .christmas *, .christmas *::before, .christmas *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
