/*
 * Enter any custom CSS here.
 * This file will not be overwritten by theme updates.
*/

/* --- MONOTIDES: EN / DE language toggle --- */
html[data-lang="de"] [data-i18n-en] { display: none !important; }
html[data-lang="de"] [data-i18n-de] { display: inline !important; }
html[data-lang="de"] .monotides-marquee-seg[data-i18n-de] { display: flex !important; }
.monotides-marquee-track { animation: monotides-marquee-move 26s linear infinite; }
@keyframes monotides-marquee-move { from { transform: translateX(0%); } to { transform: translateX(-50%); } }

/* --- MONOTIDES: soft glow that follows the cursor --- */
#monotides-cursor-light { background: radial-gradient(320px circle at var(--mx, 50vw) var(--my, 20vh), rgba(86,134,255,.13), transparent 65%); }
[data-component-id="hero"] { position: relative; overflow: hidden; }
[data-component-id="hero"]::before { content: ""; position: absolute; inset: -10% -10% auto -10%; height: 140%; background: radial-gradient(420px 420px at 8% 0%, rgba(86,134,255,.25), transparent 65%), radial-gradient(360px 360px at 95% 10%, rgba(86,134,255,.14), transparent 60%); filter: blur(10px); pointer-events: none; z-index: 0; }
[data-component-id="hero"]::after { content: ""; position: absolute; left: 6%; right: 6%; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(86,134,255,.7) 25%, #ffffff 50%, rgba(86,134,255,.7) 75%, transparent); box-shadow: 0 0 16px 1px rgba(86,134,255,.55); animation: monotides-scan 7s linear infinite; opacity: 0; pointer-events: none; z-index: 1; }
[data-component-id="hero"] .container { position: relative; z-index: 2; }
@keyframes monotides-scan { 0% { top: 0%; opacity: 0; } 8% { opacity: .8; } 92% { opacity: .8; } 100% { top: 100%; opacity: 0; } }

/* --- MONOTIDES: soft glow on hover for buttons and product cards --- */
a[class*="bg-accent-500"] { transition: box-shadow .15s ease, transform .15s ease, background-color .15s ease; }
a[class*="bg-accent-500"]:hover { box-shadow: 0 8px 24px -6px rgba(86,134,255,.55); transform: translateY(-1px); }
a.group[class*="bg-card"] { transition: box-shadow .15s ease, transform .15s ease, background-color .15s ease; }
a.group[class*="bg-card"]:hover { box-shadow: 0 12px 28px -10px rgba(86,134,255,.35); transform: translateY(-3px); }

/* --- Calculator: reference interaction model, Monotides palette --- */
.calc-component { margin: 1rem auto 2rem; max-width: 76rem; }
.calc-shell { background: rgba(10,16,30,.94); border: 1px solid rgba(86,134,255,.22); border-radius: .75rem; padding: 1.25rem; box-shadow: 0 22px 60px rgba(0,0,0,.24); }
.calc-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.25rem; }
.calc-controls { display: grid; gap: 1.1rem; }
.calc-step-title { color: rgb(var(--cl-t-primary)); font-size: .78rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; margin-bottom: .65rem; }
.calc-step-title .calc-step-number { display: inline-flex; align-items: center; justify-content: center; width: 1.35rem; height: 1.35rem; margin-right: .35rem; border-radius: 999px; color: rgb(var(--cl-background)); background: rgb(var(--cl-accent)); font-size: .7rem; vertical-align: middle; }
.calc-step-title .calc-step-label { display: inline; width: auto; height: auto; margin: 0; border-radius: 0; color: inherit; background: transparent; font-size: inherit; }
.calc-syringes { display: grid; gap: .65rem; }
.calc-syringe { width: 100%; min-height: 8.1rem; padding: .7rem 1rem .55rem; text-align: left; border: 1px solid rgba(255,255,255,.13); border-radius: .7rem; background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(0,0,0,.18)); overflow: hidden; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.calc-syringe:hover, .calc-syringe:focus-visible { border-color: rgba(var(--cl-accent),.8); background: rgba(var(--cl-accent),.08); outline: none; }
.calc-syringe:active, .calc-chip:active, .calc-unit:active { transform: scale(.98); }
.calc-syringe--active { border-color: rgb(var(--cl-accent)); background: linear-gradient(135deg, rgba(var(--cl-accent),.16), rgba(0,0,0,.24)); box-shadow: inset 0 0 0 1px rgba(var(--cl-accent),.22), 0 0 22px rgba(var(--cl-accent),.08); }
.calc-syringe-meta { display: flex; align-items: baseline; gap: .45rem; color: rgb(var(--cl-t-primary)); }
.calc-syringe-meta b { font-size: 1rem; }
.calc-syringe-meta small { color: rgba(var(--cl-t-primary),.58); font-size: .7rem; text-transform: uppercase; }
.calc-syringe img { display: block; width: min(100%, 34rem); height: 4.55rem; object-fit: contain; object-position: center; margin: .25rem auto 0; }
.calc-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.calc-chip, .calc-unit { min-height: 2.2rem; padding: .4rem .7rem; color: rgba(var(--cl-t-primary),.82); background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.14); border-radius: .5rem; font-size: .78rem; font-weight: 600; transition: border-color .16s ease, color .16s ease, background .16s ease, transform .16s ease; }
.calc-chip:hover, .calc-chip:focus-visible, .calc-unit:hover, .calc-unit:focus-visible { border-color: rgba(var(--cl-accent),.78); color: rgb(var(--cl-t-primary)); outline: none; }
.calc-chip--active, .calc-unit--active { color: rgb(var(--cl-t-primary)); background: rgba(var(--cl-accent),.2); border-color: rgb(var(--cl-accent)); }
.calc-unit-switch { display: inline-flex; margin-bottom: .5rem; }
.calc-unit { border-radius: .5rem 0 0 .5rem; }
.calc-unit + .calc-unit { margin-left: -1px; border-radius: 0 .5rem .5rem 0; }
.calc-custom-field { margin-top: .5rem; }
.calc-custom-field[hidden] { display: none; }
.calc-custom-field label { display: block; margin-bottom: .3rem; color: rgba(var(--cl-t-primary),.65); font-size: .75rem; }
.calc-custom-input { width: 100%; max-width: 14rem; padding: .55rem .7rem; color: rgb(var(--cl-t-primary)); background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.18); border-radius: .45rem; outline: none; }
.calc-custom-input:focus { border-color: rgb(var(--cl-accent)); box-shadow: 0 0 0 3px rgba(var(--cl-accent),.14); }
.calc-custom-input.is-invalid { border-color: #ef4444; }
.calc-readout { margin-top: 1.35rem; padding: 1.25rem 1.3rem 1.1rem; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.15); border-radius: .7rem; }
.calc-readout-line { color: rgb(var(--cl-t-primary)); font-size: clamp(1.05rem,2vw,1.45rem); font-weight: 700; }
.calc-readout-hl { color: rgb(var(--cl-accent)); }
.calc-readout-sub, .calc-readout-empty { margin-top: .35rem; color: rgba(var(--cl-t-primary),.62); font-size: .78rem; }
.calc-readout-sub b { color: rgb(var(--cl-t-primary)); }
.calc-dot { margin: 0 .5rem; color: rgba(var(--cl-t-primary),.35); }
.calc-scale { width: 100%; margin-top: 1.1rem; overflow: hidden; }
.calc-scale-svg { display: block; width: 100%; min-width: 34rem; height: auto; }
.calc-scale-bed { fill: rgba(255,255,255,.11); }
.calc-scale-fill { fill: rgba(var(--cl-accent),.72); }
.calc-scale-minor, .calc-scale-tick { stroke: rgba(var(--cl-t-primary),.55); stroke-width: 1; }
.calc-scale-tick { stroke-width: 1.5; }
.calc-scale-num { fill: rgba(var(--cl-t-primary),.65); }
.calc-scale-marker { fill: rgb(var(--cl-accent)); }
.calc-scale-caption { margin-top: .1rem; color: rgba(var(--cl-t-primary),.5); font-size: .65rem; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.calc-note { margin-top: .7rem; padding: .65rem .8rem; border-left: 2px solid rgba(var(--cl-accent),.8); color: rgba(var(--cl-t-primary),.8); background: rgba(var(--cl-accent),.07); font-size: .75rem; }
.calc-note--warn { border-left-color: #f59e0b; background: rgba(245,158,11,.08); }
.calc-note--error { border-left-color: #ef4444; background: rgba(239,68,68,.08); }
.calc-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); text-align: center; }
.calc-fact-value { display: block; color: rgb(var(--cl-accent)); font-size: 1.05rem; font-weight: 700; }
.calc-fact-label { display: block; margin-top: .25rem; color: rgba(var(--cl-t-primary),.52); font-size: .62rem; text-transform: uppercase; }
.calc-disclaimer { margin: .9rem auto 0; max-width: 60rem; color: rgba(var(--cl-t-primary),.42); font-size: .65rem; text-align: center; }
@media (max-width: 767px) { .calc-shell { padding: .8rem; } .calc-grid { grid-template-columns: 1fr; gap: 1rem; } .calc-readout { padding: 1rem; } .calc-scale { overflow-x: auto; } .calc-scale-svg { min-width: 30rem; } .calc-facts { gap: .35rem; } .calc-fact-label { font-size: .55rem; } }

/* Payment methods block */
.payment-methods { padding: 1rem 0 1.25rem; }
.payment-methods-shell { position: relative; overflow: hidden; padding: 1.35rem; border: 1px solid rgba(86,134,255,.28); border-radius: .85rem; background: linear-gradient(135deg, rgba(19,27,44,.96), rgba(10,15,26,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.18); }
.payment-methods-heading { text-align: center; margin-bottom: 1rem; }
.payment-methods-kicker { display: block; color: rgb(var(--cl-accent)); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.payment-methods-heading h2 { margin: .2rem 0 .25rem; color: rgb(var(--cl-t-primary)); font-size: clamp(1.15rem, 2.5vw, 1.65rem); font-weight: 800; }
.payment-methods-heading p { margin: 0; color: rgba(var(--cl-t-primary),.62); font-size: .86rem; }
.payment-methods-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .55rem; align-items: stretch; }
.payment-method { display: flex; min-height: 4.4rem; flex-direction: column; align-items: center; justify-content: center; gap: .42rem; padding: .6rem .4rem; border: 1px solid rgba(255,255,255,.1); border-radius: .65rem; background: rgba(255,255,255,.035); color: rgb(var(--cl-t-primary)); text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.payment-method:hover, .payment-method:focus-visible { border-color: rgba(var(--cl-accent),.72); background: rgba(var(--cl-accent),.1); transform: translateY(-2px); outline: none; }
.payment-method img { width: auto; height: 1.55rem; max-width: 5.6rem; object-fit: contain; filter: brightness(0) invert(1); }
.payment-method:nth-child(1) img, .payment-method:nth-child(2) img, .payment-method:nth-child(3) img, .payment-method:nth-child(7) img { filter: none; }
.payment-method span { color: rgba(var(--cl-t-primary),.72); font-size: .68rem; font-weight: 700; }
.payment-method--paypal { border-color: rgba(73,183,111,.44); }
.payment-method--paypal span { color: #6fe394; }
.payment-methods-note { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .35rem .55rem; margin: 1rem auto 0; max-width: 58rem; padding: .75rem 1rem; border: 1px solid rgba(73,183,111,.34); border-radius: .6rem; background: rgba(73,183,111,.08); color: rgba(var(--cl-t-primary),.78); text-align: center; font-size: .77rem; line-height: 1.5; }
.payment-methods-note strong { color: #6fe394; }
.payment-methods-note a { color: #6fe394; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 900px) { .payment-methods-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px) { .payment-methods { padding-top: .5rem; } .payment-methods-shell { padding: 1rem .75rem; } .payment-methods-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .payment-method { min-height: 4.2rem; } }
html[data-lang="de"] [data-lang-en], html:not([data-lang="de"]) [data-lang-de] { display: none !important; }
html[data-lang="de"] [data-lang-de], html:not([data-lang="de"]) [data-lang-en] { display: inline !important; }
