:root{--gf-ink:#21372b;--gf-green:#28533b;--gf-paper:#f4f0e5;--gf-yellow:#e4e137;--gf-body:'GEFAM Manrope','Manrope-Variable',sans-serif;--gf-display:'GEFAM Badger','BadgerRegular',sans-serif}

button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b54420;outline-offset:4px}
img,video{max-width:100%}body .entry-content{overflow-wrap:anywhere}body .woocommerce form .form-row input.input-text,body .woocommerce form .form-row textarea{font-size:16px;min-height:44px}body .woocommerce form .form-row{min-width:0}body .woocommerce .woocommerce-MyAccount-navigation a{display:block;min-height:44px;padding-top:12px;padding-bottom:12px}
.gefam-copy{max-width:780px;margin:0 auto;font:500 16px/1.7 var(--gf-body)}.gefam-copy h2{font-family:var(--gf-display);font-size:30px;font-weight:400}.gefam-embed-placeholder{padding:28px;border:1px solid currentColor;background:var(--gf-paper);color:var(--gf-ink);text-align:center}.gefam-embed-placeholder small{display:block;margin-top:12px}
.gefam-game-teaser{max-width:560px;margin:32px auto;text-align:center}.gefam-game-teaser img{display:block;width:100%;height:auto}.gefam-game-teaser .gefam-cta{margin-top:6px;font:400 30px var(--gf-display)}
.gefam-hero{width:100%;max-width:1354px;margin:auto;color:var(--gf-ink)}.gefam-hero-frame{position:relative;width:100%;aspect-ratio:1354/562;overflow:hidden;border-radius:12px;background:#dcdf32}.gefam-hero-video{display:block;width:100%;height:100%;object-fit:contain}.gefam-hero-mobile{display:none}.gefam-hero-hit{position:absolute;width:44px;height:44px;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;color:transparent;cursor:pointer;border-radius:8px}.gefam-hero-hit span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.gefam-hero-instagram{left:6.55%;top:11.3%}.gefam-hero-mail{left:9.5%;top:11.3%}.gefam-hero-audio{left:93.6%;top:11.3%}.gefam-hero-shop{left:50.2%;top:62.8%;width:26%;height:8%;transform:translate(-50%,-50%)}.gefam-hero-instagram,.gefam-hero-mail{width:min(44px,2.9%)}.gefam-hero-menu{display:none}
.gefam-play-page{margin:0;min-height:100dvh;background:var(--gf-paper);color:var(--gf-ink)}.gefam-play-page *{box-sizing:border-box}.gefam-play-nav{max-width:1100px;margin:auto;display:flex;align-items:center;gap:32px;padding:22px 24px;border-bottom:1px solid #21372b33}.gefam-play-nav a{color:inherit;text-decoration:none;font:700 14px var(--gf-body);padding:10px 0;min-height:44px}.gefam-play-nav .gefam-wordmark{font:400 44px/1 var(--gf-display);margin-right:auto}.gefam-play-intro{max-width:700px;margin:32px auto 12px;padding:0 20px;text-align:center}.gefam-play-intro span{font:700 11px var(--gf-body);letter-spacing:.16em}.gefam-play-intro p{font:400 clamp(30px,6vw,48px)/1.1 var(--gf-display);margin:8px}.gefam-play-footer{max-width:960px;margin:30px auto 0;padding:20px 24px 64px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:12px}.gefam-play-footer a{color:inherit}.gefam-play-footer span{width:100%;text-align:center;opacity:.7}
@media(max-width:767px){.gefam-hero{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}.gefam-hero-frame{aspect-ratio:1/1;border-radius:0}.gefam-hero-instagram,.gefam-hero-mail,.gefam-hero-audio,.gefam-hero-menu{width:min(44px,10%)}.gefam-hero-desktop{display:none}.gefam-hero-mobile{display:block}.gefam-hero-instagram{left:9.1%;top:9.3%}.gefam-hero-mail{left:19.6%;top:9.3%}.gefam-hero-audio{left:79.5%;top:9.3%}.gefam-hero-menu{display:block;left:89.8%;top:9.3%}.gefam-hero-shop{left:50.5%;top:64.6%;width:46%;height:9%}.gefam-play-nav{gap:18px;padding:14px 16px}.gefam-play-nav .gefam-wordmark{font-size:34px}.gefam-play-nav a{font-size:12px}.gefam-play-intro{margin-top:22px}body .woocommerce table.shop_table{font-size:14px}body .woocommerce .col2-set .col-1,body .woocommerce .col2-set .col-2{width:100%;float:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important}.gefam-hero-video{animation:none}}

.gefam-primary-link{color:var(--gf-green)!important;font-family:var(--gf-body)!important;display:inline-flex;align-items:center;min-height:44px;text-decoration:none!important}.gefam-primary-link:hover{text-decoration:underline!important}
@media(max-width:959px){body .woocommerce .woocommerce-MyAccount-content{float:none;width:100%}}

/* Keep the game in its original arcade presentation; theme-level changes do not redesign it. */
.gefam-play-page{background:radial-gradient(90% 60% at 50% 30%,rgba(250,228,0,.10),transparent 70%),repeating-conic-gradient(from 0deg at 50% 30%,rgba(250,228,0,.035) 0 7.5deg,transparent 7.5deg 15deg),#17110c;color:#e9e2d6}.gefam-play-page main{max-width:640px;margin:auto}.gefam-play-page .gefam-play-intro{display:none}.gefam-play-page .gefam-play-nav{max-width:640px;border:0;padding:12px 18px 0}.gefam-play-page .gefam-play-nav a{color:#e9e2d6}.gefam-play-page .gefam-play-nav .gefam-wordmark{font:700 14px "GW Manrope",sans-serif}.gefam-play-page .gefam-play-footer{max-width:640px}.gefam-play-page .gfam-wam a{color:inherit}.gefam-play-page .gfam-wam{margin:0 auto}.gefam-play-page .gfam-wam .gw-card h2{font-family:"GW Badger","GW Manrope",sans-serif}

.gefam-play-page{background:#17110c}
html:has(body.gefam-play-page){background:#17110c;min-height:100%}
@media(max-width:767px){.gefam-play-page{padding-top:env(safe-area-inset-top)}}

/* Long German headings (Datenschutzerklärung, Geschäftsbedingungen) must wrap on phones instead of being cut off. */
@media(max-width:767px){.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content .h1,.post-content .h2,.post-content .h3{overflow-wrap:anywhere;hyphens:auto}.cmplz-document .cmplz-service-description,.cmplz-document .purpose,.cmplz-document .cmplz-subtitle{min-width:0;overflow-wrap:anywhere}.cmplz-document details{max-width:100%}}
/* Badger renders automatic hyphens as stars; empty-cart words stay whole. */
body .gefam-empty-cart-copy{hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
@media(max-width:767px){body .gefam-empty-cart-copy{display:block;font-size:20px!important;line-height:1.4!important;text-wrap:pretty}}

/* Menu popups (Popup Maker 6085 pages, 6173 home): true full screen, no stray offset or scrollbar, close button where the burger sits. */
#pum-6085,#pum-6173{overflow:hidden!important}
#pum-6085 .pum-container,#pum-6173 .pum-container{top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-height:100dvh;border:0!important;box-shadow:none!important}
#pum-6085 .pum-content,#pum-6173 .pum-content{padding:0!important}
#pum-6085 .gefam-menu-color,#pum-6173 #gefam-popup-image{width:100%!important;min-height:100dvh!important;box-sizing:border-box}
#pum-6085 .gefam-menu-color a,#pum-6173 #gefam-popup-image a{font-family:var(--gf-body)!important;letter-spacing:.04em;padding:8px 16px;min-height:44px;display:inline-flex;align-items:center}
#pum-6085 .pum-close,#pum-6173 .pum-close{position:fixed!important;top:40px!important;right:25px!important;left:auto!important;bottom:auto!important;width:44px!important;height:44px!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#2e241e!important;font:500 26px/44px var(--gf-body)!important;text-align:center;box-shadow:none!important;text-shadow:none!important}
#pum-6085 .pum-close:focus-visible,#pum-6173 .pum-close:focus-visible{outline:3px solid #b54420;outline-offset:2px}

/* Variable products: one buy box (size, per-pack note, price, cart); the price keeps the theme's h3 typography. Size buttons wrap on phones. */
.single-product .gefam-price-moved{display:none!important}
.single-product .gefam-price-range{margin:0 0 18px}
/* Buy box with room to breathe: real tap targets for sizes, one clear cart action next to the quantity. */
@media(min-width:960px){.single-product .sticky-sidebar .uncode_text_column{max-width:560px;line-height:1.7}}
.single-product form.cart{--gb-ink:#2e241e;--gb-line:rgba(46,36,30,.2);--gb-accent:#4b6432;max-width:460px}
.single-product form.cart table.variations{margin:0 0 6px!important}
.single-product form.cart table.variations td{padding:0!important;display:block}
.single-product form.cart td.label label{display:block;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ink)}
.single-product .swatches-select{display:flex!important;flex-wrap:wrap;gap:10px;max-width:100%}
.single-product .swatches-select .swatch{margin:0!important}
.single-product .swatches-select--type-image .swatch{width:64px!important;height:64px!important;border:2px solid transparent!important;border-radius:12px!important;background-color:#fff!important;box-shadow:0 0 0 1px rgba(46,36,30,.12);cursor:pointer;transition:border-color .15s}
.single-product .swatches-select--type-image .swatch:hover{border-color:rgba(46,36,30,.4)!important}
.single-product .swatches-select--type-image .swatch.swatch--active,.single-product .swatches-select--type-image .swatch.swatch--selected{border-color:#2e241e!important}
.single-product .swatches-select--type-label{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-width:100%}
.single-product .swatches-select--type-label[data-swatch-id*=pack]{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.single-product .swatches-select--type-label .swatch{margin:0!important;min-height:46px;min-width:0!important;width:auto!important;height:auto!important;padding:8px 12px!important;display:flex!important;align-items:center;justify-content:center;text-align:center;border:1.5px solid var(--gb-line)!important;border-radius:10px!important;background:transparent!important;color:var(--gb-ink)!important;font-size:14px!important;font-weight:600!important;line-height:1.2;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}
.single-product .swatches-select--type-label .swatch span{white-space:normal}
.single-product .swatches-select--type-label .swatch:hover{border-color:var(--gb-ink)!important}
.single-product .swatches-select--type-label .swatch.swatch--active,.single-product .swatches-select--type-label .swatch.swatch--selected{background:var(--gb-ink)!important;border-color:var(--gb-ink)!important;color:#fff8ee!important}
.single-product .swatches-select--type-label .swatch.swatch--disabled{opacity:.4;text-decoration:line-through}
.single-product .swatches-select--type-label .swatch:focus-visible{outline:3px solid #b54420;outline-offset:2px}
.single-product form.cart .reset_variations{display:inline-block;margin:10px 0 0;line-height:1.4!important;height:auto!important;font-size:13px;color:rgba(46,36,30,.65);text-decoration:underline;text-underline-offset:3px}
.single-product form.cart .single_variation_wrap{margin-top:22px}
.single-product .gefam-price-range,.single-product form.cart .woocommerce-variation-price{margin:0 0 20px!important}
.single-product form.cart .woocommerce-variation-description p{margin:0 0 6px!important;font-size:14px;color:rgba(46,36,30,.7)}
.single-product form.cart .woocommerce-variation-price .price,.single-product .gefam-price-range .price{margin:0!important}
.single-product form.cart .woocommerce-variation-price .h3,.single-product .gefam-price-range .h3{margin:0!important}
.single-product .align_center form.cart,.single-product .align_center form.cart .single_variation{text-align:center}
.single-product form.cart .variations_button,.single-product form.cart:not(.variations_form){display:flex!important;align-items:stretch;gap:10px;flex-wrap:nowrap}
.single-product form.cart .quantity{flex:0 0 92px;margin:0!important;float:none!important}
.single-product form.cart .quantity input.qty{width:100%!important;height:54px!important;padding:0 8px!important;text-align:center;border:1.5px solid var(--gb-line)!important;border-radius:12px!important;background:#fff!important;font-size:16px!important;font-weight:600}
.single-product form.cart .single_add_to_cart_button{flex:1 1 0!important;width:auto!important;max-width:none!important;margin:0!important;height:54px!important;line-height:54px!important;padding:0 20px!important;border-radius:12px!important;border:0!important;background:var(--gb-accent)!important;color:#fff8ee!important;font-size:13px!important;letter-spacing:.12em;float:none!important;transform:none!important}
.single-product form.cart .single_add_to_cart_button:hover{background:#3b5027!important}
.single-product form.cart .single_add_to_cart_button.disabled{opacity:.55}
@media(max-width:767px){
  .single-product .row-parent:has(form.cart){padding-left:20px!important;padding-right:20px!important}
  .single-product form.cart{margin:8px auto 56px!important}
  .single-product .align_center form.cart .reset_variations{display:table;margin:10px auto 0}
  .single-product .align_center .swatches-select:not(.swatches-select--type-label){justify-content:center}
}

/* Hotspots on the hero video stay invisible on hover and click; keyboard focus keeps a subtle ring for accessibility. */
.gefam-hero-hit,.gefam-hero-hit:hover,.gefam-hero-hit:active,.gefam-hero-hit:focus{background:transparent!important;box-shadow:none!important;outline:none;-webkit-tap-highlight-color:transparent}.gefam-hero-hit:focus-visible{outline:2px solid rgba(33,55,43,.55);outline-offset:2px}

/* Whac A Mole page: its own slim arcade bar (cart · logo · menu) instead of the shop header. */
.gefam-play-bar{max-width:640px;margin:0 auto;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:14px 18px 6px}
.gefam-play-bar a{display:flex;align-items:center;justify-content:center;min-height:44px;color:#e9e2d6;text-decoration:none}
.gefam-play-cart img{filter:invert(93%) sepia(8%) saturate(250%) hue-rotate(345deg);width:22px;height:auto}
.gefam-play-logo img{width:100px;height:auto}
.gefam-play-menu{flex-direction:column;gap:5px}.gefam-play-menu span{display:block;width:22px;height:2px;border-radius:2px;background:#e9e2d6}
.gefam-play-bar a:hover{opacity:.75}.gefam-play-bar a:focus-visible{outline:2px solid #e9e2d6;outline-offset:2px}

/* Home header: undo the old slider row shift. Menu text has equal space above and below. */
@media(min-width:768px){
  .home .row-container:has(.gefam-hero){padding-top:var(--gefam-hero-gap,11px)!important}
  .home .row-container:has(.gefam-hero)>.row-parent{padding-top:0!important}
  .home .row-container:has(.gefam-hero)>.row-parent>.row-inner{margin-top:0!important;top:0!important}
}
.gefam-hero{position:relative}
/* One image and a handwritten invitation; the whole composition is the link. */
body .gefam-game-teaser{box-sizing:border-box;max-width:1354px;margin:0 auto!important;padding:28px 36px 40px;text-align:center}
.gefam-game-teaser a{display:inline-flex;align-items:center;justify-content:center;color:#2e241e;text-decoration:none!important;max-width:100%;-webkit-tap-highlight-color:transparent}
.gefam-game-teaser img{display:block;width:100%;height:auto;transition:transform .2s ease;filter:drop-shadow(0 5px 3px #2e241e26)}
.gefam-teaser-copy{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.gefam-teaser-kicker{font:800 10px/1.4 var(--gf-body);letter-spacing:.16em;text-transform:uppercase}
.gefam-teaser-label{display:block;font:400 clamp(30px,4vw,56px)/1.12 var(--gf-display);white-space:nowrap}
.gefam-game-teaser a:hover img{transform:rotate(-3deg) translateY(-3px)}
.gefam-game-teaser a:focus-visible{outline:3px solid #2e241e;outline-offset:8px;border-radius:4px}
.gefam-teaser--classic a{flex-direction:column;gap:10px;width:min(380px,100%)}
.gefam-teaser--classic .gefam-teaser-copy{align-items:center}
.gefam-teaser--classic .gefam-teaser-kicker{display:none}
.gefam-teaser--classic .gefam-teaser-label{font-size:32px}
/* Band sits in the page flow, rather than relying on viewport-based negative margins. */
.home .row-container:has(.gefam-teaser--band)>.row-parent{padding-top:0!important}
body .gefam-teaser--band{padding-top:0;padding-bottom:24px}
.gefam-teaser--band a{gap:clamp(24px,4vw,64px);padding:4px 32px 12px}
.gefam-teaser--band img{width:clamp(180px,24vw,320px);transform:rotate(-4deg)}
.gefam-teaser--band .gefam-teaser-label{transform:rotate(-3deg)}
/* Sticker is anchored to the actual video, with space reserved before the products. */
body .gefam-hero>.gefam-teaser--sticker{position:absolute;z-index:6;right:clamp(20px,4%,54px);bottom:-82px;width:clamp(200px,23vw,310px);padding:0;max-width:none;transform:rotate(-7deg)}
.gefam-teaser--sticker a{display:flex;flex-direction:column;gap:0}
.gefam-teaser--sticker .gefam-teaser-kicker{display:none}
.gefam-teaser--sticker .gefam-teaser-label{font-size:clamp(24px,2.4vw,32px);text-shadow:0 1px #f4f0e5}
.home .row-container:has(.gefam-hero>.gefam-teaser--sticker)>.row-parent{padding-bottom:112px!important}
.home .row-container.gefam-teaser-relocated{display:none!important}
/* Floating sign: dismissed for this page, keyboard-hidden until visible, above consent controls. */
body .gefam-teaser--float{position:fixed;right:24px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:90;width:180px;max-width:none;padding:0;visibility:hidden;opacity:0;transform:translateY(14px) rotate(-6deg);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}
body .gefam-teaser--float.is-visible{visibility:visible;opacity:1;transform:translateY(0) rotate(-6deg);pointer-events:auto}
.gefam-teaser--float a{flex-direction:column;gap:2px}
.gefam-teaser--float .gefam-teaser-kicker{display:none}
.gefam-teaser--float .gefam-teaser-label{font-size:24px;text-shadow:0 1px #f4f0e5}
.gefam-teaser-close{position:absolute;right:-8px;top:-12px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #f4f0e5;background:#2e241e;color:#f4f0e5;border-radius:50%;font:400 24px/1 var(--gf-body);cursor:pointer}
@media(max-width:767px){
  body .gefam-game-teaser{padding:16px 20px 28px}
  .gefam-teaser--classic a{width:270px}
  .gefam-teaser--classic .gefam-teaser-label{font-size:28px}
  body .gefam-teaser--band{padding-top:0}
  .gefam-teaser--band a{gap:12px;padding:0;flex-wrap:wrap}
  .gefam-teaser--band img{width:180px}
  .gefam-teaser--band .gefam-teaser-copy{align-items:center;gap:4px}
  .gefam-teaser--band .gefam-teaser-label{font-size:30px}
  .gefam-teaser--band .gefam-teaser-kicker{font-size:9px}
  body .gefam-hero>.gefam-teaser--sticker{width:190px;right:18px;bottom:-78px;padding:0}
  .gefam-teaser--sticker .gefam-teaser-label{font-size:25px}
  .home .row-container:has(.gefam-hero>.gefam-teaser--sticker)>.row-parent{padding-bottom:98px!important}
  body .gefam-teaser--float{width:144px;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));padding:0}
  .gefam-teaser--float .gefam-teaser-label{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.gefam-game-teaser,.gefam-game-teaser img{transition:none!important}.gefam-game-teaser a:hover img{transform:none}}

/* Whac A Mole fits one screen on every device: the machine scales with its width (container queries), so cap the width by the viewport height. */
.gefam-play-page{--gefam-play-w:min(640px,max(280px,calc((100dvh - 126px) * .685 + 32px)))}
.gefam-play-page main,.gefam-play-page .gefam-play-bar,.gefam-play-page .gefam-play-footer{max-width:var(--gefam-play-w)}
.gefam-play-page .gfam-wam{max-width:var(--gefam-play-w)}

/* Call-to-action label with a drawn arrow in a ring (replaces the "↗" glyph) */
.gefam-cta{display:inline-flex;align-items:center;gap:.4em;color:#2e241e;text-decoration:none!important;white-space:nowrap}
.gefam-cta>span{font:inherit;text-decoration:none}
.gefam-cta-arrow{flex:none;display:inline-grid;place-items:center;width:1.05em;height:1.05em;border:max(1.5px,.06em) solid currentColor;border-radius:50%;font-style:normal;transform:translateY(-.06em);transition:background-color .2s ease,color .2s ease}
.gefam-cta-arrow .gefam-arrow{width:.56em;height:.56em;transition:transform .2s ease}
a:hover .gefam-cta-arrow,a:focus-visible .gefam-cta-arrow{background:#2e241e;color:#fff8ee}
a:hover .gefam-cta-arrow .gefam-arrow{transform:translate(.06em,-.06em)}
.gefam-teaser--float .gefam-cta{gap:.35em}
.gefam-account .gefam-cta{font:600 15px var(--gf-body);margin-top:8px}
.gfam-wam .gw-account-link:not(.is-linked)::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.3em;vertical-align:-.08em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 11.5 11.5 4.5M5.5 4.5h6v6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%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 16 16'%3E%3Cpath d='M4.5 11.5 11.5 4.5M5.5 4.5h6v6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}



/* Tap to Shop stays on the homepage and lands above its product grid. */
.gefam-shop-anchor{height:0;scroll-margin-top:20px}

/* Mobile screen: let the existing page texture provide the surround. */
@media(max-width:767px){
  .home .row-container:has(.gefam-hero){padding-top:24px!important}
  .home .row-container:has(.gefam-hero)>.row-parent{padding-top:0!important;padding-left:16px!important;padding-right:16px!important}
  .home .row-container:has(.gefam-hero)>.row-parent>.row-inner{margin-top:0!important;top:0!important}
  .home .gefam-hero{width:100%;max-width:none;margin:0 auto}
  .home .gefam-hero-frame{aspect-ratio:1;border-radius:0}
}

/* Optional mobile keypad: short, broad keys rather than square product cards. */
@media(max-width:767px){
  body.gefam-keypad-preview [data-name="shop"]>.row-parent{padding:32px 24px 60px!important}
  body.gefam-keypad-preview [data-name="shop"] .isotope-wrapper{margin:0!important}
  body.gefam-keypad-preview [data-name="shop"] .isotope-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;height:auto!important;width:100%!important;margin:0!important}
  body.gefam-keypad-preview [data-name="shop"] .tmb{position:relative!important;left:auto!important;top:auto!important;width:auto!important;transform:none!important;padding:0!important;aspect-ratio:1.3;border:1px solid #68705d;border-radius:15px 15px 24px 24px;overflow:hidden;background:#f4f0e52b;box-shadow:0 2px 0 #52614e40;transition:transform .15s ease}
  body.gefam-keypad-preview [data-name="shop"] .tmb::after{content:none!important}
  body.gefam-keypad-preview [data-name="shop"] .tmb:active{transform:translateY(2px)!important;box-shadow:none}
  body.gefam-keypad-preview [data-name="shop"] .t-inside{border:0!important;margin:0!important;background:transparent!important}
  body.gefam-keypad-preview [data-name="shop"] .t-entry-visual{border:0!important;padding:0!important}
  body.gefam-keypad-preview [data-name="shop"] .dummy{padding-top:76.923%!important}
  body.gefam-keypad-preview [data-name="shop"] .t-entry-visual img{object-fit:contain!important;padding:4px 7px!important}
  body.gefam-keypad-preview [data-name="shop"] .soldout{position:absolute!important;top:5px!important;right:5px!important;left:auto!important;width:19px!important;height:19px!important;margin:0!important;padding:0!important;font-size:0!important;line-height:0!important;overflow:hidden;border-radius:50%;background:#f4f0e5!important;color:#344332!important;border:1px solid #52614e70;z-index:3}
  body.gefam-keypad-preview [data-name="shop"] .soldout::before{content:"";position:absolute;inset:4px;border:1.4px solid currentColor;border-radius:50%}
  body.gefam-keypad-preview [data-name="shop"] .soldout::after{content:"";position:absolute;left:4px;right:4px;top:8px;height:1.4px;background:currentColor;transform:rotate(-45deg)}
}

/* The existing texture is the phone: logo at the speaker position, signal icon for the menu. */
.gefam-mobile-top{display:none}
@media(max-width:767px){
  .gefam-mobile-top{display:grid;grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;align-items:center;gap:2px;min-height:64px;padding:0 0 14px}
  .gefam-mobile-top a,.gefam-mobile-top button{display:flex;align-items:center;justify-content:center;min-height:44px;color:#21372b;background:transparent;border:0;padding:0}
  .gefam-mobile-logo img{width:100%;max-width:110px;height:auto}
  .home .gefam-hero-frame{position:relative;overflow:hidden}
  .home .gefam-hero-mobile{position:absolute;width:119.04762%;max-width:none;height:119.04762%;left:-9.52381%;top:-19.04762%;object-fit:fill}
  .home .gefam-hero-instagram,.home .gefam-hero-mail,.home .gefam-hero-audio{display:none}
  .home .gefam-hero-shop{left:50.6%;top:57.9%;width:55%;height:11%}

}

/* Shared overlay composition; the home keeps the LCD surface, other pages use paper. */
#pum-6085,#pum-6173{background:#f4f0e5!important;overflow-y:auto!important}
#pum-6085 .pum-content,#pum-6173 .pum-content{outline:none}
.gefam-menu-overlay{min-height:100dvh;padding:36px clamp(24px,7vw,100px);box-sizing:border-box;color:#21372b;background:#f4f0e5}
.gefam-menu-lcd{background:#c6cb36 url('/wp-content/uploads/2026/02/MobileMenu-BG.jpg') center/cover}
.gefam-menu-inner{width:min(100%,1050px);min-height:calc(100dvh - 72px);margin:auto;display:flex;flex-direction:column;align-items:flex-start}
.gefam-menu-brand{display:block;margin:0 0 44px;padding:0!important;min-height:44px}
.gefam-menu-brand img{width:140px;height:auto}
.gefam-menu-links{display:flex;flex-direction:column;width:100%;margin:auto 0;gap:0}
.gefam-menu-links a{display:block;width:100%;padding:14px 0!important;border-bottom:1px solid #21372b33;font:400 clamp(38px,5vw,70px)/1.12 var(--gf-display)!important;letter-spacing:0!important;color:inherit!important;text-transform:none!important;text-decoration:none!important;transition:padding .2s ease}
.gefam-menu-links a:hover{padding-left:12px!important}
.gefam-menu-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gefam-menu-contact{display:flex;gap:32px;flex-wrap:wrap;margin:44px 0 0;padding-bottom:8px}
.gefam-menu-contact a{display:inline-flex;gap:10px;align-items:center;min-height:44px;font:600 14px/1.4 var(--gf-body);color:inherit;text-decoration:none}
#pum-6085 .pum-close,#pum-6173 .pum-close{top:30px!important;right:clamp(16px,5vw,72px)!important;font-size:30px!important;color:#21372b!important}
.gefam-play-page .gefam-menu-paper{background:#17110c;color:#e9e2d6}
.gefam-play-page .gefam-menu-paper .gefam-menu-brand img{filter:brightness(0) invert(.9)}
.gefam-play-page .gefam-menu-links a{border-color:#e9e2d633}
.gefam-play-page #pum-6085 .pum-close{color:#e9e2d6!important}
@media(max-width:767px){
  .gefam-menu-overlay{padding:24px}
  .gefam-menu-inner{min-height:calc(100dvh - 48px)}
  .gefam-menu-brand{margin-bottom:32px}
  .gefam-menu-brand img{width:118px}
  .gefam-menu-links a{font-size:clamp(31px,8.5vw,46px)!important;padding:17px 0!important}
  .gefam-menu-contact{gap:24px;margin-top:32px}
  #pum-6085 .pum-close,#pum-6173 .pum-close{top:23px!important;right:16px!important}
}
@media(max-width:767px){
  body.home .gefam-mobile-top .gefam-mobile-logo{min-width:0}
  body.home .gefam-mobile-top .gefam-mobile-logo img{width:min(100%,110px)!important;max-width:100%!important;min-width:0!important;height:auto!important}
}

/* A steady CRT surface: fixed scanlines, a slow downward sweep; no brightness flicker. */
#pum-6085 .pum-container,#pum-6173 .pum-container{opacity:1!important;animation:none!important;transition:none!important}
.gefam-menu-overlay{position:relative;isolation:isolate;overflow:hidden}
.gefam-menu-lcd{background:radial-gradient(ellipse at 50% 35%,#c8cf45,#adb52e 100%);color:#27351c}
.gefam-menu-lcd::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,#26341914 0 1px,transparent 1px 4px);box-shadow:inset 0 0 80px #25331433}
.gefam-menu-lcd::after{content:"";position:absolute;z-index:-1;inset:-100% 0 100%;pointer-events:none;background:linear-gradient(transparent 40%,#e3eaa012 48%,#26341914 50%,transparent 59%);animation:gefam-crt-sweep 11s linear infinite;will-change:transform}
@keyframes gefam-crt-sweep{to{transform:translateY(200%)}}
.gefam-menu-heading{font:800 11px/1.5 var(--gf-body);letter-spacing:.18em;min-height:44px;display:flex;align-items:center;margin-bottom:28px}
.gefam-menu-links a{font-family:var(--gf-body)!important;font-weight:800!important;font-size:clamp(36px,5.2vw,68px)!important;letter-spacing:-.035em!important}
.gefam-menu-contact a{font-weight:700}
.gefam-mobile-footer{display:none}
.gefam-environment{position:fixed;bottom:8px;left:8px;z-index:10000;max-width:250px;font:600 10px/1.5 var(--gf-body);color:#f4f0e5;background:#543b2b;border-radius:4px;box-shadow:0 2px 8px #0002}
.gefam-environment summary{cursor:pointer;padding:5px 8px;list-style:none}
.gefam-environment span{display:block;padding:4px 8px 8px;font-weight:400}
.gefam-environment[open]{bottom:8px}
@media(max-width:767px){
  .home .row-container:has(.gefam-hero){padding-top:8px!important}
  .gefam-mobile-top{min-height:58px;padding-bottom:10px}
  .gefam-menu-links a{font-size:clamp(28px,8vw,38px)!important;line-height:1.18!important;padding:18px 0!important}
  body.gefam-keypad-preview [data-name="shop"] .tmb{box-sizing:border-box;height:78px!important;aspect-ratio:auto;border:2px solid #6b6755;border-bottom:5px solid #4e503f;border-radius:12px 12px 23px 23px;background:linear-gradient(#f7f2e847,#dedbc03d);box-shadow:inset 0 1px 0 #fff9,0 3px 0 #302d1f26}
  body.gefam-keypad-preview [data-name="shop"] .t-entry-visual{height:71px}
  body.gefam-keypad-preview [data-name="shop"] .dummy{padding-top:0!important;height:71px}
  body.gefam-keypad-preview [data-name="shop"] .soldout{top:0!important;right:0!important;width:auto!important;height:auto!important;max-width:100%;padding:5px 6px!important;background:#63432e!important;color:#fff!important;border:0!important;border-radius:0 0 0 5px;font:800 8px/1.2 var(--gf-body)!important;letter-spacing:.015em;white-space:normal!important}
  body.gefam-keypad-preview [data-name="shop"] .soldout::before,body.gefam-keypad-preview [data-name="shop"] .soldout::after{content:none!important}
  footer:has(.gefam-mobile-footer)>:not(.gefam-mobile-footer){display:none!important}
  footer .gefam-mobile-footer{display:block;padding:24px 24px 40px;border-top:1px solid #21372b2b;color:#21372b;font:500 12px/1.5 var(--gf-body)}
  .gefam-footer-contact{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:12px}
  .gefam-footer-contact>span{margin-right:auto;font-weight:800;letter-spacing:.06em}
  .gefam-mobile-footer a{color:inherit!important;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
  .gefam-mobile-footer summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-weight:700;border-top:1px solid #21372b2b}
  .gefam-mobile-footer summary::after{content:"+";font-size:20px;font-weight:400}
  .gefam-mobile-footer details[open] summary::after{content:"−"}
  .gefam-mobile-footer nav{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;padding-top:8px}
  .gefam-mobile-footer nav a{font-size:11px;line-height:1.5;text-transform:none!important;letter-spacing:0!important}
}
@media(prefers-reduced-motion:reduce){.gefam-menu-lcd::after{animation:none!important}}
.gefam-phone-scroll{display:none}
@media(max-width:767px){
  .gefam-phone-scroll{display:flex;position:absolute;left:14px;bottom:-64px;width:56px;height:42px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#344332!important;background:#e9e5d433;border:1.5px solid #73745e;border-bottom:4px solid #555842;border-radius:9px 9px 16px 16px;text-decoration:none!important;box-shadow:inset 0 1px #fff8;z-index:7}
  .gefam-phone-scroll span{font:800 7px/1 var(--gf-body);letter-spacing:.08em}
  .gefam-phone-scroll:active{transform:translateY(2px);border-bottom-width:2px}
  body.gefam-keypad-preview [data-name="shop"]>.row-parent{padding-bottom:32px!important}
}
@media(max-width:767px){
  .gefam-footer-contact .gefam-footer-brand{margin-right:auto}
  .gefam-footer-brand img{width:90px!important;height:auto!important}
  .gefam-play-page .gefam-footer-brand img{filter:brightness(0) invert(.9)}
}
@media(max-width:767px){
  .gefam-play-page footer .gefam-mobile-footer{color:#e9e2d6;border-color:#e9e2d633}
  .gefam-play-page .gefam-mobile-footer summary{border-color:#e9e2d633}
}
/* Use the plain wordmark once; the landing-page embossed asset is intentionally not reused here. */
.gefam-menu-brand img,.gefam-footer-brand img{filter:brightness(0) opacity(.85)}
.gefam-mobile-pages{display:none}
@media(max-width:767px){
  .gefam-mobile-pages{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:calc(100% - clamp(150px,46vw,180px));height:96px;padding:8px 0}
  .gefam-mobile-pages a{display:flex;align-items:center;min-height:40px;padding:0 6px;color:#344332!important;font:800 12px/1.25 var(--gf-body);letter-spacing:.015em;text-decoration:none!important;border-bottom:1px solid #34433240}
  body.home .gefam-hero>.gefam-teaser--sticker{width:clamp(140px,44vw,170px);right:0;bottom:14px}
  .home .row-container:has(.gefam-hero>.gefam-teaser--sticker)>.row-parent{padding-bottom:32px!important}
}

/* One rhythm beneath the mobile display: handwritten links, no stray rules. */
@media(max-width:767px){
  .gefam-mobile-pages{height:88px;padding:8px 0;gap:0}
  .gefam-mobile-pages a{border:0!important;padding:0 4px;min-height:36px;font:400 clamp(20px,5.7vw,25px)/1.15 var(--gf-display)!important;letter-spacing:0!important;white-space:nowrap}
  .home .gefam-teaser--sticker .gefam-teaser-label{font-size:clamp(20px,5.7vw,25px)!important}
  body.home .gefam-hero>.gefam-teaser--sticker{bottom:10px}
  .home .row-container:has(.gefam-hero>.gefam-teaser--sticker)>.row-parent{padding-bottom:8px!important}
  body.gefam-keypad-preview [data-name="shop"]>.row-parent{padding-top:16px!important}
  .gefam-play-page footer.gefam-play-footer{display:block;box-sizing:border-box;width:100%;max-width:none!important;margin:24px 0 0;padding:0;font-size:inherit}
  footer .gefam-mobile-footer{box-sizing:border-box;width:100%;min-width:0;max-width:none;overflow-anchor:none}
  .gefam-mobile-footer details,.gefam-mobile-footer summary,.gefam-mobile-footer nav{box-sizing:border-box;width:100%;min-width:0;overflow-anchor:none}
  .gefam-mobile-footer nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .gefam-mobile-footer nav a{min-width:0;overflow-wrap:anywhere}
}
#pum-6085 .pum-close,#pum-6173 .pum-close{position:fixed!important;left:var(--gefam-close-x,auto)!important;top:var(--gefam-close-y,24px)!important;right:auto!important;width:44px!important;height:44px!important;transform:none!important;transition:none!important}
@media(min-width:1000px) and (min-aspect-ratio:5/4){
  .gefam-play-page{--gefam-play-w:min(600px,max(280px,calc((100dvh - 204px) * .685 + 32px)))}
}
.gefam-play-side .gefam-instagram-name{display:block;font:500 12px/1.4 var(--gf-body);color:#cfc6b8;text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){
  .gefam-mobile-pages{height:100px;padding-top:20px;padding-bottom:8px}
  .gefam-mobile-pages a{font-size:clamp(18px,5.3vw,23px)!important}
}
@media(max-width:767px){
  .gefam-mobile-pages{width:calc(100% - clamp(140px,43vw,170px));padding-left:12px;padding-right:4px}
  .gefam-mobile-pages a{padding-left:0;padding-right:0;font-size:clamp(18px,5.1vw,21px)!important}
  body.home .gefam-hero>.gefam-teaser--sticker{right:14px;width:clamp(128px,40vw,156px)}
  .home .gefam-teaser--sticker .gefam-teaser-label{font-size:clamp(18px,5.1vw,21px)!important}
}
@media(max-width:767px){.gefam-mobile-pages{width:calc(100% - clamp(144px,44vw,172px))}}
@media(max-width:359px){
  .gefam-mobile-pages a,.home .gefam-teaser--sticker .gefam-teaser-label{font-size:16px!important}
}
.gefam-menu-links a,.gefam-mobile-footer a,.gefam-copy p{text-wrap:pretty}
/* The video is the display; rounding and an inset edge, without a new casing. */
@media(max-width:767px){
  .home .gefam-hero-frame{border-radius:12px;isolation:isolate;box-shadow:0 1px 2px #21372b26}
  .home .gefam-hero-frame::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 2px 7px #20300c45,inset 0 -2px 5px #20300c33,inset 0 0 0 1px #21372b26}
}

/* Stable full-screen menu and breathing room before the shared footer. */

#pum-6085 .pum-container,#pum-6173 .pum-container{position:fixed!important;height:100dvh!important;overflow-y:auto!important;transform:none!important}
#pum-6085 .pum-close,#pum-6173 .pum-close{z-index:50!important}
.gefam-menu-brand{min-height:44px;display:flex;align-items:center}
.gefam-play-page footer.gefam-play-footer{margin-top:56px}
@media(max-width:767px){
footer:has(.gefam-mobile-footer){margin-top:48px!important}
.gefam-play-page footer.gefam-play-footer{margin-top:48px!important;min-height:180px}
.gefam-menu-brand img{width:110px!important;height:auto!important}
.gefam-menu-overlay{padding-top:24px}
.gefam-menu-links{margin-top:40px}
.gefam-menu-links a{font-size:30px!important}
}

#pum-6085,#pum-6173{transition:none!important;animation:none!important}
#pum-6085.pum-active,#pum-6173.pum-active{opacity:1!important}
#pum-6085 .pum-close,#pum-6173 .pum-close{font-size:0!important}
#pum-6085 .pum-close::before,#pum-6085 .pum-close::after,#pum-6173 .pum-close::before,#pum-6173 .pum-close::after{content:"";position:absolute;left:12px;top:21px;width:20px;height:2px;background:currentColor;transform:rotate(45deg)}
#pum-6085 .pum-close::after,#pum-6173 .pum-close::after{transform:rotate(-45deg)}


/* ===== Whac A Mole, desktop: leaderboard left, machine centre, prize right. Phones keep the single column. ===== */
.gefam-play-side{display:none}
.gw-h-d{display:none}
@media (min-width:1000px) and (min-aspect-ratio:5/4){
  .gefam-play-page .gefam-play-bar{max-width:min(1360px,calc(100% - 40px))}
  .gefam-play-page main.gefam-play-main{box-sizing:border-box;width:100%;max-width:min(1360px,calc(100% - 40px));margin-inline:auto;display:grid;grid-template-columns:minmax(190px,330px) minmax(min(var(--gefam-play-w),400px),var(--gefam-play-w)) minmax(210px,370px);column-gap:clamp(20px,3.6vw,76px);justify-content:center;align-items:center;min-height:calc(100dvh - 72px);padding-bottom:0}
  .gefam-play-page .gefam-play-intro,.gefam-play-page .gefam-play-footer{display:none}
  .gefam-play-page .gfam-wam{margin:0;grid-column:2;grid-row:1}
  .gefam-play-side{display:contents}
  /* The machine's start card keeps only the call to action; prize and rules live once, on the right. */
  .gefam-play-page .gfam-wam #gw-start .gw-start-prize,.gefam-play-page .gfam-wam #gw-start #gw-rules,.gefam-play-page .gfam-wam #gw-start .gw-start-entry{display:none}
  .gefam-play-page .gfam-wam .gw-h-m{display:none}.gefam-play-page .gfam-wam .gw-h-d{display:inline}
  .gefam-play-page .gfam-wam>.gw-start-secondary,.gefam-play-page .gfam-wam>.gw-credit{display:none}

  .gefam-play-board,.gefam-play-prize{color:#e9e2d6;font:400 15px/1.6 var(--gf-body);letter-spacing:.015em}
  .gefam-play-board{grid-column:1;grid-row:1;align-self:center;padding:30px 26px 24px;border:1px solid rgba(233,226,214,.14);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:0 18px 40px rgba(0,0,0,.28)}
  .gefam-play-prize{grid-column:3;grid-row:1;align-self:center}
  .gefam-play-kicker{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 11px/1.4 var(--gf-body);letter-spacing:.18em;text-transform:uppercase;color:#fae400}
  .gefam-play-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:#fae400;animation:gefam-live 1.8s ease-in-out infinite}
  .gefam-play-board h2{margin:0 0 18px!important;font:400 46px/1 var(--gf-display)!important;color:#f7f5f0!important;letter-spacing:.01em!important;text-transform:none!important}
  #gefam-side-board{list-style:none;margin:0;padding:0}
  #gefam-side-board li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid rgba(233,226,214,.12)}
  #gefam-side-board li:first-child{border-top:0}
  .gefam-rank{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(233,226,214,.4);color:#cfc6b8;font-weight:800;font-size:13px}
  #gefam-side-board li.is-win .gefam-rank{background:#fae400;border-color:#fae400;color:#1d1510}
  .gefam-name{min-width:0;font-weight:700;color:#f7f5f0;overflow-wrap:anywhere}
  .gefam-score{font-weight:800;font-variant-numeric:tabular-nums;color:#f7f5f0}
  #gefam-side-board li.is-win .gefam-score{color:#fae400}
  #gefam-side-board li.is-open{opacity:.55}#gefam-side-board li.is-open .gefam-name{font-weight:500;color:#cfc6b8}
  .gefam-play-cut{margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(233,226,214,.14);font-size:13px;color:#a99f90}

  .gefam-play-stage{position:relative;height:clamp(150px,24dvh,230px);margin:0 0 6px}
  .gefam-bean{position:absolute;height:auto;filter:drop-shadow(0 14px 14px rgba(0,0,0,.45));will-change:transform}
  .gefam-bean--orange{width:clamp(150px,13vw,210px);left:2%;top:10%;z-index:2;transform:rotate(-8deg);animation:gefam-float-a 5.2s ease-in-out infinite alternate}
  .gefam-bean--green{width:clamp(130px,11vw,176px);right:2%;top:0;z-index:1;transform:rotate(10deg);animation:gefam-float-b 6.4s ease-in-out infinite alternate}
  .gefam-spark{position:absolute;z-index:3;width:18px;height:18px;background:#fae400;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:gefam-twinkle 2.6s ease-in-out infinite}
  .gefam-spark--a{left:46%;top:2%}.gefam-spark--b{left:4%;top:0;width:12px;height:12px;animation-delay:.9s}.gefam-spark--c{right:3%;bottom:8%;width:14px;height:14px;animation-delay:1.7s}
  .gefam-play-prize h1{margin:0 0 12px!important;font:400 clamp(44px,4.4vw,64px)/1 var(--gf-display)!important;color:#f7f5f0!important;letter-spacing:.01em!important;text-transform:none!important}
  .gefam-play-lead{margin:0 0 22px;font-size:17px;color:#f7f5f0}
  .gefam-play-rules{list-style:none;margin:0 0 26px;padding:0}
  .gefam-play-rules li{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:12px 0;border-top:1px solid rgba(233,226,214,.14);color:#cfc6b8}
  .gefam-play-rules li:last-child{border-bottom:1px solid rgba(233,226,214,.14)}
  .gefam-play-rules strong{color:#fae400;font:700 12px/1.9 var(--gf-body);letter-spacing:.12em;text-transform:uppercase}
  .gefam-play-credit{margin:22px 0 0;font-size:11.5px;line-height:1.6;letter-spacing:.03em;text-wrap:balance}
  .gefam-play-credit br{display:none}
  .gefam-play-credit a{color:rgba(233,226,214,.45);text-decoration:none;transition:color .25s}
  .gefam-play-credit b{font-weight:700;letter-spacing:.08em;color:rgba(247,245,240,.78);transition:color .25s}
  .gefam-play-credit a:hover,.gefam-play-credit a:focus-visible{color:#cfc6b8}.gefam-play-credit a:hover b,.gefam-play-credit a:focus-visible b{color:#fae400}
  .gefam-play-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:12.5px}
  .gefam-play-links a{color:#a99f90;text-decoration:none}.gefam-play-links a:hover{color:#f7f5f0;text-decoration:underline;text-underline-offset:3px}
  .gefam-play-side .gefam-instagram-name{display:block;font:500 12px/1.4 var(--gf-body);color:#cfc6b8;text-decoration:underline;text-underline-offset:3px;margin-top:2px}
}
@keyframes gefam-float-a{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-12px) rotate(-5deg)}}
@keyframes gefam-float-b{from{transform:translateY(-4px) rotate(10deg)}to{transform:translateY(10px) rotate(7deg)}}
@keyframes gefam-twinkle{0%,100%{transform:scale(.4) rotate(0);opacity:.25}50%{transform:scale(1) rotate(45deg);opacity:1}}
@keyframes gefam-live{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.gefam-bean,.gefam-spark,.gefam-play-kicker::before{animation:none!important}.gefam-spark{opacity:.8;transform:none}}

@media (min-width:1000px) and (max-width:1180px) and (min-aspect-ratio:5/4){
  .gefam-play-board{padding:22px 16px 18px}.gefam-play-board h2{font-size:36px!important}
  #gefam-side-board li{grid-template-columns:28px minmax(0,1fr) auto;gap:8px}
  .gefam-play-rules li{grid-template-columns:1fr;gap:2px}
  .gefam-play-prize h1{font-size:40px!important}.gefam-play-lead{font-size:15px}
}

/* ===== WOW layer: rays, glow, loading splash, floating beanies, confetti, entrance, parallax. Decorative only. ===== */
.gefam-glow,.gefam-confetti,.gefam-rays{display:none}
@media (min-width:1000px) and (min-aspect-ratio:5/4){
  .gefam-play-page{--mx:0;--my:0;overflow-x:hidden}
  .gefam-play-page::before{content:"";position:fixed;left:50%;top:48%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;z-index:0;pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(250,228,0,.075) 0 5deg,transparent 5deg 15deg);-webkit-mask:radial-gradient(circle,#000 0,rgba(0,0,0,.55) 14%,transparent 46%);mask:radial-gradient(circle,#000 0,rgba(0,0,0,.55) 14%,transparent 46%);animation:gefam-spin 120s linear infinite}
  .gefam-play-page main.gefam-play-main{position:relative;z-index:1;min-height:calc(100dvh - 150px)}
  .gefam-play-page .gefam-play-bar{position:relative;z-index:2}
  .gefam-glow{display:block;grid-column:2;grid-row:1;justify-self:center;align-self:center;width:150%;aspect-ratio:1;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(250,228,0,.26),rgba(204,117,77,.12) 38%,transparent 66%);filter:blur(10px);animation:gefam-pulse 5.5s ease-in-out infinite}
  .gefam-play-page .gfam-wam{position:relative;z-index:1}

  /* Loading splash: the game logo drops in once, then gives way to the page. */

  /* Title on one line, sized to its column. */
  .gefam-play-prize{container-type:inline-size}
  .gefam-play-prize h1.gefam-play-title{white-space:nowrap;font-size:clamp(22px,12.4cqi,46px)!important;line-height:1!important;margin:0 0 12px!important;letter-spacing:-.02em!important;word-spacing:-.16em}
  .gefam-play-prize h1.gefam-play-title.is-logo{margin:0 0 16px!important;line-height:0!important}
  .gefam-play-title.is-logo img{display:block;width:min(100%,290px);height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
  .gefam-play-stage{position:relative;width:88%;height:auto;aspect-ratio:1.7;margin:0 0 6px}
  .gefam-rays{display:block;position:absolute;left:50%;top:50%;width:100%;aspect-ratio:1;margin:-50% 0 0 -50%;pointer-events:none;background:conic-gradient(from 0deg,rgba(250,228,0,0),rgba(250,228,0,.22),rgba(250,228,0,0) 12%,rgba(250,228,0,0) 25%,rgba(250,228,0,.18) 37%,rgba(250,228,0,0) 50%,rgba(250,228,0,0) 62%,rgba(250,228,0,.22) 75%,rgba(250,228,0,0) 87%);-webkit-mask:radial-gradient(circle,#000 28%,transparent 66%);mask:radial-gradient(circle,#000 28%,transparent 66%);animation:gefam-spin 38s linear infinite}
  .gefam-bean{z-index:3;cursor:default}
  .gefam-bean--orange{width:47%;left:7%;top:24%}
  .gefam-bean--green{width:40%;right:8%;top:6%}
  .gefam-spark{z-index:4}
  .gefam-spark--a{left:48%;top:4%}.gefam-spark--b{left:6%;top:6%}.gefam-spark--c{right:4%;bottom:8%}

  /* Drifting beanie-shaped confetti */
  .gefam-confetti{display:block;position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
  .gefam-confetti i{position:absolute;bottom:-60px;width:30px;height:22px;background:#fae400;opacity:0;-webkit-mask:var(--gefam-bean) center/contain no-repeat;mask:var(--gefam-bean) center/contain no-repeat;animation:gefam-rise 18s linear infinite}
  .gefam-confetti i:nth-child(1){left:6%;animation-delay:-2s}.gefam-confetti i:nth-child(2){left:15%;animation-delay:-9s;background:#cc754d}
  .gefam-confetti i:nth-child(3){left:27%;animation-delay:-14s;width:22px;height:16px}.gefam-confetti i:nth-child(4){left:39%;animation-delay:-5s;background:#6f8a4a;width:28px;height:20px}
  .gefam-confetti i:nth-child(5){left:61%;animation-delay:-11s;width:26px;height:19px}.gefam-confetti i:nth-child(6){left:72%;animation-delay:-1s;background:#cc754d}
  .gefam-confetti i:nth-child(7){left:83%;animation-delay:-16s;width:22px;height:16px;background:#6f8a4a}.gefam-confetti i:nth-child(8){left:92%;animation-delay:-7s}
  .gefam-confetti i:nth-child(9){left:50%;animation-delay:-12.5s;width:24px;height:18px}

  /* Entrance: columns arrive one after the other, after the splash on the first visit of a session. */
  #gefam-side-board li.is-win:not(.is-open):first-child{position:relative;overflow:hidden}
  #gefam-side-board li.is-win:not(.is-open):first-child::after{content:"";position:absolute;inset:0 auto 0 -40%;width:40%;background:linear-gradient(100deg,transparent,rgba(250,228,0,.22),transparent);transform:skewX(-18deg);animation:gefam-shine 4.5s ease-in-out 2s infinite}

  /* Footer as its own quiet row at the bottom. */
  .gefam-play-page .gefam-play-footer{display:flex;position:relative;z-index:1;flex-wrap:wrap;justify-content:center;gap:6px 26px;max-width:none;width:100%;margin:0;padding:6px 20px 26px;font:400 12.5px/1.6 var(--gf-body)}
  .gefam-play-page .gefam-play-footer a{color:#a99f90;text-decoration:none}.gefam-play-page .gefam-play-footer a:hover{color:#f7f5f0;text-decoration:underline;text-underline-offset:3px}
}
@keyframes gefam-spin{to{transform:rotate(360deg)}}
@keyframes gefam-pulse{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes gefam-drop{from{opacity:0;transform:translate3d(0,-80px,0) scale(.55) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes gefam-wobble{0%,100%{rotate:-1.2deg}50%{rotate:1.4deg}}
@keyframes gefam-splash-out{to{opacity:0;visibility:hidden;transform:scale(1.06)}}
@keyframes gefam-pop{from{opacity:0;scale:.2}to{opacity:1;scale:1}}
@keyframes gefam-in-left{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
@keyframes gefam-in-right{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes gefam-in-up{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
@keyframes gefam-row{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes gefam-shine{0%,60%{left:-40%}100%{left:140%}}
@keyframes gefam-rise{0%{transform:translateY(0) rotate(0);opacity:0}8%{opacity:.2}90%{opacity:.2}100%{transform:translateY(-112vh) rotate(60deg);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .gefam-confetti{display:none!important}
  .gefam-play-page::before,.gefam-glow,.gefam-rays,.gefam-play-board,.gefam-play-prize,.gefam-play-page .gfam-wam,#gefam-side-board li,#gefam-side-board li::after,.gefam-bean{animation:none!important}
}
.gefam-confetti{--gefam-bean:url("img/beanie-orange-rim.webp")}

html:has(.gefam-play-page){overflow-x:clip}

/* Desktop refinements: hover-only beanie motion, smaller type on the right, compact board note. */
@media (min-width:1000px) and (min-aspect-ratio:5/4){
  .gefam-play-prize{max-width:330px}
  .gefam-play-lead{margin:0 0 16px;font-size:14.5px;line-height:1.55}
  .gefam-play-rules{margin:0}
  .gefam-play-rules li{grid-template-columns:62px 1fr;gap:12px;padding:9px 0;font-size:13.5px;line-height:1.5}
  .gefam-play-rules strong{font-size:10.5px;line-height:2}
  .gefam-play-board h2{font-size:40px!important}
  .gefam-play-cut{font-size:12.5px;line-height:1.45}
  .gefam-play-cut strong{display:block;margin-top:2px;color:#fae400;font-weight:700}
  /* Entrance pop runs on the wrapper, hover motion on the image: the two never interfere. */
  .gefam-bean img{display:block;width:100%;height:auto}
  .gefam-bean--orange:hover img{animation:gefam-wiggle .7s ease-in-out}
  .gefam-bean--green:hover img{animation:gefam-hop .75s cubic-bezier(.3,1.4,.4,1)}
}
@keyframes gefam-wiggle{0%,100%{rotate:0deg;scale:1}20%{rotate:-9deg;scale:1.06}45%{rotate:7deg}70%{rotate:-4deg}85%{rotate:2deg}}
@keyframes gefam-hop{0%,100%{translate:0 0;rotate:0deg}35%{translate:4px -18px;rotate:14deg}60%{translate:0 0;rotate:-3deg}80%{translate:0 -5px;rotate:2deg}}
@media (prefers-reduced-motion:reduce){.gefam-bean,.gefam-bean img{animation:none!important}}

/* ===== Loading: the game logo is a real preloader. It waits for the artwork and the game data, shows progress,
   and only then hands over to the page entrance. First visit of a session: always shown; later: only if loading
   takes noticeably long. The page sets data-gefam-splash = show | quick | quick-slow | leaving | done. ===== */
.gefam-splash{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;align-content:center;gap:26px;pointer-events:none;background:radial-gradient(circle at 50% 44%,rgba(250,228,0,.16),rgba(23,17,12,.97) 62%),#17110c;transition:opacity .5s ease,visibility .5s,transform .5s ease}
.gefam-splash img{width:min(520px,78vw);height:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.55)) drop-shadow(0 0 34px rgba(250,228,0,.35));animation:gefam-drop .95s cubic-bezier(.2,1.5,.35,1) .1s both,gefam-wobble 3s ease-in-out 1.1s infinite}
.gefam-splash-load{display:grid;justify-items:center;gap:10px;animation:gefam-fade-in .4s ease .7s both}
.gefam-splash-bar{width:min(260px,62vw);height:6px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.gefam-splash-bar i{display:block;height:100%;width:calc(var(--p,0) * 100%);min-width:6%;border-radius:inherit;background:linear-gradient(90deg,#cc754d,#fae400);transition:width .35s ease}
.gefam-splash-label{font:700 11px/1.4 var(--gf-body);letter-spacing:.2em;text-transform:uppercase;color:#a99f90}
html[data-gefam-splash="quick"] .gefam-splash{opacity:0;visibility:hidden}
html[data-gefam-splash="quick"] .gefam-splash img,html[data-gefam-splash="quick-slow"] .gefam-splash img{width:min(300px,56vw);animation-duration:.5s}
html[data-gefam-splash="leaving"] .gefam-splash{opacity:0;visibility:hidden;transform:scale(1.04)}
html[data-gefam-splash="done"] .gefam-splash{display:none}
@keyframes gefam-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Desktop entrance starts the moment loading is finished, never on a fixed timer. */
@media (min-width:1000px) and (min-aspect-ratio:5/4){
  html[data-gefam-splash="quick"] :is(.gefam-play-board,.gefam-play-prize,.gefam-play-page .gfam-wam,.gefam-bean),
  html[data-gefam-splash="quick-slow"] :is(.gefam-play-board,.gefam-play-prize,.gefam-play-page .gfam-wam,.gefam-bean),
  html[data-gefam-splash="show"] :is(.gefam-play-board,.gefam-play-prize,.gefam-play-page .gfam-wam,.gefam-bean){opacity:0}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) .gefam-play-page .gfam-wam{animation:gefam-in-up .9s cubic-bezier(.2,.9,.3,1) backwards}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) .gefam-play-board{animation:gefam-in-left .8s cubic-bezier(.2,.9,.3,1) .1s backwards}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) .gefam-play-prize{animation:gefam-in-right .8s cubic-bezier(.2,.9,.3,1) .2s backwards}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) #gefam-side-board li{animation:gefam-row .5s ease-out backwards}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) #gefam-side-board li:nth-child(1){animation-delay:.4s}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) #gefam-side-board li:nth-child(2){animation-delay:.5s}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) #gefam-side-board li:nth-child(3){animation-delay:.6s}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) #gefam-side-board li:nth-child(n+4){animation-delay:.7s}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) .gefam-bean--orange{animation:gefam-pop .8s cubic-bezier(.2,1.6,.35,1) .6s both}
  html:is([data-gefam-splash="leaving"],[data-gefam-splash="done"]) .gefam-bean--green{animation:gefam-pop .8s cubic-bezier(.2,1.6,.35,1) .8s both}
}
@media (prefers-reduced-motion:reduce){
  .gefam-splash img,.gefam-splash-load{animation:none!important}
  html[data-gefam-splash] :is(.gefam-play-board,.gefam-play-prize,.gefam-play-page .gfam-wam,.gefam-bean){opacity:1!important;animation:none!important}
}

/* Language switch in the game footer */
.gefam-lang{display:inline-flex;gap:10px;margin-right:8px;padding-right:18px;border-right:1px solid rgba(233,226,214,.2)}.gefam-lang strong{color:#f7f5f0;font-weight:700}.gefam-lang a{color:#a99f90}
@media(max-width:999px){.gefam-play-footer .gefam-lang{display:flex;justify-content:center;width:100%;border:0;padding:0;margin:0 0 6px}}
@media (min-width:1000px) and (min-aspect-ratio:5/4){
  .gefam-play-page .gefam-play-footer .gefam-lang{order:9;display:inline-flex!important;width:auto!important;margin:0 0 0 4px;padding:0 0 0 22px;border-right:0;border-left:1px solid rgba(233,226,214,.2)}
}

/* Phones: the game fills the screen below the bar and sits in the lower middle, within easy thumb reach. */
@media (max-width:999px),(max-aspect-ratio:5/4){
  .gefam-play-page main.gefam-play-main{display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box;min-height:calc(100svh - 64px);padding-top:8px;padding-bottom:12px}
}
/* Loading label in the display face, with a little ellipsis. */
.gefam-splash-label{font:400 clamp(22px,6vw,30px)/1.1 var(--gf-display);letter-spacing:.01em;text-transform:none;color:#f7f5f0}
.gefam-splash-label::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:gefam-ellipsis 1.2s steps(4,end) infinite}
@keyframes gefam-ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
@media (prefers-reduced-motion:reduce){.gefam-splash-label::after{animation:none;content:"…"}}
/* Hero still image: "tap to shop" until the phone video plays (same box as the cropped video). */
.gefam-hero-tap{display:none}
@media(max-width:767px){
  .home .gefam-hero-tap{display:block;position:absolute;z-index:1;width:119.04762%;height:119.04762%;left:-9.52381%;top:-19.04762%;pointer-events:none}
  .home .gefam-hero-tap img{position:absolute;left:34%;top:61.6%;width:32%;height:auto;opacity:.75}
  .home .gefam-hero.is-playing .gefam-hero-tap{display:none}
}

/* Behind GEFAM: all heads at once instead of a carousel; each head jumps to that member's section. */
.owl-carousel:has(a[href="#lucas"]) .owl-stage{display:flex!important;flex-wrap:wrap;justify-content:center;gap:12px 2%;width:100%!important;transform:none!important;transition:none!important}
.owl-carousel:has(a[href="#lucas"]) .owl-item{flex:0 0 18%;width:auto!important;margin:0!important}
.owl-carousel:has(a[href="#lucas"]) .owl-item.cloned,.owl-carousel:has(a[href="#lucas"]) .owl-nav,.owl-carousel:has(a[href="#lucas"]) .owl-dots{display:none!important}
.owl-carousel:has(a[href="#lucas"]) .owl-item a{transition:transform .2s ease}
.owl-carousel:has(a[href="#lucas"]) .owl-item a:hover{transform:translateY(-4px) rotate(-2deg)}
@media(max-width:767px){.owl-carousel:has(a[href="#lucas"]) .owl-item{flex-basis:30%}}
@media(prefers-reduced-motion:reduce){.owl-carousel:has(a[href="#lucas"]) .owl-item a{transition:none}}

/* Site-wide music switch: appears once music was switched on, on pages without their own music button. */
.gefam-music-fab{position:fixed;left:16px;bottom:calc(56px + env(safe-area-inset-bottom));z-index:9990;display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:0;border-radius:22px;background:#2e241e;color:#fff8ee;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer}
.gefam-music-fab[hidden]{display:none}
.gefam-music-fab svg{width:20px;height:20px}
.gefam-music-eq{display:flex;align-items:flex-end;gap:2px;height:14px}
.gefam-music-eq i{display:block;width:3px;height:4px;background:currentColor;border-radius:1px}
.gefam-music-fab[aria-pressed=true] .gefam-music-eq i{animation:gefam-eq .9s ease-in-out infinite alternate}
.gefam-music-fab[aria-pressed=true] .gefam-music-eq i:nth-child(2){animation-delay:-.3s}
.gefam-music-fab[aria-pressed=true] .gefam-music-eq i:nth-child(3){animation-delay:-.6s}
.gefam-music-fab.is-waiting{animation:gefam-pulse 1.6s ease-in-out infinite}
@keyframes gefam-eq{from{height:3px}to{height:14px}}
@keyframes gefam-pulse{50%{box-shadow:0 0 0 8px rgba(46,36,30,.15),0 6px 18px rgba(0,0,0,.25)}}
@media(prefers-reduced-motion:reduce){.gefam-music-fab .gefam-music-eq i,.gefam-music-fab.is-waiting{animation:none}}

/* ===== Hero: CRT screen in pure CSS (replaces the two hero videos) ===== */
.gefam-crt{position:absolute;inset:0;overflow:hidden;color:#1d2208;isolation:isolate;--crt-line:3px;
  background:#050603}
.gefam-crt-screen>*{position:absolute;pointer-events:none}.gefam-crt-screen{position:absolute;inset:0;border-radius:inherit;overflow:hidden;transform-origin:50% 50%;background:radial-gradient(ellipse 90% 100% at 50% 46%,#d6d43c 0%,#cbc931 55%,#bab72a 88%,#9a9820 100%);animation:gfx-on 1.5s linear 0s 1 both}
/* brush-stroke pattern in the glass */
.gefam-crt-pattern{inset:0;mix-blend-mode:multiply}
/* aperture grille and scan lines */
.gefam-crt-mask{inset:0;z-index:3;opacity:.9;
  background:
   repeating-linear-gradient(0deg,rgba(20,22,0,.13) 0 1px,transparent 1px var(--crt-line)),
   repeating-linear-gradient(90deg,rgba(255,60,30,.055) 0 1px,rgba(60,255,60,.045) 1px 2px,rgba(60,80,255,.055) 2px 3px)}
/* rolling light bands */
.gefam-crt-bands{left:0;right:0;top:-100%;height:300%;z-index:2;mix-blend-mode:soft-light;will-change:transform;opacity:.9;
  background:repeating-linear-gradient(180deg,transparent 0 11%,rgba(255,255,215,.9) 14%,rgba(255,255,215,.3) 15.5%,transparent 19%,transparent 33.3333%);
  background-size:100% 33.3333%;animation:gfx-roll 9s linear infinite}
.gefam-crt-bands::after{content:"";position:absolute;inset:0;background:inherit;opacity:.5;transform:translateY(8%);animation:inherit;animation-duration:15s;animation-direction:reverse}
@keyframes gfx-roll{to{transform:translateY(33.3333%)}}
/* film grain: a tiny noise tile that jumps, no per-frame repaint */
.gefam-crt-grain{inset:-10%;z-index:4;opacity:.22;mix-blend-mode:overlay;will-change:transform;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 1.4 0 0 0 -.1'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");
  animation:gfx-grain .6s steps(1) infinite}
@keyframes gfx-grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}}
/* scratches and dust on the glass */
.gefam-crt-scratch{inset:0;z-index:5;opacity:1;-webkit-mask-image:radial-gradient(ellipse 44% 50% at 50% 50%,transparent 52%,#000 100%);mask-image:radial-gradient(ellipse 44% 50% at 50% 50%,transparent 52%,#000 100%);background:url("img/scratches-d6.svg") center/cover no-repeat}
@media(max-width:767px){.gefam-crt-scratch{background-image:url("img/scratches-m6.svg")}}
/* glass: vignette, edge burn, slight shine */
.gefam-crt-glass{inset:0;z-index:5;border-radius:inherit;
  background:
   radial-gradient(ellipse 130% 130% at 50% 50%,transparent 62%,rgba(25,28,0,.22) 100%),
   linear-gradient(180deg,rgba(255,255,230,.09),transparent 22%,transparent 80%,rgba(20,20,0,.16));
  box-shadow:inset 0 0 0 1px rgba(33,55,43,.2),inset 0 3px 10px rgba(25,32,0,.5),inset 0 -3px 9px rgba(25,32,0,.4),inset 0 0 38px 2px rgba(35,38,0,.34)}
/* global flicker */
.gefam-crt-flicker{inset:0;z-index:6;background:#fffde0;opacity:0;mix-blend-mode:soft-light;animation:gfx-flick 5.5s steps(1) infinite}
@keyframes gfx-flick{0%,100%{opacity:0}7%{opacity:.14}7.6%{opacity:0}41%{opacity:.08}41.5%{opacity:.2}42%{opacity:0}73%{opacity:.1}73.5%{opacity:0}}
/* content */
.gefam-crt-logo,.gefam-crt-tap{z-index:1;left:50%;transform:translate(-50%,-50%);pointer-events:none}

.gefam-crt-logo{top:48%;width:25%;filter:drop-shadow(1.2px 0 0 rgba(255,40,40,.3)) drop-shadow(-1.2px 0 0 rgba(40,90,255,.26))}
.gefam-crt-tap{top:63.5%;width:11.5%;opacity:.8;animation:gfx-tapin 1.9s steps(1) 1 both,gfx-tap 1.6s steps(1) 2s infinite}
@keyframes gfx-tap{0%,60%{opacity:.85}61%,70%{opacity:.25}71%,100%{opacity:.85}}
@keyframes gfx-jitter{0%,100%{transform:translate(-50%,-50%)}31%{transform:translate(-50%,-50%) translateX(-3px)}31.5%{transform:translate(-50%,-50%) translateX(4px) skewX(-6deg)}32%{transform:translate(-50%,-50%)}78%{transform:translate(-50%,-50%) translateX(2px)}78.4%{transform:translate(-50%,-50%)}}
/* power-on: the tube warms up. Raster first, then the picture flickers up, a sync wobble settles, one hum bar rolls through */
@keyframes gfx-on{
 0%{opacity:0;filter:brightness(.35) saturate(0) contrast(1.5);transform:skewX(2.4deg) scaleX(1.014)}
 8%{opacity:.5;filter:brightness(1.55) saturate(.15) contrast(1.25);transform:skewX(-1.8deg) scaleX(1.012)}
 12%{opacity:.14;filter:brightness(.7) saturate(.1);transform:skewX(1.2deg) scaleX(1.01)}
 20%{opacity:.62;filter:brightness(1.3) saturate(.4);transform:skewX(-.9deg) scaleX(1.008)}
 27%{opacity:.4;filter:brightness(.9) saturate(.35);transform:skewX(.7deg)}
 40%{opacity:.86;filter:brightness(1.18) saturate(.65);transform:skewX(-.4deg)}
 58%{opacity:1;filter:brightness(1.08) saturate(.85);transform:skewX(.18deg)}
 100%{opacity:1;filter:none;transform:none}}
.gefam-crt::before{content:"";position:absolute;left:0;right:0;top:0;height:24%;z-index:8;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(180deg,transparent,rgba(255,255,225,.10) 30%,rgba(255,255,225,.30) 50%,rgba(255,255,225,.10) 70%,transparent);
  transform:translateY(-130%);animation:gfx-hum 1s cubic-bezier(.45,.05,.55,.95) .25s 1 both}
@keyframes gfx-hum{0%{transform:translateY(-130%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(440%);opacity:0}}
@keyframes gfx-lock{
 0%,18%{opacity:0;filter:drop-shadow(6px 0 0 rgba(255,40,40,.55)) drop-shadow(-6px 0 0 rgba(40,90,255,.45))}
 26%{opacity:.85;filter:drop-shadow(5px 0 0 rgba(255,40,40,.5)) drop-shadow(-5px 0 0 rgba(40,90,255,.4))}
 32%{opacity:.25}
 44%{opacity:1;filter:drop-shadow(3px 0 0 rgba(255,40,40,.4)) drop-shadow(-3px 0 0 rgba(40,90,255,.34))}
 100%{opacity:1;filter:drop-shadow(1.2px 0 0 rgba(255,40,40,.3)) drop-shadow(-1.2px 0 0 rgba(40,90,255,.26))}}
@keyframes gfx-tapin{0%,55%{opacity:0}62%{opacity:.8}68%{opacity:.2}76%,100%{opacity:.85}}
.gefam-crt-logo{animation:gfx-lock 1.7s linear .2s 1 both}
.gefam-crt::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;
  background:linear-gradient(104deg,transparent 30%,rgba(255,255,240,.16) 46%,rgba(255,255,240,.04) 54%,transparent 64%);
  transform:translateX(-115%);animation:gfx-sheen 1.8s cubic-bezier(.4,.1,.3,1) .7s 1 both}
@keyframes gfx-sheen{to{transform:translateX(115%)}}
.gefam-crt-screen.is-on{-webkit-mask:none;mask:none;animation:none}
/* signal icon: bars idle like a live signal, morph into a cross while the menu is open */
.gefam-signal .bars path{transform-box:fill-box;transform-origin:50% 100%;animation:gfx-bar 2.6s ease-in-out infinite}
.gefam-signal .bars path:nth-child(2){animation-delay:.35s}.gefam-signal .bars path:nth-child(3){animation-delay:.7s}.gefam-signal .bars path:nth-child(4){animation-delay:1.05s}
@keyframes gfx-bar{0%,100%{transform:scaleY(1)}45%{transform:scaleY(.55)}}
.gefam-signal .bars,.gefam-signal .cross{transform-box:fill-box;transform-origin:50% 50%;transition:transform .45s cubic-bezier(.6,0,.2,1),opacity .3s}
.gefam-signal .cross path{stroke-dasharray:21;stroke-dashoffset:21;transition:stroke-dashoffset .4s cubic-bezier(.6,0,.2,1) .12s}
.gefam-signal .cross{opacity:0;transform:rotate(-90deg) scale(.6)}
.gefam-signal.is-open .bars{opacity:0;transform:rotate(90deg) scale(.4)}
.gefam-signal.is-open .cross{opacity:1;transform:none}.gefam-signal.is-open .cross path{stroke-dashoffset:0}
/* icons live inside the glass */
.gefam-crt-ui{z-index:7;left:0;right:0;top:11.6%;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;padding:0 5.7%;pointer-events:none}
.gefam-crt-ui>div{display:flex;gap:min(12px,2.2vw);align-items:center}
.gefam-crt-ui a,.gefam-crt-ui button{pointer-events:auto;display:flex;width:44px;height:44px;margin:-10px;align-items:center;justify-content:center;color:#171b08;background:none;border:0;padding:0;cursor:pointer}
.gefam-crt-ui svg{width:24px;height:24px;opacity:.9;filter:drop-shadow(1px 0 0 rgba(255,40,40,.3)) drop-shadow(-1px 0 0 rgba(40,80,255,.25))}
.gefam-crt-ui .only-m{display:none}
@media(max-width:767px){
  .gefam-crt{--crt-line:4px}
  .gefam-crt-ui{top:8.6%;padding:0 4.6%}.gefam-crt-ui .only-m{display:flex}.gefam-crt-ui svg{width:22px;height:22px}
  .gefam-crt-logo{top:48%;width:56%}.gefam-crt-tap{top:62%;width:28%}
}
.gefam-crt-shop{z-index:7;left:50%;top:63.5%;width:15%;height:6.8%;min-height:30px;transform:translate(-50%,-50%);pointer-events:auto!important}
.gefam-crt-shop::before{content:"";position:absolute;inset:-14px -18px}
@media(max-width:767px){.gefam-crt-shop{top:62%;width:36%;height:8%}}
@media(prefers-reduced-motion:reduce){.gefam-crt,.gefam-crt *,.gefam-crt::after{animation:none!important}.gefam-crt-screen{-webkit-mask:none;mask:none}}
.gefam-crt.is-off *{animation-play-state:paused!important}

/* ===== Cart and checkout: one calm column, a real card for payment and order ===== */
body.woocommerce-checkout,body.woocommerce-cart{--gfc-line:#4a6b3a;--gfc-card:#fffdf8}

/* The Uncode panel was 36px padded and transparent: it looked like a stray indent. Make it an actual card. */
body.woocommerce-checkout .uncell.double-block-padding.style-color-lxmt-bg,
body.woocommerce-cart .uncell.double-block-padding.style-color-lxmt-bg{
  box-sizing:border-box;background:var(--gfc-card)!important;background-color:var(--gfc-card)!important;border:1px solid var(--gfc-line)!important;border-radius:14px!important;padding:22px 20px 24px!important}
body.woocommerce-checkout .uncell.double-block-padding.style-color-lxmt-bg .uncont,
body.woocommerce-cart .uncell.double-block-padding.style-color-lxmt-bg .uncont{padding:0!important;max-width:none}
@media(min-width:768px){
  body.woocommerce-checkout .uncell.double-block-padding.style-color-lxmt-bg,
  body.woocommerce-cart .uncell.double-block-padding.style-color-lxmt-bg{padding:30px 32px 32px!important}
}

/* Headings inside the checkout: sized for a phone, aligned to the column */
body.woocommerce-checkout h3,body.woocommerce-cart .cart_totals h2,body.woocommerce-cart h3{margin:0 0 16px;line-height:1.05}
@media(max-width:767px){
  body.woocommerce-checkout h3,body.woocommerce-checkout h3.h2,body.woocommerce-cart .cart_totals h2,body.woocommerce-cart h3.h2{font-size:clamp(26px,8vw,32px)!important}
  body.woocommerce-checkout #customer_details+h3,body.woocommerce-checkout #order_payment_heading{margin-top:0}
}

/* Pickup notice: its own row, never over the address field */
body.woocommerce-checkout .pickup_location_notice{position:static!important;float:none!important;clear:both;display:block;width:100%!important;margin:2px 0 22px!important;padding:0!important}
body.woocommerce-checkout .pickup_location_notice .choose-pickup-location p,
body.woocommerce-checkout .pickup_location_notice .currently-shipping-to p{margin:0;font-size:14px;line-height:1.45}
body.woocommerce-checkout .pickup_location_notice .pickup-location-notice-link,
body.woocommerce-checkout .pickup_location_notice .pickup-location-remove{cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:inherit}

/* Payment methods: a radio and its label on one line, the box below, full width */
body.woocommerce-checkout ul.wc_payment_methods{list-style:none;margin:0 0 18px;padding:0}
body.woocommerce-checkout li.wc_payment_method{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;margin:0;padding:14px 0;border-bottom:1px solid #4a6b3a33;list-style:none}
body.woocommerce-checkout li.wc_payment_method:last-child{border-bottom:0}
body.woocommerce-checkout li.wc_payment_method::before,body.woocommerce-checkout li.wc_payment_method::marker{content:none}
body.woocommerce-checkout li.wc_payment_method>input.input-radio{margin:0;position:relative;width:18px;height:18px;accent-color:var(--gfc-line)}
body.woocommerce-checkout li.wc_payment_method>label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin:0;padding:0;min-width:0;font-weight:700}
body.woocommerce-checkout li.wc_payment_method .payment-methods--logos{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;max-width:100%}
body.woocommerce-checkout li.wc_payment_method .payment-methods--logos img{height:22px;width:auto;max-width:44px}
body.woocommerce-checkout li.wc_payment_method .payment_box{grid-column:1/-1;margin:12px 0 0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none}
body.woocommerce-checkout li.wc_payment_method .payment_box::before,body.woocommerce-checkout li.wc_payment_method .payment_box::after{display:none!important}
body.woocommerce-checkout li.wc_payment_method .payment_box fieldset,body.woocommerce-checkout li.wc_payment_method .wcpay-upe-form{margin:0!important;padding:0!important;border:0!important;width:100%;max-width:none}
body.woocommerce-checkout li.wc_payment_method .payment_box p{margin:0;font-size:14px}

/* Delivery options (DHL): no list bullets, clean rows */
body.woocommerce-checkout [class*="dhl"] ul,body.woocommerce-checkout [class*="dhl"] ol{list-style:none!important;margin:0 0 10px!important;padding:0!important}
body.woocommerce-checkout [class*="dhl"] li{list-style:none!important;display:flex;align-items:center;gap:10px;margin:0 0 8px!important;padding:0!important}
body.woocommerce-checkout [class*="dhl"] li::before,body.woocommerce-checkout [class*="dhl"] li::marker{content:none!important;display:none}
body.woocommerce-checkout [class*="dhl"] input[type="radio"]{margin:0;flex:none;accent-color:var(--gfc-line)}
body.woocommerce-checkout [class*="dhl"] label{margin:0;display:inline-flex;align-items:center;gap:8px}
body.woocommerce-checkout .dhl-preferred-service-title{font-weight:700;margin:14px 0 8px}
body.woocommerce-checkout ul.dhl-preferred-location-types{display:flex;flex-wrap:wrap;gap:8px 16px}

/* Terms: checkbox left, text wraps beside it, the asterisk stays with the sentence */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder p.form-row{margin:16px 0}
body.woocommerce-checkout .wc-gzd-checkbox-placeholder label.checkbox{display:block!important;position:relative;margin:0;padding:0 0 0 32px;font-size:14px;line-height:1.5}
body.woocommerce-checkout .wc-gzd-checkbox-placeholder label.checkbox>input[type="checkbox"]{position:absolute;left:0;top:2px;margin:0;width:20px;height:20px;accent-color:var(--gfc-line)}
body.woocommerce-checkout .wc-gzd-checkbox-placeholder label.checkbox .woocommerce-gzd-legal-checkbox-text{display:inline!important;padding:0}
body.woocommerce-checkout .wc-gzd-checkbox-placeholder label.checkbox .required{display:inline!important;margin:0 0 0 2px;float:none;position:static;white-space:nowrap}

/* Order table: real rows, nothing wraps that should stay on one line */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table,body.woocommerce-cart table.shop_table.cart_totals,body.woocommerce-cart .cart_totals table{width:100%;border-collapse:collapse!important;border-spacing:0!important;table-layout:auto}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,body.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
body.woocommerce-cart .cart_totals table th,body.woocommerce-cart .cart_totals table td{padding:14px 0!important;border:0!important;border-bottom:1px solid var(--gfc-line)!important;vertical-align:top;background:transparent}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,body.woocommerce-cart .cart_totals table th{text-align:left;padding-right:12px!important}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td:last-child,body.woocommerce-cart .cart_totals table td{text-align:right}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:last-child th,body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:last-child td{border-bottom:0!important}
body.woocommerce-checkout .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
body.woocommerce-checkout .woocommerce-shipping-methods li,body.woocommerce-cart .woocommerce-shipping-methods li{margin:0;padding:0;list-style:none}
body.woocommerce-checkout .woocommerce-shipping-methods label,body.woocommerce-cart .woocommerce-shipping-methods label,
body.woocommerce-checkout .order-total strong,body.woocommerce-cart .order-total strong{white-space:nowrap}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name{padding-right:12px}
body.woocommerce-checkout .product-item-thumb img{width:64px;height:auto;border-radius:6px}

/* The buy button: full width, thumb-sized */
body.woocommerce-checkout #place_order{width:100%;min-height:52px;margin-top:6px}

/* Left column on a phone: fields use the whole width, no leftover side padding */
@media(max-width:767px){
  body.woocommerce-checkout form.checkout .form-row-first,body.woocommerce-checkout form.checkout .form-row-last{width:100%!important;float:none!important}
}

/* ===== Thank-you page: the same calm card language as the checkout ===== */
body.woocommerce-order-received .woocommerce-order{max-width:760px;margin:0 auto}
body.woocommerce-order-received .woocommerce-thankyou-order-received{margin:0 0 22px;font-size:clamp(26px,6vw,36px);line-height:1.08}
body.woocommerce-order-received ul.woocommerce-order-overview{list-style:none;margin:0 0 28px;padding:18px 20px;display:grid;gap:0;background:var(--gfc-card,#fffdf8);border:1px solid var(--gfc-line,#4a6b3a);border-radius:14px}
body.woocommerce-order-received ul.woocommerce-order-overview li{float:none;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin:0;padding:11px 0;border:0;border-bottom:1px solid #4a6b3a33;list-style:none;text-transform:none;font-size:14px;line-height:1.4}
body.woocommerce-order-received ul.woocommerce-order-overview li:last-child{border-bottom:0}
body.woocommerce-order-received ul.woocommerce-order-overview li::before,body.woocommerce-order-received ul.woocommerce-order-overview li::marker{content:none}
body.woocommerce-order-received ul.woocommerce-order-overview li strong{display:block;margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere}
body.woocommerce-order-received .woocommerce-order-details,body.woocommerce-order-received .woocommerce-customer-details{margin:0 0 28px}
body.woocommerce-order-received .woocommerce-order-details__title,body.woocommerce-order-received .woocommerce-column__title,body.woocommerce-order-received .woocommerce-order h2{margin:0 0 14px;font-size:clamp(24px,5.6vw,30px);line-height:1.08}
body.woocommerce-order-received table.shop_table.order_details{width:100%;border-collapse:collapse!important;border-spacing:0!important}
body.woocommerce-order-received table.shop_table.order_details th,body.woocommerce-order-received table.shop_table.order_details td{padding:13px 0!important;border:0!important;border-bottom:1px solid var(--gfc-line,#4a6b3a)!important;vertical-align:top;background:transparent;text-align:left}
body.woocommerce-order-received table.shop_table.order_details td:last-child,body.woocommerce-order-received table.shop_table.order_details tfoot td{text-align:right}
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th,body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td{border-bottom:0!important;font-weight:700}
body.woocommerce-order-received table.shop_table.order_details .product-total,body.woocommerce-order-received table.shop_table.order_details tfoot td{white-space:nowrap}
body.woocommerce-order-received .woocommerce-customer-details address{font-style:normal;line-height:1.55;padding:16px 18px;border:1px solid var(--gfc-line,#4a6b3a);border-radius:14px;background:var(--gfc-card,#fffdf8);overflow-wrap:anywhere}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns{display:grid;gap:18px}
@media(min-width:768px){body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--2{grid-template-columns:1fr 1fr}}

/* ===== Cart: compact rows on a phone, same lines and card as the checkout ===== */
body.woocommerce-cart table.shop_table.cart{border-collapse:collapse;border-spacing:0}
body.woocommerce-cart table.shop_table.cart td,body.woocommerce-cart table.shop_table.cart th{border-color:var(--gf-outline,#4b6432)!important}
body.woocommerce-cart .coupon .input-text{border-color:var(--gf-outline,#4b6432)}
body.woocommerce-cart button[name="update_cart"][disabled]{display:none!important}
@media(max-width:767px){
  body.woocommerce-cart table.shop_table_responsive.cart,body.woocommerce-cart table.shop_table_responsive.cart tbody{display:block!important;width:100%;border:0!important}
  body.woocommerce-cart table.shop_table_responsive.cart thead{display:none!important}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item{display:grid!important;grid-template-columns:92px minmax(0,1fr) 40px;grid-template-areas:"thumb name remove" "thumb qty sub";column-gap:14px;row-gap:12px;align-items:start;padding:16px 0!important;border:0!important;border-bottom:1px solid var(--gf-outline,#4b6432)!important}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td{display:block!important;width:auto!important;padding:0!important;border:0!important;text-align:left!important;background:transparent!important}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before{content:none!important;display:none!important}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail{grid-area:thumb}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail img{display:block;width:92px!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;border-radius:6px}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name{grid-area:name}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name a{font:700 15px/1.3 var(--gf-body,inherit);text-decoration:none;color:inherit;text-wrap:balance}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-remove{grid-area:remove;justify-self:end}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-price{display:none!important}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity{grid-area:qty;align-self:end}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity .quantity{margin:0}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity input.qty{width:64px;min-height:44px;padding:0 8px;text-align:center}
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-subtotal{grid-area:sub;justify-self:end;align-self:end;font:700 16px/1.2 var(--gf-body,inherit)}
  body.woocommerce-cart table.shop_table_responsive.cart tr:not(.cart_item){display:block!important}
  body.woocommerce-cart table.shop_table_responsive.cart td.actions{display:block!important;padding:18px 0 0!important;border:0!important;text-align:left!important}
  body.woocommerce-cart td.actions .coupon{display:flex;gap:10px;align-items:flex-end;float:none;width:100%}
  body.woocommerce-cart td.actions .coupon .input-text{flex:1;min-width:0;width:auto!important;margin:0}
  body.woocommerce-cart table.shop_table_responsive.cart td.actions .coupon button{flex:none;width:auto!important;min-height:46px;margin:0;padding:0 18px;white-space:nowrap}
}

/* ===== Cart and checkout: every input looks the same (the underline style of the checkout form) ===== */
body.woocommerce-cart .cart_totals .shipping-calculator-form,body.woocommerce-checkout .shipping-calculator-form{display:block;margin:16px 0 0;padding:0}
body.woocommerce-cart .shipping-calculator-form p.form-row,body.woocommerce-checkout .shipping-calculator-form p.form-row{width:100%!important;float:none!important;margin:0 0 16px!important;padding:0!important}
body.woocommerce-cart .shipping-calculator-form label,body.woocommerce-checkout .shipping-calculator-form label{display:block;margin:0 0 2px;font:600 13px/1.3 var(--gf-body,inherit);opacity:.85}
body.woocommerce-cart .shipping-calculator-form input.input-text,body.woocommerce-cart .shipping-calculator-form select,
body.woocommerce-checkout .shipping-calculator-form input.input-text,body.woocommerce-checkout .shipping-calculator-form select{width:100%!important;box-sizing:border-box;height:46px;padding:0 2px!important;border:0!important;border-bottom:1.5px solid var(--gf-outline,#4b6432)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:500 16px/1 var(--gf-body,inherit);color:inherit}
body.woocommerce-cart .shipping-calculator-form .select2-container,body.woocommerce-checkout .shipping-calculator-form .select2-container{width:100%!important}
body.woocommerce-cart .shipping-calculator-form .select2-selection--single,body.woocommerce-checkout .shipping-calculator-form .select2-selection--single{height:46px;border:0!important;border-bottom:1.5px solid var(--gf-outline,#4b6432)!important;border-radius:0!important;background:transparent!important}
body.woocommerce-cart .shipping-calculator-form .select2-selection__rendered,body.woocommerce-checkout .shipping-calculator-form .select2-selection__rendered{line-height:44px!important;padding-left:2px!important;color:inherit}
body.woocommerce-cart .shipping-calculator-form .select2-selection__arrow,body.woocommerce-checkout .shipping-calculator-form .select2-selection__arrow{height:44px!important}
body.woocommerce-cart .shipping-calculator-form button[name="calc_shipping"],body.woocommerce-checkout .shipping-calculator-form button[name="calc_shipping"]{width:100%;min-height:48px;margin:4px 0 0;padding:0 18px;border:1.5px solid var(--gf-outline,#4b6432)!important;border-radius:2px;background:transparent!important;color:var(--gf-outline,#4b6432)!important;font:700 13px/1 var(--gf-body,inherit);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
body.woocommerce-cart .shipping-calculator-form select.select2-hidden-accessible,body.woocommerce-checkout .shipping-calculator-form select.select2-hidden-accessible{border:0!important;height:1px!important;padding:0!important}
body.woocommerce-cart .shipping-calculator-form .select2-selection--single,body.woocommerce-checkout .shipping-calculator-form .select2-selection--single{padding:0!important;box-shadow:none!important}
body.woocommerce-cart .shipping-calculator-button{color:var(--gf-outline,#4b6432)}

/* Summary tables as grids: no table quirks, every row as wide as the card */
body.woocommerce-cart .cart_totals table.shop_table,body.woocommerce-checkout table.woocommerce-checkout-review-order-table{display:block!important;width:100%!important}
body.woocommerce-cart .cart_totals table.shop_table>tbody,body.woocommerce-cart .cart_totals table.shop_table>tfoot,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table>thead,body.woocommerce-checkout table.woocommerce-checkout-review-order-table>tbody,body.woocommerce-checkout table.woocommerce-checkout-review-order-table>tfoot{display:block!important;width:100%}
body.woocommerce-cart .cart_totals table.shop_table tr,body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:14px;border-bottom:1px solid var(--gf-outline,#4b6432)}
body.woocommerce-cart .cart_totals table.shop_table tr>th,body.woocommerce-cart .cart_totals table.shop_table tr>td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr>th,body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr>td{display:block!important;width:auto!important;border:0!important;box-sizing:border-box}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr:last-child{border-bottom:0}
/* Shipping: label above, explanation and fields below, full width */
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,body.woocommerce-checkout tr.woocommerce-shipping-totals{grid-template-columns:minmax(0,1fr)!important}
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals>th,body.woocommerce-checkout tr.woocommerce-shipping-totals>th{padding:14px 0 4px!important;text-align:left!important}
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals>td,body.woocommerce-checkout tr.woocommerce-shipping-totals>td{padding:0 0 14px!important;text-align:left!important}

/* Order review: the long product description does not belong into the checkout summary */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .wc-gzd-item-desc,body.woocommerce-checkout table.woocommerce-checkout-review-order-table .item-desc{display:none!important}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-item-thumb{position:relative;display:inline-block}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name{display:flex!important;align-items:flex-start;gap:14px}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-item-text{flex:1;min-width:0;font-weight:700;line-height:1.3}

/* ===== Checkout form rhythm: one spacing, one text colour, one underline for every field ===== */
body.woocommerce-checkout form.checkout .form-row{margin:0 0 16px!important;padding:0!important}
body.woocommerce-checkout form.checkout .form-row>label,body.woocommerce-checkout form.checkout .form-row .woocommerce-input-wrapper>label{display:block;margin:0 0 2px!important;font:600 14px/1.3 var(--gf-body,inherit)}
body.woocommerce-checkout form.checkout .form-row label.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.woocommerce-checkout form.checkout .form-row input.input-text,body.woocommerce-checkout form.checkout .form-row textarea,body.woocommerce-checkout form.checkout .form-row select{margin-top:0!important;color:#2e241e!important;font:500 16px/1.3 var(--gf-body,inherit)}
body.woocommerce-checkout form.checkout .form-row input.input-text::placeholder,body.woocommerce-checkout form.checkout .form-row textarea::placeholder{color:#2e241e;opacity:.45}
body.woocommerce-checkout form.checkout .form-row select.select2-hidden-accessible{border:0!important;height:1px!important;padding:0!important}
body.woocommerce-checkout form.checkout .select2-container{width:100%!important}
body.woocommerce-checkout form.checkout .select2-selection--single{height:44px;padding:0!important;border:0!important;border-bottom:2px solid var(--gf-outline,#4b6432)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.woocommerce-checkout form.checkout .select2-selection__rendered{padding:0!important;line-height:42px!important;color:#2e241e!important;font:500 16px/42px var(--gf-body,inherit)}
body.woocommerce-checkout form.checkout .select2-selection__arrow{height:42px!important}
body.woocommerce-checkout form.checkout h3{margin:26px 0 14px}
body.woocommerce-checkout form.checkout .woocommerce-input-wrapper .select2-container .select2-selection--single .select2-selection__rendered,body.woocommerce-checkout form.checkout .woocommerce-input-wrapper .select2-container .select2-selection--single .select2-selection__rendered *{color:#2e241e!important}
body.woocommerce-checkout form.checkout .select2-selection--single .select2-selection__arrow{width:24px!important;right:0!important;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%232e241e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1.5l5 5 5-5'/></svg>") center/12px 8px no-repeat}
body.woocommerce-checkout form.checkout .select2-selection--single .select2-selection__arrow b{display:none!important}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table>thead{display:none!important}
/* Address block: country and street lines run full width, ZIP + city and phone + e-mail pair up */
body.woocommerce-checkout #billing_country_field,body.woocommerce-checkout #billing_address_1_field,body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #shipping_country_field,body.woocommerce-checkout #shipping_address_1_field,body.woocommerce-checkout #shipping_address_2_field{grid-column:1/-1}

/* ===== Product page on a phone: thumbnails as one swipeable strip, less scrolling ===== */
@media(max-width:767px){
  body.single-product .product-gallery .thumbnails{display:flex!important;flex-wrap:nowrap!important;gap:10px;overflow-x:auto;overflow-y:hidden;height:auto!important;padding:2px 0 10px!important;margin:0!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  body.single-product .product-gallery .thumbnails::-webkit-scrollbar{display:none}
  body.single-product .product-gallery .thumbnails>*{position:relative;flex:0 0 58px!important;float:none!important;width:58px!important;height:58px!important;max-width:none!important;margin:0!important;padding:0!important;scroll-snap-align:start;border-radius:6px;overflow:hidden}
  body.single-product .product-gallery .thumbnails a.zoom{display:block!important;position:absolute!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;padding:0!important}
  body.single-product .product-gallery .thumbnails img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;min-width:0!important;object-fit:cover;border-radius:0}
}

/* ===== Product gallery on a phone: one swipeable strip. Variant pictures (style and size references) replace its content, the page does not move. ===== */
.gefam-dots{display:none}
@media(max-width:767px){
  /* Uncode re-inserts the gallery behind the form when a variant swaps its pictures: it stays on top visually, whatever the DOM order */
  body.single-product .uncont:has(>.uncode-single-product-gallery){display:flex!important;flex-direction:column}
  body.single-product .uncont:has(>.uncode-single-product-gallery)>.uncode-single-product-gallery{order:-1;width:100%}
  body.single-product .uncode-single-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.thumbnails)){display:flex!important;flex-wrap:nowrap!important;gap:12px;float:none!important;width:100%!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  body.single-product .uncode-single-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.thumbnails))::-webkit-scrollbar{display:none}
  body.single-product .uncode-single-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.thumbnails))>.woocommerce-product-gallery__image{flex:0 0 100%!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;float:none!important;scroll-snap-align:center}
  body.single-product .uncode-single-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.thumbnails)) .woocommerce-product-gallery__image img{display:block;width:100%!important;height:auto!important;max-height:56vh;object-fit:contain}
  body.single-product .uncode-single-product-gallery{position:relative;padding-bottom:22px!important}
  body.single-product .uncode-single-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.thumbnails))>.woocommerce-product-gallery__image{aspect-ratio:1/1;display:flex!important;align-items:center;justify-content:center}
  body.single-product .uncode-single-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.thumbnails)) .woocommerce-product-gallery__image a{display:block;width:100%}
  .gefam-dots{position:absolute;left:0;right:0;bottom:2px;display:flex;justify-content:center;gap:8px;margin:0}
  .gefam-dots:empty{display:none}
  .gefam-dots i{width:7px;height:7px;border-radius:50%;background:#2e241e33;transition:background .2s,transform .2s}
  .gefam-dots i.is-on{background:#2e241e;transform:scale(1.25)}
}

/* ===== Product page: buy bar and size sheet ===== */
.gf-buy{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;gap:12px;box-sizing:border-box;padding:8px var(--gf-gutter,20px) calc(8px + env(safe-area-inset-bottom));background:#fff8ee;border-top:1.5px solid var(--gf-outline,#4b6432);box-shadow:0 -10px 28px #2e241e1f;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.gf-buy.is-away{transform:translateY(110%)}
/* while the real button is on screen the bar is gone for everybody: no click, no Tab stop */
.gf-buy.is-away{visibility:hidden;pointer-events:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s}
.gf-buy-info{display:flex;flex-direction:row;align-items:baseline;gap:12px;min-width:0;flex:1;color:#2e241e}
.gf-buy-info strong{flex:0 1 auto;min-width:0;font:600 22px/1.05 var(--gf-display,inherit)!important;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-buy-price{flex:none;font:600 13px/1 var(--gf-body,inherit);opacity:.75}
.gf-buy-cta{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--gf-outline,#4b6432);border-radius:2px;background:var(--gf-outline,#4b6432);color:#fff8ee;transition:transform .15s}
.gf-buy:active .gf-buy-cta{transform:scale(.94)}
.gf-buy.is-busy{opacity:.6;pointer-events:none}
.gf-plus{position:relative;width:16px;height:16px}
.gf-plus::before,.gf-plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor}
.gf-plus::after{transform:rotate(90deg)}
.gf-go,.gf-more{appearance:none;cursor:pointer;min-height:48px;padding:0 22px;border:1.5px solid var(--gf-outline,#4b6432);border-radius:2px;background:var(--gf-outline,#4b6432);color:#fff8ee;font:700 13px/1 var(--gf-body,inherit);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.gf-more{background:transparent;color:var(--gf-outline,#4b6432)}
.gf-go[disabled]{opacity:.45;cursor:not-allowed}
body.single-product{padding-bottom:calc(64px + env(safe-area-inset-bottom))}

.gf-sheet{position:fixed;inset:0;z-index:9999}
.gf-sheet[hidden]{display:none}
.gf-sheet-back{position:absolute;inset:0;background:#2e241e73;opacity:0;transition:opacity .3s}
.gf-sheet-panel{position:absolute;left:0;right:0;bottom:0;box-sizing:border-box;max-height:86vh;overflow:auto;padding:18px var(--gf-gutter,20px) calc(18px + env(safe-area-inset-bottom));background:#fff8ee;color:#2e241e;border-top:1.5px solid var(--gf-outline,#4b6432);border-radius:20px 20px 0 0;transform:translateY(102%);transition:transform .34s cubic-bezier(.2,.8,.2,1);outline:0}
.gf-sheet.is-in .gf-sheet-back{opacity:1}.gf-sheet.is-in .gf-sheet-panel{transform:none}
.gf-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.gf-sheet-head strong{font:600 30px/1.02 var(--gf-display,inherit)!important;text-wrap:balance;text-transform:none}
.gf-sheet-x{appearance:none;border:0;background:none;color:inherit;font:400 30px/1 var(--gf-body,inherit);width:44px;height:44px;margin:-10px -10px 0 0;cursor:pointer}
.gf-group{margin-bottom:18px}
.gf-group-label{font:700 12px/1 var(--gf-body,inherit);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;opacity:.75}
.gf-chips{display:flex;flex-wrap:wrap;gap:10px}
.gf-chip{appearance:none;cursor:pointer;min-width:58px;height:50px;padding:0 14px;border:1.5px solid var(--gf-outline,#4b6432);border-radius:2px;background:transparent;color:var(--gf-outline,#4b6432);font:700 15px/1 var(--gf-body,inherit)}
.gf-chip.is-on{background:var(--gf-outline,#4b6432);color:#fff8ee}
.gf-chip.is-off{opacity:.38;cursor:not-allowed;background:linear-gradient(to top right,transparent calc(50% - 1px),currentColor 50%,transparent calc(50% + 1px))}
.gf-sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px;padding-top:16px;border-top:1px solid #4b643244}
.gf-sheet-foot--two{justify-content:stretch}.gf-sheet-foot--two>*{flex:1}
.gf-sheet-price{font:600 26px/1 var(--gf-display,inherit)}
.gf-done{font:500 15px/1.45 var(--gf-body,inherit);margin:0 0 6px}
.gf-err{font:500 13px/1.4 var(--gf-body,inherit);color:#a3281a;margin:8px 0 0}
html.gf-sheet-open,html.gf-sheet-open body{overflow:hidden}
@media(min-width:768px){
  .gf-buy{left:50%;right:auto;width:min(720px,calc(100% - 48px));bottom:20px;transform:translateX(-50%);border:1.5px solid var(--gf-outline,#4b6432);border-radius:14px}
  .gf-buy.is-away{transform:translate(-50%,160%)}
  .gf-sheet-panel{left:50%;right:auto;bottom:24px;width:min(460px,calc(100% - 32px));border:1.5px solid var(--gf-outline,#4b6432);border-radius:18px;transform:translate(-50%,120%)}
  .gf-sheet.is-in .gf-sheet-panel{transform:translate(-50%,0)}
}
@media(prefers-reduced-motion:reduce){.gf-buy,.gf-sheet-back,.gf-sheet-panel{transition:none}}

.gf-buy-thumb{flex:none;width:44px;height:44px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid #2e241e24}
.gf-buy-thumb[hidden]{display:none}
.gf-sheet-head{align-items:center}
.gf-sheet-thumb{flex:none;width:56px;height:56px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid #2e241e24}
.gf-sheet-head strong{flex:1}

/* ===== Shared look ===== */
:root{--gf-outline:#4b6432;--gf-badge:#2e241e;--gf-gutter:22px} /* global colours from the Uncode theme options: GEFAM Green #4b6432, GEFAM brown (Dark 1) #2e241e */
body.woocommerce-checkout,body.woocommerce-cart,body.woocommerce-order-received{--gfc-line:var(--gf-outline)}

/* Mobile keys: their frame wears the sold-out badge colour, same weight everywhere */
/* The sold-out badge and the key frames share the global GEFAM brown */
.soldout,.tmb .soldout,.woocommerce span.soldout{background:var(--gf-badge)!important;color:#fff!important}
@media(max-width:767px){
  body.gefam-keypad-preview [data-name="shop"] .tmb{border:1.5px solid var(--gf-badge)!important}
  body.gefam-keypad-preview [data-name="shop"] .soldout{background:var(--gf-badge)!important;color:#fff!important}
}

/* Equal breathing room on a phone: the same gutter left, right and above */
@media(max-width:767px){
  .home .row-container:has(.gefam-hero)>.row-parent,
  .home .row-container[data-name="shop"]>.row-parent,
  body.gefam-keypad-preview [data-name="shop"]>.row-parent{padding-left:var(--gf-gutter)!important;padding-right:var(--gf-gutter)!important}
  .home .row-container:has(.gefam-hero){padding-top:var(--gf-gutter)!important}
  body.woocommerce-checkout .row-container>.row-parent,body.woocommerce-cart .row-container>.row-parent,body.woocommerce-order-received .row-container>.row-parent,body.woocommerce-account .row-container>.row-parent{padding-left:var(--gf-gutter)!important;padding-right:var(--gf-gutter)!important}
}

/* Game sticker: its text may not collapse the shape, and it stays generously sized */
.gefam-game-teaser *{text-wrap:wrap!important}
body .gefam-hero>.gefam-teaser--sticker{width:clamp(220px,25vw,340px)}
@media(max-width:767px){body.home .gefam-hero>.gefam-teaser--sticker{width:clamp(160px,50vw,200px)}}

/* ===== Typography: titles break in balanced lines, text avoids orphans ===== */
h1,h2,h3,h4,h5,h6,.heading-text,.vc_custom_heading_wrap h2,.vc_custom_heading_wrap h3{text-wrap:balance}
.uncode_text_column p,.post-content p,.entry-content p,.woocommerce p{text-wrap:pretty}
.heading-text h3 span,.heading-text h2 span{text-wrap:balance}
h3.font-150511 span{word-break:normal;overflow-wrap:normal;hyphens:manual}

/* ===== Music button: up in the corner where the hero keeps it, never over the buy bar ===== */
.gefam-music-fab{left:auto!important;bottom:auto!important;right:14px;top:14px;height:40px;padding:0 12px;box-shadow:0 4px 14px rgba(46,36,30,.22)}
@media(min-width:768px){.gefam-music-fab{top:96px;right:24px}}
/* dev-only environment label: out of the way of the buy bar */
body.single-product .gefam-environment{bottom:calc(84px + env(safe-area-inset-bottom))!important}

/* ===== Behind GEFAM: the hover zoom may grow past the tile, so no hat is cut off ===== */
#gallery-488800 .t-entry-visual{overflow:visible!important}
#gallery-488800 .owl-stage-outer{overflow:hidden;padding:16px 0 4px;margin:-16px 0 -4px}
/* start page, phone: the game sticker sits to the right of the two links, never on top of them */
@media(max-width:767px){body.home .gefam-hero>.gefam-teaser--sticker{width:clamp(128px,43vw,166px)!important;right:16px!important}.home .gefam-teaser--sticker .gefam-teaser-label{font-size:clamp(17px,5vw,21px)!important}}
/* start page: the paper colour also sits behind and above the textured background, so no white strip shows at the top or when the page bounces */
html:has(body.home),body.home{background-color:#e2e0dd}
body.home .box-wrapper{background-color:#e2e0dd}
/* ===== The EU withdrawal button (Germanized): the legally required "Vertrag widerrufen" stays, styled like the rest of the footer ===== */
.eu-owb-order-withdraw-from-contract-button{margin:0!important;padding:18px 16px 26px;text-align:center;background:transparent;border-top:1px solid #2e241e1f}
.single-product .eu-owb-order-withdraw-from-contract-button{padding-bottom:104px}
.eu-owb-order-withdraw-from-contract-button a.button,.eu-owb-order-withdraw-from-contract-button a{display:inline-block;padding:11px 20px;border:1.5px solid #2e241e;border-radius:8px;background:transparent;color:#2e241e!important;font:700 12px/1 "GEFAM Manrope","Manrope-Variable",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .15s,color .15s}
.eu-owb-order-withdraw-from-contract-button a:hover,.eu-owb-order-withdraw-from-contract-button a:focus-visible{background:#2e241e;color:#fff8ee!important}
@media(max-width:767px){.eu-owb-order-withdraw-from-contract-button{padding-bottom:calc(26px + env(safe-area-inset-bottom))}}
/* Simon: Behind GEFAM, calmer line breaks and square corners */
body.page-id-77 *{border-radius:0!important}
body.page-id-77 .heading-text *,body.page-id-77 h1,body.page-id-77 h2,body.page-id-77 h3,body.page-id-77 h4,body.page-id-77 h5{text-wrap:balance}
body.page-id-77 .uncode_text_column p,body.page-id-77 .uncode_text_column{text-wrap:pretty;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
/* sizes: all in one row, a little smaller (XS to XXL = six in a line) */
.single-product .swatches-select--type-label:not([data-swatch-id*=pack]){grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.single-product .swatches-select--type-label:not([data-swatch-id*=pack]) .swatch{min-height:40px;padding:6px 2px!important;font-size:13px}
/* buy sheet: up to six sizes stand in one row, smaller; more than six wrap as before */
.gf-chips{flex-wrap:nowrap;gap:6px}
.gf-chip{flex:1 1 0;min-width:0;height:44px;padding:0 2px;font-size:14px}
.gf-chips:has(.gf-chip:nth-child(7)){flex-wrap:wrap}
.gf-chips:has(.gf-chip:nth-child(7)) .gf-chip{flex:0 0 auto;min-width:52px;padding:0 10px}
/* withdrawal: no extra button at the bottom of every page, the footer link does that job (Simon) */
.eu-owb-order-withdraw-from-contract-button{display:none!important}
/* the footer row has room for the longer withdrawal link on one line */
@media(min-width:768px){.site-footer .menu-horizontal-inner,.site-footer .menu-smart.unmenu-block-in-page,.site-footer .unmenu-inner-ul{width:auto!important;max-width:none!important;white-space:nowrap}}
/* the withdrawal link in the footer stays in its "hover" look (dark, underlined) where it matters: product pages, cart, checkout, account, order pages, the withdrawal page itself */
body.single-product .site-footer a[href*="withdraw-from-contract"],body.single-product .site-footer a[href*="widerruf"],
body.woocommerce-cart .site-footer a[href*="withdraw-from-contract"],body.woocommerce-cart .site-footer a[href*="widerruf"],
body.woocommerce-checkout .site-footer a[href*="withdraw-from-contract"],body.woocommerce-checkout .site-footer a[href*="widerruf"],
body.woocommerce-account .site-footer a[href*="withdraw-from-contract"],body.woocommerce-account .site-footer a[href*="widerruf"],
body.woocommerce-order-received .site-footer a[href*="withdraw-from-contract"],
body.page-id-6552 .site-footer a[href*="withdraw-from-contract"]{color:#2e241e!important;opacity:1!important;text-decoration:underline!important;text-underline-offset:4px;text-decoration-thickness:1.5px}
body.single-product .site-footer a[href*="withdraw-from-contract"] span,body.woocommerce-cart .site-footer a[href*="withdraw-from-contract"] span,body.woocommerce-checkout .site-footer a[href*="withdraw-from-contract"] span,body.woocommerce-account .site-footer a[href*="withdraw-from-contract"] span,body.page-id-6552 .site-footer a[href*="withdraw-from-contract"] span{color:#2e241e!important}
/* language switch: it takes the colour of where it sits (it was light grey on light paper); the dark game pages keep their light version */
body:not(.gefam-play-page) .gefam-lang strong{color:#2e241e}
body:not(.gefam-play-page) .gefam-lang a{color:#8a7d70}
body:not(.gefam-play-page) .gefam-lang{border-right-color:rgba(46,36,30,.22)}
.gefam-menu-overlay .gefam-lang{border:0;margin:0;padding:0}
.gefam-menu-overlay .gefam-lang strong{color:currentColor!important;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.gefam-menu-overlay .gefam-lang a{color:currentColor!important;opacity:.6}
/* ===== Typography: one UI font, no faux bold on the display font, one rhythm for running text ===== */
/* buttons, fields and filters follow the body font instead of the system font of the theme default */
.btn,.button,button,input[type="submit"],input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],select,textarea,.select2-selection,.select2-results,.select2-search__field{font-family:"Manrope-Variable","GEFAM Manrope",system-ui,sans-serif}
.btn,.button,button.single_add_to_cart_button{font-weight:700;letter-spacing:.1em}
/* running text: calm and even, one line distance for all descriptions */
.uncode_text_column p,.woocommerce-product-details__short-description p,.woocommerce-Tabs-panel p{line-height:1.6;margin:0 0 .6em}
.uncode_text_column p:last-child,.woocommerce-product-details__short-description p:last-child{margin-bottom:0}
.uncode_text_column li{line-height:1.6}
/* headings in Badger: tight, but never colliding when a title wraps */
.h1,h1,.h2,h2{line-height:1.15}
.h3,h3,.h4,h4{line-height:1.2}
/* Badger is one weight in the file; everything set in it is shown at 600 (the faux-bold the theme options ask for), everywhere */
.gefam-price-moved,.gefam-price-moved *,.gefam-mobile-pages a,.gefam-teaser-label,.gf-buy strong,.gf-sheet-head strong,.gf-sheet-price,.gefam-price-moved .woocommerce-Price-amount,.gefam-price-moved .woocommerce-Price-currencySymbol,h1 .woocommerce-Price-amount,h2 .woocommerce-Price-amount,h3 .woocommerce-Price-amount,h3 .woocommerce-Price-currencySymbol,.gefam-play-page [class*="gw-"] h2,.gefam-play-page [class*="gw-"] h3{font-weight:600!important}
/* the brush-stroke pattern: the lettering bleeds off the glass at the edges, with the soft barrel warp baked into the artwork (no filter, same in every browser) */
.gefam-crt-pattern{inset:0;filter:none;background:url("img/logo-bg-w12-d.svg") 50% 50%/160% 145% no-repeat}
@media(max-width:767px){.gefam-crt-pattern{display:none}}
/* ===== Hero screen, final look (Simon, 25.10.): a bright, soft old tube with Simon's pixel logo and icons on one grid ===== */
/* aperture grille and soft scan lines */
.gefam-crt-mask{opacity:1;mix-blend-mode:multiply;
  background:
   repeating-linear-gradient(0deg,rgba(16,18,0,0) 0,rgba(16,18,0,.2) 1.2px,rgba(16,18,0,0) 2.6px,rgba(16,18,0,0) var(--crt-line)),
   repeating-linear-gradient(90deg,rgba(255,40,70,.08) 0,rgba(60,255,120,.07) 1px,rgba(70,100,255,.08) 2px,rgba(255,40,70,.08) 3px)}
/* light bars: narrow and weak, so they do not scatter */
.gefam-crt-bands{mix-blend-mode:screen;opacity:.34;
  background:repeating-linear-gradient(180deg,transparent 0 8%,rgba(255,255,225,.3) 12%,rgba(255,255,225,.8) 14.5%,rgba(255,255,225,.3) 17%,transparent 22%,transparent 33.3333%);
  background-size:100% 33.3333%}
.gefam-crt-grain{opacity:.24}
.gefam-crt-pattern{opacity:.5}
/* scratches reach further in, but stay calmer around the logo */
.gefam-crt-scratch{opacity:.7;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 54% 60% at 50% 50%,rgba(0,0,0,.5) 24%,#000 100%);mask-image:radial-gradient(ellipse 54% 60% at 50% 50%,rgba(0,0,0,.5) 24%,#000 100%)}
/* glass: burnt edge, convex shading, a reflection top left and a faint one at the bottom, two faint smudges */
.gefam-crt-glass{background:
   radial-gradient(ellipse 118% 124% at 50% 48%,transparent 52%,rgba(28,30,0,.24) 84%,rgba(14,16,0,.40) 100%),
   radial-gradient(ellipse 62% 70% at 50% 46%,rgba(255,255,205,.16),transparent 72%),
   radial-gradient(ellipse 68% 52% at 28% 13%,rgba(255,255,226,.15),transparent 70%),
   radial-gradient(ellipse 18% 26% at 13% 76%,rgba(30,34,0,.16),transparent 72%),
   radial-gradient(ellipse 24% 14% at 83% 21%,rgba(30,34,0,.13),transparent 72%),
   radial-gradient(ellipse 34% 10% at 58% 90%,rgba(255,255,200,.12),transparent 72%),
   linear-gradient(180deg,rgba(255,255,232,.05),transparent 20%)}
/* worn texture over the picture: only a hint */
.gefam-crt-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;mix-blend-mode:multiply;opacity:.07;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='520'><filter id='d' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='4' seed='9' stitchTiles='stitch' result='a'/><feColorMatrix in='a' values='0 0 0 0 .13 0 0 0 0 .12 0 0 0 0 .02 3 0 0 0 -1.25' result='b'/><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='3' stitchTiles='stitch' result='c'/><feColorMatrix in='c' values='0 0 0 0 .1 0 0 0 0 .1 0 0 0 0 .02 2.2 0 0 0 -1.15' result='e'/><feMerge><feMergeNode in='b'/><feMergeNode in='e'/></feMerge></filter><rect width='520' height='520' filter='url(%23d)'/></svg>");background-size:520px 520px}
/* the screen sits in the page with a little depth: soft drop shadow, a lit lower edge, a thin light line at the top of the glass, a slightly soft picture */
@media(min-width:768px){
  .gefam-hero-frame{box-shadow:0 1px 0 rgba(255,255,255,.7),0 10px 22px -8px rgba(46,36,30,.42),0 2px 5px rgba(46,36,30,.22)}
  .gefam-crt-glass{box-shadow:inset 0 0 0 1px rgba(33,55,43,.28),inset 0 2px 0 rgba(255,255,225,.32),inset 0 4px 10px rgba(25,32,0,.5),inset 0 -3px 9px rgba(25,32,0,.45),inset 0 0 38px 2px rgba(35,38,0,.38);-webkit-backdrop-filter:blur(.55px);backdrop-filter:blur(.55px)}
}
/* Simon's own pixel drawings: the logo and "tap to shop", with a little bloom and colour fringe */
.gefam-crt-logo{background:url("img/gefam-logo-px.svg") center/contain no-repeat;aspect-ratio:325/114;filter:drop-shadow(1.2px 0 0 rgba(255,40,40,.28)) drop-shadow(-1.2px 0 0 rgba(40,90,255,.22)) drop-shadow(0 0 3px rgba(255,255,170,.35))}
.gefam-crt-tap{filter:drop-shadow(1px 0 0 rgba(255,40,40,.25)) drop-shadow(-1px 0 0 rgba(40,90,255,.2))}
/* Small, regular pixel glyphs in the same ink as "tap to shop"; keep full touch targets. */
.gefam-crt-ui svg{shape-rendering:crispEdges}
.gefam-crt-ui a:not(.gefam-mobile-menu) svg,.gefam-crt-ui button[data-gefam-audio] svg{display:none}
.gefam-crt-ui a[href*="instagram"]::before,.gefam-crt-ui a[href^="mailto"]::before,.gefam-crt-ui button[data-gefam-audio]::before{content:"";display:block;width:24px;height:24px;background:center/contain no-repeat;opacity:.82;filter:none}
/* Same 24px pixel glyphs and stroke weight on desktop and mobile; menu unchanged. */
.gefam-crt-ui a[href*="instagram"]::before{background-image:url("img/icon-instagram-px-v3.svg")}
.gefam-crt-ui a[href^="mailto"]::before{background-image:url("img/icon-mail-px-v3.svg")}
.gefam-crt-ui button[data-gefam-audio]::before{background-image:url("img/icon-music-px-v3.svg")}

.gefam-crt-ui a,.gefam-crt-ui button{margin:0;flex-shrink:0}
.gefam-crt-ui>div{gap:4px}
/* the mobile menu icon (reception bars, turns into a cross) on the same pixel grid; the animation stays */
.gefam-crt-ui .gefam-mobile-menu{color:#292929}
.gefam-crt-ui .gefam-mobile-menu svg{width:30px;height:30px;opacity:.82;filter:none}
.gefam-signal .cross path{stroke-dasharray:none;stroke-dashoffset:0}
/* the screen menu closes with the same pixel cross the reception bars turn into (Popup Maker's thin glyph did not match) */
#pum-6173 .pum-close::after{display:none}
#pum-6173 .pum-close::before{left:7px;top:7px;width:30px;height:30px;transform:none;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' shape-rendering='crispEdges' fill='%23292929'%3E%3Cpath d='M3 3h2v1h-2zM17 3h2v1h-2zM4 4h2v1h-2zM16 4h2v1h-2zM5 5h2v1h-2zM15 5h2v1h-2zM6 6h2v1h-2zM14 6h2v1h-2zM7 7h2v1h-2zM13 7h2v1h-2zM8 8h2v1h-2zM12 8h2v1h-2zM9 9h4v1h-4zM10 10h2v1h-2zM9 11h4v1h-4zM8 12h2v1h-2zM12 12h2v1h-2zM7 13h2v1h-2zM13 13h2v1h-2zM6 14h2v1h-2zM14 14h2v1h-2zM5 15h2v1h-2zM15 15h2v1h-2zM4 16h2v1h-2zM16 16h2v1h-2zM3 17h2v1h-2zM17 17h2v1h-2zM2 18h2v1h-2zM18 18h2v1h-2z'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(1px 0 0 rgba(255,40,40,.3)) drop-shadow(-1px 0 0 rgba(40,80,255,.25))}

/* ===== Keyboard: every control shows where the focus is (only for keyboard use, not for mouse or touch) ===== */
.gefam-skip{position:fixed;left:12px;top:-80px;z-index:10000;padding:12px 18px;border-radius:6px;background:#2e241e;color:#fff8ee!important;font:700 14px/1 var(--gf-body,inherit);text-decoration:none;transition:top .15s}
.gefam-skip:focus{top:12px;outline:3px solid #fff8ee!important;outline-offset:2px}
/* one ring for everything: it must win over theme rules that remove outlines */
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,[tabindex]:focus-visible,input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible,summary:focus-visible{outline:3px solid #2e241e!important;outline-offset:3px!important;box-shadow:0 0 0 3px #fff8ee}
/* the hero: icons, music and "tap to shop" on the yellow glass */
.gefam-crt-ui a:focus-visible,.gefam-crt-ui button:focus-visible{outline:3px solid #14170a!important;outline-offset:2px!important;border-radius:8px;background:rgba(255,253,235,.45)}
.gefam-crt-shop:focus-visible{outline:3px solid #14170a!important;outline-offset:2px!important;border-radius:8px;background:rgba(255,253,235,.3)}
.gefam-crt-ui a:focus-visible,.gefam-crt-ui button:focus-visible,.gefam-crt-shop:focus-visible{box-shadow:0 0 0 6px rgba(255,253,235,.55)}
/* the home navigation is quiet grey until hovered: keyboard focus brings it forward, the same way */
[class*="text-color-128553"] a:focus-visible{color:#2e241e!important;text-shadow:none!important;border-radius:3px}
/* buy bar and sheet */
.gf-buy:focus-visible{outline-offset:-6px!important;box-shadow:inset 0 0 0 3px #fff8ee}
.gf-chip:focus-visible,.gf-go:focus-visible,.gf-sheet-x:focus-visible{outline-offset:2px!important}

/* the skip link moves focus to the content area, which must not get a ring around the whole page */
[data-gefam-main]:focus,[data-gefam-main]:focus-visible{outline:none!important}
/* product tiles: the ring sits inside the tile, so the tile's own clipping cannot cut it */
.tmb a.pushed:focus-visible{outline-offset:-6px!important;border-radius:inherit}

/* text fields never get a ring (mouse or keyboard): the field itself shows the focus with a darker border */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,input:not([type="checkbox"]):not([type="radio"]):focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible,.select2-container--focus .select2-selection,.select2-container--open .select2-selection{outline:0!important;box-shadow:none!important;border-color:#2e241e!important}
