/* Euler Duo: black, white and cyan, matching the Euler theme. */
:root {
	--eduo-ink: #000;
	--eduo-cyan: #00e5ff;
	--eduo-teal: #007a8f;
	--eduo-soft: #f0fdff;
	--eduo-line: #d6f1f6;
	--eduo-muted: #4a5356;
	--eduo-grey: #c9ced0;
	--eduo-dark2: #1a1f21;
	--eduo-dark3: #262b2d;
	--eduo-serif: "DM Serif Display", Georgia, serif;
}

/* ---------- Buttons & small parts ---------- */
.eduo-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 24px; border-radius: 999px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; border: 1px solid transparent; transition: background .15s, color .15s, border-color .15s; }
.eduo-btn--cyan { background: var(--eduo-cyan); color: var(--eduo-ink); }
.eduo-btn--dark { background: var(--eduo-ink); color: var(--eduo-cyan); }
.eduo-btn--ghost { border-color: #fff; color: #fff; background: transparent; font-weight: 500; }
.eduo-btn--line { border-color: var(--eduo-ink); color: var(--eduo-ink); background: #fff; font-weight: 500; flex: 1; }
.eduo-btn--sm { min-height: 40px; padding: 0 18px; font-size: 14px; }
.eduo-btn--block { width: 100%; min-height: 52px; }
.eduo-btn:hover, .eduo-btn:focus-visible, .eduo-btn.is-done { background: var(--eduo-ink); color: var(--eduo-cyan); border-color: var(--eduo-ink); }
.eduo-btn:focus-visible { outline: 3px solid var(--eduo-cyan); outline-offset: 2px; }
.eduo-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.eduo-tag { align-self: flex-start; display: inline-flex; align-items: center; background: var(--eduo-cyan); color: var(--eduo-ink); font-size: 13px; font-weight: 700; padding: 5px 14px; border-radius: 999px; }
.eduo-muted { color: var(--eduo-muted); }
.eduo-small { font-size: 13px; }
.eduo-center { text-align: center; }
.eduo-live { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--eduo-cyan); box-shadow: 0 0 0 0 rgba(0, 229, 255, .55); animation: eduo-pulse 1.6s ease-out infinite; }
@keyframes eduo-pulse { 0% { box-shadow: 0 0 0 0 rgba(0, 229, 255, .55); } 100% { box-shadow: 0 0 0 10px rgba(0, 229, 255, 0); } }

/* ---------- Product cards ---------- */
.eduo-badge { position: absolute; left: 12px; bottom: 12px; z-index: 2; background: var(--eduo-ink); color: var(--eduo-cyan); font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; line-height: 1.4; }
.eduo-card-price { display: block; padding: 0 16px; margin-top: 2px; font-size: 13px; font-weight: 500; color: var(--eduo-teal); }
li.product > .eduo-card-price, .wc-block-grid .eduo-card-price { padding: 0; }

/* ---------- Main menu "NEW" ---------- */
.menu-item--duo > a::after { content: "NEW"; display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--eduo-cyan); color: var(--eduo-ink); font-size: 10px; font-weight: 700; letter-spacing: .04em; vertical-align: 2px; }

/* ---------- Product page choice ---------- */
.eduo-choice { display: flex; flex-direction: column; gap: 12px; margin: 18px 0; }
.eduo-opts { display: flex; flex-direction: column; gap: 10px; }
.eduo-opt { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 16px; border-radius: 18px; border: 2px solid var(--eduo-line); background: #fff; color: var(--eduo-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.eduo-opt:hover { border-color: var(--eduo-ink); }
.eduo-opt:focus-visible { outline: 3px solid var(--eduo-cyan); outline-offset: 2px; }
.eduo-opt__dot { width: 20px; height: 20px; flex: 0 0 auto; border-radius: 50%; border: 2px solid var(--eduo-ink); display: flex; align-items: center; justify-content: center; }
.eduo-opt__dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: transparent; }
.eduo-opt__text { flex: 1; display: flex; flex-direction: column; line-height: 1.3; }
.eduo-opt__text span { font-size: 13px; color: var(--eduo-muted); }
.eduo-opt__price { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; font-size: 17px; white-space: nowrap; }
.eduo-opt__price span { font-size: 12px; color: var(--eduo-muted); }
.eduo-opt[aria-checked="true"] { border-color: var(--eduo-ink); }
.eduo-opt[aria-checked="true"] .eduo-opt__dot::after { background: var(--eduo-ink); }
.eduo-opt--duo[aria-checked="true"] { background: var(--eduo-ink); color: #fff; }
.eduo-opt--duo[aria-checked="true"] .eduo-opt__dot { border-color: var(--eduo-cyan); }
.eduo-opt--duo[aria-checked="true"] .eduo-opt__dot::after { background: var(--eduo-cyan); }
.eduo-opt--duo[aria-checked="true"] .eduo-opt__text span, .eduo-opt--duo[aria-checked="true"] .eduo-opt__price span { color: var(--eduo-grey); }
.eduo-opt--duo[aria-checked="true"] .eduo-opt__price strong { color: var(--eduo-cyan); }
.eduo-duo-only { display: none; flex-direction: column; gap: 10px; }
.eduo-choice.is-duo .eduo-duo-only { display: flex; }
.eduo-wait { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px dashed #00a6c7; border-radius: 16px; background: var(--eduo-soft); }
.eduo-wait__text { flex: 1; font-size: 13px; line-height: 1.35; }
.eduo-wait__text strong { display: block; font-size: 14px; }
.eduo-join { min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--eduo-ink); color: var(--eduo-cyan); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.eduo-join__on { display: none; }
.eduo-join[aria-pressed="true"] { background: var(--eduo-cyan); color: var(--eduo-ink); }
.eduo-join[aria-pressed="true"] .eduo-join__on { display: inline; }
.eduo-join[aria-pressed="true"] .eduo-join__off { display: none; }
.eduo-note { margin: 0; font-size: 13px; color: var(--eduo-muted); }
.eduo-note a { color: var(--eduo-teal); text-decoration: underline; margin-left: 4px; }
.eduo-alert { margin: 0; padding: 12px 14px; border-radius: 14px; background: #fff8e5; font-size: 14px; }
.eduo-alert--ok { background: var(--eduo-soft); border: 1px solid var(--eduo-line); }
.single_add_to_cart_button.eduo-btn-on { white-space: nowrap; }

/* Totals hint line */
.eduo-total-hint th, .eduo-total-hint td { color: var(--eduo-teal); font-size: 14px; font-weight: 500; }

/* ---------- Homepage banner ---------- */
.eduo-banner { display: flex; gap: 40px; align-items: center; padding: 40px 48px; border-radius: 28px; background: var(--eduo-ink); color: #fff; }
.eduo-banner__text { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.eduo-banner__title { margin: 0; font-family: var(--eduo-serif); font-weight: 400; font-size: clamp(30px, 4vw, 46px); line-height: 1.05; color: #fff; }
.eduo-banner__title span { color: var(--eduo-cyan); }
.eduo-banner__lead { margin: 0; max-width: 520px; color: var(--eduo-grey); }
.eduo-banner__live { flex: 0 0 360px; display: flex; flex-direction: column; gap: 12px; }
.eduo-live-row { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 20px; background: var(--eduo-dark2); border: 1px solid var(--eduo-dark3); color: #fff; text-decoration: none; }
.eduo-live-row:hover { border-color: var(--eduo-cyan); }
.eduo-live-row__name { flex: 1; font-size: 15px; }
.eduo-live-row strong { color: var(--eduo-cyan); font-size: 14px; white-space: nowrap; }
.eduo-link-cyan { color: var(--eduo-cyan); font-weight: 700; font-size: 14px; text-decoration: underline; }
@media (max-width: 860px) {
	.eduo-banner { flex-direction: column; align-items: stretch; padding: 28px 22px; gap: 24px; border-radius: 24px; }
	.eduo-banner__live { flex: 1 1 auto; }
}

/* ---------- Euler Duo page ---------- */
.eduo-page { display: flex; flex-direction: column; gap: 56px; padding-bottom: 40px; }
.eduo-page-body .page-title, .eduo-page-body .entry-header { display: none; }
.eduo-hero { display: flex; gap: 40px; align-items: center; padding: 48px; border-radius: 28px; background: var(--eduo-ink); color: #fff; }
.eduo-hero__text { flex: 1; display: flex; flex-direction: column; gap: 14px; }
.eduo-hero__title { margin: 0; font-family: var(--eduo-serif); font-weight: 400; font-size: clamp(36px, 5vw, 58px); line-height: 1.02; color: #fff; }
.eduo-hero__title span { color: var(--eduo-cyan); }
.eduo-hero__lead { margin: 0; color: var(--eduo-grey); max-width: 540px; }
.eduo-hero__art { flex: 0 0 340px; }
.eduo-pair { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: 24px; background: var(--eduo-dark2); border: 1px solid var(--eduo-dark3); }
.eduo-pair__row { display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 16px; background: #000; }
.eduo-pair__sw { width: 56px; height: 56px; border-radius: 14px; }
.eduo-pair__saved { align-self: center; background: var(--eduo-cyan); color: #000; font-weight: 700; padding: 6px 16px; border-radius: 999px; }
.eduo-h2 { margin: 0 0 6px; font-family: var(--eduo-serif); font-weight: 400; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; }
.eduo-sec__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.eduo-sec__head p { margin: 0; }
.eduo-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.eduo-step { display: flex; flex-direction: column; gap: 6px; padding: 22px; border: 1px solid var(--eduo-line); border-radius: 20px; }
.eduo-step__n { width: 40px; height: 40px; border-radius: 50%; background: var(--eduo-ink); color: var(--eduo-cyan); font-weight: 700; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.eduo-step span:last-child { color: var(--eduo-muted); font-size: 15px; }
.eduo-tiers { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; font-size: 14px; }
.eduo-tier { padding: 8px 14px; border-radius: 999px; background: var(--eduo-soft); border: 1px solid var(--eduo-line); }
.eduo-count { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: var(--eduo-ink); color: #fff; font-size: 14px; font-weight: 500; }
.eduo-open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.eduo-open__item { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--eduo-line); border-radius: 20px; }
.eduo-open__img { width: 72px; height: 72px; flex: 0 0 auto; border-radius: 14px; overflow: hidden; background: var(--eduo-soft); }
.eduo-open__img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.eduo-open__text { flex: 1; display: flex; flex-direction: column; line-height: 1.35; font-size: 14px; min-width: 0; }
.eduo-open__text strong { font-size: 16px; }
.eduo-open__save { color: var(--eduo-teal); font-weight: 700; }
.eduo-empty { padding: 22px; border-radius: 20px; background: var(--eduo-soft); text-align: center; }
.eduo-faq { display: flex; flex-direction: column; gap: 10px; max-width: 820px; }
.eduo-faq__item { border: 1px solid var(--eduo-line); border-radius: 18px; background: #fff; }
.eduo-faq__item[open] { background: var(--eduo-soft); }
.eduo-faq__item summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 16px 20px; font-weight: 700; cursor: pointer; }
.eduo-faq__item summary::-webkit-details-marker { display: none; }
.eduo-faq__item summary::after { content: "+"; font-size: 20px; line-height: 1; }
.eduo-faq__item[open] summary::after { content: "−"; }
.eduo-faq__item p { margin: 0; padding: 0 20px 16px; color: #333b3e; }
@media (max-width: 860px) {
	.eduo-page { gap: 40px; }
	.eduo-hero { flex-direction: column; align-items: stretch; padding: 28px 22px; border-radius: 24px; }
	.eduo-hero__art { flex: 1 1 auto; }
	.eduo-steps, .eduo-open { grid-template-columns: 1fr; }
}

/* ---------- After ordering ---------- */
.eduo-panel { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 26px 20px 30px; margin: 0 0 18px; border-radius: 28px; background: var(--eduo-ink); color: #fff; }
.eduo-panel__title { margin: 4px 0 0; font-family: var(--eduo-serif); font-weight: 400; font-size: clamp(28px, 4vw, 36px); line-height: 1.1; color: #fff; }
.eduo-panel__title span { color: var(--eduo-cyan); }
.eduo-panel__title--sm { font-size: 24px; }
.eduo-panel__lead { margin: 0; max-width: 420px; color: var(--eduo-grey); font-size: 15px; }
.eduo-panel__lead strong { color: var(--eduo-cyan); }
.eduo-panel__sum { margin: 4px 0 0; color: #fff; }
.eduo-panel__sum s { color: var(--eduo-grey); margin-right: 4px; }
.eduo-panel__sum strong { color: var(--eduo-cyan); }
.eduo-panel.is-compact { align-items: flex-start; text-align: left; padding: 20px 22px; border-radius: 22px; }
.eduo-panel--ended { background: #fff8e5; color: var(--eduo-ink); }
.eduo-panel--ended .eduo-panel__title, .eduo-panel--ended .eduo-panel__lead { color: var(--eduo-ink); }
.eduo-ring { position: relative; width: 190px; height: 190px; }
.eduo-ring svg { display: block; }
.eduo-ring__bar { transition: stroke-dashoffset 1s linear; }
.eduo-ring__in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.eduo-ring__in span { font-size: 12px; color: var(--eduo-grey); }
.eduo-ring__in strong { font-size: 32px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.eduo-after { display: flex; flex-direction: column; gap: 14px; max-width: 520px; margin: 0 auto 28px; }
.eduo-share { display: flex; flex-direction: column; gap: 10px; }
.eduo-share__row { display: flex; gap: 10px; }
.eduo-share p { margin: 0; }
.eduo-card { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid var(--eduo-line); border-radius: 20px; }
.eduo-card__row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.eduo-info { padding: 14px 16px; border-radius: 18px; background: var(--eduo-soft); font-size: 14px; color: #333b3e; }
.eduo-info strong { display: block; color: var(--eduo-ink); margin-bottom: 2px; }
.eduo-pop { display: flex; align-items: center; animation: eduo-pop .6s cubic-bezier(.2, .9, .3, 1.3) both; }
.eduo-pop span { width: 84px; height: 84px; border-radius: 22px; background: #f7d9dc; border: 3px solid #000; transform: rotate(-6deg); }
.eduo-pop span + span { background: #f3ebdd; margin-left: -18px; transform: rotate(6deg); }
.eduo-bits { position: absolute; left: 50%; top: 80px; }
.eduo-bit { position: absolute; opacity: 0; animation: eduo-burst 1.2s var(--d) ease-out both; }
@keyframes eduo-pop { 0% { transform: scale(0); } 60% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes eduo-burst { 0% { transform: translate(0, 0) scale(.4); opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) rotate(var(--r)); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	.eduo-live, .eduo-pop { animation: none; }
	.eduo-bits { display: none; }
	.eduo-ring__bar { transition: none; }
}
