/* Scope the editorial layout and controls to the Christmas 2027 module. */
.christmas-2027-content h1, .christmas-2027-content h2, .christmas-2027-content h3, .christmas-2027-content p, .christmas-2027-content figure { margin:0 0 1rem; }
.christmas-2027-content h1, .christmas-2027-content h2, .christmas-2027-content h3 { font-family:var(--serif); font-weight:400; line-height:1.12; letter-spacing:-.025em; }
.christmas-2027-content h1 { font-size:clamp(2.5rem,5vw,4.8rem); }
.christmas-2027-content h2 { font-size:clamp(2rem,3.3vw,3.1rem); }
.christmas-2027-content h3 { font-size:1.7rem; }
.christmas-2027-content .wrap a { color:var(--blue); text-underline-offset:5px; }
.christmas-2027-content img { max-width: 100%; height:auto; display:block; object-fit:contain; }
.christmas-2027-content button, .christmas-2027-content input, .christmas-2027-content select { font:inherit; }
.christmas-2027-content button, .christmas-2027-content .button { border:1px solid var(--blue); border-radius:0; background:var(--blue); color:white; padding:11px 20px; min-height:46px; cursor:pointer; text-decoration:none; display:inline-block; }
.christmas-2027-content .wrap .button { color:white; }
.christmas-2027-content button:disabled { cursor:default; opacity:.55; }
.christmas-2027-content button[aria-pressed=true] { background:var(--deep); }
.christmas-2027-content input, .christmas-2027-content select { background:white; border:1px solid #60768b; min-height:48px; width:100%; padding:9px 12px; color:var(--ink); }
.christmas-2027-content a:focus-visible, .christmas-2027-content button:focus-visible, .christmas-2027-content input:focus-visible, .christmas-2027-content select:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.christmas-2027-content .wrap { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.christmas-2027-content .hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:6%; padding-top:52px; padding-bottom:64px; }
.christmas-2027-content .hero h1 { margin-bottom:22px; font-size:clamp(2.3rem,4.2vw,4rem); }
.christmas-2027-content .eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:11px; font-weight:700; line-height:1.6; margin-bottom:16px; }
.christmas-2027-content .lead { font-size:1.18rem; font-weight:600; line-height:1.4; }
.christmas-2027-content .hero figure { margin:0; }
.christmas-2027-content .hero figure img { width:100%; background:#f3f6f8; }
.christmas-2027-content .hero figcaption, .christmas-2027-content figcaption { font-size:12px; color:var(--muted); margin:10px 0; }
.christmas-2027-content .actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:24px; }
.christmas-2027-content .byline { font-size:12px; color:var(--muted); margin-top:26px; }
.christmas-2027-content .research { padding:46px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:64px; }
.christmas-2027-content .columns { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:26px; }
.christmas-2027-content .columns p { font-size:15px; }
.christmas-2027-content .section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:28px; }
.christmas-2027-content .section-head>p { font-size:13px; color:var(--muted); max-width: 360px; }
.christmas-2027-content .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; align-items:end; gap:18px; margin:28px 0 12px; }
.christmas-2027-content .filters label { font-size:13px; }
.christmas-2027-content .filters input, .christmas-2027-content .filters select { display:block; margin-top:6px; }
.christmas-2027-content #result-count { font-size:13px; color:var(--muted); margin:16px 0 24px; }
.christmas-2027-content .family-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px 24px; }
.christmas-2027-content .family { border-bottom:1px solid var(--line); padding-bottom:25px; min-width:0; }
.christmas-2027-content .family img { aspect-ratio:1; width:100%; background:#f3f6f8; }
.christmas-2027-content .family-copy { padding-top:20px; }
.christmas-2027-content .family-copy h3 { font-size:1.6rem; }
.christmas-2027-content .family-copy h3 a { text-decoration:none; }
.christmas-2027-content .family-copy .eyebrow { margin-bottom:8px; }
.christmas-2027-content .family-copy p, .christmas-2027-content .family-copy .text-link { font-size:13px; }
.christmas-2027-content .family-copy .text-link { font-weight:600; }
.christmas-2027-content .buyer { margin-top:70px; padding:44px 0; border-top:1px solid var(--line); }
.christmas-2027-content .buyer h3 { font-size:1.55rem; }
.christmas-2027-content .sources { padding:40px 0 60px; border-top:1px solid var(--line); }
.christmas-2027-content [hidden] { display:none!important; }
@media (max-width: 1000px) {
  .christmas-2027-content .family-grid { grid-template-columns:repeat(2,1fr); }
  .christmas-2027-content .columns { gap:24px; }
}
@media (max-width: 700px) {
  .christmas-2027-content .hero { display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:32px; padding-bottom:40px; }
  .christmas-2027-content .hero p { font-size:15px; }
  .christmas-2027-content .hero .byline { font-size:12px; }
  .christmas-2027-content .hero figcaption { font-size:11px; }
  .christmas-2027-content .columns { grid-template-columns:1fr; gap:14px; }
  .christmas-2027-content .research { margin-bottom:42px; }
  .christmas-2027-content .section-head { display:block; }
  .christmas-2027-content .section-head>p { margin-top:18px; }
  .christmas-2027-content .filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .christmas-2027-content .filters button { grid-column:1/-1; padding:10px; }
  .christmas-2027-content .family-grid { grid-template-columns:1fr; gap:28px; }
  .christmas-2027-content .family-copy h3 { font-size:1.7rem; }
  .christmas-2027-content .buyer { margin-top:42px; }
}
@media (max-width: 700px) {
  .christmas-2027-content .hero>div { display:contents; }
  .christmas-2027-content .hero .eyebrow { order:0; }
  .christmas-2027-content .hero h1 { order:1; font-size:2.05rem; }
  .christmas-2027-content .hero .lead { order:2; }
  .christmas-2027-content .hero figure { order:3; margin:12px 0 22px; }
  .christmas-2027-content .hero>div>p:not(.eyebrow):not(.lead):not(.byline) { order:4; }
  .christmas-2027-content .hero .actions { order:5; }
  .christmas-2027-content .hero .byline { order:6; }
}
.christmas-2027-content .trend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 28px; }
.christmas-2027-content .trend-study { min-width:0; border-bottom:1px solid var(--line); padding-bottom:22px; }
.christmas-2027-content .trend-study img { width:100%; height:auto; aspect-ratio:auto; }
.christmas-2027-content .trend-study h3 { font-size:1.5rem; }
.christmas-2027-content .compare-controls { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0; }
.christmas-2027-content .compare-controls button { background:transparent; color:var(--ink); font-size:13px; padding:8px 13px; }
.christmas-2027-content .compare-controls button[aria-pressed=true] { background:var(--blue); color:white; }
.christmas-2027-content .concept-disclosure { font-size:13px; color:var(--muted); margin-bottom:30px; }
.christmas-2027-content .category-links { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.christmas-2027-content .category-links a { border:1px solid var(--line); padding:12px 16px; text-decoration:none; }
.christmas-2027-content .filters label:first-child { grid-column:1/-1; }
@media (max-width: 700px) {
  .christmas-2027-content .trend-grid { grid-template-columns:1fr; gap:28px; }
}
.christmas-2027-content .complete-gallery { margin:32px 0; padding:22px; border:1px solid var(--line); }
.christmas-2027-content summary { cursor:pointer; font-weight:600; min-height:44px; padding:10px 0; line-height:1.5; }
.christmas-2027-content summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.christmas-2027-content .merch-chapter { margin-top:38px; }
.christmas-2027-content .study-reference { font-size:12px; color:var(--muted); }
.christmas-2027-content .study-copy { font-size:15px; }
.christmas-2027-content .sources p { max-width: 78ch; }
.christmas-2027-content .research h3 { font-size:1.5rem; }
@media (max-width: 700px) {
  .christmas-2027-content .study-copy { font-size:14px; }
  .christmas-2027-content .complete-gallery { padding:15px; }
}
.christmas-2027-content .save-palette { margin-top:12px; font-size:13px; background:transparent; color:var(--ink); }
.christmas-2027-content .save-palette[aria-pressed=true] { background:var(--blue); color:white; }
.christmas-2027-content .brief-panel { margin-top:32px; border:1px solid var(--line); padding:24px; }
.christmas-2027-content #brief-text { width:100%; max-width: 100%; font:14px/1.5 system-ui,sans-serif; padding:14px; border:1px solid var(--line); resize:vertical; }
.christmas-2027-content .brief-panel .actions button { font-size:14px; }
.christmas-2027-content .brief-panel .concept-disclosure { margin-top:20px; }
@media (max-width: 700px) {
  .christmas-2027-content .brief-panel { padding:16px; }
  .christmas-2027-content .brief-panel .actions { align-items:stretch; flex-direction:column; }
}

/* Match the shared responsive gutters and keep local jump links below the header. */
.christmas-2027-content [id] { scroll-margin-top: var(--mc-header-offset, 108px); }
@media (max-width:  800px) {
  .christmas-2027-content .wrap { width: calc(100% - 40px); }
}
