/* Christmas page only: deep green, rich red and soft gold over the shared menu-page layout.
   Loaded after menu-page.css by christmas-catering/index.html. */
.xmas-page{--x-green:#173326;--x-green-2:#1f4231;--x-red:#8e1b26;--x-red-2:#a8273a;--x-gold:#c9a35a;--x-gold-light:#e8cd92;--x-cream:#fbf6ec;--x-paper:#f4ecdc;--x-ink:#1b2a21;--x-muted:#5d675f}
.xmas-page main{background:var(--x-cream);color:var(--x-ink)}
.xmas-page main em{font-style:italic}
.xmas-page main .x-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--x-red)}
.xmas-page main h2{font-family:var(--serif);font-weight:400;color:var(--x-green);font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.02em}
.xmas-page main h2 em{color:var(--x-red)}
.xmas-page main .button-gold{background:var(--x-gold);color:var(--x-green);border-color:var(--x-gold)}
.xmas-page main .button-gold:hover{background:var(--x-gold-light)}

/* ---------- hero: two cake photos under soft snow ---------- */
.xmas-page main .xhero{position:relative;isolation:isolate;background:radial-gradient(120% 90% at 85% 10%,#24503a 0%,var(--x-green) 55%,#10261b 100%);color:#fff;overflow:hidden}
.xmas-page main .xhero .mhero-visual{left:0;right:0;width:100%;top:0;bottom:0;z-index:4;pointer-events:none}
.xmas-page main .xhero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center;padding-block:64px 72px}
.xmas-page main .xhero-copy .eyebrow{display:flex;align-items:center;gap:14px;color:var(--x-gold-light);font-size:.8125rem;letter-spacing:.18em;font-weight:700}
.xmas-page main .xhero-copy .eyebrow::before{content:"";width:34px;height:1px;background:var(--x-gold)}
.xmas-page main .xhero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.75rem,5.4vw,4.6rem);line-height:1.02;letter-spacing:-.03em;margin-top:22px;color:#fff}
.xmas-page main .xhero h1 em{color:var(--x-gold-light)}
.xmas-page main .xhero-copy>p{font-size:1.0625rem;line-height:1.7;color:#dfe9e2;margin-top:22px;max-width:520px}
.xmas-page main .xhero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.xmas-page main .xhero .button-outline{border-color:rgba(232,205,146,.7);color:#fff}
.xmas-page main .xhero-credit{margin-top:30px;font-size:.875rem;color:#b9cbbf}
.xmas-page main .xhero-credit span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--x-gold-light);margin-bottom:4px}
.xmas-page main .xhero-photos{position:relative;padding:0 0 70px 0}
.xmas-page main .xhero-photos figure{margin:0;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.4)}
.xmas-page main .xhero-photos img{display:block;width:100%;height:100%;object-fit:cover}
.xmas-page main .xhero-main{aspect-ratio:1080/787;border:1px solid rgba(232,205,146,.45)}
.xmas-page main .xhero-inset{position:absolute;right:-18px;bottom:0;width:46%;aspect-ratio:1/1;border:6px solid var(--x-cream);transform:rotate(2deg)}
.xmas-page main .xhero-inset img{object-position:52% 45%}
.xmas-page main .xribbon{background:var(--x-red);color:#fff}
.xmas-page main .xribbon .container{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;padding-block:16px;font-size:.875rem;font-weight:700;letter-spacing:.06em;text-align:center}
.xmas-page main .xribbon span::before{content:"✦";color:var(--x-gold-light);margin-right:10px}

/* ---------- winter harvest band ---------- */
.xmas-page main .xharvest{background:var(--x-paper)}
.xmas-page main .xharvest-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:76px}
.xmas-page main .xharvest img{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;object-position:50% 60%;box-shadow:0 18px 40px rgba(23,51,38,.18)}
.xmas-page main .xharvest p{color:var(--x-muted);line-height:1.75;margin-top:18px;max-width:470px}

/* ---------- prices ---------- */
.xmas-page main .xprices{padding-block:84px;background:var(--x-cream)}
.xmas-page main .xsection-head{text-align:center;max-width:660px;margin:0 auto 42px}
.xmas-page main .xsection-head h2{margin-top:12px}
.xmas-page main .xsection-head p{color:var(--x-muted);margin-top:16px;line-height:1.7}
.xmas-page main .xprice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.xmas-page main .xprice{background:#fff;border:1px solid #e6dcc6;padding:32px 30px;display:flex;flex-direction:column;gap:10px;position:relative}
.xmas-page main .xprice::before{content:"";position:absolute;left:30px;right:30px;top:0;height:3px;background:var(--x-gold)}
.xmas-page main .xprice h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--x-green)}
.xmas-page main .xprice .amount{font-family:var(--serif);font-size:2.9rem;line-height:1.1;color:var(--x-red);letter-spacing:-.03em}
.xmas-page main .xprice .amount small{display:block;font-family:var(--sans);font-size:.875rem;letter-spacing:0;color:var(--x-muted);margin-top:2px}
.xmas-page main .xprice p{color:var(--x-muted);font-size:.9375rem;line-height:1.6}
.xmas-page main .xprice .button{margin-top:auto;align-self:flex-start}
.xmas-page main .xprice-featured{background:var(--x-green);border-color:var(--x-green);color:#fff}
.xmas-page main .xprice-featured h3{color:#fff}
.xmas-page main .xprice-featured .amount{color:var(--x-gold-light)}
.xmas-page main .xprice-featured p,.xmas-page main .xprice-featured .amount small{color:#cfdcd3}
.xmas-page main .xprice-notes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:30px;font-size:.875rem;color:var(--x-muted);text-align:center}
.xmas-page main .xprice-notes strong{color:var(--x-green)}

/* ---------- menu samples ---------- */
.xmas-page main .xmenu{padding-block:84px;background:#fff}
.xmas-page main .xcourse{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;padding-block:34px;border-top:1px solid #ece3d0}
.xmas-page main .xcourse:first-of-type{border-top:0}
.xmas-page main .xcourse-title h3{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--x-green);margin-top:8px}
.xmas-page main .xdishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.xmas-page main .xdish{margin:0}
.xmas-page main .xdish img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.xmas-page main .xdish figcaption{margin-top:12px}
.xmas-page main .xdish strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.125rem;color:var(--x-ink)}
.xmas-page main .xdish span{display:block;font-size:.875rem;color:var(--x-muted);margin-top:4px;line-height:1.5}
.xmas-page main .xmenu-cta{margin-top:40px;padding:30px 34px;background:var(--x-green);color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.xmas-page main .xmenu-cta p{font-family:var(--serif);font-size:1.5rem}
.xmas-page main .xmenu-cta p em{color:var(--x-gold-light)}

/* ---------- people band: Chef Ioannis with real guests ---------- */
.xmas-page main .xpeople{position:relative;overflow:hidden;background:var(--x-paper)}
.xmas-page main .xpeople-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-block:80px}
.xmas-page main .xpeople h2{margin-top:12px}
.xmas-page main .xpeople-inner>div>p:not(.x-eyebrow){color:var(--x-muted);line-height:1.75;margin-top:18px;max-width:470px}
.xmas-page main .xpeople-points{list-style:none;padding:0;margin:22px 0 28px;display:flex;flex-direction:column;gap:10px}
.xmas-page main .xpeople-points li{position:relative;padding-left:26px;color:var(--x-ink);line-height:1.55}
.xmas-page main .xpeople-points li::before{content:"✦";position:absolute;left:0;color:var(--x-red)}
.xmas-page main .xpeople img{display:block;width:100%;height:auto;aspect-ratio:1060/920;object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-composite:intersect}
@media (max-width:1000px){.xmas-page main .xpeople-inner{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:56px}}

/* ---------- price cards: one personality each, cream card, colour on the top edge and button ---------- */
.xmas-page main .xprice{background:#fffaf1;border-color:#eadfc8}
.xmas-page main .xprice::before{height:5px;left:0;right:0}
.xmas-page main .xprice .button.xbtn{color:#fff;border:0;padding-inline:22px;transition:filter .2s}
.xmas-page main .xprice .button.xbtn:hover{filter:brightness(1.1)}
.xmas-page main .xprice-nov::before{background:linear-gradient(90deg,#c0612b,#6b3a1f)}
.xmas-page main .xprice-nov .xbtn{background:linear-gradient(135deg,#c0612b,#7a4322)}
.xmas-page main .xprice-dec::before{background:linear-gradient(90deg,#8e1b26,#5e0f18)}
.xmas-page main .xprice-dec .xbtn{background:#8e1b26;color:#fbf6ec}
.xmas-page main .xprice-jan::before{background:linear-gradient(90deg,#5b2a5e,#3d1940)}
.xmas-page main .xprice-jan .xbtn{background:#5b2a5e;color:#fbf8fb}

/* ---------- photo edges: every food photo melts softly into its background ---------- */
.xmas-page main .xhero-photos figure,.xmas-page main .xdish img,.xmas-page main .xharvest img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-composite:intersect;
  box-shadow:none;border:0}
.xmas-page main .xhero-inset{transform:none;right:-10px;bottom:6px}

/* ---------- red ribbon: a woven festive table runner ---------- */
.xmas-page main .xribbon{
  background:
    repeating-linear-gradient(45deg,rgba(201,163,90,.11) 0 1.5px,transparent 1.5px 8px),
    repeating-linear-gradient(-45deg,rgba(58,4,12,.26) 0 1.5px,transparent 1.5px 8px),
    repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#9a2130,#8e1b26 50%,#7d1621);
  border-top:1px solid rgba(201,163,90,.55);border-bottom:1px solid rgba(201,163,90,.55);
  box-shadow:inset 0 3px 0 rgba(201,163,90,.18),inset 0 -3px 0 rgba(201,163,90,.18)}

/* ---------- seasonal foliage: a few oak and chestnut leaves drifting over the cream sections ---------- */
.xmas-page main .xharvest,.xmas-page main .xprices,.xmas-page main .xmenu{position:relative;overflow:hidden}
.xmas-page main .xleaves{position:absolute;inset:0;pointer-events:none;z-index:2}
.xmas-page main .xleaves i{position:absolute;top:-70px;width:34px;height:52px;opacity:.42;background:no-repeat center/contain;animation:xleaf-fall 26s linear infinite;will-change:transform}
.xmas-page main .xleaves i:nth-child(odd){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 64'%3E%3Cpath d='M20 2C24 8 30 8 28 14C34 14 36 20 30 24C37 26 37 33 30 35C36 38 34 45 28 45C31 51 26 56 22 54L21 62H19L18 54C14 56 9 51 12 45C6 45 4 38 10 35C3 33 3 26 10 24C4 20 6 14 12 14C10 8 16 8 20 2Z' fill='%23a5532b'/%3E%3Cpath d='M20 8V60M20 22L27 17M20 22L13 17M20 33L28 29M20 33L12 29M20 43L26 41M20 43L14 41' stroke='%237a3a1c' stroke-width='.9' fill='none'/%3E%3C/svg%3E")}
.xmas-page main .xleaves i:nth-child(even){width:24px;height:58px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 64'%3E%3Cpath d='M12 1L14 6L16 7L15 10L18 13L17 16L19 20L18 24L20 29L18 33L19 38L17 42L17 47L14 52L13 58H11L10 52L7 47L7 42L5 38L6 33L4 29L6 24L5 20L7 16L6 13L9 10L8 7L10 6Z' fill='%23b0662f'/%3E%3Cpath d='M12 4V60M12 14L17 11M12 14L7 11M12 24L18 21M12 24L6 21M12 34L18 31M12 34L6 31M12 44L16 42M12 44L8 42' stroke='%23824219' stroke-width='.8' fill='none'/%3E%3C/svg%3E")}
.xmas-page main .xleaves i:nth-child(1){left:6%;animation-duration:28s;animation-delay:-3s}
.xmas-page main .xleaves i:nth-child(2){left:23%;animation-duration:34s;animation-delay:-17s;opacity:.32}
.xmas-page main .xleaves i:nth-child(3){left:46%;animation-duration:31s;animation-delay:-9s;transform:scale(.8)}
.xmas-page main .xleaves i:nth-child(4){left:64%;animation-duration:26s;animation-delay:-21s}
.xmas-page main .xleaves i:nth-child(5){left:81%;animation-duration:36s;animation-delay:-12s;opacity:.34}
.xmas-page main .xleaves i:nth-child(6){left:93%;animation-duration:30s;animation-delay:-26s}
.xmas-page main .xmenu .xleaves i:nth-child(odd){animation-name:xleaf-fall-long}
@keyframes xleaf-fall{
  0%{transform:translate(0,0) rotate(-20deg)}
  25%{transform:translate(28px,220px) rotate(25deg)}
  50%{transform:translate(-12px,440px) rotate(-15deg)}
  75%{transform:translate(32px,660px) rotate(30deg)}
  100%{transform:translate(4px,900px) rotate(-10deg)}}
@keyframes xleaf-fall-long{
  0%{transform:translate(0,0) rotate(15deg)}
  25%{transform:translate(-30px,650px) rotate(-25deg)}
  50%{transform:translate(18px,1300px) rotate(20deg)}
  75%{transform:translate(-26px,1950px) rotate(-30deg)}
  100%{transform:translate(6px,2600px) rotate(10deg)}}
@media (prefers-reduced-motion:reduce){
  .xmas-page main .xleaves i{animation:none}
  .xmas-page main .xleaves i:nth-child(1){top:8%}.xmas-page main .xleaves i:nth-child(2){top:62%}.xmas-page main .xleaves i:nth-child(3){top:30%}
  .xmas-page main .xleaves i:nth-child(4){top:80%}.xmas-page main .xleaves i:nth-child(5){top:18%}.xmas-page main .xleaves i:nth-child(6){top:48%}
}
.am-paused .xmas-page main .xleaves i{animation-play-state:paused}

/* ---------- dark green panels ("Good to know" and the bottom bar): flat forest-green linen ----------
   Fine warp and weft threads plus a faint fibre grain; no diagonals, folds or waves. */
.xmas-page{--x-linen:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .35' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.10) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px)}
.xmas-page main .service-section,.xmas-page main .xmenu-cta{background:var(--x-linen),#173326}
.xmas-page main .service-faq details,.xmas-page main .service-faq summary{border-color:rgba(232,205,146,.22)!important}
.xmas-page .footer-bottom{
  background:var(--x-linen),#163024;
  border-top:1px solid rgba(201,163,90,.45);
  box-shadow:inset 0 3px 0 rgba(201,163,90,.12)}
.xmas-page .footer-bottom,.xmas-page .footer-bottom a,.xmas-page .footer-bottom button{text-shadow:0 1px 2px rgba(0,0,0,.35)}

/* ---------- FAQ and enquiry pick up the palette ---------- */
.xmas-page main .service-section .eyebrow-gold{color:var(--x-gold-light)}
.xmas-page main .service-section h2{color:#fff}
.xmas-page main .service-section h2 em{color:var(--x-gold-light)}

@media (max-width:1000px){
  .xmas-page main .xhero-inner{grid-template-columns:minmax(0,1fr);gap:40px}
  .xmas-page main .xharvest-inner{grid-template-columns:minmax(0,1fr);gap:32px}
  .xmas-page main .xcourse{grid-template-columns:minmax(0,1fr);gap:18px}
}
@media (max-width:760px){
  .xmas-page main .xprice-grid,.xmas-page main .xdishes{grid-template-columns:minmax(0,1fr)}
  .xmas-page main .xhero-copy .eyebrow{flex-wrap:wrap;letter-spacing:.12em;font-size:.75rem;gap:10px}
  .xmas-page main .xhero-copy .eyebrow::before{width:22px}
  .xmas-page main .xhero-inset{right:-6px}
  .xmas-page main .xdishes{gap:26px}
  .xmas-page main .xhero-inset{right:0;width:52%}
  .xmas-page main .xhero-photos{padding-bottom:56px}
  .xmas-page main .xprices,.xmas-page main .xmenu{padding-block:60px}
  .xmas-page main .xharvest-inner{padding-block:56px}
  .xmas-page main .xmenu-cta{padding:24px}
}
