/*
Theme Name: The Wonky Factory
Theme URI: https://thewonkyfactory.co.uk
Description: Custom theme built on Twenty Twenty-Five for The Wonky Factory. Vibrant electric-purple storybook look with hot red, sunshine yellow, mustard and magenta accents, solid cream text panels, retro display type and faint chocolate-factory line-art textures.
Author: The Wonky Factory
Template: twentytwentyfive
Version: 5.0.0
Requires at least: 6.5
Text Domain: wonky-factory
License: GNU General Public License v2 or later
*/
/* ==========================================================
   THE WONKY FACTORY – v4
   Deep rich purple page, chocolate-brown wrapper art, solid cream text
   panels with hard ink borders and offset shadows, yellow / red / mustard
   accents, chunky hand-lettered display type (Caprasimo), Oleo for flourishes,
   Lilita One for small headings and buttons, Outfit for body text.
   Palette: base=Grape, contrast=Ink, accent-1=Sunshine Yellow, accent-2=Ticket Red,
   accent-3=Violet, accent-4=Mustard, accent-5=Night Plum, accent-6=Cream
   ========================================================== */
:root{
  --wf-grape: var(--wp--preset--color--base, #2E0854);
  --wf-ink: var(--wp--preset--color--contrast, #1A0430);
  --wf-yellow: var(--wp--preset--color--accent-1, #FFD400);
  --wf-red: var(--wp--preset--color--accent-2, #D7263D);
  --wf-violet: var(--wp--preset--color--accent-3, #4F1A7A);
  --wf-mustard: var(--wp--preset--color--accent-4, #D4A017);
  --wf-night: var(--wp--preset--color--accent-5, #1A0430);
  --wf-cream: var(--wp--preset--color--accent-6, #FFF4D6);
  --wf-magenta: var(--wp--preset--color--magenta, #820080);
  --wf-pink:#EE5FA7;
  --wf-choc:#3D1B12;
  --wf-line:#1A0A14;
  --wf-display: 'Caprasimo', 'Cooper Black', 'Lilita One', Georgia, serif;
  --wf-script: var(--wp--preset--font-family--oleo, 'Oleo Script Swash Caps', cursive);
  --wf-label: var(--wp--preset--font-family--lilita, 'Lilita One', 'Trebuchet MS', sans-serif);
  --wf-body: var(--wp--preset--font-family--outfit, Outfit, system-ui, sans-serif);
  --wf-shadow: 6px 6px 0 var(--wf-line);
  --wf-ticket: linear-gradient(135deg,#FFE88A 0%,#F2C94C 50%,#E0A81A 100%);
}
@font-face{font-family:'Caprasimo';font-weight:400;font-style:normal;font-display:swap;src:url("assets/fonts/caprasimo.woff2") format("woff2")}
html{scroll-behavior:smooth}
body{background:var(--wf-grape);color:var(--wf-cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-family:var(--wf-body);font-size:1.125rem;line-height:1.55;font-weight:500}
.wp-site-blocks{overflow-x:clip}
img{max-width:100%;height:auto}
::selection{background:var(--wf-yellow);color:var(--wf-ink)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:4px solid var(--wf-yellow);outline-offset:3px;border-radius:6px}
.skip-link,.screen-reader-text:focus{background:var(--wf-yellow);color:var(--wf-ink)}
a{color:var(--wf-yellow);text-underline-offset:.2em}
a:hover{color:#fff}
p,li{color:inherit}

/* ---------- Type: chunky hand-lettered headings ---------- */
h1,h2,h3,h4{text-wrap:balance;color:var(--wf-yellow)}
h1,h2{font-family:var(--wf-display);font-weight:400;line-height:1.06;letter-spacing:.005em;color:var(--wf-cream);
  text-shadow:-2px -2px 0 var(--wf-line),2px -2px 0 var(--wf-line),-2px 2px 0 var(--wf-line),2px 2px 0 var(--wf-line),0 -2px 0 var(--wf-line),0 2px 0 var(--wf-line),-2px 0 0 var(--wf-line),2px 0 0 var(--wf-line),4px 6px 0 var(--wf-line)}
h1{font-size:clamp(2.1rem,1.2rem + 3.9vw,4.1rem)}
h2{font-size:clamp(1.8rem,1.2rem + 2.2vw,3rem)}
h3,h4{font-family:var(--wf-label);font-weight:400;font-size:clamp(1.3rem,1.15rem + .6vw,1.65rem);line-height:1.15;letter-spacing:.015em}
h1 mark,h2 mark{background:none;color:var(--wf-yellow)}
.wf-script,.wf-eyebrow{font-family:var(--wf-script);font-weight:700}
/* purple ribbon banner eyebrow */
.wf-eyebrow{position:relative;display:inline-block;margin:0 0 .9rem;padding:.35em 1.7em;font-size:clamp(1.15rem,1.05rem + .6vw,1.5rem);line-height:1.25;color:var(--wf-cream);background:#5C1D86;border-top:3px solid var(--wf-line);border-bottom:3px solid var(--wf-line);transform:rotate(-2deg);text-shadow:2px 2px 0 var(--wf-line);
  clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%);filter:none}
.wf-lede{font-size:clamp(1.15rem,1.05rem + .5vw,1.35rem);line-height:1.5}
.wf-center{text-align:center}
.wf-y{color:var(--wf-yellow)}

/* ---------- Header: solid night bar, wavy pink/red trim ---------- */
.wf-header{position:relative;z-index:30;background:var(--wf-night);padding:.55rem clamp(.75rem,2.5vw,1.5rem) .6rem;min-height:72px;display:flex;align-items:center}
.wf-header::after{content:"";position:absolute;left:0;right:0;bottom:-19px;height:20px;background:url("assets/img/wave-strip.svg?v=5") repeat-x 0 0/120px 20px;pointer-events:none}
.wf-header::before{content:"";position:absolute;left:0;right:0;bottom:0;height:0}
.wf-header>.wf-header-inner{width:100%}
.wf-header-inner{align-items:center!important;gap:.4rem 1rem;max-width:1360px!important}
.wf-header .wp-block-site-title{margin:0;line-height:1;font-size:0}

.wf-header .wp-block-site-title a:hover{transform:rotate(-2deg) scale(1.05)}
.wf-navwrap{gap:.5rem .8rem}
.wf-header .wp-block-navigation{font-family:var(--wf-label);font-weight:400;font-size:1.05rem;letter-spacing:.03em}
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{color:var(--wf-cream);text-decoration:none;padding:.4rem .55rem;position:relative;white-space:nowrap;border-bottom:4px solid transparent;border-radius:0;transition:color .15s}
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover{color:var(--wf-yellow)}
.wf-header .wp-block-navigation .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content{color:var(--wf-yellow);border-bottom-color:var(--wf-yellow)}
.wf-header .wp-block-navigation__container{gap:.1rem .1rem}
.wf-header .wp-block-navigation__responsive-container-open,.wf-header .wp-block-navigation__responsive-container-close,.wf-header .wp-block-woocommerce-customer-account,.wf-header .wp-block-woocommerce-customer-account a{color:var(--wf-yellow)!important}
.wf-header .wp-block-navigation__responsive-container-open{background:var(--wf-violet);border:3px solid var(--wf-line);border-radius:12px;padding:.5rem;box-shadow:3px 3px 0 var(--wf-line)}
.wf-header .wp-block-navigation__responsive-container-open svg,.wf-header .wc-block-customer-account__account-icon{fill:currentColor}
.wf-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--wf-night);color:var(--wf-cream);padding:2rem}
.wf-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content{font-family:var(--wf-display);font-size:1.7rem;color:var(--wf-yellow)}
.wf-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content:hover{color:#fff}
.wf-cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--wf-red);color:#fff!important;text-decoration:none;border:3px solid var(--wf-line);box-shadow:3px 3px 0 var(--wf-line);transition:transform .2s}
.wf-cart-link:hover{transform:rotate(-8deg) scale(1.08);background:var(--wf-yellow);color:var(--wf-ink)!important}
.wf-cart-icon{font-size:0;width:1.3rem;height:1.3rem;display:block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h-3l-1 2h2l3.6 7.6-1.4 2.4c-.5 1 .2 2 1.3 2h11v-2h-10.4l.9-1.6h7.6c.7 0 1.3-.4 1.6-1l3.6-6.5c.4-.7-.1-1.5-.9-1.5h-14.2zM8 20a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm9 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h-3l-1 2h2l3.6 7.6-1.4 2.4c-.5 1 .2 2 1.3 2h11v-2h-10.4l.9-1.6h7.6c.7 0 1.3-.4 1.6-1l3.6-6.5c.4-.7-.1-1.5-.9-1.5h-14.2zM8 20a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm9 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E") center/contain no-repeat}
.wf-cart-count{position:absolute;top:-8px;right:-8px;min-width:1.45rem;height:1.45rem;padding:0 .25rem;box-sizing:border-box;border-radius:999px;background:var(--wf-yellow);color:var(--wf-ink);font:400 .85rem/1.2rem var(--wf-label);text-align:center;border:2px solid var(--wf-line)}
.wf-header .wp-block-shortcode{margin:0}
.wf-header-cta{display:inline-flex;align-items:center;white-space:nowrap;font-family:var(--wf-label);font-size:1rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--wf-ink);background:var(--wf-yellow);border:3px solid var(--wf-line);border-radius:12px;padding:.55rem 1rem;box-shadow:4px 4px 0 var(--wf-line);transition:transform .15s,box-shadow .15s,background .15s}
.wf-header-cta:hover{background:var(--wf-cream);color:var(--wf-ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--wf-line)}
.wf-header .wp-block-woocommerce-mini-cart,.wf-header .wc-block-mini-cart{display:none!important}
@media (min-width:600px) and (max-width:1279px){
  .wf-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
  .wf-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
}
@media (max-width:781px){.wf-header-inner{flex-wrap:nowrap!important;justify-content:space-between!important}}
@media (max-width:640px){.wf-header-cta{display:none}}
@media (max-width:520px){.wf-header .wp-block-woocommerce-customer-account{display:none}.wf-header .wp-block-site-title a{width:150px}}
@media (min-width:1280px){.wf-header-inner{flex-wrap:nowrap!important}.wf-header .wp-block-navigation{flex-wrap:nowrap}}
@media (min-width:1280px) and (max-width:1420px){.wf-header .wp-block-navigation{font-size:.98rem}.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{padding:.4rem .4rem}.wf-header-cta{padding:.5rem .8rem;font-size:.92rem}}

/* ---------- Page header (inner pages) ---------- */
.wf-pagehead{position:relative;text-align:center;background:var(--wf-violet);padding:clamp(3.2rem,6vw,4.8rem) 1.25rem clamp(2.4rem,5vw,3.6rem);margin:0!important;overflow:visible;--sec:var(--wf-violet)}
.wf-pagehead .wp-block-post-title{position:relative;z-index:1;margin:0 auto;max-width:900px;transform:rotate(-1.2deg)}
.wf-pagehead::before,.wf-pagehead::after{content:"";position:absolute;pointer-events:none;width:clamp(40px,6vw,76px);aspect-ratio:1;background:url("assets/img/star-pink.svg?v=5") center/contain no-repeat;animation:wf-twinkle 3.4s ease-in-out infinite}
.wf-pagehead::before{left:clamp(.8rem,9vw,9rem);top:34%}
.wf-pagehead::after{right:clamp(.8rem,9vw,9rem);top:42%;background-image:url("assets/img/star-yellow.svg?v=5");animation-delay:-1.5s}

/* ---------- Sections: solid colour blocks with scalloped edges ---------- */
.wf-main{margin-top:0!important}
.wf-section{position:relative;padding-block:clamp(3rem,6vw,5rem)!important;--sec:var(--wf-grape)}
.wf-section.alignfull{margin-block:0!important}
.wf-section::after,.wf-pagehead::after{}
.wf-section::after{content:"";position:absolute;left:0;right:0;bottom:-17px;height:18px;background:radial-gradient(circle at 50% 0,var(--sec) 0 10px,transparent 10.5px) 0 0/24px 18px repeat-x;pointer-events:none;z-index:3}
.wf-pagehead{}
.wf-pagehead>*{position:relative}
.wf-pagehead{box-shadow:none}
.wf-pagehead::after{}
.wp-block-post-content>.alignfull:first-child{margin-top:0}
.wf-section>*{position:relative;z-index:1}
.wf-section>.wf-stars{position:absolute;z-index:0;max-width:none!important;margin:0!important;left:0;right:0;width:auto}
.wf-bg-plum{background:var(--wf-grape);--sec:var(--wf-grape);color:var(--wf-cream)}
.wf-bg-violet,.wf-bg-warm,.wf-hero{background:var(--wf-violet);--sec:var(--wf-violet);color:var(--wf-cream)}
.wf-bg-night{background:var(--wf-night);--sec:var(--wf-night)}
.wf-bg-cream{background:var(--wf-cream);--sec:var(--wf-cream);color:var(--wf-ink)}
.wf-bg-yellow{background:var(--wf-yellow);--sec:var(--wf-yellow);color:var(--wf-ink)}
.wf-bg-mustard{background:var(--wf-mustard);--sec:var(--wf-mustard);color:var(--wf-ink)}
.wf-bg-red{background:var(--wf-red);--sec:var(--wf-red);color:#fff}
.wf-bg-cream h2,.wf-bg-yellow h2,.wf-bg-mustard h2,.wf-bg-cream h1,.wf-bg-yellow h1,.wf-bg-mustard h1{color:var(--wf-violet);text-shadow:3px 3px 0 var(--wf-cream)}
.wf-bg-yellow h2,.wf-bg-yellow h1{text-shadow:3px 3px 0 #fff7b0}
.wf-bg-mustard h2{text-shadow:3px 3px 0 #F3D582}
.wf-bg-cream h3,.wf-bg-yellow h3,.wf-bg-mustard h3{color:var(--wf-violet)}
.wf-bg-cream a,.wf-bg-yellow a,.wf-bg-mustard a{color:var(--wf-violet)}
.wf-bg-cream .wp-block-button__link,.wf-bg-yellow .wp-block-button__link,.wf-bg-mustard .wp-block-button__link{color:var(--wf-ink)}
.wf-sectionhead{text-align:center;max-width:760px;margin-inline:auto;margin-bottom:2.6rem}
.wf-sectionhead h2{margin:.1em 0 .45em}
/* body text under a heading sits on a solid cream panel when the section is purple */
.wf-bg-plum .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-violet .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-warm .wf-sectionhead>p:not(.wf-eyebrow){display:inline-block;background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:18px;box-shadow:5px 5px 0 var(--wf-line);padding:.8rem 1.3rem;margin:.2rem 0 0;transform:rotate(-.6deg)}
.wf-sectionhead::after{content:"";display:block;width:min(220px,55%);aspect-ratio:6/1;margin:1.1rem auto 0;background:url("assets/img/divider.svg?v=5") center/contain no-repeat;animation:wf-twinkle-soft 4s ease-in-out infinite}
.wf-narrow{max-width:780px;margin-inline:auto}
/* generic cream text panel */
.wf-panel{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:24px;box-shadow:var(--wf-shadow);padding:clamp(1.3rem,3vw,2rem)}
.wf-panel p,.wf-panel li{color:var(--wf-ink)}
.wf-panel h2,.wf-panel h3{color:var(--wf-violet);text-shadow:none}
.wf-panel a{color:var(--wf-violet)}
.wf-panel>*:first-child{margin-top:0}.wf-panel>*:last-child{margin-bottom:0}

/* ---------- Announcement strip ---------- */
.wf-strip{background:var(--wf-red);color:#fff;text-align:center;padding:.55rem 1rem!important;border-bottom:3px solid var(--wf-line);position:relative;z-index:2}
.wf-strip p{margin:0;font-weight:700;font-size:.95rem;color:#fff}
.wf-strip p span{color:var(--wf-yellow)}

/* ---------- Hero ---------- */
.wf-hero{padding-block:clamp(2.6rem,5vw,4.4rem) clamp(3.6rem,6vw,5.4rem)!important;overflow:visible}
.wf-hero .wp-block-columns{align-items:center!important;gap:2.4rem;margin-bottom:0}
.wf-hero h1{margin:.05em 0 .4em;font-size:clamp(2rem,1rem + 3.5vw,3.7rem)}
.wf-hero h1 mark{display:block;padding:.02em 0}
.wf-hero h1 mark:nth-of-type(1){transform:rotate(-1.6deg)}
.wf-hero h1 mark:nth-of-type(2){color:var(--wf-cream);transform:rotate(.8deg);margin-left:.2em}
.wf-hero h1 mark:nth-of-type(3){transform:rotate(-.8deg)}
.wf-hero .wf-panel .wf-lede{margin:0 0 1.2rem;color:var(--wf-ink);font-weight:600}
.wf-hero .wf-panel{max-width:600px}
.wf-hero .wp-block-buttons{margin-bottom:1.4rem}
.wf-textlink{font-weight:700;color:var(--wf-violet)!important;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:2px;display:inline-flex;align-items:center;min-height:2.6rem}
.wf-facts{list-style:none;margin:0;padding:1rem 0 0;border-top:3px dashed var(--wf-line);display:flex;flex-wrap:wrap;gap:.7rem 1.4rem}
.wf-facts li{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1rem;color:var(--wf-ink);line-height:1.2}
.wf-facts i{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--wf-yellow);border:3px solid var(--wf-line);display:grid;place-items:center}
.wf-facts i::before{content:"";width:1.05rem;height:1.05rem;background:var(--wf-ink);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.wf-facts .i1{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12l9-9h9v9l-9 9zm14-6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E")}
.wf-facts .i2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 5v5.4l4 2.3-1 1.7-5-3V7z'/%3E%3C/svg%3E")}
.wf-facts .i3{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6l9-4 9 4v12l-9 4-9-4zm9-1.8L6.2 6.8 12 9.4l5.8-2.6zM5 8.5v8.2l6 2.7v-8.2zm14 0l-6 2.7v8.2l6-2.7z'/%3E%3C/svg%3E")}
.wf-barimg{display:block;width:100%;height:auto;transform:rotate(-4deg);filter:drop-shadow(8px 12px 0 rgba(0,0,0,.35));transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.wf-barart{position:relative;max-width:640px;margin-inline:auto}
.wf-barart:hover .wf-barimg{transform:rotate(-1.5deg) scale(1.02)}
.wf-barart::before,.wf-barart::after{content:"";position:absolute;width:clamp(34px,5vw,60px);aspect-ratio:1;pointer-events:none;animation:wf-twinkle 3.2s ease-in-out infinite}
.wf-barart::before{left:-4%;top:-8%;background:url("assets/img/star-yellow.svg?v=5") center/contain no-repeat}
.wf-barart::after{right:-2%;bottom:-8%;background:url("assets/img/star-pink.svg?v=5") center/contain no-repeat;animation-delay:-1.6s}
.wf-stars{pointer-events:none;overflow:hidden}
.wf-star{position:absolute;width:var(--s,26px);aspect-ratio:1;background:url("assets/img/sparkle-pink.svg?v=5") center/contain no-repeat;animation:wf-twinkle 3.2s ease-in-out infinite;animation-delay:var(--d,0s)}
.wf-star:nth-child(even){background-image:url("assets/img/sparkle-gold.svg?v=5")}
@media (max-width:781px){.wf-hero .wp-block-columns{gap:3rem}.wf-barimg{transform:rotate(-2.5deg)}}

/* ---------- Buttons: ink-outlined with hard shadow ---------- */
.wp-block-buttons{gap:1rem 1.2rem}
.wp-block-button__link,.wp-element-button.wc-block-components-button,.single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wpcf7-submit,.wc-block-components-button:not(.is-link),.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--wf-label)!important;font-weight:400!important;font-size:1.1rem!important;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;text-align:center;
  background:var(--wf-yellow)!important;color:var(--wf-ink)!important;text-decoration:none!important;
  border:3px solid var(--wf-line)!important;border-radius:14px!important;padding:.8em 1.5em!important;min-height:3.4rem;box-sizing:border-box;cursor:pointer;
  box-shadow:5px 5px 0 var(--wf-line);transition:transform .15s,box-shadow .15s,background .15s,color .15s;
}
.wp-block-button__link::after,.single_add_to_cart_button::after,.woocommerce a.button::after,.woocommerce button.button::after,.wc-block-components-button:not(.is-link) .wc-block-components-button__text::after{
  content:"";flex:none;width:1.05em;height:.8em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M0 7h15.2L9.6 1.4 11 0l8 8-8 8-1.4-1.4L15.2 9H0z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M0 7h15.2L9.6 1.4 11 0l8 8-8 8-1.4-1.4L15.2 9H0z'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text{display:inline-flex;align-items:center;gap:.6em}
.wp-block-button__link:hover,.single_add_to_cart_button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wpcf7-submit:hover,.wc-block-components-button:not(.is-link):hover{background:var(--wf-cream)!important;color:var(--wf-ink)!important;transform:translate(3px,3px);box-shadow:2px 2px 0 var(--wf-line)}
.wp-block-button__link:hover::after{transform:translateX(4px)}
.is-style-ticket-red .wp-block-button__link,.woocommerce a.button.alt,.woocommerce button.button.alt,.single_add_to_cart_button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--wf-red)!important;color:#fff!important}
.is-style-ticket-red .wp-block-button__link:hover,.single_add_to_cart_button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#A91B2F!important;color:#fff!important}
.is-style-ticket-plum .wp-block-button__link{background:var(--wf-grape)!important;color:var(--wf-yellow)!important}
.is-style-ticket-plum .wp-block-button__link:hover{background:var(--wf-yellow)!important;color:var(--wf-ink)!important}
.wf-bg-plum .is-style-ticket-plum .wp-block-button__link,.wf-bg-violet .is-style-ticket-plum .wp-block-button__link,.wf-hero .is-style-ticket-plum .wp-block-button__link{background:var(--wf-cream)!important;color:var(--wf-ink)!important}
/* primary CTA: scalloped golden ticket */
.wp-block-button.is-style-ticket-gold.wf-big{filter:drop-shadow(5px 5px 0 var(--wf-line))}
.wp-block-button.is-style-ticket-gold.wf-big .wp-block-button__link{--n:12px;border-radius:12px!important;box-shadow:none;padding:.95em 2.4em!important;font-size:1.25rem!important;min-height:4rem;
  -webkit-mask:radial-gradient(circle at 0 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) right/51% 100% no-repeat;
  mask:radial-gradient(circle at 0 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) right/51% 100% no-repeat}
.wp-block-button.is-style-ticket-gold.wf-big:hover{transform:translate(3px,3px);filter:drop-shadow(2px 2px 0 var(--wf-line))}
.wp-block-button.wf-big:not(.is-style-ticket-gold) .wp-block-button__link{font-size:1.2rem!important;min-height:3.8rem}
.wp-block-buttons.wf-center,.wf-center .wp-block-buttons{justify-content:center}
.wpcf7-submit{padding-right:1.6em!important;background:var(--wf-red)!important;color:#fff!important}

/* ---------- Cards: solid cream with ink border ---------- */
.wf-cards{gap:1.7rem!important}
.wf-card{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:24px;padding:1.9rem 1.6rem 1.7rem!important;position:relative;box-shadow:var(--wf-shadow);transition:transform .25s cubic-bezier(.3,1.7,.5,1)}
.wf-card::before{content:"";position:absolute;top:-1.1rem;right:1.2rem;width:2.6rem;aspect-ratio:1;background:url("assets/img/star-pink.svg?v=5") center/contain no-repeat;animation:wf-twinkle 3.6s ease-in-out infinite}
.wf-card h3{margin:.1em 0 .5em;padding-right:1rem;color:var(--wf-violet)}
.wf-card p{margin:0;color:inherit}
.wf-card a{color:var(--wf-violet)}
.wf-cards>.wp-block-column:nth-child(odd) .wf-card{transform:rotate(-1deg)}
.wf-cards>.wp-block-column:nth-child(even) .wf-card{transform:rotate(1deg)}
.wf-cards>.wp-block-column .wf-card:hover{transform:rotate(0) translateY(-5px)}
.wf-cards>.wp-block-column>.wf-card{height:100%;box-sizing:border-box}
.wf-card.is-gold{background:var(--wf-yellow)}
.wf-card.is-gold::before{background-image:url("assets/img/star-yellow.svg?v=5");filter:hue-rotate(0)}
.wf-card.is-red{background:var(--wf-red);color:#fff}
.wf-card.is-red h3{color:var(--wf-yellow)}
.wf-card.is-red a{color:#fff}
.wf-card.is-plum{background:var(--wf-violet);color:var(--wf-cream)}
.wf-card.is-plum h3{color:var(--wf-yellow)}
.wf-card.is-mustard{background:var(--wf-mustard)}
.wf-bg-cream .wf-card:not(.is-gold):not(.is-red):not(.is-plum):not(.is-mustard){background:#fff}
.wf-tag{display:inline-block;font-family:var(--wf-label);letter-spacing:.05em;text-transform:uppercase;background:var(--wf-yellow);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:999px;padding:.15rem .9rem;font-size:.95rem;transform:rotate(-2deg)}

/* ---------- Products (home) ---------- */
.wf-products{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.85fr);gap:3.4rem 2rem;max-width:1220px;margin-inline:auto;align-items:stretch}
.wf-product{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:26px;box-shadow:var(--wf-shadow);padding:0 1.6rem 1.8rem;position:relative;display:flex;flex-direction:column;margin-top:3rem}
.wf-product .wf-product__art{margin:-3rem -.6rem 1rem;position:relative}
.wf-product .wf-product__art .wf-barimg{transform:rotate(-3deg)}
.wf-product:nth-child(2) .wf-product__art .wf-barimg{transform:rotate(3deg)}
.wf-product h3{color:var(--wf-violet);font-size:clamp(1.5rem,1.2rem + .9vw,2rem);margin:.2rem 0 .5rem}
.wf-product p{color:var(--wf-ink);margin:.2rem 0 .8rem}
.wf-product ul{list-style:none;margin:0 0 1.2rem;padding:0}
.wf-product li{position:relative;padding-left:1.8rem;margin-bottom:.45rem;color:var(--wf-ink);font-weight:600}
.wf-product li::before{content:"";position:absolute;left:0;top:.3em;width:1.15rem;aspect-ratio:1;background:url("assets/img/star-pink.svg?v=5") center/contain no-repeat}
.wf-product .wp-block-buttons{margin-top:auto}
.wf-product .wp-block-button,.wf-product .wp-block-button__link{width:100%}
.wf-product .wf-textlink{margin-top:.6rem}
.wf-pt-wrap{position:absolute;z-index:4;top:-1.6rem;left:-1.2rem;filter:drop-shadow(4px 4px 0 var(--wf-line));transform:rotate(-6deg)}
.wf-pt{--n:9px;background:var(--wf-ticket);color:var(--wf-ink);padding:.55rem 1.5rem;text-align:center;font-family:var(--wf-display);font-size:1.5rem;line-height:1;border-radius:6px;
  -webkit-mask:radial-gradient(circle at 0 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) right/51% 100% no-repeat;
  mask:radial-gradient(circle at 0 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 var(--n),#000 calc(var(--n) + 1px)) right/51% 100% no-repeat}
.wf-pt small{display:block;font-family:var(--wf-label);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.wf-product.is-addon{background:var(--wf-mustard);justify-content:center;text-align:center;padding-top:1.8rem}
.wf-product.is-addon img.wf-ticketimg{width:min(240px,80%);margin:-3.2rem auto .8rem;display:block;transform:rotate(6deg);filter:drop-shadow(5px 6px 0 var(--wf-line))}
.wf-product.is-addon h3{color:var(--wf-violet)}
.wf-product.is-addon .wf-textlink{color:var(--wf-ink)!important}
@media (max-width:1020px){.wf-products{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wf-product.is-addon{grid-column:1/-1;padding-top:3.4rem}}
@media (max-width:700px){.wf-products{grid-template-columns:minmax(0,1fr);gap:4rem}.wf-product.is-addon{margin-top:3.6rem}}

/* ---------- Steps ---------- */
.wf-steps{counter-reset:step;gap:1.6rem!important}
.wf-step{counter-increment:step;position:relative;padding-top:5rem}
.wf-step::before{content:counter(step);position:absolute;top:0;left:0;width:4rem;height:4rem;display:grid;place-items:center;background:var(--wf-red);color:#fff;font-family:var(--wf-display);font-size:2.1rem;line-height:1;border:3px solid var(--wf-line);border-radius:50%;box-shadow:4px 4px 0 var(--wf-line);transform:rotate(-6deg);transition:transform .25s cubic-bezier(.3,1.8,.5,1)}
.wf-step:hover::before{transform:rotate(6deg) scale(1.1)}
.wf-step::after{content:"";position:absolute;top:2rem;left:5rem;right:-1.6rem;border-top:3px dashed var(--wf-line)}
.wf-steps>.wp-block-column:last-child .wf-step::after{display:none}
.wf-step h3{margin:.1em 0 .35em;color:var(--wf-violet)}
.wf-step p{margin:0;font-weight:600}
@media (max-width:781px){.wf-step::after{display:none}}
.wf-steps-long .wf-step{padding-top:0;padding-left:5.4rem;margin-bottom:1.8rem;min-height:4rem}
.wf-steps-long .wf-step::after{display:none}
.wf-steps-long .wf-step h3{color:var(--wf-violet)}
.wf-steps-long{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:28px;padding:2.2rem 2rem .4rem;box-shadow:var(--wf-shadow)}
.wf-steps-long p{color:var(--wf-ink)}
.wf-steps-long a{color:var(--wf-violet)}
@media (max-width:600px){.wf-steps-long{padding:1.6rem 1.2rem .2rem}.wf-steps-long .wf-step{padding-left:4.6rem}}

/* ---------- Price highlight / badges ---------- */
.wf-price{font-family:var(--wf-display);font-size:clamp(2.6rem,1.8rem + 2.8vw,4rem);line-height:1.1;display:inline-block;margin:.2rem 0;transform:rotate(-2deg);color:var(--wf-yellow);text-shadow:-2px -2px 0 var(--wf-line),2px -2px 0 var(--wf-line),-2px 2px 0 var(--wf-line),2px 2px 0 var(--wf-line),4px 6px 0 var(--wf-line)}
.wf-bg-mustard .wf-price,.wf-bg-yellow .wf-price,.wf-bg-cream .wf-price{color:var(--wf-red)}
.wf-burst{display:grid;place-items:center;text-align:center;width:9rem;height:9rem;background:var(--wf-yellow);color:var(--wf-ink);font-family:var(--wf-display);font-size:1.8rem;line-height:.95;clip-path:polygon(50.0% 0.0%,56.9% 10.6%,67.1% 3.0%,70.0% 15.4%,82.1% 11.7%,80.6% 24.3%,93.3% 25.0%,87.6% 36.3%,99.2% 41.3%,90.0% 50.0%,99.2% 58.7%,87.6% 63.7%,93.3% 75.0%,80.6% 75.7%,82.1% 88.3%,70.0% 84.6%,67.1% 97.0%,56.9% 89.4%,50.0% 100.0%,43.1% 89.4%,32.9% 97.0%,30.0% 84.6%,17.9% 88.3%,19.4% 75.7%,6.7% 75.0%,12.4% 63.7%,0.8% 58.7%,10.0% 50.0%,0.8% 41.3%,12.4% 36.3%,6.7% 25.0%,19.4% 24.3%,17.9% 11.7%,30.0% 15.4%,32.9% 3.0%,43.1% 10.6%);transform:rotate(10deg);padding:.5rem}
.wf-burst small{display:block;font-family:var(--wf-label);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem}
.wf-burst-inline{display:block;width:fit-content;filter:drop-shadow(4px 4px 0 var(--wf-line));margin:.6rem 0 1rem}
.wf-pricetable{border:3px solid var(--wf-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--wf-shadow)}
.wf-pricetable table{border-collapse:collapse;width:100%;margin:0}
.wf-pricetable th,.wf-pricetable td{padding:.7rem 1rem;border-bottom:2px solid var(--wf-line);text-align:left;color:var(--wf-ink)}
.wf-pricetable th{background:var(--wf-yellow)}

/* ---------- Golden ticket graphic (how it works) ---------- */
.wf-ticket{--sc:11px;position:relative;max-width:420px;margin:1.5rem auto;padding:2rem 1.6rem 1.8rem;text-align:center;background:var(--wf-ticket);color:var(--wf-ink);transform:rotate(-5deg);
  -webkit-mask:radial-gradient(circle at 50% 0,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) top/calc(var(--sc)*2) 51% repeat-x,radial-gradient(circle at 50% 100%,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) bottom/calc(var(--sc)*2) 51% repeat-x;
  mask:radial-gradient(circle at 50% 0,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) top/calc(var(--sc)*2) 51% repeat-x,radial-gradient(circle at 50% 100%,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) bottom/calc(var(--sc)*2) 51% repeat-x;transition:transform .4s cubic-bezier(.3,1.7,.5,1)}
.wf-ticket-wrap{filter:drop-shadow(6px 7px 0 var(--wf-line));padding:6px;position:relative;max-width:440px;margin-inline:auto}
.wf-ticket-wrap:hover .wf-ticket{transform:rotate(2deg) scale(1.04)}
.wf-ticket::before{content:"";position:absolute;inset:16px;border:3px double var(--wf-ink);border-radius:12px;pointer-events:none}
.wf-ticket>*{position:relative}
.wf-ticket p{color:var(--wf-ink)}
.wf-ticket .tk-kicker{font-family:var(--wf-label);letter-spacing:.2em;text-transform:uppercase;font-size:.9rem;margin:.4rem 0 .3rem}
.wf-ticket .tk-title{font-family:var(--wf-display);font-size:clamp(2.4rem,1.6rem + 2.6vw,3.5rem);line-height:1;transform:rotate(-3deg);margin:.1em 0;color:var(--wf-red);text-shadow:2px 2px 0 var(--wf-ink)}
.wf-ticket .tk-line{font-family:var(--wf-script);font-size:clamp(1.2rem,1rem + .8vw,1.55rem);margin:.3rem 0;font-weight:700}
.wf-ticket .tk-small{font-family:var(--wf-label);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;margin:.8rem 0 .2rem}
.wf-ticketbanner{--sc:12px;position:relative;max-width:900px;margin:1rem auto;padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);text-align:center;background:var(--wf-ticket);color:var(--wf-ink);transform:rotate(-1.2deg);
  -webkit-mask:radial-gradient(circle at 50% 0,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) top/calc(var(--sc)*2) 51% repeat-x,radial-gradient(circle at 50% 100%,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) bottom/calc(var(--sc)*2) 51% repeat-x;
  mask:radial-gradient(circle at 50% 0,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) top/calc(var(--sc)*2) 51% repeat-x,radial-gradient(circle at 50% 100%,#0000 calc(var(--sc)*.5),#000 calc(var(--sc)*.5 + 1px)) bottom/calc(var(--sc)*2) 51% repeat-x}
.wf-ticketbanner-wrap{filter:drop-shadow(8px 8px 0 var(--wf-line));padding:6px 10px 12px}
.wf-ticketbanner::before{content:"";position:absolute;inset:18px;border:3px double var(--wf-ink);border-radius:14px;pointer-events:none}
.wf-ticketbanner h2,.wf-ticketbanner h3{color:var(--wf-violet);text-shadow:3px 3px 0 #FFF4D6;margin-top:0}
.wf-ticketbanner p{color:var(--wf-ink)}
.wf-ticketbanner .wp-block-buttons{justify-content:center}
.wf-ticketbanner .wp-block-button__link{background:var(--wf-grape)!important;color:var(--wf-yellow)!important}
.wf-ticketbanner .wp-block-button__link:hover{background:var(--wf-red)!important;color:#fff!important}
.wf-ticketbanner .wp-block-button.wf-big{filter:none}
.wf-ticketbanner .wp-block-button.wf-big .wp-block-button__link{-webkit-mask:none;mask:none;border-radius:14px!important;box-shadow:5px 5px 0 var(--wf-line)}

/* ---------- Gallery ---------- */
.wf-gallery{gap:1.7rem!important}
.wf-gallery+.wf-gallery{margin-top:2rem}
.wf-frame{background:var(--wf-cream);border:3px solid var(--wf-line);padding:.9rem .9rem 1.1rem;border-radius:22px;box-shadow:var(--wf-shadow);transition:transform .25s cubic-bezier(.3,1.7,.5,1)}
.wf-gallery>.wp-block-column:nth-child(3n+1) .wf-frame{transform:rotate(-1.6deg)}
.wf-gallery>.wp-block-column:nth-child(3n+2) .wf-frame{transform:rotate(1.2deg)}
.wf-gallery>.wp-block-column:nth-child(3n) .wf-frame{transform:rotate(-.7deg)}
.wf-frame:hover{transform:rotate(0) scale(1.03)!important}
.wf-frame .wf-ph{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;border-radius:14px;border:3px solid var(--wf-line);color:var(--wf-ink);font-family:var(--wf-script);font-weight:700;font-size:1.5rem;padding:1rem;margin:0;background:var(--wf-yellow);position:relative;overflow:hidden}
.wf-frame .wf-ph.v2{background:var(--wf-violet);color:var(--wf-yellow)}
.wf-frame .wf-ph.v3{background:var(--wf-red);color:#fff}
.wf-frame .wf-ph.v4{background:var(--wf-mustard)}
.wf-ph::after{content:"";position:absolute;right:12px;top:12px;width:34px;aspect-ratio:1;background:url("assets/img/star-pink.svg?v=5") center/contain no-repeat;animation:wf-twinkle 3s ease-in-out infinite}
.wf-cap{margin:.8rem 0 0;text-align:center;font-weight:700;color:var(--wf-ink)}

/* ---------- FAQ accordions ---------- */
.wp-block-details{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:20px;margin:0 0 1rem;padding:0;box-shadow:5px 5px 0 var(--wf-line);transition:background .2s}
.wp-block-details[open]{background:var(--wf-yellow)}
.wp-block-details summary{cursor:pointer;list-style:none;font-family:var(--wf-label);font-weight:400;letter-spacing:.02em;font-size:1.2rem;line-height:1.3;padding:1.1rem 4rem 1.1rem 1.3rem;position:relative;color:var(--wf-violet)}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"";position:absolute;right:1rem;top:50%;width:2.2rem;height:2.2rem;margin-top:-1.1rem;border-radius:50%;border:3px solid var(--wf-line);background:var(--wf-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 12.5l7 7 7-7' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;transition:transform .3s;box-sizing:border-box}
.wp-block-details[open] summary::after{transform:rotate(180deg)}
.wp-block-details>*:not(summary){padding-inline:1.3rem;margin-block:0 1rem;color:var(--wf-ink)}
.wp-block-details>*:not(summary):last-child{margin-bottom:1.3rem}
.wp-block-details a{color:var(--wf-violet)}
.wf-faq-group{margin-block:2.6rem 1rem}
.wf-faq-group h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);margin:0 0 1.2rem;text-align:left}

/* ---------- Lists / notes ---------- */
.wf-check{list-style:none;padding-left:0}
.wf-check li{padding-left:2.2rem;position:relative;margin-bottom:.6rem;font-weight:600}
.wf-check li::before{content:"";position:absolute;left:0;top:.15em;width:1.5rem;aspect-ratio:1;background:url("assets/img/star-pink.svg?v=5") center/contain no-repeat}
.wf-note{background:var(--wf-cream);color:var(--wf-ink);border:3px dashed var(--wf-line);border-radius:20px;padding:1.2rem 1.4rem}
.wf-note p{margin:0;color:var(--wf-ink)}
.wf-note a{color:var(--wf-violet)}
.wf-legal{max-width:800px;margin-inline:auto;background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:28px;box-shadow:var(--wf-shadow);padding:clamp(1.4rem,4vw,2.6rem)}
.wf-legal h2{font-size:1.7rem;margin-top:1.8rem;color:var(--wf-violet);text-shadow:none}
.wf-legal h2:first-child{margin-top:0}
.wf-legal p,.wf-legal li{color:var(--wf-ink)}
.wf-legal a{color:var(--wf-violet)}
.wf-email-card a{font-family:var(--wf-display);font-size:clamp(1.1rem,.9rem + 1vw,1.6rem);word-break:break-all;color:var(--wf-violet);text-decoration:none}
.wf-card.is-gold .wf-email-card a{color:var(--wf-violet)}

/* ---------- Footer ---------- */
.wf-footer{position:relative;margin-top:clamp(2.6rem,5vw,4rem)!important;padding:clamp(3rem,5vw,4rem) 1.25rem 1.6rem;background:var(--wf-night);text-align:center;color:var(--wf-cream)}
.wf-footer::before{content:"";position:absolute;left:0;right:0;top:-19px;height:20px;background:url("assets/img/wave-strip.svg?v=5") repeat-x 0 0/120px 20px;transform:scaleY(-1);pointer-events:none}

.wf-footer p,.wf-footer li{color:var(--wf-cream)}
.wf-footer h3{color:var(--wf-yellow);font-size:1.3rem;margin:0 0 .6rem;text-align:left}
.wf-footer a{color:var(--wf-cream);text-decoration:none;font-weight:600;font-size:1rem}
.wf-footer a:hover{color:var(--wf-yellow);text-decoration:underline;text-underline-offset:.3em}
.wf-footer ul{list-style:none;padding:0;margin:0;text-align:left}
.wf-footer li{margin:.4rem 0}
.wf-footer .wf-foot-cols{gap:2rem;margin:2rem auto 0;text-align:left;max-width:1100px}
.wf-footer .wf-foot-cols p{text-align:left;margin:.3rem 0}
.wf-footer .wf-foot-email a{display:inline-block;color:var(--wf-yellow);border:3px solid var(--wf-yellow);border-radius:12px;padding:.35rem .7rem;font-size:.95rem;word-break:break-all}
.wf-footer .wf-foot-tag{max-width:34em;margin:.2rem auto .6rem}
.wf-footer .wf-fine{border-top:3px dashed #4F1A7A;margin:1.8rem auto 0;padding-top:1.2rem;font-size:.92rem;max-width:900px}
@media (max-width:781px){.wf-footer .wf-foot-cols{text-align:center}.wf-footer h3,.wf-footer ul,.wf-footer .wf-foot-cols p{text-align:center}}

/* ---------- Reveal / motion ---------- */
.wf-js .wf-reveal{opacity:0;transform:translateY(28px) rotate(var(--r0,-2deg))}
.wf-js .wf-reveal.is-in{animation:wf-pop .6s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:var(--rd,0s)}
.wf-js .wf-reveal:nth-child(2){--rd:.1s;--r0:2deg}
.wf-js .wf-reveal:nth-child(3){--rd:.2s}
.wf-js .wf-reveal:nth-child(4){--rd:.3s;--r0:2deg}
@keyframes wf-pop{0%{opacity:0;transform:translateY(28px) rotate(var(--r0,-2deg))}60%{opacity:1;transform:translateY(-4px) rotate(.8deg)}100%{opacity:1;transform:none}}
@keyframes wf-twinkle{0%,100%{transform:scale(.8) rotate(0)}50%{transform:scale(1.15) rotate(14deg)}}
@keyframes wf-twinkle-soft{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .wf-js .wf-reveal{opacity:1;transform:none}
}

/* ---------- Forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=url],input[type=password],input[type=search],select,textarea,.wc-block-components-text-input input,.wc-blocks-components-select__select{
  font-family:var(--wf-body);font-size:1.125rem;font-weight:500;color:var(--wf-ink);background:#fff;border:3px solid var(--wf-line)!important;border-radius:14px!important;padding:.75rem 1rem;min-height:3.4rem;box-sizing:border-box;max-width:100%}
textarea{min-height:9rem}
input:focus,select:focus,textarea:focus{outline:4px solid var(--wf-yellow)!important;outline-offset:2px}
label{font-family:var(--wf-body);font-weight:700;color:inherit}
.wpcf7{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:28px;box-shadow:var(--wf-shadow);padding:clamp(1.3rem,3vw,2.2rem)}
.wpcf7 label{color:var(--wf-ink)}
.wpcf7 form p{margin:0 0 1.2rem}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=date],.wpcf7 input[type=number],.wpcf7 select,.wpcf7 textarea{width:100%;display:block;margin-top:.35rem}
.wpcf7-not-valid-tip{color:#fff;background:var(--wf-red);display:inline-block;padding:.1rem .6rem;border-radius:8px;font-weight:700;font-size:.95rem;margin-top:.3rem}
.wpcf7 form .wpcf7-response-output{border:3px solid var(--wf-line);border-radius:14px;margin:1rem 0 0;padding:.8rem 1rem;font-weight:700;background:var(--wf-yellow);color:var(--wf-ink)}
.wpcf7 a{color:var(--wf-violet)}
.wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7 input[type=checkbox]{width:1.5rem;height:1.5rem;accent-color:var(--wf-red)}

/* ---------- WooCommerce ---------- */
.woocommerce .woocommerce-breadcrumb,.wc-block-breadcrumbs{font-size:.95rem;font-weight:700;color:var(--wf-cream)}
.woocommerce-breadcrumb a{color:var(--wf-yellow)}
.wp-block-woocommerce-product-collection,.wc-block-product-template{gap:3rem 1.8rem}
ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:4rem 2rem;padding:3rem 0 0;margin:0 0 2rem!important;list-style:none}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product,.wc-block-product,.wp-block-woocommerce-product-template li{
  width:auto!important;margin:0!important;float:none!important;background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:26px;box-shadow:var(--wf-shadow);
  padding:0 1.3rem 1.5rem;text-align:center;position:relative}
ul.products li.product img,.wc-block-product img,.wp-block-woocommerce-product-image img{border-radius:18px;background:#fff;border:3px solid var(--wf-line);margin-top:-2.2rem!important;box-shadow:5px 5px 0 var(--wf-line);transform:rotate(-3deg);transition:transform .3s cubic-bezier(.3,1.7,.5,1)}
ul.products li.product:nth-child(even) img,.wc-block-product:nth-child(even) img{transform:rotate(3deg)}
ul.products li.product:hover img,.wc-block-product:hover img{transform:rotate(0) scale(1.03)}
.woocommerce-loop-product__title,.wc-block-product .wp-block-post-title,.wp-block-woocommerce-product-template .wp-block-post-title{font-family:var(--wf-label)!important;font-weight:400!important;font-size:1.45rem!important;line-height:1.15;margin:1rem 0 .3rem;padding:0!important;color:var(--wf-violet);text-transform:none;overflow-wrap:normal;word-break:normal;hyphens:none}
.wc-block-product .wp-block-post-title a,.woocommerce-loop-product__title a{text-decoration:none;color:var(--wf-violet)}
.price,.wc-block-components-product-price,.wp-block-woocommerce-product-price{font-family:var(--wf-display);color:var(--wf-ink)!important;font-size:1.5rem}
.price del,.wc-block-components-product-price del{color:#6b4a68;opacity:1}
.price ins{text-decoration:none;color:var(--wf-red)}
ul.products li.product .price{display:inline-block;margin:.3rem 0 1rem;background:var(--wf-yellow);border:3px solid var(--wf-line);border-radius:10px;padding:.2rem .9rem;transform:rotate(-2deg)}
span.onsale,.wc-block-components-product-sale-badge{background:var(--wf-red)!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:var(--wf-label);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem!important;width:4.4rem;height:4.4rem;min-width:0!important;min-height:0!important;display:grid;place-items:center;line-height:1!important;padding:0!important;transform:rotate(10deg);filter:drop-shadow(3px 3px 0 var(--wf-line));
  clip-path:polygon(50% 0,59% 11%,71% 4%,74% 17%,87% 14%,85% 27%,97% 31%,90% 43%,100% 52%,90% 60%,96% 72%,84% 75%,84% 88%,72% 85%,67% 97%,57% 90%,50% 100%,43% 90%,33% 97%,28% 85%,16% 88%,16% 75%,4% 72%,10% 60%,0 52%,10% 43%,3% 31%,15% 27%,13% 14%,26% 17%,29% 4%,41% 11%)}
ul.products li.product span.onsale{position:absolute;top:-1.2rem;right:-.6rem;left:auto;margin:0;z-index:3}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link,.wc-block-product .wp-block-button__link,ul.products li.product .button{width:100%;background:var(--wf-red)!important;color:#fff!important}
.wp-block-woocommerce-product-button .wp-block-button__link{margin-top:.5rem}
.wp-block-woocommerce-product-collection>h2{text-align:center;margin:3rem 0 1.6rem}
.woocommerce-products-header__title,.wp-block-query-title{font-family:var(--wf-display)}
.woocommerce div.product .product_title,.wp-block-woocommerce-product-details h2{font-family:var(--wf-display);text-transform:none}
.wp-block-post-title{font-family:var(--wf-display)}
.woocommerce-result-count,.woocommerce-ordering select{color:var(--wf-cream)}
.woocommerce-ordering select{color:var(--wf-ink)}
/* product page */
.woocommerce div.product div.images img,.woocommerce-product-gallery img{border-radius:24px;border:3px solid var(--wf-line);box-shadow:var(--wf-shadow);transform:rotate(-2deg)}
.woocommerce-product-gallery{border:0!important}
.wp-block-column:has(>h1.wp-block-post-title){background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:28px;box-shadow:var(--wf-shadow);padding:clamp(1.3rem,3vw,2.2rem)!important}
.wp-block-column>h1.wp-block-post-title{font-size:clamp(1.9rem,1.3rem + 1.8vw,2.8rem);margin-top:0;color:var(--wf-violet);text-shadow:3px 3px 0 var(--wf-yellow)}
.wp-block-column:has(>h1.wp-block-post-title) .wc-block-components-product-price,.wp-block-column:has(>h1.wp-block-post-title) .price{font-size:1.9rem;color:var(--wf-red)!important}
.wp-block-column:has(>h1.wp-block-post-title) p,.wp-block-column:has(>h1.wp-block-post-title) label{color:var(--wf-ink)}
.wp-block-column:has(>h1.wp-block-post-title) a{color:var(--wf-violet)}
.wf-trust{list-style:none;margin:1rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.wf-trust li{background:var(--wf-yellow);border:3px solid var(--wf-line);border-radius:999px;padding:.25rem .9rem;font-weight:700;font-size:.95rem;color:var(--wf-ink)}
.wf-pricebreaks{background:#fff;border:3px solid var(--wf-line);border-radius:20px;box-shadow:5px 5px 0 var(--wf-line);padding:1rem 1.2rem;margin:1.2rem 0}
.wf-pricebreaks h3{margin:0 0 .6rem;color:var(--wf-violet);font-size:1.3rem}
.wf-pricebreaks table{width:100%;border-collapse:collapse;font-size:1rem}
.wf-pricebreaks th,.wf-pricebreaks td{padding:.35rem .4rem;border-bottom:2px dashed #cdb98a;text-align:left;color:var(--wf-ink)}
.wf-pricebreaks th{font-family:var(--wf-label);font-weight:400;color:var(--wf-violet)}
.wf-pricebreaks td:last-child,.wf-pricebreaks th:last-child{text-align:right;font-weight:800}
.wf-pricebreaks p{margin:.6rem 0 0;font-size:.95rem}
.wp-block-add-to-cart-form{color:var(--wf-ink)}
.wp-block-woocommerce-product-details{margin-top:2.6rem}
.woocommerce-tabs ul.tabs{padding:0}
.woocommerce-tabs ul.tabs li,.wc-tabs li{border-radius:12px!important;border:3px solid var(--wf-line)!important;background:var(--wf-cream)!important;margin:0 .5rem .5rem 0!important;box-shadow:3px 3px 0 var(--wf-line)}
.woocommerce-tabs ul.tabs li a{color:var(--wf-violet)!important;font-family:var(--wf-label);font-weight:400!important;font-size:1.05rem}
.woocommerce-tabs ul.tabs li.active{background:var(--wf-yellow)!important}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important;border-color:transparent!important}
.woocommerce-tabs .panel{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:24px;box-shadow:var(--wf-shadow);padding:1.4rem 1.6rem}
.woocommerce-tabs .panel h2{color:var(--wf-violet);text-shadow:none;font-size:1.6rem}
.quantity input.qty{width:5.5rem;text-align:center}
/* PPOM fields become numbered steps */
form.cart{counter-reset:wfstep}
.ppom-wrapper{background:transparent!important;border:0!important;padding:0!important;margin:0!important;font-family:var(--wf-body);color:var(--wf-ink)}
.ppom-wrapper .ppom-rendering-fields{margin:0}
.ppom-field-wrapper{counter-increment:wfstep;position:relative;background:#fff;border:3px solid var(--wf-line);border-radius:20px;box-shadow:5px 5px 0 var(--wf-line);padding:1.1rem 1.2rem 1.2rem 4.6rem!important;margin:0 0 1.1rem!important;max-width:100%!important;flex:0 0 100%}
.ppom-field-wrapper::before{content:counter(wfstep);position:absolute;left:1rem;top:1rem;width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:50%;background:var(--wf-red);color:#fff;border:3px solid var(--wf-line);font-family:var(--wf-display);font-size:1.4rem;line-height:1}
.ppom-wrapper label,.ppom-wrapper .ppom-input-label,.ppom-wrapper .form-control-label{font-family:var(--wf-label);font-weight:400;font-size:1.2rem;color:var(--wf-violet)}
.ppom-wrapper .ppom-input-desc,.ppom-wrapper .show_description{font-family:var(--wf-body);font-size:.95rem;color:var(--wf-ink);font-weight:600}
.ppom-wrapper .form-check-label{font-family:var(--wf-body);font-weight:700;color:var(--wf-ink);font-size:1.05rem}
.ppom-wrapper input[type=checkbox]{width:1.6rem;height:1.6rem;accent-color:var(--wf-red);vertical-align:middle}
.ppom-wrapper input,.ppom-wrapper select,.ppom-wrapper textarea{width:100%;box-sizing:border-box}
.ppom-wrapper input[type=checkbox]{width:1.6rem}
.ppom-price-container-12 table,.ppom-wrapper table{width:100%;background:var(--wf-yellow);border:3px solid var(--wf-line);border-radius:14px;border-collapse:separate;overflow:hidden}
.ppom-wrapper table th,.ppom-wrapper table td{color:var(--wf-ink);border-color:var(--wf-line)!important;padding:.5rem .8rem}
form.cart .quantity{counter-increment:wfstep;position:relative;display:flex;align-items:center;gap:1rem;background:#fff;border:3px solid var(--wf-line);border-radius:20px;box-shadow:5px 5px 0 var(--wf-line);padding:1rem 1.2rem 1rem 4.6rem;margin:0 0 1.2rem;float:none}
form.cart .quantity::before{content:counter(wfstep);position:absolute;left:1rem;top:50%;margin-top:-1.35rem;width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:50%;background:var(--wf-red);color:#fff;border:3px solid var(--wf-line);font-family:var(--wf-display);font-size:1.4rem;line-height:1}
form.cart .quantity::after{content:"How many bars?";order:-1;font-family:var(--wf-label);font-size:1.2rem;color:var(--wf-violet);flex:1}
form.cart .single_add_to_cart_button{width:100%;font-size:1.3rem!important;min-height:4rem}
.sar-table,.wdr_bulk_table_msg{width:100%;font-size:.95rem;color:var(--wf-ink)}
.sar-table th,.sar-table td,.wdr_bulk_table_msg th,.wdr_bulk_table_msg td{color:var(--wf-ink);border-color:#cdb98a;padding:.3rem .4rem}
.awdr-bulk-customizable-table{background:#fff;border:3px solid var(--wf-line);border-radius:18px;padding:.6rem .8rem;margin:1rem 0}
/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border:3px solid var(--wf-line)!important;border-radius:16px!important;background:var(--wf-cream)!important;color:var(--wf-ink)!important;font-weight:700;box-shadow:4px 4px 0 var(--wf-line)}
.woocommerce-message a,.woocommerce-info a,.wc-block-components-notice-banner a{color:var(--wf-violet)}
.woocommerce-error{background:var(--wf-red)!important;color:#fff!important}
.woocommerce-error a{color:#fff}
.woocommerce-message::before,.woocommerce-info::before{color:var(--wf-red)!important}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;order:2;white-space:nowrap}
/* cart & checkout: cream panels on the purple page */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.woocommerce-cart-form,.woocommerce-checkout{font-family:var(--wf-body)}
.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout #customer_details,#order_review,.wc-block-cart,.wc-block-checkout{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:28px;box-shadow:var(--wf-shadow);padding:clamp(1rem,3vw,2rem)}
.woocommerce-cart-form,.cart-collaterals{width:100%!important;box-sizing:border-box;float:none!important}
.woocommerce-cart-form{margin-bottom:1.8rem}
.cart-collaterals .cart_totals{float:none!important;width:100%!important}
.woocommerce-cart-form table.shop_table,#order_review table.shop_table{background:transparent;border:0!important;color:var(--wf-ink)}
table.shop_table{border:3px solid var(--wf-line)!important;border-radius:18px!important;border-collapse:separate!important;overflow:hidden;background:#fff;color:var(--wf-ink)}
table.shop_table th,table.shop_table td{border-color:#cdb98a!important;color:var(--wf-ink)}
.woocommerce-cart-form table.shop_table thead th,.cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-family:var(--wf-label);font-weight:400;color:var(--wf-violet);font-size:1.2rem;text-transform:none;text-shadow:none}
.cart_totals h2{font-family:var(--wf-label)!important;text-shadow:none!important}
.woocommerce td.product-name a,.woocommerce-cart-form .product-name a{color:var(--wf-violet);font-weight:800;text-decoration:none}
.woocommerce a.remove{color:var(--wf-red)!important;background:transparent!important;font-weight:800}
.woocommerce a.remove:hover{background:var(--wf-red)!important;color:#fff!important}
.cart_totals .wc-proceed-to-checkout .checkout-button{width:100%;box-sizing:border-box;background:var(--wf-yellow)!important;color:var(--wf-ink)!important;font-size:1.3rem!important}
.woocommerce-cart-form .button[disabled],.woocommerce-cart-form .button:disabled{background:#d9d2c0!important;color:var(--wf-ink)!important;opacity:1;box-shadow:3px 3px 0 var(--wf-line)}
.woocommerce-checkout #customer_details,.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%;max-width:none}
#order_review{margin-top:1.4rem}
#payment,.woocommerce-checkout #payment{background:#fff!important;border:3px solid var(--wf-line);border-radius:20px;color:var(--wf-ink)}
#payment ul.payment_methods{border-color:var(--wf-line)!important}
#payment div.payment_box{background:var(--wf-yellow)!important;color:var(--wf-ink)!important;border-radius:14px}
#payment div.payment_box::before{border-bottom-color:var(--wf-yellow)!important}
#payment .payment_methods label,#payment .payment_methods li,.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper,.woocommerce form .form-row label{color:var(--wf-ink)}
.woocommerce form .form-row .required{color:var(--wf-red)}
.woocommerce-privacy-policy-text a,#payment a{color:var(--wf-violet)}
.select2-container--default .select2-selection--single{border-radius:14px;border:3px solid var(--wf-line);height:auto;min-height:3.4rem;padding:.55rem .5rem}
.wc-block-cart-items th,.wc-block-cart-items__header,.wc-block-cart__totals-title,.wc-block-components-checkout-step__title,.wc-block-components-title{font-family:var(--wf-label)!important;font-weight:400!important;text-transform:none!important;color:var(--wf-violet);font-size:1.2rem!important}
.wc-block-components-product-name{font-weight:800;color:var(--wf-violet)}
.wc-block-components-text-input label,.wc-blocks-components-select__label{color:#5a3a58!important}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:.6rem 1rem;border-radius:12px;text-decoration:none;font-weight:700;color:var(--wf-cream)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--wf-yellow);color:var(--wf-ink)}
.woocommerce-pagination .page-numbers li span,.woocommerce-pagination .page-numbers li a,.wp-block-query-pagination a{font-weight:800;color:var(--wf-yellow)}
.woocommerce-pagination .page-numbers li span.current{background:var(--wf-yellow);color:var(--wf-ink)}
.wp-block-post-content>.woocommerce,.entry-content>.woocommerce{margin-inline:auto}
.woocommerce-cart .wp-block-post-title,.woocommerce-checkout .wp-block-post-title,.woocommerce-account .wp-block-post-title{text-align:center}
.woocommerce-account .woocommerce-MyAccount-content{background:var(--wf-cream);color:var(--wf-ink);border:3px solid var(--wf-line);border-radius:24px;padding:1.4rem}
@media (max-width:600px){
  ul.products,.wc-block-product-template,.wp-block-woocommerce-product-template{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:3.4rem 1rem}
  ul.products li.product,.wc-block-product{width:auto!important;max-width:none!important}
  .ppom-field-wrapper{padding-left:4.2rem!important}
}

/* ---------- Sticky mobile CTA ---------- */
.wf-sticky-cta{display:none}
@media (max-width:781px){
  body.wf-has-sticky{padding-bottom:84px}
  .wf-sticky-cta{display:flex;align-items:center;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--wf-night);border-top:3px solid var(--wf-line)}
  .wf-sticky-cta a{display:flex;align-items:center;justify-content:center;width:100%;max-width:520px;min-height:3.5rem;font-family:var(--wf-label);font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--wf-ink);background:var(--wf-yellow);border:3px solid var(--wf-line);border-radius:14px;box-shadow:4px 4px 0 var(--wf-line)}
}
.wf-bg-yellow .wf-burst,.wf-bg-mustard .wf-burst{background:var(--wf-red);color:#fff}
.wf-hero .wp-block-column:last-child{align-self:center}
.wf-panel .tk-kicker{font-family:var(--wf-label);letter-spacing:.12em;text-transform:uppercase;margin:0;color:var(--wf-violet)}
.wf-panel .wf-price{color:var(--wf-red);text-shadow:3px 3px 0 var(--wf-yellow)}
.wf-panel .wf-card{box-shadow:4px 4px 0 var(--wf-line)}
.wf-bg-mustard .wf-panel .wf-price{text-shadow:3px 3px 0 var(--wf-yellow)}
.wf-bg-yellow .wf-sectionhead::after,.wf-bg-mustard .wf-sectionhead::after{filter:brightness(.35) saturate(1.5)}
.wf-foot-email a{font-size:.95rem!important;word-break:normal;overflow-wrap:anywhere}
form.cart{display:block!important}
form.cart .quantity{width:100%;box-sizing:border-box}
form.cart .quantity input.qty{width:6rem;flex:none}
form.cart .single_add_to_cart_button{display:block;margin-top:.4rem}
.wp-block-woocommerce-related-products .wc-block-product img,.wp-block-woocommerce-related-products .wp-block-woocommerce-product-image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;max-height:300px}
.wc-block-product .wp-block-post-title,.woocommerce-loop-product__title{text-shadow:none!important}
.wc-block-product-template.columns-5{display:flex;flex-wrap:wrap;gap:3rem 1.8rem}
.wc-block-product-template.columns-5>li.wc-block-product{flex:0 1 320px;max-width:320px;width:320px}
.woocommerce-tabs .panel{padding:1.4rem 1.6rem!important}
.awdr-bulk-customizable-table table th:first-child,.awdr-bulk-customizable-table table td:first-child,.wdr_bulk_table_msg th:first-child,.wdr_bulk_table_msg td:first-child{display:none}
.wf-sectionhead p a,.wf-panel a:not(.wp-block-button__link):not(.wf-textlink){color:var(--wf-violet);font-weight:700}
.wf-email-card{font-size:clamp(1rem,.9rem + .8vw,1.35rem)!important;overflow-wrap:anywhere}
.wf-foot-email a{font-size:.88rem!important;letter-spacing:0}

/* ==========================================================
   v5 — VIBRANT & MODERN LAYER
   Electric purples, hot red, sunshine yellow, mustard, magenta.
   Every text pair is >= 4.5:1 (most >= 7:1):
     cream/white on purple, red, magenta, night  |  ink on cream, yellow, mustard
     deep purple headings on yellow/mustard      |  violet headings on cream
   Faint (11–13%) line-art textures sit behind sections; all text lives on
   solid colour or solid panels.
   ========================================================== */
:root{
  --wf-night:#240747;
  --wf-grape:#3A0A5C;
  --wf-violet:#4F1A7A;
  --wf-electric:#5C1D86;
  --wf-deep:#2E0854;
  --wf-ink:#1A0430;
  --wf-line:#140326;
  --wf-red:#C8001C;
  --wf-red-ink:#A60016;
  --wf-yellow:#FFD500;
  --wf-mustard:#F5A300;
  --wf-magenta:#AB005F;
  --wf-pink:#FF2E93;
  --wf-cream:#FFF6DB;
  --wf-white:#fff;
  --wf-ticket:linear-gradient(135deg,#FFE75E 0%,#FFC700 55%,#FFA800 100%);
  --wf-r:28px;
  --wf-lift:0 6px 0 var(--wf-line),0 26px 40px -20px rgba(8,0,30,.75);
  --wf-lift-hover:0 10px 0 var(--wf-line),0 34px 50px -20px rgba(8,0,30,.8);
  --wf-glow:radial-gradient(900px 420px at 12% -5%,rgba(120,40,150,.5),transparent 70%),radial-gradient(800px 420px at 100% 105%,rgba(255,46,147,.28),transparent 70%);
  --wf-glow-soft:radial-gradient(900px 380px at 85% -10%,rgba(130,50,160,.38),transparent 70%);
}
body{font-size:1.15rem;line-height:1.62;background:var(--wf-grape);color:var(--wf-white)}
p,li{font-weight:500}
a{color:var(--wf-yellow)}
a:hover{color:#fff}
::placeholder{color:#5B4A6B;opacity:1}

/* ---------- Type: bigger, bolder; stroke + drop shadow instead of stacked shadows ---------- */
h1,h2{color:#fff;text-shadow:none;-webkit-text-stroke:.11em var(--wf-line);paint-order:stroke fill;filter:drop-shadow(0 .06em 0 var(--wf-line));letter-spacing:.01em}
h1{font-size:clamp(2.6rem,1.4rem + 5.2vw,5.4rem);line-height:1.02}
h2{font-size:clamp(2.2rem,1.4rem + 3.2vw,3.8rem);line-height:1.05}
h3,h4{font-size:clamp(1.4rem,1.2rem + .8vw,1.85rem);color:var(--wf-yellow)}
h1 mark,h2 mark{color:var(--wf-yellow)}
.wf-lede{font-size:clamp(1.2rem,1.1rem + .6vw,1.45rem);line-height:1.5}
/* headings on light surfaces: solid colour, no stroke, no shadow */
.wf-bg-cream h1,.wf-bg-cream h2,.wf-bg-yellow h1,.wf-bg-yellow h2,.wf-bg-mustard h1,.wf-bg-mustard h2,
.wf-panel h2,.wf-panel h3,.wf-legal h2,.woocommerce-tabs .panel h2,.wp-block-column:has(>h1.wp-block-post-title) h1,.wp-block-column>h1.wp-block-post-title{
  -webkit-text-stroke:0;filter:none;text-shadow:none;color:var(--wf-deep)}
.wf-bg-cream h3,.wf-bg-yellow h3,.wf-bg-mustard h3{color:var(--wf-deep)}
.wf-panel h3,.wf-card h3,.wf-product h3,.wf-step h3{color:var(--wf-violet)}
.wf-bg-yellow .wf-step h3,.wf-bg-mustard .wf-card h3{color:var(--wf-deep)}
.wf-bg-cream a,.wf-bg-yellow a,.wf-bg-mustard a{color:var(--wf-deep);text-decoration:underline;font-weight:700}
.wf-panel a:not(.wp-block-button__link),.wf-legal a,.wf-note a,.wpcf7 a,.wf-sectionhead p a{color:var(--wf-violet);font-weight:700}

/* ---------- Ribbon eyebrow: magenta, white text ---------- */
.wf-eyebrow{background:var(--wf-magenta);color:#fff;font-size:clamp(1.2rem,1.1rem + .6vw,1.55rem);border-top-color:var(--wf-line);border-bottom-color:var(--wf-line)}

/* ---------- Header: electric purple bar, bold new wordmark ---------- */
.wf-header{background:linear-gradient(180deg,#4F1A7A 0%,#3A0A5C 100%);min-height:88px;padding-block:.5rem .6rem;box-shadow:0 4px 0 var(--wf-line)}
.wf-header::after{bottom:-23px;height:20px}

.wf-header .wp-block-site-title a:hover{transform:translateY(-2px) scale(1.04) rotate(0)}
.wf-header .wp-block-navigation{font-size:1.08rem;letter-spacing:.03em}
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{color:#fff;border-radius:999px;border-bottom:0;padding:.5rem .8rem;position:relative}
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.1rem;height:4px;border-radius:4px;background:var(--wf-yellow);transform:scaleX(0);transition:transform .25s}
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover{color:var(--wf-yellow)}
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover::after,.wf-header .wp-block-navigation .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content::after{transform:scaleX(1)}
.wf-header .wp-block-navigation .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content{color:var(--wf-yellow);border-bottom:0}
.wf-header .wp-block-navigation__responsive-container-open{background:var(--wf-yellow);color:var(--wf-ink)!important;border:2px solid var(--wf-line);border-radius:14px;box-shadow:0 4px 0 var(--wf-line)}
.wf-header .wp-block-navigation__responsive-container-open svg{fill:var(--wf-ink)}
.wf-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--wf-night);background-image:url("assets/img/tex-tickets-l.svg?v=5");background-size:cover}
.wf-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content{color:#fff;font-size:1.9rem}
.wf-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content{color:var(--wf-yellow)}
.wf-header .wp-block-navigation__responsive-container-close{color:#fff!important}
.wf-cart-link{background:linear-gradient(180deg,#C8001C,#A80016);border:2px solid var(--wf-line);box-shadow:0 4px 0 var(--wf-line);color:#fff!important}
.wf-cart-link:hover{background:var(--wf-yellow);color:var(--wf-ink)!important;transform:translateY(-3px) rotate(-6deg)}
.wf-cart-count{background:var(--wf-yellow);color:var(--wf-ink);border:2px solid var(--wf-line)}
.wf-header-cta{background:linear-gradient(180deg,#FFE34D,#FFC400);border:2px solid var(--wf-line);border-radius:999px;padding:.65rem 1.25rem;box-shadow:0 4px 0 var(--wf-line);color:var(--wf-ink)}
.wf-header-cta:hover{background:#fff;transform:translateY(-3px);box-shadow:0 7px 0 var(--wf-line);color:var(--wf-ink)}
@media (max-width:520px){.wf-header .wp-block-site-title a{width:160px}.wf-header{min-height:76px}}
@media (min-width:1280px) and (max-width:1420px){.wf-header .wp-block-navigation{font-size:1rem}.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{padding:.5rem .55rem}.wf-header .wp-block-site-title a{width:200px}}

/* ---------- Sections: vibrant gradients + faint illustrated texture ---------- */
.wf-section{padding-block:clamp(4rem,8vw,7rem)!important}
.wf-section::after{height:20px;bottom:-19px;background:radial-gradient(circle at 50% 0,var(--sec) 0 11px,transparent 11.5px) 0 0/26px 20px repeat-x}
.wf-bg-plum{--sec:#3A0A5C;color:#fff;background:url("assets/img/tex-machine-l.svg?v=5") center/cover no-repeat,var(--wf-glow-soft),#3A0A5C}
.wf-bg-violet,.wf-bg-warm{--sec:#4F1A7A;color:#fff;background:url("assets/img/tex-tickets-l.svg?v=5") center/cover no-repeat,var(--wf-glow),#4F1A7A}
.wf-hero{--sec:#3A0A5C;color:#fff;background:url("assets/img/tex-candy-l.svg?v=5") center bottom/cover no-repeat,radial-gradient(1000px 520px at 78% 20%,rgba(120,40,150,.5),transparent 70%),radial-gradient(700px 400px at 0% 100%,rgba(255,46,147,.3),transparent 70%),#3A0A5C}
.wf-bg-night{--sec:#240747;background:url("assets/img/tex-machine-l.svg?v=5") center/cover no-repeat,#240747}
.wf-bg-yellow{--sec:#FFD500;color:var(--wf-ink);background:url("assets/img/tex-machine-d.svg?v=5") center/cover no-repeat,radial-gradient(900px 400px at 20% 0,#FFF07A,transparent 70%),#FFD500}
.wf-bg-mustard{--sec:#F5A300;color:var(--wf-ink);background:url("assets/img/tex-tickets-d.svg?v=5") center/cover no-repeat,radial-gradient(900px 400px at 80% 0,#FFC93D,transparent 70%),#F5A300}
.wf-bg-red{--sec:#D6001F;color:#fff;background:url("assets/img/tex-tickets-l.svg?v=5") center/cover no-repeat,radial-gradient(900px 420px at 50% 0,#FF3355,transparent 70%),#D6001F}
.wf-bg-cream{background:var(--wf-cream);color:var(--wf-ink);--sec:var(--wf-cream)}
.wf-pagehead{--sec:#4F1A7A;background:url("assets/img/tex-tickets-l.svg?v=5") center/cover no-repeat,var(--wf-glow),#4F1A7A;padding:clamp(3.8rem,7vw,6rem) 1.25rem clamp(3rem,6vw,4.6rem)}
.wf-pagehead .wp-block-post-title{transform:none;font-size:clamp(2.6rem,1.4rem + 5vw,5rem)}
.wf-sectionhead{margin-bottom:3.2rem}
.wf-sectionhead h2{margin:.15em 0 .5em}
.wf-bg-plum .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-violet .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-warm .wf-sectionhead>p:not(.wf-eyebrow){background:var(--wf-cream);color:var(--wf-ink);border:2px solid var(--wf-line);border-radius:22px;box-shadow:0 5px 0 var(--wf-line);font-size:1.15rem;padding:.9rem 1.5rem}
.wf-bg-yellow .wf-sectionhead::after,.wf-bg-mustard .wf-sectionhead::after{filter:brightness(.3) saturate(1.5)}

/* ---------- Announcement strip ---------- */
.wf-strip{background:linear-gradient(180deg,#BF0019,#A80016);color:#fff;border-bottom:3px solid var(--wf-line);padding:.7rem 1rem!important}
.wf-strip p{font-size:1.02rem;font-weight:700;color:#fff;line-height:1.5}
.wf-strip p span{display:inline-block;background:var(--wf-yellow);color:var(--wf-ink);border-radius:999px;padding:.1rem .8rem;margin-left:.35rem;font-weight:800}

/* ---------- Surfaces: cream, rounded, lifted, hover animation ---------- */
.wf-card,.wf-panel,.wf-product,.wf-legal,.wpcf7,.wf-frame,.wf-steps-long,.wp-block-details,.wf-pricebreaks,.wf-pricetable,
ul.products li.product,.wc-block-product,.wp-block-woocommerce-product-template li,.woocommerce-tabs .panel,.wp-block-column:has(>h1.wp-block-post-title),
.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout #customer_details,#order_review,.wc-block-cart,.wc-block-checkout,.woocommerce-account .woocommerce-MyAccount-content{
  border:2px solid var(--wf-line);border-radius:var(--wf-r);box-shadow:var(--wf-lift)}
.wf-card,.wf-product,.wf-frame,ul.products li.product,.wc-block-product,.wp-block-woocommerce-product-template li,.wp-block-details{transition:transform .3s cubic-bezier(.3,1.5,.5,1),box-shadow .3s,background .2s}
.wf-card:hover,.wf-product:hover,.wf-frame:hover,ul.products li.product:hover,.wc-block-product:hover,.wp-block-woocommerce-product-template li:hover{box-shadow:var(--wf-lift-hover)}
.wf-cards>.wp-block-column:nth-child(odd) .wf-card,.wf-cards>.wp-block-column:nth-child(even) .wf-card,.wf-gallery>.wp-block-column .wf-frame{transform:none}
.wf-cards>.wp-block-column .wf-card:hover,.wf-product:hover,.wf-gallery>.wp-block-column .wf-frame:hover,ul.products li.product:hover,.wc-block-product:hover{transform:translateY(-8px)!important}
.wf-card{padding:2.1rem 1.7rem 1.9rem!important;background:var(--wf-cream);color:var(--wf-ink)}
.wf-card p{font-size:1.08rem}
.wf-card.is-gold{background:linear-gradient(160deg,#FFE75E,#FFD500);color:var(--wf-ink)}
.wf-card.is-gold h3{color:var(--wf-deep)}
.wf-card.is-red{background:linear-gradient(160deg,#C8001C,#A80016);color:#fff}
.wf-card.is-red h3{color:#fff}
.wf-card.is-red a{color:#fff}
.wf-card.is-plum{background:linear-gradient(160deg,#4F1A7A,#3A0A5C);color:#fff}
.wf-card.is-plum h3{color:var(--wf-yellow)}
.wf-card.is-mustard{background:linear-gradient(160deg,#FFB91F,#F5A300);color:var(--wf-ink)}
.wf-card.is-mustard h3{color:var(--wf-deep)}
.wf-bg-cream .wf-card:not(.is-gold):not(.is-red):not(.is-plum):not(.is-mustard){background:#fff}
.wf-panel{padding:clamp(1.5rem,3.2vw,2.4rem)}
.wf-panel .wf-price,.wf-price{color:var(--wf-yellow);text-shadow:none;-webkit-text-stroke:.09em var(--wf-line);paint-order:stroke fill;filter:drop-shadow(0 .05em 0 var(--wf-line));transform:none}
.wf-panel .wf-price,.wf-bg-cream .wf-price{color:var(--wf-red);-webkit-text-stroke:0;filter:none}
.wf-bg-mustard .wf-price,.wf-bg-yellow .wf-price{color:var(--wf-deep);-webkit-text-stroke:0;filter:none}
.wf-panel .tk-kicker{color:var(--wf-violet)}

/* ---------- Buttons: modern 3D pills ---------- */
.wp-block-button__link,.wp-element-button.wc-block-components-button,.single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wpcf7-submit,.wc-block-components-button:not(.is-link),.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
  background:linear-gradient(180deg,#FFE34D 0%,#FFC400 100%)!important;color:var(--wf-ink)!important;border:2px solid var(--wf-line)!important;border-radius:999px!important;
  padding:.85em 1.9em!important;min-height:3.6rem;font-size:1.12rem!important;letter-spacing:.05em;box-shadow:0 5px 0 var(--wf-line),0 16px 24px -10px rgba(8,0,30,.6)}
.wp-block-button__link:hover,.single_add_to_cart_button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wpcf7-submit:hover,.wc-block-components-button:not(.is-link):hover{
  background:linear-gradient(180deg,#FFF08A 0%,#FFD21A 100%)!important;color:var(--wf-ink)!important;transform:translateY(-3px);box-shadow:0 8px 0 var(--wf-line),0 22px 30px -10px rgba(8,0,30,.7)}
.wp-block-button__link:active,.single_add_to_cart_button:active,.wpcf7-submit:active{transform:translateY(3px);box-shadow:0 2px 0 var(--wf-line)}
.is-style-ticket-red .wp-block-button__link,.woocommerce a.button.alt,.woocommerce button.button.alt,.single_add_to_cart_button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.wpcf7-submit{background:linear-gradient(180deg,#C8001C 0%,#A80016 100%)!important;color:#fff!important}
.is-style-ticket-red .wp-block-button__link:hover,.single_add_to_cart_button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.wpcf7-submit:hover{background:linear-gradient(180deg,#DE0A28 0%,#D6001F 100%)!important;color:#fff!important}
.is-style-ticket-plum .wp-block-button__link{background:linear-gradient(180deg,#5C1D86,#3A0A5C)!important;color:#fff!important}
.is-style-ticket-plum .wp-block-button__link:hover{background:linear-gradient(180deg,#5C1D86,#5C1D86)!important;color:#fff!important}
.wf-bg-plum .is-style-ticket-plum .wp-block-button__link,.wf-bg-violet .is-style-ticket-plum .wp-block-button__link,.wf-hero .is-style-ticket-plum .wp-block-button__link{background:linear-gradient(180deg,#fff,#FFF0C2)!important;color:var(--wf-ink)!important}
.wf-bg-yellow .is-style-ticket-plum .wp-block-button__link{background:linear-gradient(180deg,#4F1A7A,#2E0854)!important;color:#fff!important}
.wf-bg-yellow .is-style-ticket-plum .wp-block-button__link:hover{background:linear-gradient(180deg,#5C1D86,#3A0A5C)!important;color:#fff!important}
.wp-block-button.is-style-ticket-gold.wf-big{filter:none}
.wp-block-button.is-style-ticket-gold.wf-big .wp-block-button__link{-webkit-mask:none;mask:none;font-size:1.3rem!important;padding:1em 2.4em!important;min-height:4.3rem;border-radius:999px!important;box-shadow:0 6px 0 var(--wf-line),0 20px 30px -10px rgba(8,0,30,.65)}
.wp-block-button.is-style-ticket-gold.wf-big:hover{filter:none;transform:none}
.wp-block-button.is-style-ticket-gold.wf-big .wp-block-button__link:hover{transform:translateY(-4px) scale(1.02)}
.wf-ticketbanner .wp-block-button__link{background:linear-gradient(180deg,#4F1A7A,#2E0854)!important;color:#fff!important}
.wf-ticketbanner .wp-block-button__link:hover{background:linear-gradient(180deg,#C8001C,#A80016)!important;color:#fff!important}
.wf-ticketbanner .wp-block-button.wf-big .wp-block-button__link{border-radius:999px!important;box-shadow:0 6px 0 var(--wf-line)}
.wf-textlink{color:var(--wf-violet)!important;font-weight:800}
.wf-textlink:hover{color:var(--wf-red-ink)!important}

/* ---------- Hero ---------- */
.wf-hero{padding-block:clamp(3.4rem,6vw,6rem) clamp(4.4rem,8vw,7rem)!important}
.wf-hero h1{font-size:clamp(2.4rem,1.2rem + 4.6vw,4.7rem);line-height:1.02}
.wf-hero h1 mark{transform:none;margin-left:0}
.wf-hero h1 mark:nth-of-type(2){color:#fff}
.wf-hero .wp-block-columns{gap:clamp(2rem,5vw,4.5rem)}
.wf-hero .wf-panel{max-width:620px}
.wf-barimg{filter:drop-shadow(0 22px 22px rgba(8,0,30,.55));transform:rotate(-3deg)}
.wf-barart{animation:wf-float 6s ease-in-out infinite}
@keyframes wf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.wf-facts li{font-size:1.02rem}

/* ---------- Product cards ---------- */
.wf-products{gap:3.8rem 2rem}
.wf-product{background:var(--wf-cream);padding:0 1.8rem 2rem}
.wf-product h3{color:var(--wf-violet)}
.wf-product li{color:var(--wf-ink)}
.wf-product.is-addon{background:linear-gradient(160deg,#FFB91F,#F5A300)}
.wf-product.is-addon h3{color:var(--wf-deep)}
.wf-pt{background:var(--wf-ticket);color:var(--wf-ink);font-size:1.65rem}
.wf-pt-wrap{filter:drop-shadow(0 5px 0 var(--wf-line))}

/* ---------- Steps ---------- */
.wf-step::before{background:linear-gradient(160deg,#C8001C,#A80016);color:#fff;border:2px solid var(--wf-line);box-shadow:0 5px 0 var(--wf-line)}
.wf-step::after{border-top-color:var(--wf-line)}
.wf-step h3{color:var(--wf-violet)}
.wf-bg-yellow .wf-step h3{color:var(--wf-deep)}
.wf-step p{color:inherit}
.wf-steps-long{padding:2.4rem 2.2rem .6rem;background:var(--wf-cream)}
.wf-steps-long .wf-step h3{color:var(--wf-violet)}

/* ---------- Golden ticket banner / graphic ---------- */
.wf-ticketbanner{transform:none}
.wf-ticketbanner-wrap{filter:drop-shadow(0 10px 0 var(--wf-line)) drop-shadow(0 30px 30px rgba(8,0,30,.5))}
.wf-ticketbanner h2,.wf-ticketbanner h3{color:var(--wf-deep);-webkit-text-stroke:0;filter:none;text-shadow:none}
.wf-ticketbanner p{color:var(--wf-ink)}
.wf-ticket-wrap{filter:drop-shadow(0 8px 0 var(--wf-line)) drop-shadow(0 26px 24px rgba(8,0,30,.45))}
.wf-ticket .tk-title{color:var(--wf-red-ink);text-shadow:none}
.wf-bg-yellow .wf-burst,.wf-bg-mustard .wf-burst{background:var(--wf-red);color:#fff}
.wf-burst{background:var(--wf-yellow);color:var(--wf-ink)}

/* ---------- Gallery / FAQ / notes ---------- */
.wf-frame{background:var(--wf-cream)}
.wf-frame .wf-ph{border:2px solid var(--wf-line);color:var(--wf-ink)}
.wf-frame .wf-ph.v2{background:var(--wf-electric);color:#fff}
.wf-frame .wf-ph.v3{background:linear-gradient(160deg,#C8001C,#A80016);color:#fff}
.wf-frame .wf-ph.v4{background:var(--wf-mustard);color:var(--wf-ink)}
.wp-block-details{background:var(--wf-cream);border-radius:24px;box-shadow:0 5px 0 var(--wf-line),0 20px 30px -18px rgba(8,0,30,.7)}
.wp-block-details:hover{transform:translateY(-3px)}
.wp-block-details[open]{background:linear-gradient(160deg,#FFE75E,#FFD500)}
.wp-block-details summary{font-size:1.28rem;color:var(--wf-violet);padding:1.25rem 4.4rem 1.25rem 1.5rem}
.wp-block-details[open] summary{color:var(--wf-deep)}
.wp-block-details summary::after{border:2px solid var(--wf-line);background-color:var(--wf-red)}
.wf-faq-group h2{text-align:left}
.wf-note{border:2px dashed var(--wf-line)}
.wf-note,.wf-legal{background:var(--wf-cream);color:var(--wf-ink)}
.wf-legal h2{color:var(--wf-violet)}
.wf-email-card a{color:var(--wf-violet)}
.wf-tag{background:var(--wf-yellow);color:var(--wf-ink);border:2px solid var(--wf-line)}

/* ---------- Footer ---------- */
.wf-footer{background:url("assets/img/tex-candy-l.svg?v=5") center bottom/cover no-repeat,#240747;padding-top:clamp(3.6rem,6vw,5rem)}

.wf-footer p,.wf-footer li,.wf-footer a{color:#fff}
.wf-footer h3{color:var(--wf-yellow)}
.wf-footer a:hover{color:var(--wf-yellow)}
.wf-footer .wf-foot-email a{color:var(--wf-yellow);border:2px solid var(--wf-yellow);border-radius:999px;padding:.4rem 1rem;font-size:.9rem!important}
.wf-footer .wf-fine{border-top:2px dashed #5C1D86}

/* ---------- Forms (cream panel, ink text) ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=url],input[type=password],input[type=search],select,textarea,.wc-block-components-text-input input,.wc-blocks-components-select__select{
  border:2px solid var(--wf-line)!important;border-radius:16px!important;color:var(--wf-ink);background:#fff;font-size:1.1rem}
input:focus,select:focus,textarea:focus{outline:4px solid var(--wf-electric)!important;outline-offset:2px;box-shadow:0 0 0 2px #fff}
.wpcf7 label,.wpcf7 p{color:var(--wf-ink)}
.wpcf7-not-valid-tip{background:var(--wf-red-ink);color:#fff}
.show_required,.required,.woocommerce form .form-row .required,.wc-block-components-text-input label .required{color:var(--wf-red-ink)!important}
.wpcf7 form .wpcf7-response-output{background:var(--wf-yellow);color:var(--wf-ink);border:2px solid var(--wf-line)}

/* ---------- WooCommerce ---------- */
.woocommerce .woocommerce-breadcrumb,.wc-block-breadcrumbs,.woocommerce-result-count{color:#fff}
.woocommerce-breadcrumb a{color:var(--wf-yellow)}
ul.products li.product,.wc-block-product,.wp-block-woocommerce-product-template li{border-radius:var(--wf-r)}
ul.products li.product img,.wc-block-product img,.wp-block-woocommerce-product-image img{border:2px solid var(--wf-line);box-shadow:0 5px 0 var(--wf-line);transform:none}
ul.products li.product:nth-child(even) img,.wc-block-product:nth-child(even) img{transform:none}
ul.products li.product:hover img,.wc-block-product:hover img{transform:scale(1.03)}
.woocommerce-loop-product__title,.wc-block-product .wp-block-post-title,.wp-block-woocommerce-product-template .wp-block-post-title{color:var(--wf-violet);font-size:1.6rem!important;text-shadow:none!important;-webkit-text-stroke:0;filter:none}
.wc-block-product .wp-block-post-title a,.woocommerce-loop-product__title a{color:var(--wf-violet)}
.price,.wc-block-components-product-price,.wp-block-woocommerce-product-price{color:var(--wf-ink)!important}
.price del,.wc-block-components-product-price del{color:#4A3358}
.price ins{color:var(--wf-red-ink)}
ul.products li.product .price{background:var(--wf-yellow);border:2px solid var(--wf-line);border-radius:999px;transform:none}
span.onsale,.wc-block-components-product-sale-badge{background:var(--wf-red-ink)!important;color:#fff!important}
.wp-block-column:has(>h1.wp-block-post-title) .wc-block-components-product-price,.wp-block-column:has(>h1.wp-block-post-title) .price{color:var(--wf-red-ink)!important;font-size:2.1rem}
.wp-block-column>h1.wp-block-post-title{font-size:clamp(2.1rem,1.4rem + 2.4vw,3.2rem)}
.wf-trust{gap:.6rem;margin:1.2rem 0}
.wf-trust li{background:var(--wf-yellow);border:2px solid var(--wf-line);color:var(--wf-ink);font-weight:800}
.wf-pricebreaks{background:#fff;box-shadow:0 5px 0 var(--wf-line),0 20px 30px -20px rgba(8,0,30,.6);padding:1.2rem 1.4rem}
.wf-pricebreaks h3{color:var(--wf-violet)}
.wf-pricebreaks table{border-collapse:collapse;width:100%}
.wf-pricebreaks th{color:var(--wf-deep);font-family:var(--wf-label);font-weight:400;border-bottom:3px solid var(--wf-line)!important;padding-bottom:.5rem}
.wf-pricebreaks td{border-bottom:2px dashed #6B4A68;padding:.5rem .4rem;color:var(--wf-ink);font-weight:600}
.wf-pricebreaks tr:first-child td{background:#FFF1B8}
.wf-pricebreaks td:last-child{font-weight:800;color:var(--wf-red-ink)}
.wf-pricebreaks p{color:var(--wf-ink)}
.awdr-bulk-customizable-table,.wdr_bulk_table_msg{display:none!important}
.woocommerce-tabs ul.tabs li{border:2px solid var(--wf-line)!important;border-radius:999px!important;box-shadow:0 3px 0 var(--wf-line)!important;background:var(--wf-cream)!important}
.woocommerce-tabs ul.tabs li a{color:var(--wf-violet)!important}
.woocommerce-tabs ul.tabs li.active{background:var(--wf-yellow)!important}
.woocommerce-tabs ul.tabs li.active a{color:var(--wf-ink)!important}
.ppom-field-wrapper{border:2px solid var(--wf-line);border-radius:22px;box-shadow:0 4px 0 var(--wf-line)}
.ppom-field-wrapper::before,form.cart .quantity::before{background:linear-gradient(160deg,#C8001C,#A80016);color:#fff;border:2px solid var(--wf-line)}
form.cart .quantity{border:2px solid var(--wf-line);border-radius:22px;box-shadow:0 4px 0 var(--wf-line)}
.ppom-wrapper label,.ppom-wrapper .ppom-input-label,.ppom-wrapper .form-control-label,form.cart .quantity::after{color:var(--wf-violet)}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:20px!important;border:2px solid var(--wf-line)!important;box-shadow:0 4px 0 var(--wf-line)}
.woocommerce-error{background:var(--wf-red-ink)!important;color:#fff!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--wf-red-ink)!important}
.wc-block-components-text-input label,.wc-blocks-components-select__label{color:#4A3358!important}
.wc-block-components-product-name,.woocommerce td.product-name a,.woocommerce-cart-form .product-name a{color:var(--wf-violet)}
.woocommerce a.remove{color:var(--wf-red-ink)!important}
.woocommerce-pagination .page-numbers li span,.woocommerce-pagination .page-numbers li a,.wp-block-query-pagination a{color:var(--wf-yellow)}
.woocommerce-MyAccount-navigation li a{color:#fff}

/* ---------- Sticky mobile CTA ---------- */
@media (max-width:781px){
  .wf-sticky-cta{background:var(--wf-night);border-top:3px solid var(--wf-yellow);box-shadow:0 -10px 30px rgba(8,0,30,.5)}
  .wf-sticky-cta a{min-height:3.7rem;border:2px solid var(--wf-line);border-radius:999px;background:linear-gradient(180deg,#FFE34D,#FFC400);color:var(--wf-ink);box-shadow:0 4px 0 var(--wf-line);font-size:1.2rem}
  body.wf-has-sticky .wf-footer{padding-bottom:6.5rem}
}

/* ---------- Mobile polish ---------- */
@media (max-width:781px){
  body{font-size:1.1rem}
  .wf-section{padding-block:3.6rem!important}
  .wf-hero h1{font-size:clamp(2.3rem,9.5vw,3.2rem)}
  .wf-panel{padding:1.4rem}
  .wf-hero .wp-block-buttons .wp-block-button,.wf-hero .wp-block-button__link{width:100%}
  .wf-facts{gap:.8rem 1.2rem}
  h2{font-size:clamp(2rem,8vw,2.6rem)}
  .wf-card{padding:1.8rem 1.4rem 1.6rem!important}
}
@media (hover:none){.wf-card:hover,.wf-product:hover,.wp-block-details:hover{transform:none!important}}

/* ---------- v5 fixes ---------- */
.wf-bg-plum .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-violet .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-warm .wf-sectionhead>p:not(.wf-eyebrow){transform:none}
.wf-hero h1 mark:nth-of-type(n){margin-left:0;transform:none}
.wf-hero h1 mark:nth-of-type(2){color:#fff}
@media (min-width:782px){
  .wf-hero .wp-block-columns>.wp-block-column:first-child{flex-basis:56%!important}
  .wf-hero .wp-block-columns>.wp-block-column:last-child{flex-basis:44%!important}
}
.wf-bg-mustard .wf-panel .wf-price,.wf-bg-yellow .wf-panel .wf-price,.wf-hero .wf-panel .wf-price{color:var(--wf-red-ink);text-shadow:none;-webkit-text-stroke:0;filter:none}
.wf-panel .wf-price{font-size:clamp(3rem,2rem + 3vw,4.6rem)}
.wf-footer{margin-top:28px!important}
@media (max-width:781px){.wf-hero .wp-block-button__link{padding:.85em 1.2em!important;font-size:1.05rem!important}}
.wf-header .wp-block-site-title{flex:0 0 auto;min-width:clamp(168px,9vw + 96px,236px)}
@media (min-width:1280px) and (max-width:1420px){.wf-header .wp-block-site-title{min-width:190px}}
@media (max-width:520px){.wf-header .wp-block-site-title{min-width:150px}}
.wf-ticket .tk-title{color:var(--wf-deep)}
.wf-burst{background:var(--wf-yellow);color:var(--wf-ink)}
.wf-bg-yellow .wf-burst,.wf-bg-mustard .wf-burst{background:var(--wf-red-ink);color:#fff}
.ppom-wrapper .ppom-input-desc,.ppom-wrapper .show_description,.ppom-wrapper span.show_description{color:var(--wf-ink)!important;font-size:.95rem!important;font-weight:600}
.wf-bg-red{--sec:#C8001C;background:url("assets/img/tex-tickets-l.svg?v=5") center/cover no-repeat,radial-gradient(900px 420px at 50% 0,rgba(232,17,47,.6),transparent 70%),#C8001C}

/* ---------- v5 shop: categories, product grid, order-flow bar ---------- */
.wf-flow{background:var(--wf-night);padding:2.1rem 1rem .85rem;position:relative;z-index:1}
.wf-flow ol{list-style:none;margin:0 auto;padding:0;max-width:760px;display:flex;justify-content:center;align-items:center;gap:.3rem .2rem;flex-wrap:nowrap}
.wf-flow li{display:flex;align-items:center;color:#fff;font-family:var(--wf-label);font-size:1rem;letter-spacing:.03em;white-space:nowrap}
.wf-flow li+li::before{content:"";display:block;width:clamp(14px,4vw,44px);border-top:3px dashed #FFD500;margin:0 .5rem}
.wf-flow li a,.wf-flow li>b+span{color:inherit}
.wf-flow li>a,.wf-flow li{text-decoration:none}
.wf-flow li>a{display:flex;align-items:center;gap:.5rem;color:#fff;border-radius:999px;padding:.2rem .3rem}
.wf-flow li>a:hover span{color:var(--wf-yellow);text-decoration:underline;text-underline-offset:.25em}
.wf-flow b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:2px solid #fff;font:400 1rem/1 var(--wf-label);margin-right:.5rem;color:#fff;flex:none}
.wf-flow li>a b{margin-right:0}
.wf-flow .is-done b{background:var(--wf-yellow);border-color:var(--wf-yellow);color:var(--wf-ink)}
.wf-flow .is-current{background:var(--wf-yellow);color:var(--wf-ink);border-radius:999px;padding:.25rem 1rem .25rem .3rem;box-shadow:0 3px 0 var(--wf-line)}
.wf-flow .is-current b{background:var(--wf-ink);border-color:var(--wf-ink);color:var(--wf-yellow)}
@media (max-width:640px){
  .wf-flow ol{gap:0}.wf-flow li{font-size:.95rem}
  .wf-flow li:not(.is-current) span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .wf-flow li:not(.is-current) b{margin-right:0}
  .wf-flow li+li::before{width:16px;margin:0 .3rem}
}
.wf-shophead{padding-top:clamp(2rem,4vw,3rem)!important;padding-bottom:clamp(2.6rem,5vw,3.6rem)!important}
.wf-shophead .wc-block-breadcrumbs,.wf-shophead .woocommerce-breadcrumb{text-align:center;color:#fff;margin:0 0 .8rem;font-size:1rem}
.wf-shophead .woocommerce-breadcrumb a{color:var(--wf-yellow)}
.wf-shophead .wp-block-query-title{margin:.2rem auto .8rem;text-align:center;font-size:clamp(2.8rem,1.6rem + 5vw,5rem);color:#fff}
.wf-shop-lede{max-width:34em;margin:0 auto 1.4rem!important;font-size:1.25rem;color:#fff}
.wf-cats{list-style:none;margin:1.2rem auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}
.wf-cats a{display:inline-flex;align-items:center;min-height:2.9rem;padding:.4rem 1.3rem;border-radius:999px;background:var(--wf-cream);color:var(--wf-ink);border:2px solid var(--wf-line);box-shadow:0 4px 0 var(--wf-line);font-family:var(--wf-label);font-size:1.05rem;letter-spacing:.03em;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.wf-cats a:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--wf-line);background:#fff;color:var(--wf-ink)}
.wf-cats a[aria-current=page]{background:var(--wf-yellow);color:var(--wf-ink)}
.wf-shopgrid{padding-top:clamp(3rem,6vw,4.5rem)!important}
.wf-shopgrid .wc-block-product-template,.wf-shopgrid .wp-block-woocommerce-product-template{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem;padding:0;margin:0;list-style:none}
.wf-shopgrid .wc-block-product{display:flex;flex-direction:column;padding:0 0 1.7rem;overflow:hidden;text-align:center;margin:0;width:auto;max-width:none}
.wf-shopgrid .wc-block-product .wp-block-woocommerce-product-image{margin:0 0 1rem;position:relative}
.wf-shopgrid .wc-block-product img{margin:0!important;border-radius:0!important;border:0!important;border-bottom:2px solid var(--wf-line)!important;box-shadow:none!important;width:100%;aspect-ratio:1/1;object-fit:cover;transform:none!important;transition:transform .5s cubic-bezier(.3,1.2,.5,1)}
.wf-shopgrid .wc-block-product:hover img{transform:scale(1.05)!important}
.wf-shopgrid .wc-block-product .wp-block-woocommerce-product-image a{display:block;overflow:hidden}
.wf-shopgrid .wc-block-product>*:not(.wp-block-woocommerce-product-image){padding-inline:1.4rem;margin-inline:0}
.wf-shopgrid .wc-block-product .wp-block-post-title{font-size:1.7rem!important;margin:.2rem 0 .3rem;line-height:1.12}
.wf-shopgrid .wc-block-product .wc-block-components-product-price{font-family:var(--wf-display);font-size:1.7rem!important;color:var(--wf-red-ink)!important;margin:.1rem 0 .5rem}
.wf-shopgrid .wc-block-product .wc-block-components-product-price *{color:inherit}
.wf-price-pre,.wf-price-suf{font-family:var(--wf-label);font-size:.55em;letter-spacing:.08em;text-transform:uppercase;color:var(--wf-violet);vertical-align:.35em}
.wf-price-pre{margin-right:.15em}
.wf-excerpt,.wf-excerpt p{color:var(--wf-ink);font-size:1rem;line-height:1.45;margin:0 0 1rem}
.wf-shopgrid .wc-block-product .wp-block-woocommerce-product-button{margin-top:auto}
.wf-shopgrid .wc-block-product .wp-block-button__link{width:100%}
.wf-shopgrid .wp-block-query-pagination{margin-top:2.4rem}
@media (max-width:1020px){.wf-shopgrid .wc-block-product-template,.wf-shopgrid .wp-block-woocommerce-product-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wf-shopgrid .wc-block-product-template,.wf-shopgrid .wp-block-woocommerce-product-template{grid-template-columns:minmax(0,1fr);gap:1.8rem}}
/* single product: price prefix and breadcrumbs */
.wp-block-column:has(>h1.wp-block-post-title) .wf-price-pre,.wp-block-column:has(>h1.wp-block-post-title) .wf-price-suf{color:var(--wf-violet)}
.woocommerce-breadcrumb,.wc-block-breadcrumbs{font-size:1rem;margin:1rem 0}
.wp-block-woocommerce-breadcrumbs{margin-inline:auto}
.wf-products+.wp-block-buttons{margin-top:3.4rem}
.wf-note.wf-narrow{margin-top:2.4rem;max-width:860px}
/* flow bar: connectors sit outside the pill */
.wf-flow li{position:relative;margin-left:clamp(26px,5vw,52px)}
.wf-flow li:first-child{margin-left:0}
.wf-flow li+li::before{position:absolute;left:calc(-1 * clamp(26px,5vw,52px) + 6px);top:50%;width:calc(clamp(26px,5vw,52px) - 12px);margin:0;display:block}
@media (max-width:640px){.wf-flow li{margin-left:26px}.wf-flow li:first-child{margin-left:0}.wf-flow li+li::before{left:-20px;width:14px}}
#order_review_heading,.woocommerce-checkout h3#order_review_heading{color:#fff!important;text-shadow:none}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-info{margin-bottom:1.4rem}

/* v5.1 - supplied logo (real <img>, alt text) */
.wf-header .wf-logo{display:block;flex:0 0 auto;line-height:0;transition:transform .3s cubic-bezier(.3,1.8,.5,1);transform-origin:left center}
.wf-header .wf-logo img{display:block;height:72px;width:auto;max-width:none;filter:drop-shadow(0 3px 0 rgba(8,0,30,.45))}
.wf-header .wf-logo:hover{transform:translateY(-2px) scale(1.04)}
.wf-header .wf-logo:focus-visible{outline:3px solid #FFD500;outline-offset:4px;border-radius:8px}
.wf-footer .wf-foot-logo{margin:0 auto .6rem;text-align:center;line-height:0}
.wf-footer .wf-foot-logo img{display:inline-block;width:min(300px,70%);height:auto;filter:drop-shadow(0 3px 0 rgba(8,0,30,.5))}
@media (max-width:520px){.wf-header .wf-logo img{height:52px}.wf-footer .wf-foot-logo img{width:min(240px,70%)}}

/* v6 - Cadbury-deep purple + pure white text on purple */
:root{--wf-white:#FFFFFF}
body{background:#3A0A5C}
.wf-header{background:linear-gradient(180deg,#4F1A7A 0%,#3A0A5C 100%)}
.wf-header .wf-logo img{filter:drop-shadow(0 0 1px rgba(255,255,255,.55)) drop-shadow(0 3px 0 rgba(10,0,24,.6)) drop-shadow(0 0 14px rgba(255,213,0,.28))}
.wf-footer .wf-foot-logo img{filter:drop-shadow(0 0 1px rgba(255,255,255,.55)) drop-shadow(0 3px 0 rgba(10,0,24,.6)) drop-shadow(0 0 16px rgba(255,213,0,.25))}
body,.wf-bg-plum,.wf-bg-violet,.wf-bg-warm,.wf-hero,.wf-card.is-plum,.wf-footer,.wf-footer p,.wf-footer li,.wf-footer a,.wf-footer h3,.wf-eyebrow,
.wf-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content,.wf-header .wp-block-navigation__responsive-container.is-menu-open,
.woocommerce .woocommerce-breadcrumb,.wc-block-breadcrumbs,.woocommerce-result-count,.woocommerce-MyAccount-navigation li a{color:#FFFFFF}
h1,h2{color:#FFFFFF}
.has-accent-6-color,mark.has-accent-6-color{color:#FFFFFF!important}
.wf-eyebrow{background:#5C1D86}

/* v6.1 - one consistent look on every page (as Gallery): deep purple bands, cream panels, white chunky headings */
.wf-header{background:#2E0854}
.wf-bg-yellow,.wf-bg-mustard{color:#FFFFFF;--sec:#3A0A5C;background:url("assets/img/tex-candy-l.svg?v=6") center/cover no-repeat,var(--wf-glow-soft),#3A0A5C}
.wf-bg-mustard{--sec:#2E0854;background:url("assets/img/tex-tickets-l.svg?v=6") center/cover no-repeat,var(--wf-glow-soft),#2E0854}
.wf-bg-yellow h1:not(.wf-panel h1),.wf-bg-yellow h2:not(.wf-panel h2),.wf-bg-mustard h1:not(.wf-panel h1),.wf-bg-mustard h2:not(.wf-panel h2){color:#FFFFFF;-webkit-text-stroke:.11em var(--wf-line);paint-order:stroke fill;filter:drop-shadow(0 .06em 0 var(--wf-line));text-shadow:none}
.wf-bg-yellow .wf-sectionhead::after,.wf-bg-mustard .wf-sectionhead::after{filter:none}
.wf-bg-yellow .wf-sectionhead>p:not(.wf-eyebrow),.wf-bg-mustard .wf-sectionhead>p:not(.wf-eyebrow){display:inline-block;background:var(--wf-cream);color:var(--wf-ink);border:2px solid var(--wf-line);border-radius:22px;box-shadow:0 5px 0 var(--wf-line);font-size:1.15rem;padding:.9rem 1.5rem;transform:none}
.wf-bg-yellow .wf-sectionhead a,.wf-bg-mustard .wf-sectionhead a{color:#FFD500}
.wf-bg-yellow .wf-step h3,.wf-bg-mustard .wf-step h3{color:#FFD500}

/* v6.2 - home hero matches the inner pages: no extra red strip, white chunky headings */
.wf-strip{display:none}
.wf-hero h1 mark,.wf-hero h1 mark.has-accent-1-color,.wf-hero h1 mark.has-accent-6-color{color:#FFFFFF!important;background:none}

/* v5.3 - Weddings lead category */
.wf-cats .wf-cat-lead a{background:#FFD500;color:#1A0430;border-color:#1A0430}
.wf-wedfeature{background:#2E0854;padding:clamp(1.6rem,4vw,3rem) var(--wp--style--root--padding-right,1.5rem);text-align:center}
.wf-wedfeature-in{max-width:760px;margin:0 auto;background:#FFF6DB;color:#1A0430;border:3px solid #140326;border-radius:28px;box-shadow:0 6px 0 #140326;padding:clamp(1.4rem,3vw,2.4rem)}
.wf-wedfeature h2{font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem);color:#2E0854;-webkit-text-stroke:0;filter:none;text-shadow:none;margin:.2em 0 .4em}
.wf-wedfeature p{color:#1A0430;margin:.3em 0 1em}
.wf-wedfeature .wf-eyebrow{color:#fff}
.wf-wedfeature .wf-wedbtn{display:inline-block;background:linear-gradient(180deg,#E8112F,#A80016);color:#fff;border:3px solid #140326;border-radius:999px;box-shadow:0 5px 0 #140326;padding:.8rem 1.6rem;font-family:var(--wf-label);text-transform:uppercase;letter-spacing:.03em;text-decoration:none}
.wf-wedfeature .wf-textlink{color:#2E0854;margin-left:.8rem;font-weight:700}
body.term-weddings .wf-wedfeature{display:none}

/* v5.4 hide plugin duplicate tier table (theme has its own price-break table) */
.tpt__tiered-pricing,.tiered-pricing-wrapper{display:none!important}

/* v6.3 cart polish: quantity box wide enough for 3-4 digits, readable totals heading */
.woocommerce-cart-form .quantity input.qty,.woocommerce table.cart .quantity input.qty{width:92px!important;min-width:92px!important;padding:8px 10px!important;text-align:center;box-sizing:border-box}
.cart_totals h2,.woocommerce .cart_totals>h2{color:#2E0854!important;text-shadow:none!important;-webkit-text-stroke:0!important}
