/* Elf Factory 2026 additions on top of the 2025 Astra + Spectra styles.
   Colours and fonts are the 2025 site's own: red #AA1B0C, green #0D840D / #085108,
   cream #FFFDFA, gold #F8CA3F; Bebas Neue headings, Rokkitt body, Inter buttons. */
:root{
  --ef-red:#AA1B0C; --ef-red-dark:#5A1008; --ef-green:#0D840D; --ef-green-dark:#085108;
  --ef-cream:#FFFDFA; --ef-cream-2:#FCF5E8; --ef-gold:#F8CA3F; --ef-gold-soft:#F4EEC4; --ef-ink:#2A1A14;
  --ef-display:"Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --ef-body:"Rokkitt", Georgia, serif;
  --ef-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Three workshop cards ---------- */
.wp-block-uagb-container.ef26-cards{
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);
  gap:24px; align-items:stretch; max-width:1200px !important; width:100% !important; margin-inline:auto;
}
.ef26-cards > .wp-block-uagb-container.ef26-card{max-width:none !important; width:auto !important; margin:0 !important; height:100%}
.ef26-card .uagb-icon-list__wrap{align-items:flex-start}
.ef26-card.ef26-featured{transform:translateY(-14px); box-shadow:0 24px 50px rgba(8,81,8,.35); border-width:12px !important}
.ef26-card.ef26-featured .uagb-block-47c11ea6 .uagb-heading-text{font-size:30px !important}
.ef26-ribbon{position:absolute; top:16px; left:-6px; z-index:5; background:var(--ef-red); color:var(--ef-cream);
  font-family:var(--ef-display); letter-spacing:2px; font-size:20px; padding:6px 18px 6px 14px; border-radius:0 100px 100px 0;
  box-shadow:0 4px 10px rgba(0,0,0,.3)}
.ef26-intro{font-family:var(--ef-body); color:var(--ef-cream); font-size:16px; line-height:1.45; text-align:left;
  background:rgba(255,253,250,.10); border-radius:12px; padding:10px 14px; margin:4px 18px 0}
.ef26-picks{margin:12px 18px 0; border:1px solid rgba(248,202,63,.6); border-radius:14px; overflow:hidden; text-align:left}
.ef26-pick{display:grid; gap:9px; padding:13px 15px; background:rgba(255,253,250,.06)}
.ef26-pick.ef26-master{background:rgba(248,202,63,.14)}
.ef26-pick + .ef26-pick{border-top:1px dashed rgba(248,202,63,.5)}
.ef26-pick-head{display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; color:var(--ef-cream)}
.ef26-n{display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--ef-gold); color:var(--ef-green-dark);
  font-family:var(--ef-display); font-size:22px; line-height:1; flex:none}
.ef26-pick-head b{font-family:var(--ef-display); font-weight:400; font-size:25px; letter-spacing:1.5px; line-height:1}
.ef26-sub{font-family:var(--ef-ui); font-size:12px; opacity:.85}
.ef26-chips{display:flex; flex-wrap:wrap; gap:7px}
.ef26-chips span{white-space:nowrap; font-family:var(--ef-ui); font-size:12.5px; font-weight:700; background:var(--ef-gold);
  color:var(--ef-green-dark); padding:5px 11px; border-radius:100px}
.ef26-master .ef26-chips span{font-size:14px; padding:7px 14px; background:var(--ef-cream); color:var(--ef-red); box-shadow:0 2px 0 rgba(0,0,0,.15)}
.ef26-rotate{font-family:var(--ef-ui); font-style:italic; font-size:12px; color:var(--ef-cream); opacity:.9; margin:8px 18px 0 !important; text-align:center}
.ef26-takehome{font-family:var(--ef-ui); font-size:13px; font-weight:600; color:var(--ef-cream); line-height:1.4;
  background:rgba(255,253,250,.12); border:1px dashed rgba(248,202,63,.85); border-radius:10px; padding:9px 13px; margin:6px 18px 4px; text-align:left}
.ef26-takehome b{color:var(--ef-gold)}

.ef26-notes{width:100%; max-width:860px; margin:26px auto 0; display:grid; gap:12px}
.ef26-free{display:flex; gap:14px; align-items:center; background:var(--ef-gold-soft); border:2px solid var(--ef-gold);
  border-radius:16px; padding:15px 20px; font-family:var(--ef-body); font-size:19px; color:var(--ef-red-dark)}
.ef26-free p{margin:0}
.ef26-star{font-size:26px; color:var(--ef-red); flex:none}
.ef26-mixed{display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; background:var(--ef-cream-2);
  border:1.5px solid #ead9c4; border-radius:16px; padding:16px 20px; font-family:var(--ef-body); font-size:17.5px; color:var(--ef-ink)}
.ef26-mixed-copy{flex:1 1 320px; min-width:0}
.ef26-mixed-copy p{margin:0}
.ef26-mixed-h{font-family:var(--ef-display); font-size:27px; letter-spacing:1.5px; color:var(--ef-green-dark); line-height:1.05; margin-bottom:6px !important}
.ef26-mixed-ex{flex:0 1 270px; min-width:0; display:grid; gap:6px; background:#fff; border:1.5px dashed var(--ef-green);
  border-radius:12px; padding:12px 14px; font-family:var(--ef-ui); font-size:13px}
.ef26-mixed-time{font-weight:700; color:var(--ef-red); letter-spacing:.4px; text-transform:uppercase; font-size:11.5px}
.ef26-row{display:flex; justify-content:space-between; gap:10px}
.ef26-row span{color:var(--ef-green-dark); font-weight:600}

/* ---------- Shared bits for the new sections ---------- */
.ef26-section{padding:80px 20px; font-family:var(--ef-body); font-size:18px; line-height:1.5}
.ef26-wrap{max-width:1200px; margin:0 auto}
.ef26-h2{font-family:var(--ef-display); font-weight:400; font-size:clamp(36px,5vw,52px); letter-spacing:3px; line-height:1.05;
  color:var(--ef-red); margin:6px 0 14px; text-transform:uppercase}
.ef26-light{color:var(--ef-cream)} .ef26-gold{color:var(--ef-gold)} .ef26-center{text-align:center}
.ef26-rule{width:150px; height:3px; background:var(--ef-gold); margin:0 auto 14px; border-radius:2px}
.ef26-kicker{font-family:var(--ef-display); color:var(--ef-gold); font-size:24px; letter-spacing:3px}
.ef26-kicker.ef26-green{color:var(--ef-green)}
.ef26-lede{font-size:20px}
.ef26-btns{display:flex; flex-wrap:wrap; gap:14px}
.ef26-btn{display:inline-flex; align-items:center; justify-content:center; font-family:var(--ef-ui); font-weight:700; font-size:15px;
  letter-spacing:.6px; text-transform:uppercase; text-decoration:none !important; padding:16px 28px; border-radius:100px;
  background:var(--ef-red); color:var(--ef-cream) !important; border:2px solid var(--ef-red); transition:transform .15s}
.ef26-btn:hover{transform:translateY(-2px)}
.ef26-btn.ef26-ghost{background:transparent; border-color:var(--ef-cream)}
.ef26-btn.ef26-greenbtn{background:var(--ef-green); border-color:var(--ef-green)}
.ef26-btn.ef26-small{padding:11px 20px; font-size:13px}
.ef26-dir{margin-top:14px; align-self:flex-start}

/* ---------- Parties ---------- */
.ef26-party{background:linear-gradient(43deg,var(--ef-green) 6%,var(--ef-green-dark) 69%); color:var(--ef-cream)}
.ef26-party-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center}
.ef26-facts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0}
.ef26-facts div{background:rgba(255,253,250,.12); border:1px solid rgba(255,253,250,.3); border-radius:14px; padding:13px 16px}
.ef26-facts b{display:block; font-family:var(--ef-display); font-weight:400; font-size:30px; letter-spacing:1.5px; color:var(--ef-gold); line-height:1.05}
.ef26-facts span{font-family:var(--ef-ui); font-size:13px}
.ef26-tiers{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px}
.ef26-tiers div{background:var(--ef-cream); color:var(--ef-ink); border-radius:14px; padding:10px 18px; display:flex; align-items:baseline; gap:10px}
.ef26-tiers b{font-family:var(--ef-display); font-weight:400; font-size:34px; color:var(--ef-red); letter-spacing:1px}
.ef26-tiers span{font-family:var(--ef-ui); font-size:13px; font-weight:600}
.ef26-party-photo{position:relative}
.ef26-party-photo img{border-radius:24px; border:8px solid var(--ef-gold); transform:rotate(1.5deg); box-shadow:0 18px 40px rgba(0,0,0,.35); width:100%; height:auto}
.ef26-badge{position:absolute; left:-14px; bottom:-14px; background:var(--ef-red); color:var(--ef-cream); font-family:var(--ef-display);
  font-size:24px; letter-spacing:2px; line-height:1; border-radius:50%; width:118px; height:118px; display:grid; place-items:center;
  text-align:center; transform:rotate(-10deg); box-shadow:0 8px 18px rgba(0,0,0,.3)}

/* ---------- Gift box ---------- */
.ef26-gift{background:var(--ef-cream-2); color:var(--ef-ink)}
.ef26-gift-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center}
.ef26-gift-photo img{border-radius:24px; aspect-ratio:1/1; object-fit:cover; width:100%; height:auto; border:8px solid var(--ef-gold)}
.ef26-list{margin:16px 0 22px; padding-left:22px}
.ef26-gift-price{display:flex; flex-wrap:wrap; align-items:center; gap:12px}
.ef26-price{font-family:var(--ef-display); font-size:64px; color:var(--ef-red); line-height:1; letter-spacing:2px}
.ef26-when{font-family:var(--ef-ui); font-size:13px; font-weight:700; color:var(--ef-green-dark); background:#e3f2e3; padding:6px 12px; border-radius:100px}
.ef26-left{margin-top:22px}

/* ---------- Friday nights ---------- */
.ef26-fridays{background:linear-gradient(180deg,#0f1d3a,#1c2f5c); color:var(--ef-cream)}
.ef26-fridays .ef26-lede{color:#dfe6f5}
.ef26-fri-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:34px}
.ef26-fri{background:rgba(255,253,250,.07); border:1.5px solid rgba(248,202,63,.55); border-radius:18px; padding:20px; display:flex; flex-direction:column; gap:10px}
.ef26-fri h3{font-family:var(--ef-display); font-weight:400; font-size:26px; letter-spacing:2px; color:var(--ef-cream); margin:0}
.ef26-fri p{font-size:16.5px; color:#dfe6f5; margin:0}
.ef26-fri .ef26-btn{margin-top:auto; background:var(--ef-gold); border-color:var(--ef-gold); color:#1c2f5c !important}
.ef26-date{display:flex; align-items:baseline; gap:8px; font-family:var(--ef-display); letter-spacing:2px; color:var(--ef-gold)}
.ef26-date b{font-size:56px; line-height:.9; font-weight:400}
.ef26-date span{font-size:22px}
.ef26-fri.ef26-opening{background:linear-gradient(160deg,var(--ef-red),var(--ef-red-dark)); border-color:var(--ef-gold)}
.ef26-tag{font-family:var(--ef-ui); font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; background:var(--ef-gold);
  color:var(--ef-red-dark); align-self:flex-start; padding:3px 8px; border-radius:4px}
.ef26-fri-info{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:22px; font-family:var(--ef-ui); font-size:13px; font-weight:600}
.ef26-fri-info span{border:1px solid rgba(255,253,250,.35); padding:7px 14px; border-radius:100px}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .wp-block-uagb-container.ef26-cards{grid-template-columns:minmax(0,1fr); max-width:560px !important}
  .ef26-card.ef26-featured{order:-1; transform:none}
  .ef26-party-grid,.ef26-gift-grid{grid-template-columns:minmax(0,1fr)}
  .ef26-fri-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .ef26-section{padding:56px 16px}
  .ef26-fri-grid,.ef26-facts{grid-template-columns:minmax(0,1fr)}
  .ef26-badge{width:96px; height:96px; font-size:19px; left:-6px}
  .ef26-chips span{white-space:normal}
}
@media (prefers-reduced-motion:reduce){.ef26-btn{transition:none}.ef26-btn:hover{transform:none}}

/* ---------- Fixes after first render ---------- */
.ef26-cards > .wp-block-uagb-container.ef26-card{display:flex !important; flex-direction:column !important; justify-content:flex-start !important; position:relative !important}
.ef26-card > .uagb-block-ed9b1bdd, .ef26-card > .uagb-block-bba71af8{order:-1}
.ef26-card.ef26-side > .uagb-block-bba71af8{flex:1 1 250px !important; min-height:250px !important}
.ef26-card.ef26-side > .uagb-block-9cbe6a8e{flex:none !important}
.ef26-card.ef26-featured > .uagb-block-ed9b1bdd{flex:none !important; min-height:230px !important}
.ef26-card .ef26-ribbon{position:absolute !important; top:16px !important; bottom:auto !important}
.ef26-section .ef26-wrap{max-width:1200px !important; width:100% !important; margin-left:auto !important; margin-right:auto !important; box-sizing:border-box}
.ef26-section{box-sizing:border-box; width:100%}

/* Stop the 2025 slide-in animations from widening the page on phones */
html, body{overflow-x:clip}

/* ---------- Phone fix: the 2025 card styles switch to wrap-reverse below 768px,
   which pushes the column contents to the right and past the gold border ---------- */
.ef26-cards > .wp-block-uagb-container.ef26-card{flex-wrap:nowrap !important; align-items:stretch !important; box-sizing:border-box !important; min-width:0}
.ef26-card > .wp-block-uagb-container{width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important; min-width:0}
.ef26-card .wp-block-uagb-advanced-heading{max-width:100%; box-sizing:border-box}
.ef26-card .uagb-heading-text{overflow-wrap:normal; word-break:normal; hyphens:none}
@media (max-width:767px){
  .ef26-card .wp-block-uagb-advanced-heading{padding-left:14px !important; padding-right:14px !important}
  .ef26-card.ef26-featured .uagb-block-47c11ea6 .uagb-heading-text{font-size:26px !important}
  .ef26-intro, .ef26-picks, .ef26-takehome{margin-left:10px; margin-right:10px}
  .ef26-rotate{margin-left:10px !important; margin-right:10px !important}
  .ef26-ribbon{font-size:17px; top:12px !important}
}

/* =====================================================================
   Mobile UX pass (Oct 2026)
   - centre every box inside the workshop cards (they were shifted 10px right)
   - paired buttons and price boxes side by side
   - 14px minimum text, 44-48px tap targets, sticky booking bar
   ===================================================================== */

/* Card bodies: one consistent inner gutter, children fill it exactly */
.ef26-card > .uagb-block-b686dfca, .ef26-card > .uagb-block-9cbe6a8e{
  padding-left:16px !important; padding-right:16px !important; box-sizing:border-box !important; align-items:stretch !important}
.ef26-card > .uagb-block-b686dfca > *, .ef26-card > .uagb-block-9cbe6a8e > *{
  width:auto !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important;
  align-self:stretch !important; box-sizing:border-box !important; min-width:0}
.ef26-card .ef26-intro, .ef26-card .ef26-picks, .ef26-card .ef26-takehome{margin-left:0 !important; margin-right:0 !important}
.ef26-card .ef26-rotate{margin-left:0 !important; margin-right:0 !important}
.ef26-card .wp-block-uagb-icon-list{width:100%; max-width:100%; box-sizing:border-box}
.ef26-card .uagb-icon-list__wrap{width:auto !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; padding-left:6px !important; padding-right:6px !important; box-sizing:border-box}
.ef26-card .wp-block-uagb-icon-list-child{min-width:0; max-width:100%}
.ef26-card .uagb-icon-list__label{min-width:0}
.ef26-card .wp-block-uagb-buttons-child, .ef26-card .uagb-button__wrapper{width:100%}
.ef26-card .wp-block-button__link{display:flex !important; justify-content:center; min-height:48px; box-sizing:border-box}

/* Touch targets everywhere */
.ef26-btn{min-height:48px; box-sizing:border-box; text-align:center; line-height:1.2}
.ef26-btn.ef26-small{min-height:44px}
.uagb-faq-questions-button{min-height:48px; box-sizing:border-box; align-items:center}
#ast-hf-mobile-menu .menu-link{min-height:48px; display:flex !important; align-items:center}
.ast-instagram.footer-social-item{min-height:44px; display:inline-flex !important; align-items:center}

/* Sticky booking bar: phones only, shown after the hero */
.ef26-stickybar{display:none}
@media (max-width:767px){
  .ef26-stickybar{display:grid; grid-template-columns:1fr auto 52px; gap:8px; align-items:center;
    position:fixed; left:0; right:0; bottom:0; z-index:9999; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(255,253,250,.97); box-shadow:0 -6px 20px rgba(0,0,0,.18); border-top:2px solid var(--ef-gold);
    transform:translateY(110%); transition:transform .25s ease}
  .ef26-stickybar.ef26-show{transform:none}
  .ef26-stickybar .ef26-btn{padding:12px 14px; font-size:14px; min-height:48px}
  .ef26-stickybar .ef26-outline{background:transparent; color:var(--ef-green-dark) !important; border-color:var(--ef-green-dark)}
  .ef26-wa{display:grid; place-items:center; width:52px; height:48px; border-radius:100px; background:#25D366}
  .uagb-block-a1b4d6fc{display:none !important}          /* 2025 floating WhatsApp, replaced by the bar */
  body{padding-bottom:76px}
}
@media (prefers-reduced-motion:reduce){.ef26-stickybar{transition:none}}

@media (max-width:767px){
  /* Readable minimum sizes */
  .ef26-takehome, .ef26-takehome b{font-size:14px}
  .ef26-sub{font-size:13px}
  .ef26-chips span{font-size:14px; padding:7px 12px; white-space:nowrap}
  .ef26-master .ef26-chips span{font-size:15px}
  .ef26-rotate{font-size:13.5px}
  .ef26-intro{font-size:16px}
  .ef26-pick{padding:14px}
  .ef26-pick-head b{font-size:24px}
  .uagb-block-819e8821 .has-small-font-size{font-size:15px !important; line-height:1.5}
  .ef26-section{font-size:17px}
  .ef26-facts span, .ef26-tiers span, .ef26-when, .ef26-fri-info span{font-size:14px}
  .ef26-btn.ef26-small{font-size:14px}
  .ef26-tag{font-size:12px}

  /* Example booking: centred card */
  .ef26-mixed{flex-direction:column; align-items:stretch; text-align:center; padding:18px 16px}
  .ef26-mixed-copy{flex:none}
  .ef26-mixed-ex{flex:none; width:100%; max-width:340px; margin:4px auto 0; box-sizing:border-box; text-align:left; font-size:14px; padding:14px 16px}
  .ef26-mixed-time{text-align:center; font-size:12.5px}
  .ef26-free{font-size:17px; padding:14px 16px}

  /* Parties: facts 2x2, prices and buttons side by side */
  .ef26-facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px}
  .ef26-facts div{padding:12px}
  .ef26-facts b{font-size:24px}
  .ef26-tiers{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
  .ef26-tiers div{flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
  .ef26-tiers b{font-size:36px; line-height:1}
  .ef26-btns{display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); gap:10px}
  .ef26-btns .ef26-btn{padding:12px 10px; font-size:13.5px; letter-spacing:.3px; width:100%}
  .ef26-btns.ef26-left .ef26-btn{grid-column:1/-1}

  /* Gift box and Fridays */
  .ef26-gift-grid{text-align:left}
  .ef26-price{font-size:56px}
  .ef26-fri{padding:18px}
  .ef26-fri .ef26-btn{width:100%}
  .ef26-badge{left:auto; right:-6px; bottom:-12px}

  /* Hero: the two buttons side by side */
  .uagb-block-2a48a646{flex-direction:row !important; flex-wrap:nowrap !important; justify-content:center !important; gap:10px !important; width:100% !important}
  .uagb-block-2a48a646 > .wp-block-uagb-buttons{flex:1 1 0; min-width:0; margin:0 !important}
  .uagb-block-2a48a646 .uagb-buttons__wrap, .uagb-block-2a48a646 .wp-block-button, .uagb-block-2a48a646 .uagb-button__wrapper{width:100% !important; justify-content:center !important}
  .uagb-block-2a48a646 .wp-block-button__link{width:100% !important; justify-content:center; min-height:48px; padding:12px 8px !important; box-sizing:border-box}
  .uagb-block-2a48a646 .uagb-button__link{font-size:13.5px !important; white-space:nowrap}

  /* Visit: directions button full width */
  .ef26-dir{width:100%; align-self:stretch}
}
@media (max-width:359px){
  .ef26-btns{grid-template-columns:minmax(0,1fr)}
  .uagb-block-2a48a646{flex-wrap:wrap !important}
}

#astra-footer-menu .menu-link{min-height:44px; display:flex !important; align-items:center; justify-content:center}

/* Scroll animations only start after the whole page (video included) has loaded, which on mobile data
   leaves sections blank for seconds. Phones and reduced-motion users get the content immediately. */
@media (max-width:767px){ [data-aos]{opacity:1 !important; transform:none !important; transition:none !important} }
@media (prefers-reduced-motion:reduce){ [data-aos]{opacity:1 !important; transform:none !important; transition:none !important} }

/* "Tired of DIY kits": the 2025 page hid the four problem cards on phones, leaving an orphan heading */
@media (max-width:767px){
  body .wp-block-uagb-container.uagb-block-5f62d14e.uag-hide-mob{display:block !important; width:100% !important; max-width:100% !important; padding:0 16px 12px !important; box-sizing:border-box}
  .uagb-block-5f62d14e > .uagb-container-inner-blocks-wrap{display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; gap:12px !important; width:100% !important}
  body .uagb-block-5f62d14e .wp-block-uagb-container.uag-hide-mob{display:flex !important; width:100% !important; max-width:100% !important; margin:0 !important; min-height:0 !important; padding:16px !important; box-sizing:border-box}
  .uagb-block-5f62d14e .uagb-svg-wrapper svg, .uagb-block-5f62d14e .uagb-icon-wrapper svg{width:30px !important; height:30px !important}
  .uagb-block-5f62d14e p{font-size:15px !important; line-height:1.5}
}

/* Parties: red band (the "Why parents love us" section above it is green) */
.ef26-party{background:linear-gradient(43deg,var(--ef-red) 6%,var(--ef-red-dark) 69%)}
.ef26-party .ef26-btn:not(.ef26-ghost){background:var(--ef-green); border-color:var(--ef-green)}
.ef26-party .ef26-badge{background:var(--ef-green)}
.ef26-party .ef26-facts div{background:rgba(255,253,250,.10); border-color:rgba(248,202,63,.45)}

/* 2025 list containers carry a 230px minimum height, which left an empty band inside the cards */
.ef26-card .uagb-block-420892af, .ef26-card .uagb-block-54e9ff6b{min-height:0 !important; padding-top:6px !important; padding-bottom:6px !important}

/* Parties: brighter palette red, and the zigzag above it filled with the same red */
.ef26-party{background:var(--ef-red) radial-gradient(rgba(255,255,255,.06) 22px, transparent 23px) 0 0/60px 60px; margin-top:0 !important}
.uagb-block-a8d758a6 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill:var(--ef-red) !important}
.uagb-block-a8d758a6{margin-bottom:0 !important}
.ef26-party .ef26-facts div{background:rgba(90,16,8,.28); border-color:rgba(248,202,63,.5)}

/* One size for the three workshop buttons */
.ef26-card .wp-block-uagb-buttons, .ef26-card .uagb-buttons__wrap{width:100% !important; justify-content:center !important}
.ef26-card .wp-block-uagb-buttons-child{width:100% !important; max-width:290px !important; margin:0 auto !important}
.ef26-card .wp-block-button__link{width:100% !important; height:56px !important; min-height:56px !important; padding:0 14px !important;
  display:flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; border-radius:100px !important}
.ef26-card .uagb-button__link{font-size:14.5px !important; line-height:1.15 !important; letter-spacing:.4px; white-space:nowrap; text-align:center}
.ef26-card .wp-block-uagb-buttons-child{max-width:250px !important}
.ef26-card .uagb-button__link{font-size:14px !important}

/* Desktop column split tuned so the three cards' natural heights match (less empty space under Crafting) */
@media (min-width:1025px){ .wp-block-uagb-container.ef26-cards{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr)} }
@media (min-width:1025px) and (max-width:1300px){ .wp-block-uagb-container.ef26-cards{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr)} }

/* "Tired of DIY kits" now follows the blue Friday section instead of the curved hero: give it room */
@media (min-width:768px){ .wp-block-uagb-container.uagb-block-1d6d387f{padding-top:80px !important; padding-bottom:40px !important} }

/* =====================================================================
   Mobile spacing pass: tighter vertical rhythm (target ~32-48px between blocks)
   ===================================================================== */
@media (max-width:767px){
  /* hero bottom and the empty spacer above "Choose your workshop" */
  .wp-block-uagb-container.uagb-block-4c80560e{padding-bottom:56px !important}
  .wp-block-uagb-container.uagb-block-ea9bc29c{display:none !important}
  .wp-block-uagb-container.uagb-block-ef3c6e1b > .uagb-container-inner-blocks-wrap{row-gap:14px !important}
  /* workshop cards -> "Parents don't need a ticket" */
  .wp-block-uagb-container.uagb-block-9211d397{margin-bottom:0 !important}
  .ef26-notes{margin-top:18px}

  /* How it works: heading, subtitle and step cards */
  .wp-block-uagb-container.uagb-block-9c6accb9 > .uagb-container-inner-blocks-wrap,
  .wp-block-uagb-container.uagb-block-d5c3c91c > .uagb-container-inner-blocks-wrap{row-gap:10px !important}
  .wp-block-uagb-container.uagb-block-819e8821 > .uagb-container-inner-blocks-wrap{row-gap:14px !important}
  .uagb-block-819e8821 .uagb-block-870ca988, .uagb-block-819e8821 .uagb-block-2ec1a5db, .uagb-block-819e8821 .uagb-block-fbed0a49{
    padding-top:18px !important; padding-bottom:20px !important; row-gap:10px !important}
  .uagb-block-819e8821 .wp-block-uagb-image img{max-height:110px; width:auto}
  .uagb-block-9c6accb9 p{margin-bottom:0 !important}

  /* Why parents love us -> Parties */
  .wp-block-uagb-container.uagb-block-a8d758a6{padding-top:36px !important; padding-bottom:40px !important}
  .uagb-block-f0254fe6 p{margin-bottom:0 !important}

  /* New sections: one consistent rhythm */
  .ef26-section{padding-top:44px; padding-bottom:44px}
  .ef26-h2{margin-bottom:10px}
  .ef26-facts{margin:18px 0}
  .ef26-tiers{margin-bottom:18px}
  .ef26-party-photo{margin-top:8px}
  .ef26-gift-grid, .ef26-party-grid{gap:28px}
  .ef26-fri-grid{margin-top:22px; gap:14px}
  .ef26-fri-info{margin-top:16px}

  /* Tired of DIY kits */
  .wp-block-uagb-container.uagb-block-1d6d387f{padding-top:40px !important; padding-bottom:0 !important}
  .wp-block-uagb-container.uagb-block-1d6d387f > .uagb-container-inner-blocks-wrap,
  .wp-block-uagb-container.uagb-block-38ee3133, .wp-block-uagb-container.uagb-block-6973dff7{row-gap:10px !important}
  body .uagb-block-5f62d14e .wp-block-uagb-container.uag-hide-mob{row-gap:6px !important; padding:14px 16px !important}
  .uagb-block-5f62d14e .uagb-icon-wrapper{margin:0 !important}
  .uagb-block-5f62d14e .wp-block-uagb-advanced-heading{margin:0 !important; padding:0 !important}
  .uagb-block-5f62d14e p{margin:0 !important}

  /* Visit: drop the 70px spacer and the 60px margins between the three columns */
  .wp-block-uagb-container.uagb-block-28ac21ad{display:none !important}
  .wp-block-uagb-container.uagb-block-09412391{margin-top:0 !important}
  .wp-block-uagb-container.uagb-block-bffdc5de{margin-bottom:0 !important}
  .wp-block-uagb-container.uagb-block-23f0be17 > .uagb-container-inner-blocks-wrap{row-gap:8px !important}
  .wp-block-uagb-container.uagb-block-3bc9289d, .wp-block-uagb-container.uagb-block-4decb7be, .wp-block-uagb-container.uagb-block-bffdc5de{padding-top:6px !important; padding-bottom:6px !important}

  /* FAQ: drop the 50px spacer at the end */
  .wp-block-uagb-container.uagb-block-d1d1634a{display:none !important}
}
@media (max-width:767px){
  /* Meet your holiday heroes: 2025 fixed min-height of 1000px left ~130px of empty green on phones */
  .wp-block-uagb-container.uagb-block-2fdeeb1b{min-height:0 !important; padding-bottom:44px !important}
  .wp-block-uagb-container.uagb-block-8230ee7c{display:none !important}
}
