/* ==========================================================================
   "דלת המקרר" — the playful layer.
   The whole app is the family fridge door: notes and polaroids held by washi tape,
   sticky notes for tips and missions, a sticker book for badges, banana coins,
   a doorframe height chart for levels. Rounded Fredoka headings, Amatic SC handwriting.
   ========================================================================== */

:root {
	--dk-font-display: 'Fredoka', 'Rubik', 'Heebo', system-ui, sans-serif;
	--dk-font-hand: 'Amatic SC', 'Fredoka', cursive;
	--dk-edge: rgba(42, 36, 32, .14);
	--dk-sticky: #FFE680;
	--dk-sticky-2: #FFD4E2;
	--dk-sticky-3: #CFEAF7;
	--dk-sticky-4: #D9F2C9;
	--dk-coin: #F6C945;
	--dk-coin-dark: #C9971A;
	--dk-doodles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%231F4D4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.07'%3E%3Cpath d='M30 46c10-14 30-16 40-4-12 2-22 10-26 22-6-6-12-12-14-18z'/%3E%3Cpath d='M44 50c4 6 10 10 18 10'/%3E%3Cpath d='M190 30l4 9 10 1-7 7 2 10-9-5-9 5 2-10-7-7 10-1z'/%3E%3Cpath d='M120 120c-6-8 2-18 10-12 8-6 16 4 10 12l-10 9z'/%3E%3Cpath d='M210 170c8 4 14 14 10 26-10-2-18-10-20-20'/%3E%3Cpath d='M220 196c-10 6-24 4-32-4'/%3E%3Cpath d='M40 200c0-10 10-16 18-12 4-8 18-6 18 4 8 0 10 12 2 14H44c-4 0-6-2-4-6z'/%3E%3Cpath d='M150 220q6-8 12 0t12 0'/%3E%3Ccircle cx='96' cy='86' r='3'/%3E%3Ccircle cx='240' cy='110' r='2'/%3E%3Cpath d='M86 150l6 6m0-6l-6 6'/%3E%3C/g%3E%3C/svg%3E");
	--dk-tape: repeating-linear-gradient(45deg, rgba(227, 168, 53, .55) 0 7px, rgba(255, 236, 170, .6) 7px 14px);
	--dk-tape-sage: repeating-linear-gradient(45deg, rgba(167, 188, 156, .6) 0 7px, rgba(226, 238, 218, .65) 7px 14px);
	--dk-tape-clay: repeating-linear-gradient(-45deg, rgba(222, 122, 80, .5) 0 7px, rgba(253, 222, 205, .6) 7px 14px);
}

body { background-image: var(--dk-doodles), var(--dk-grain); background-size: 260px 260px, 160px 160px; }

/* ---------- Type: rounded + handwritten ---------- */
h1, h2, h3, h4, h5, .dk-h1, .dk-h2, .dk-h3, .dk-h4 { font-family: var(--dk-font-display); font-weight: 700; letter-spacing: 0; }
.dk-h1 { font-weight: 700; line-height: 1.05; }
.dk-hand { font-family: var(--dk-font-hand); font-weight: 700; font-size: 1.45em; line-height: 1; letter-spacing: .01em; }
.dk-eyebrow { font-family: var(--dk-font-hand); font-size: 1.35rem; font-weight: 700; color: var(--dk-clay); transform: rotate(-2deg); display: inline-flex; }
.dk-btn, .dk-tab, .dk-chip, .dk-badge, .dk-logo__name, .dk-bottom-nav__item, .dk-nav__link, .dk-thread__title, .dk-article-card__title, .dk-user__name { font-family: var(--dk-font-display); }
.dk-logo__name { font-size: 1.35rem; font-weight: 700; }
.dk-swoosh::after { height: .5em; bottom: -.18em; }

/* ---------- Surfaces: notes on the fridge ---------- */
.dk-card, .dk-post, .dk-panel, .dk-list { border: 2px solid var(--dk-edge); box-shadow: 0 3px 0 var(--dk-line-2), 0 14px 28px -20px rgba(74, 52, 30, .45); }
.dk-card { border-radius: 24px; }
.dk-card--hover:hover, .dk-post:hover { box-shadow: 0 3px 0 var(--dk-line-2), 0 22px 38px -22px rgba(74, 52, 30, .55); }
.dk-post { border-radius: 26px; }
.dk-post__actions { border-top: 2px dashed var(--dk-line); }

/* Washi tape: add .dk-tape to any card/figure */
.dk-tape { position: relative; overflow: visible; }
.dk-tape::before { content: ''; position: absolute; top: -12px; left: 50%; width: 96px; height: 26px; margin-left: -48px; background: var(--dk-tape); transform: rotate(-3deg); border-radius: 3px; box-shadow: 0 1px 2px rgba(0,0,0,.08); z-index: 3; opacity: .95; }
.dk-tape--sage::before { background: var(--dk-tape-sage); transform: rotate(2.5deg); }
.dk-tape--clay::before { background: var(--dk-tape-clay); transform: rotate(-1.5deg); }
.dk-tape--corner::before { left: auto; inset-inline-end: -18px; top: 6px; transform: rotate(38deg); width: 80px; margin: 0; }

/* Sticky notes */
.dk-note { position: relative; background: var(--dk-sticky); border-radius: 4px 4px 4px 22px; padding: 1.1rem 1.1rem 1.2rem; box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 16px 26px -18px rgba(90, 70, 0, .55); transform: rotate(-1.2deg); color: #3B3012; }
.dk-note::after { content: ''; position: absolute; bottom: 0; inset-inline-start: 0; width: 26px; height: 26px; background: linear-gradient(135deg, rgba(0,0,0,.08) 50%, transparent 50%); border-radius: 0 0 0 22px; }
.dk-note--pink { background: var(--dk-sticky-2); transform: rotate(1deg); }
.dk-note--blue { background: var(--dk-sticky-3); transform: rotate(-.6deg); }
.dk-note--green { background: var(--dk-sticky-4); transform: rotate(.8deg); }
.dk-note__title { font-family: var(--dk-font-hand); font-size: 1.9rem; font-weight: 700; line-height: 1; margin: 0 0 .35rem; color: inherit; }
.dk-note h3, .dk-note h4 { color: inherit; }

/* Polaroids */
.dk-polaroid { background: #fff; padding: 10px 10px 40px; border-radius: 6px; box-shadow: 0 16px 30px -18px rgba(74, 52, 30, .6); transform: rotate(-2deg); position: relative; display: inline-block; }
.dk-polaroid img { display: block; border-radius: 3px; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.dk-polaroid figcaption, .dk-polaroid__caption { position: absolute; inset-inline: 0; bottom: 8px; text-align: center; font-family: var(--dk-font-hand); font-size: 1.5rem; font-weight: 700; color: var(--dk-ink-2); }
.dk-polaroid:nth-child(even) { transform: rotate(2deg); }

/* Stickers (achievements) */
.dk-sticker__art { border: 4px solid #fff !important; box-shadow: 0 0 0 2px var(--dk-edge), 0 10px 18px -10px rgba(74, 52, 30, .5) !important; }

/* ---------- Buttons: chunky, squishy, game-like ---------- */
.dk-btn { border-width: 2px; border-radius: 18px; --btn-shadow: 0 4px 0 0 var(--dk-line-2); font-weight: 600; letter-spacing: .01em; }
.dk-btn--primary { --btn-bg: linear-gradient(180deg, #D9673A 0%, var(--dk-clay) 100%); background: var(--btn-bg); --btn-shadow: 0 5px 0 0 var(--dk-clay-600); }
.dk-btn--primary:hover { background: linear-gradient(180deg, #E3784B 0%, #D25F31 100%); }
.dk-btn--teal { --btn-shadow: 0 5px 0 0 #133230; }
.dk-btn--mustard { --btn-shadow: 0 5px 0 0 var(--dk-mustard-600); }
.dk-btn:active { transform: translateY(4px) scale(.98); box-shadow: 0 1px 0 0 var(--btn-bd); }
.dk-btn--lg { border-radius: 22px; font-size: 1.15rem; min-height: 58px; }
.dk-btn--primary::before { content: ''; position: absolute; inset: 4px 10% auto; height: 34%; border-radius: 99px; background: linear-gradient(rgba(255,255,255,.35), rgba(255,255,255,0)); pointer-events: none; }
.dk-btn--primary { position: relative; overflow: hidden; }

/* ---------- Chips & tabs: fridge magnets ---------- */
.dk-chip { border-width: 2px; font-weight: 600; box-shadow: 0 2px 0 var(--dk-line-2); }
.dk-chip:hover { transform: translateY(-2px) rotate(-1deg); }
.dk-chip.is-active, .dk-chip[aria-pressed="true"] { box-shadow: 0 3px 0 #133230; transform: rotate(-1.5deg) scale(1.04); }
.dk-chips .dk-chip:nth-child(3n+2).is-active { background: var(--dk-clay); border-color: var(--dk-clay); box-shadow: 0 3px 0 var(--dk-clay-600); transform: rotate(1.2deg) scale(1.04); }
.dk-chips .dk-chip:nth-child(3n+3).is-active { background: var(--dk-mustard); border-color: var(--dk-mustard); color: var(--dk-ink); box-shadow: 0 3px 0 var(--dk-mustard-600); }
.dk-tabs { background: rgba(245, 234, 214, .8); border: 2px solid var(--dk-edge); }
.dk-tab { font-weight: 600; }
.dk-tab.is-active, .dk-tab[aria-selected="true"] { background: var(--dk-teal); color: #fff; box-shadow: 0 3px 0 #133230; }

/* ---------- Coins, streaks, levels: the game HUD ---------- */
.dk-coin { display: inline-flex; align-items: center; gap: .35em; padding: .15em .75em .15em .3em; border-radius: 99px; background: linear-gradient(180deg, #FFF3C4, #FFE38A); border: 2px solid #E8C25A; box-shadow: 0 3px 0 #D3A93A; font-family: var(--dk-font-display); font-weight: 700; color: #6B4B00; text-decoration: none; line-height: 1.7; white-space: nowrap; }
.dk-coin__icon { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, #FFF7D6, var(--dk-coin) 55%, var(--dk-coin-dark)); box-shadow: inset 0 -2px 0 rgba(0,0,0,.12); position: relative; overflow: hidden; }
.dk-coin__icon img { width: 18px; height: auto; }
.dk-coin__icon::after { content: ''; position: absolute; top: -30%; left: -60%; width: 40%; height: 160%; background: rgba(255,255,255,.6); transform: rotate(25deg); animation: dk-shine 3.2s ease-in-out infinite; }
.dk-coin:hover { color: #6B4B00; transform: translateY(-1px); }
.dk-banana-pill { border-width: 2px; box-shadow: 0 3px 0 #D3A93A; font-weight: 700; font-family: var(--dk-font-display); }
.dk-streak { font-family: var(--dk-font-display); font-weight: 700; font-size: 1.05em; }
.dk-streak__flame { font-size: 1.25em; filter: drop-shadow(0 2px 3px rgba(200, 87, 43, .35)); }
.dk-progress { height: 14px; border: 2px solid var(--dk-edge); background: #fff; }
.dk-progress__bar { background: repeating-linear-gradient(-45deg, var(--dk-mustard) 0 10px, #F2C25E 10px 20px); background-size: 28px 28px; animation: dk-candy 1.2s linear infinite; box-shadow: inset 0 -3px 0 rgba(0,0,0,.08); }
.dk-ring { --thick: 9px; }

/* Height chart (levels as marks on the kitchen doorframe) */
.dk-growth { position: relative; display: flex; flex-direction: column-reverse; gap: 0; padding-inline-start: 34px; background: linear-gradient(90deg, #EBD9BC, #F3E6CF); border-radius: 12px; border: 2px solid var(--dk-edge); }
.dk-growth__mark { position: relative; padding: .45rem .7rem; font-family: var(--dk-font-hand); font-size: 1.35rem; font-weight: 700; color: var(--dk-ink-2); border-bottom: 2px solid rgba(74, 52, 30, .25); }
.dk-growth__mark::before { content: ''; position: absolute; inset-inline-start: -34px; bottom: -2px; width: 28px; height: 2px; background: rgba(74, 52, 30, .45); }
.dk-growth__mark.is-reached { color: var(--dk-teal); }
.dk-growth__mark.is-current { background: rgba(255, 230, 128, .7); color: var(--dk-clay-600); }
.dk-growth__mark.is-current::after { content: '🦍'; position: absolute; inset-inline-start: -30px; top: 50%; transform: translateY(-50%); font-size: 1.3rem; animation: dk-guri-idle 3s ease-in-out infinite; }

/* ---------- Badges as stickers ---------- */
.dk-badge { border: 2px solid rgba(255,255,255,.9); box-shadow: 0 0 0 1px var(--dk-edge); font-weight: 700; }
.dk-badge--premium { animation: dk-glimmer 3s ease-in-out infinite; }
.dk-badge--count { border-color: var(--dk-paper); box-shadow: none; }

/* ---------- Articles: recipe cards pinned to the fridge ---------- */
.dk-article-card { border: 2px solid var(--dk-edge); border-radius: 22px; box-shadow: 0 3px 0 var(--dk-line-2), 0 14px 28px -20px rgba(74, 52, 30, .45); position: relative; }
.dk-article-card:nth-child(3n+1) { transform: rotate(-.6deg); }
.dk-article-card:nth-child(3n+2) { transform: rotate(.5deg); }
.dk-article-card:nth-child(3n) { transform: rotate(-.2deg); }
.dk-article-card:hover { transform: translateY(-6px) rotate(0) scale(1.01); }
.dk-article-card::before { content: ''; position: absolute; top: -11px; left: 50%; width: 86px; height: 24px; margin-left: -43px; background: var(--dk-tape); transform: rotate(-3deg); border-radius: 3px; z-index: 3; }
.dk-article-card:nth-child(3n+2)::before { background: var(--dk-tape-sage); transform: rotate(2deg); }
.dk-article-card:nth-child(3n)::before { background: var(--dk-tape-clay); transform: rotate(-1deg); }
.dk-article-card__img { margin: 10px 10px 0; border-radius: 14px; }
.dk-article-card__reward { position: absolute; top: 18px; inset-inline-end: 18px; z-index: 2; }
.dk-article-card__title { font-weight: 700; font-size: 1.18rem; }

/* ---------- Forum threads & notifications ---------- */
.dk-thread { border: 2px solid var(--dk-edge); border-radius: 20px; box-shadow: 0 3px 0 var(--dk-line-2); }
.dk-thread:hover { transform: translateY(-2px) rotate(-.3deg); }
.dk-thread.is-solved { background: linear-gradient(90deg, var(--dk-paper) 70%, #EAF6E6); }
.dk-stamp { display: inline-flex; align-items: center; gap: .3em; padding: .2em .7em; border: 3px solid var(--dk-success); color: var(--dk-success); border-radius: 10px; font-family: var(--dk-font-display); font-weight: 700; transform: rotate(-6deg); text-transform: uppercase; letter-spacing: .04em; background: rgba(255,255,255,.7); }
.dk-stamp--clay { border-color: var(--dk-clay); color: var(--dk-clay); }

/* ---------- Chat bubbles: comic speech bubbles ---------- */
.dk-bubble { border: 2px solid rgba(42, 36, 32, .08); }
.dk-bubble--guri { background: #FFF6D2; border: 2px solid #F1D57E; box-shadow: 0 3px 0 #F1D57E; }

/* ---------- Header & nav ---------- */
.dk-header { background: rgba(251, 244, 232, .9); }
.dk-nav__link.is-active, .dk-nav .current-menu-item > a { box-shadow: 0 3px 0 #133230; }
.dk-bottom-nav { border: 2px solid var(--dk-edge); border-radius: 28px; }
.dk-bottom-nav__item.is-active .dk-bottom-nav__icon { box-shadow: 0 3px 0 #133230; transform: translateY(-4px) rotate(-4deg); }
.dk-bottom-nav__item.is-active .dk-bottom-nav__label { color: var(--dk-teal); }

/* ---------- Guri: bigger personality ---------- */
.dk-guri__btn { width: 82px; height: 82px; border: 4px solid #fff; box-shadow: 0 6px 0 #D3A93A, 0 18px 30px -12px rgba(74, 52, 30, .55); }
.dk-guri__btn::before { content: ''; position: absolute; inset: -8px; border-radius: 50%; border: 3px dashed rgba(227, 168, 53, .6); animation: dk-spin 14s linear infinite; }
.dk-guri__bubble { border: 2px solid #F1D57E; box-shadow: 0 4px 0 #F1D57E, 0 20px 34px -20px rgba(74, 52, 30, .5); font-size: .95rem; }
.dk-guri__bubble strong { font-family: var(--dk-font-hand); font-size: 1.5rem; color: var(--dk-clay); }

/* ---------- Empty states & illustrations ---------- */
.dk-empty__art img { border-radius: 8px; border: 10px solid #fff; border-bottom-width: 34px; transform: rotate(-3deg); box-shadow: 0 18px 30px -18px rgba(74, 52, 30, .6); }
.dk-empty__title { font-size: 1.6rem; }
.dk-illu--frame { border-radius: 8px; border: 10px solid #fff; border-bottom-width: 30px; transform: rotate(-2deg); }

/* ---------- Upsell: a golden ticket ---------- */
.dk-upsell { border: 3px solid rgba(227, 168, 53, .65); box-shadow: 0 5px 0 #133230, 0 24px 40px -24px rgba(20, 50, 48, .7); }
.dk-upsell::before { content: '✨'; position: absolute; top: 12px; inset-inline-start: 16px; font-size: 1.6rem; animation: dk-twinkle 2.6s ease-in-out infinite; }

/* ---------- Interaction helpers ---------- */
.dk-wiggle-hover:hover { animation: dk-wiggle .5s ease-in-out; }
.dk-bounce-in { animation: dk-bounce-in .7s var(--dk-ease-bounce) both; }
.dk-float { animation: dk-float 6s ease-in-out infinite; }
.dk-tilt-l { transform: rotate(-2deg); }
.dk-tilt-r { transform: rotate(2deg); }

@keyframes dk-shine { 0%, 60% { left: -60%; } 80%, 100% { left: 130%; } }
@keyframes dk-candy { to { background-position: 28px 0; } }
@keyframes dk-glimmer { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.12) saturate(1.1); } }
@keyframes dk-twinkle { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(1.25) rotate(15deg); opacity: .7; } }
@keyframes dk-wiggle { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-3deg); } 75% { transform: rotate(3deg); } }
@keyframes dk-bounce-in { 0% { opacity: 0; transform: scale(.6) translateY(20px); } 60% { opacity: 1; transform: scale(1.06); } 100% { transform: none; } }

@media (prefers-reduced-motion: reduce) {
	.dk-article-card, .dk-note, .dk-polaroid, .dk-chip.is-active { transform: none !important; }
}

/* Buttons keep their own foreground in every context (links inside dark sections must never recolour them). */
a.dk-btn, a.dk-btn:visited, a.dk-btn:hover, a.dk-btn:focus { color: var(--btn-fg); text-decoration: none; }
.dk-btn--mustard:hover { --btn-bg: #EDB84C; }
.dk-upsell a:not(.dk-btn), .dk-card--teal a:not(.dk-btn) { color: var(--dk-mustard); }

/* ---------- Animated Guri ---------- */
.dk-guri-media { display: block; max-width: 100%; height: auto; background: transparent; }
.dk-guri__btn .dk-guri__video { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; border-radius: 50%; transform: scale(1.5) translateY(14%); }
.dk-guri__btn { overflow: hidden; }
.dk-guri__btn img { object-fit: cover; object-position: 50% 15%; transform: scale(1.45) translateY(12%); }

/* ---------- Upsell popup (free allowance used up) ---------- */
.dk-pop { position: fixed; inset: 0; z-index: 1350; display: grid; place-items: center; padding: 16px; opacity: 0; transition: opacity .25s; }
.dk-pop.is-in { opacity: 1; }
.dk-pop__backdrop { position: absolute; inset: 0; background: rgba(31, 77, 74, .55); backdrop-filter: blur(4px); }
.dk-pop__card { position: relative; width: min(420px, 100%); background: var(--dk-paper); border-radius: 30px; padding: 92px 22px 22px; text-align: center; border: 3px solid #F1D57E; box-shadow: 0 6px 0 #E3A835, 0 30px 60px -20px rgba(0,0,0,.5); transform: translateY(30px) scale(.94); transition: transform .45s var(--dk-ease-bounce); }
.dk-pop.is-in .dk-pop__card { transform: none; }
.dk-pop__guri { position: absolute; top: -78px; left: 50%; width: 170px; height: auto; transform: translateX(-50%); filter: drop-shadow(0 12px 14px rgba(0,0,0,.25)); animation: dk-guri-jump 2.6s var(--dk-ease-bounce) infinite; }
.dk-pop__burst { position: absolute; top: 14px; inset-inline-start: 22px; font-size: 1.6rem; animation: dk-twinkle 2s ease-in-out infinite; }
.dk-pop__x { position: absolute; top: 10px; inset-inline-end: 12px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--dk-cream-2); font-size: 22px; cursor: pointer; color: var(--dk-ink-2); }
.dk-pop__title { font-family: var(--dk-font-display); font-weight: 700; font-size: 1.55rem; color: var(--dk-teal); margin: 0 0 .4rem; }
.dk-pop__text { margin: 0 0 .8rem; color: var(--dk-ink-2); line-height: 1.6; }
.dk-pop__perks { list-style: none; margin: 0 0 1rem; padding: .7rem .9rem; display: grid; gap: .35rem; text-align: start; background: var(--dk-sticky, #FFE680); border-radius: 6px 6px 6px 20px; transform: rotate(-.8deg); font-weight: 600; color: #3B3012; font-size: .95rem; }
.dk-pop__actions { display: grid; gap: .55rem; }
.dk-pop__note { margin: .8rem 0 0; font-size: .85rem; color: var(--dk-muted); }

.dk-empty__art--guri img { border: 0 !important; transform: none !important; box-shadow: none !important; border-radius: 0 !important; aspect-ratio: auto !important; object-fit: contain !important; max-height: 240px; width: auto; filter: drop-shadow(0 14px 18px rgba(74,52,30,.22)); animation: dk-float 6s ease-in-out infinite; }
.dk-404__art img { max-height: 300px; width: auto; filter: drop-shadow(0 16px 20px rgba(74,52,30,.25)); }

/* FAQ accordion (Elementor atomic): the empty icon slot became a round "+" toggle. */
.e-accordion-item-header-base { cursor: pointer; list-style: none; align-items: center; justify-content: space-between; gap: 14px; padding-block: 12px; }
.e-accordion-item-header-base::-webkit-details-marker { display: none; }
.e-accordion-item-header-base > :first-child { flex: 1 1 auto; min-width: 0; }
.e-accordion-item-icon-base { flex: 0 0 36px; width: 36px !important; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--dk-mustard-100); border: 2px solid var(--dk-line); box-shadow: 0 2px 0 var(--dk-line-2); transition: transform var(--dk-dur) var(--dk-ease-bounce), background var(--dk-dur); }
.e-accordion-item-icon-base::before { content: "+"; font: 700 22px/1 var(--dk-font-display); color: var(--dk-teal); }
details[open] > .e-accordion-item-header-base .e-accordion-item-icon-base { transform: rotate(45deg); background: var(--dk-banana); }
.e-accordion-item-header-base:hover .e-accordion-item-icon-base { transform: scale(1.08); }
details[open] > .e-accordion-item-header-base:hover .e-accordion-item-icon-base { transform: rotate(45deg) scale(1.08); }
@media (prefers-reduced-motion: reduce) { .e-accordion-item-icon-base { transition: none; } }

/* Section labels center over centered blocks (FAQ list stretches its wrap). */
.dk-wrap:has(> .e-accordion-base) > .dk-eyebrow { align-self: center; }

/* Phones: smaller floating Guri so it covers less content. */
@media (max-width: 767px) {
	.dk-guri__btn { width: 64px; height: 64px; border-width: 3px; box-shadow: 0 4px 0 #D3A93A, 0 12px 22px -10px rgba(74, 52, 30, .55); }
	.dk-guri__btn::before { inset: -6px; }
}

/* ===================================================================
   Home hero (derech-hero widget): calm, one message, one action.
   =================================================================== */
.e-con:has(> .elementor-widget-derech-hero), .e-con:has(> .elementor-widget-derech-ai-demo) { padding: 0 !important; }
.dk-hero3 { position: relative; padding-block: clamp(20px, 4vw, 64px) clamp(36px, 5vw, 88px); }
.dk-hero3__inner { max-width: 1180px; margin-inline: auto; padding-inline: 20px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: clamp(24px, 4vw, 64px); }
.dk-hero3__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; }
.dk-hero3__eyebrow { margin: 0; font-family: var(--dk-font-hand); font-weight: 700; font-size: 1.75rem; line-height: 1; color: var(--dk-clay); transform: rotate(-2deg); }
.dk-hero3__title { margin: 0; font-family: var(--dk-font-display); font-weight: 700; font-size: clamp(1.85rem, 1.1rem + 3.2vw, 3.6rem); line-height: 1.12; color: var(--dk-teal); }
.dk-hero3__l1, .dk-hero3__l2 { display: block; text-wrap: balance; }
.dk-hero3__l2 { color: var(--dk-clay); }
.dk-hero3__lead { margin: 0; max-width: 33em; font-size: clamp(1.05rem, .98rem + .3vw, 1.22rem); line-height: 1.7; color: var(--dk-ink-2); }
.dk-hero3__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 4px; }
.dk-hero3__link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; color: var(--dk-teal); text-decoration: none; border-bottom: 2px dashed transparent; transition: border-color var(--dk-dur); }
.dk-hero3__link:hover, .dk-hero3__link:focus-visible { border-bottom-color: currentColor; color: var(--dk-teal); }
.dk-hero3__link .dk-icon { transition: transform var(--dk-dur) var(--dk-ease); }
.dk-hero3__link:hover .dk-icon { transform: translateX(-4px); }
.dk-hero3__trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: .95rem; font-weight: 500; color: var(--dk-muted); }
.dk-hero3__trust li::before { content: "✓"; margin-inline-end: 6px; font-weight: 800; color: var(--dk-sage-600); }
.dk-hero3__art { position: relative; display: flex; justify-content: center; align-items: flex-end; min-height: 440px; }
.dk-hero3__blob { position: absolute; inset-inline: 4%; inset-block: 14% 2%; border-radius: 48% 52% 46% 54% / 54% 46% 54% 46%; background: radial-gradient(circle at 50% 40%, #FFE6A3 0%, #FDEFC9 55%, #FBF4E8 100%); box-shadow: inset 0 -10px 0 rgba(227, 168, 53, .12); animation: dk-blob 14s ease-in-out infinite; }
.dk-hero3 .dk-hero3__guri { position: relative; z-index: 1; width: min(400px, 92%); height: auto; filter: drop-shadow(0 18px 22px rgba(74, 52, 30, .22)); }
.dk-hero3__bubble { position: absolute; z-index: 2; top: 0; inset-inline-end: 0; max-width: 230px; margin: 0; padding: 12px 16px; background: #FFF9E8; border: 2px solid #F1DDA6; border-radius: 22px 22px 22px 6px; box-shadow: var(--dk-shadow); font-family: var(--dk-font-display); font-weight: 600; font-size: 1rem; line-height: 1.45; color: var(--dk-teal); animation: dk-rise .6s var(--dk-ease-bounce) both .5s; }
@keyframes dk-blob { 0%, 100% { border-radius: 48% 52% 46% 54% / 54% 46% 54% 46%; } 50% { border-radius: 54% 46% 52% 48% / 46% 54% 46% 54%; } }

@media (max-width: 960px) {
	.dk-hero3__inner { grid-template-columns: 1fr; }
	.dk-hero3__art { order: -1; min-height: 0; padding-top: 8px; }
	.dk-hero3 .dk-hero3__guri { width: min(240px, 62vw); }
	.dk-hero3__bubble { top: 4px; inset-inline-end: max(0px, calc(50% - 230px)); max-width: 190px; font-size: .92rem; padding: 10px 13px; }
	.dk-hero3__copy { align-items: center; text-align: center; gap: 14px; }
	.dk-hero3__ctas, .dk-hero3__trust { justify-content: center; }
	.dk-hero3__blob { inset-inline: calc(50% - 150px); inset-block: 18% 0; }
}
@media (max-width: 420px) {
	.dk-hero3__eyebrow { font-size: 1.45rem; }
	.dk-hero3 .dk-hero3__guri { width: 200px; }
	.dk-hero3__bubble { max-width: 150px; font-size: .85rem; }
	.dk-hero3__ctas .dk-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .dk-hero3__blob, .dk-hero3__bubble { animation: none; } }

/* ===================================================================
   "Ask Guri" band (derech-ai-demo widget).
   =================================================================== */
.dk-aidemo { max-width: 1180px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); align-items: center; gap: clamp(28px, 5vw, 72px); padding: clamp(32px, 5vw, 64px) clamp(20px, 5vw, 64px); background: var(--dk-teal); color: #fff; border-radius: 36px; position: relative; overflow: hidden; box-shadow: 0 8px 0 #163A37; }
.dk-aidemo::before { content: ''; position: absolute; inset-inline-start: -80px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(227, 168, 53, .22), transparent 70%); pointer-events: none; }
.dk-aidemo__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0; position: relative; }
.dk-aidemo__eyebrow { margin: 0; font-family: var(--dk-font-hand); font-weight: 700; font-size: 1.7rem; line-height: 1; color: var(--dk-mustard); transform: rotate(-2deg); }
.dk-aidemo__title { margin: 0; font-family: var(--dk-font-display); font-weight: 700; font-size: clamp(1.8rem, 1.2rem + 2vw, 2.75rem); line-height: 1.15; color: #fff; }
.dk-aidemo__lead { margin: 0; max-width: 32em; font-size: 1.1rem; line-height: 1.7; color: #CFE0DC; }
.dk-aidemo__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 6px; }
.dk-aidemo__note { font-size: .9rem; color: #A9C7C2; }
.dk-aidemo__phone { position: relative; background: var(--dk-paper); color: var(--dk-ink); border-radius: 28px; padding: 0 0 18px; box-shadow: 0 24px 48px -18px rgba(0, 0, 0, .45); border: 6px solid #fff; min-width: 0; }
.dk-aidemo__bar { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--dk-line); background: #FFF9E8; border-radius: 22px 22px 0 0; }
.dk-aidemo__bar img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; background: var(--dk-mustard-100); }
.dk-aidemo__bar strong { display: block; font-family: var(--dk-font-display); color: var(--dk-teal); line-height: 1.1; }
.dk-aidemo__bar span { font-size: .8rem; color: var(--dk-sage-600); }
.dk-aidemo__msgs { display: flex; flex-direction: column; gap: 12px; padding: 18px 16px 70px; }
.dk-aidemo__q { align-self: flex-start; max-width: 85%; margin: 0; padding: 10px 14px; background: #DDEFF5; border-radius: 18px 18px 18px 4px; font-weight: 500; line-height: 1.5; }
.dk-aidemo__a { align-self: flex-end; max-width: 90%; padding: 12px 14px; background: #FFF3C4; border: 2px solid #F1DDA6; border-radius: 18px 18px 4px 18px; line-height: 1.55; }
.dk-aidemo__a p { margin: 0; }
.dk-aidemo__say { margin-top: 8px !important; padding-top: 8px; border-top: 1px dashed #E3C77A; font-weight: 600; color: var(--dk-teal); }
.dk-aidemo__say span { color: var(--dk-clay); }
.dk-aidemo__typing { align-self: flex-end; display: inline-flex; gap: 4px; margin: 0; padding: 10px 14px; background: #FFF3C4; border-radius: 18px; }
.dk-aidemo__typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--dk-mustard); animation: dk-dot 1s infinite; }
.dk-aidemo__typing span:nth-child(2) { animation-delay: .15s; }
.dk-aidemo__typing span:nth-child(3) { animation-delay: .3s; }
@keyframes dk-dot { 0%, 100% { opacity: .3; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
.dk-aidemo .dk-aidemo__guri { position: absolute; inset-inline-start: 10px; bottom: -6px; width: 110px; height: auto; filter: drop-shadow(0 8px 10px rgba(74, 52, 30, .25)); }
/* Scripted reveal: question, typing dots, then the answer. */
.dk-aidemo__phone.dk-reveal { opacity: 1; transform: none; }
.dk-aidemo__phone .dk-aidemo__q, .dk-aidemo__phone .dk-aidemo__a { opacity: 0; transform: translateY(10px); }
.dk-aidemo__phone .dk-aidemo__typing { opacity: 0; }
.dk-aidemo__phone.is-visible .dk-aidemo__q { animation: dk-msg-in .45s var(--dk-ease) .2s forwards; }
.dk-aidemo__phone.is-visible .dk-aidemo__typing { animation: dk-typing 1.4s ease .8s forwards; }
.dk-aidemo__phone.is-visible .dk-aidemo__a { animation: dk-msg-in .5s var(--dk-ease-bounce) 2.2s forwards; }
@keyframes dk-msg-in { to { opacity: 1; transform: none; } }
@keyframes dk-typing { 0% { opacity: 0; } 15%, 85% { opacity: 1; } 100% { opacity: 0; height: 0; padding-block: 0; margin-block: -6px; } }
@media (max-width: 960px) {
	.dk-aidemo { grid-template-columns: 1fr; border-radius: 28px; }
	.dk-aidemo__copy { align-items: center; text-align: center; }
	.dk-aidemo__ctas { justify-content: center; }
	.dk-aidemo__phone { max-width: 440px; width: 100%; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.dk-aidemo__phone .dk-aidemo__q, .dk-aidemo__phone .dk-aidemo__a { opacity: 1; transform: none; animation: none !important; }
	.dk-aidemo__phone .dk-aidemo__typing { display: none; }
}
.elementor-widget-derech-hero, .elementor-widget-derech-ai-demo { width: 100%; align-self: stretch; }
/* Hero bubble sits beside Guri's head (never over the waving hand). */
.dk-hero3__bubble { top: 8%; inset-inline-start: -4%; inset-inline-end: auto; }
@media (max-width: 960px) {
	.dk-hero3__art { flex-direction: row; align-items: center; justify-content: center; gap: 6px; }
	.dk-hero3__bubble { position: relative; top: auto; inset: auto; order: 0; align-self: flex-start; margin-top: 18px; flex: 0 1 190px; }
	.dk-hero3 .dk-hero3__guri { order: 1; width: min(230px, 54vw); }
	.dk-hero3__blob { inset-inline: auto; inset-inline-end: calc(50% - 170px); width: 260px; inset-block: 12% 0; }
}
@media (max-width: 420px) {
	.dk-hero3 .dk-hero3__guri { width: 178px; }
	.dk-hero3__bubble { flex-basis: 150px; }
	.dk-hero3__blob { width: 200px; inset-inline-end: 4px; }
}

/* FAQ toggle: beat Elementor's base accordion rules (.elementor .e-accordion-item-icon-base). */
.elementor .e-accordion-item-header-base { cursor: pointer; align-items: center; justify-content: space-between; gap: 14px; padding-block: 12px; }
.elementor .e-accordion-item-header-base .e-accordion-item-icon-base { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border-radius: 50%; display: grid; place-items: center; background: var(--dk-mustard-100); border: 2px solid var(--dk-line); box-shadow: 0 2px 0 var(--dk-line-2); transition: transform var(--dk-dur) var(--dk-ease-bounce), background var(--dk-dur); }
.elementor .e-accordion-item-header-base .e-accordion-item-icon-base::before { content: "+"; font: 700 22px/1 var(--dk-font-display); color: var(--dk-teal); }
.elementor details[open] > .e-accordion-item-header-base .e-accordion-item-icon-base { transform: rotate(45deg); background: var(--dk-banana); }

/* Guri's greeting waits while the cookie banner is on screen (they shared the same corner). */
body:has(#dcm-banner:not([hidden])) .dk-guri__bubble { display: none !important; }

/* Home page on phones: tighter rhythm, smaller illustrations, 2-up feature cards. */
@media (max-width: 767px) {
	.elementor-56 [data-id="7e70a92c"] img, .elementor-56 [data-id="1daccc39"] img { width: 200px !important; max-width: 60vw; margin-inline: auto; }
	.elementor-56 [data-id="e5af8bc"] { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px !important; }
	.elementor-56 [data-id="e5af8bc"] > .e-con { width: auto !important; max-width: none !important; min-width: 0; padding: 14px 10px !important; gap: 6px !important; }
	.elementor-56 [data-id="e5af8bc"] > .e-con img { width: 96px !important; max-width: 100%; height: auto; margin-inline: auto; }
	.elementor-56 [data-id="e5af8bc"] h3, .elementor-56 [data-id="e5af8bc"] .dk-h3 { font-size: 1.02rem !important; line-height: 1.25; }
	.elementor-56 [data-id="e5af8bc"] p { font-size: .86rem !important; line-height: 1.5; }
	.elementor-56 [data-id="53f79bde"] img { width: 150px !important; max-width: 50vw; }
	.elementor-56 [data-id="61ef86d0"] .dk-chip { font-size: 13px !important; padding: 5px 10px !important; }
}
.elementor .e-accordion-item-header-base .e-accordion-item-icon-base { position: relative; }
.elementor .e-accordion-item-header-base .e-accordion-item-icon-base::before { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; line-height: 1; padding-bottom: 2px; }

/* Hero bubble in normal flow above Guri at every width: it can never cover his face. */
@media (min-width: 961px) {
	.dk-hero3__art { flex-direction: column; align-items: center; justify-content: flex-end; }
	.dk-hero3__bubble { position: relative; top: auto; inset: auto; align-self: center; margin: 0 0 14px; transform: translateX(18%); max-width: 260px; }
	.dk-hero3__bubble::after { content: ''; position: absolute; bottom: -11px; inset-inline-end: 34%; width: 20px; height: 20px; background: #FFF9E8; border-inline-end: 2px solid #F1DDA6; border-bottom: 2px solid #F1DDA6; transform: rotate(45deg); }
	.dk-hero3 .dk-hero3__guri { width: min(360px, 88%); }
	.dk-hero3__blob { inset-block: 26% 0; }
}

/* Article category filters: one tidy scrollable row of chips (no tall stretched pills). */
.dk-articles-filter, .dk-archive .dk-chips, .blog .dk-chips, .archive .dk-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-block: 6px 10px; -webkit-mask-image: linear-gradient(to left, #000 92%, transparent); mask-image: linear-gradient(to left, #000 92%, transparent); }
.blog .dk-chips::-webkit-scrollbar, .archive .dk-chips::-webkit-scrollbar { display: none; }
.blog .dk-chips .dk-chip, .archive .dk-chips .dk-chip { flex: 0 0 auto; white-space: nowrap; }

/* ===================================================================
   Member home (signed-in dashboard on the front page).
   =================================================================== */
.dk-mhome { display: flex; flex-direction: column; gap: clamp(18px, 3vw, 28px); padding-block: clamp(12px, 3vw, 28px) 40px; }
.dk-mhome__hello { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: clamp(18px, 3vw, 30px); background: linear-gradient(135deg, #FFF6DA, #FDEBC8); border: 2px solid #F1DDA6; border-radius: 28px; box-shadow: 0 5px 0 #EBCB7C; position: relative; overflow: hidden; }
.dk-mhome__eyebrow { margin: 0 0 4px; font-family: var(--dk-font-hand); font-weight: 700; font-size: 1.6rem; line-height: 1; color: var(--dk-clay); }
.dk-mhome__title { margin: 0 0 12px; font-family: var(--dk-font-display); font-weight: 700; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem); line-height: 1.15; color: var(--dk-teal); }
.dk-mhome__stats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dk-mhome__stats li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: #fff; border: 2px solid var(--dk-line); border-radius: 999px; font-weight: 600; font-size: .95rem; color: var(--dk-ink-2); }
.dk-mhome__stats li.is-premium { background: #FFF3C4; border-color: #E8C25A; }
.dk-mhome__level { margin-top: 12px; max-width: 420px; }
.dk-mhome__level-row { display: flex; justify-content: space-between; gap: 8px; font-size: .88rem; font-weight: 600; color: var(--dk-teal); margin-bottom: 6px; }
.dk-mhome__hello-guri { align-self: end; margin-block-end: calc(-1 * clamp(18px, 3vw, 30px)); }
.dk-mhome .dk-mhome__guri { width: clamp(110px, 18vw, 190px); height: auto; display: block; }

.dk-mhome__recipes { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 16px clamp(16px, 3vw, 28px); background: var(--dk-teal); color: #fff; border-radius: 26px; text-decoration: none; box-shadow: 0 6px 0 #163A37; position: relative; overflow: hidden; transition: transform var(--dk-dur) var(--dk-ease); }
.dk-mhome__recipes:hover { transform: translateY(-2px); color: #fff; }
.dk-mhome__recipes::after { content: '📸'; position: absolute; inset-inline-end: 22%; top: -8px; font-size: 3.2rem; opacity: .12; transform: rotate(-12deg); pointer-events: none; }
.dk-mhome .dk-mhome__recipes-guri { width: clamp(84px, 12vw, 130px); height: auto; display: block; margin-block: -10px -20px; }
.dk-mhome__recipes-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dk-mhome__recipes-kicker { font-family: var(--dk-font-hand); font-weight: 700; font-size: 1.35rem; color: var(--dk-mustard); line-height: 1; }
.dk-mhome__recipes-title { font-family: var(--dk-font-display); font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); line-height: 1.15; }
.dk-mhome__recipes-text { color: #CFE0DC; font-size: .98rem; line-height: 1.5; }
.dk-mhome__recipes-cta { white-space: nowrap; }

.dk-mhome__h2 { margin: 0 0 12px; font-family: var(--dk-font-display); font-weight: 700; font-size: clamp(1.25rem, 1.05rem + .8vw, 1.6rem); color: var(--dk-teal); }
.dk-mhome__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dk-mhome__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.dk-mhome__tile { position: relative; display: flex; flex-direction: column; gap: 4px; min-height: 128px; padding: 16px; background: var(--dk-paper); border: 2px solid var(--dk-line); border-radius: 20px; box-shadow: 0 3px 0 var(--dk-line-2); text-decoration: none; color: var(--dk-ink); transition: transform var(--dk-dur) var(--dk-ease-bounce), box-shadow var(--dk-dur); }
.dk-mhome__tile:hover, .dk-mhome__tile:focus-visible { transform: translateY(-3px) rotate(-.4deg); box-shadow: 0 6px 0 var(--dk-line-2); color: var(--dk-ink); }
.dk-mhome__tile-icon { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: var(--dk-mustard-100); color: var(--dk-teal); margin-bottom: 6px; }
.dk-mhome__tile:nth-child(3n+2) .dk-mhome__tile-icon { background: #DDEFF5; }
.dk-mhome__tile:nth-child(3n+3) .dk-mhome__tile-icon { background: #FBE1D6; color: var(--dk-clay); }
.dk-mhome__tile-icon .dk-icon { width: 22px; height: 22px; }
.dk-mhome__tile-title { font-family: var(--dk-font-display); font-weight: 700; font-size: 1.08rem; color: var(--dk-teal); line-height: 1.2; }
.dk-mhome__tile-line { font-size: .88rem; color: var(--dk-muted); line-height: 1.4; }
.dk-mhome__tile-badge { position: absolute; top: 12px; inset-inline-end: 12px; display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; background: #EAF4E4; color: #3F5F33; font-size: .75rem; font-weight: 700; }
.dk-mhome__tile-badge.is-crown { background: #FFF3C4; color: #7A5A10; }
.dk-mhome__tile-badge .dk-icon { width: 13px; height: 13px; }
.dk-mhome__tile.is-locked { background: #FFFBF1; }
.dk-mhome__tile.is-locked .dk-mhome__tile-icon { filter: grayscale(.4); opacity: .8; }
.dk-mhome__duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dk-mhome__card:empty { display: none; }
.dk-mhome__upsell { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 18px 22px; background: #FFF9E8; border: 2px dashed #E8C25A; border-radius: 24px; }
.dk-mhome__upsell img { width: 88px; height: auto; }
.dk-mhome__upsell p { margin: 0; color: var(--dk-ink-2); }
.dk-mhome__upsell .dk-mhome__h2 { margin-bottom: 4px; }
@media (max-width: 767px) {
	.dk-mhome__hello { grid-template-columns: minmax(0, 1fr) auto; padding-inline-end: 8px; }
	.dk-mhome__recipes { grid-template-columns: auto minmax(0, 1fr); }
	.dk-mhome__recipes-cta { grid-column: 1 / -1; justify-content: center; width: 100%; }
	.dk-mhome__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.dk-mhome__tile { min-height: 118px; padding: 12px; }
	.dk-mhome__tile-badge { position: static; align-self: flex-start; margin-top: 4px; }
	.dk-mhome__duo { grid-template-columns: 1fr; }
	.dk-mhome__upsell { grid-template-columns: auto minmax(0, 1fr); }
	.dk-mhome__upsell .dk-btn { grid-column: 1 / -1; justify-content: center; }
}

/* Recipe generator highlighted in the menus. */
.dk-nav__link.is-highlight { background: var(--dk-teal); color: #fff !important; border-radius: 999px; padding-inline: 12px; }
.dk-nav__link.is-highlight:hover { background: var(--dk-teal-600); color: #fff !important; }
.dk-bottom-nav__item.is-highlight .dk-bottom-nav__icon { background: var(--dk-clay); color: #fff; border-radius: 16px; box-shadow: 0 3px 0 var(--dk-clay-600); }
.dk-mhome__sub { margin: 0 0 10px; font-size: 1.05rem; color: var(--dk-ink-2); }
.dk-mhome__chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; background: #FFF3C4; border: 2px solid #E8C25A; border-radius: 999px; font-weight: 700; font-size: .9rem; color: #7A5A10; }
.dk-mhome .dc-daily__head { display: none; }

/* QA fixes from the page audit. */
/* 1. Logged-in header on small phones: drop the logo text so actions + avatar fit. */
@media (max-width: 440px) {
	.dk-header--app .dk-logo__text { display: none; }
	.dk-header--app .dk-header__inner { gap: .5rem; }
	.dk-header--app .dk-header__actions { gap: .15rem; min-width: 0; }
	.dk-header--app .dk-header__avatar { flex: none; }
}
/* 2. Primary buttons: AA contrast for white text (>= 4.5:1), hover stays dark enough. */
.dk-btn--primary { --btn-bg: linear-gradient(180deg, #C4542A 0%, #A9431C 100%); background: var(--btn-bg); }
.dk-btn--primary:hover, a.dk-btn--primary:hover { background: linear-gradient(180deg, #B94E25 0%, #9A3C18 100%); color: #fff; }
/* 4. Long links in long text never push the page wider. */
.dk-prose { overflow-wrap: anywhere; }
/* 5. Guest phones: footer legal links clear of the floating Guri. */
@media (max-width: 959px) {
	body:not(.dk-logged-in) .dk-footer { padding-bottom: calc(1.5rem + 100px + var(--dk-safe-bottom)); }
}
/* 7. Footer link hover: readable on teal. */
.dk-footer a:not(.dk-btn):hover { color: #F6D58A; }

/* ===================================================================
   YouTube block (Grisha's channel).
   =================================================================== */
.dk-yt { max-width: 1180px; margin-inline: auto; padding: clamp(20px, 3vw, 36px); background: var(--dk-paper); border: 2px solid var(--dk-line); border-radius: 30px; box-shadow: 0 6px 0 var(--dk-line-2); }
.dk-yt__head { text-align: center; margin-bottom: 18px; }
.dk-yt__eyebrow { margin: 0; font-family: var(--dk-font-hand); font-weight: 700; font-size: 1.6rem; color: var(--dk-clay); line-height: 1; }
.dk-yt__title { margin: 4px 0 6px; font-family: var(--dk-font-display); font-weight: 700; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem); color: var(--dk-teal); }
.dk-yt__lead { margin: 0; color: var(--dk-ink-2); }
.dk-yt__body { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.dk-yt__stage { min-width: 0; }
.dk-yt__player, .dk-yt__frame { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #1F1A17; border: 0; padding: 0; cursor: pointer; box-shadow: var(--dk-shadow-lg); }
.dk-yt__player img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--dk-ease); }
.dk-yt__player:hover img { transform: scale(1.03); }
.dk-yt__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dk-yt__play { position: absolute; inset: 0; margin: auto; width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; background: var(--dk-clay); color: #fff; box-shadow: 0 6px 0 var(--dk-clay-600), 0 12px 30px rgba(0,0,0,.35); transition: transform var(--dk-dur) var(--dk-ease-bounce); }
.dk-yt__play .dk-icon { width: 34px; height: 34px; margin-inline-start: 4px; }
.dk-yt__player:hover .dk-yt__play, .dk-yt__player:focus-visible .dk-yt__play { transform: scale(1.08); }
.dk-yt__now { margin: 12px 2px 2px; font-family: var(--dk-font-display); font-weight: 700; font-size: 1.1rem; color: var(--dk-teal); line-height: 1.35; }
.dk-yt__note { margin: 0 2px; font-size: .8rem; color: var(--dk-muted); }
.dk-yt__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: 470px; overflow-y: auto; padding-inline-end: 4px; }
.dk-yt__item { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; padding: 6px; border: 2px solid transparent; border-radius: 16px; background: transparent; text-align: start; cursor: pointer; color: var(--dk-ink); font: inherit; transition: background var(--dk-dur), border-color var(--dk-dur); min-height: 44px; }
.dk-yt__item:hover { background: var(--dk-cream); }
.dk-yt__item.is-current { background: #FFF6DA; border-color: #F1DDA6; }
.dk-yt__thumb { position: relative; display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 9; }
.dk-yt__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dk-yt__mini-play { position: absolute; inset-inline-end: 6px; bottom: 6px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: rgba(200, 87, 43, .95); color: #fff; }
.dk-yt__mini-play .dk-icon { width: 12px; height: 12px; }
.dk-yt__item-title { font-weight: 600; font-size: .92rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dk-yt__more { margin: 18px 0 0; text-align: center; }
@media (max-width: 900px) {
	.dk-yt__body { grid-template-columns: 1fr; }
	.dk-yt__list { flex-direction: row; overflow-x: auto; overflow-y: hidden; max-height: none; scroll-snap-type: x mandatory; padding-bottom: 6px; }
	.dk-yt__list > li { flex: 0 0 200px; scroll-snap-align: start; }
	.dk-yt__item { grid-template-columns: 1fr; }
	.dk-yt { border-radius: 24px; }
}

/* Community audit fixes (theme side). */
.dk-pop__guri { width: auto; height: 150px; max-width: 190px; object-fit: contain; top: -100px; }
.dk-pop__card { padding-top: 64px; }
.dk-btn--ghost { --btn-shadow: none; }
.dk-btn--ghost:active { box-shadow: none; }
.dk-badge--count { background: var(--dk-clay-600); }
@media (max-width: 767px) { .dk-guri__bubble { max-width: min(260px, calc(100vw - 110px)); } }
.dk-tape-strip { position: absolute; }
.dk-tape-strip::before { content: none; }
/* Videos can't be dragged out or selected. */
video { -webkit-user-drag: none; user-select: none; -webkit-touch-callout: none; }

/* Design scan round 2. */
/* Visitors have no bottom app bar on phones, so the floating Guri and accessibility buttons sit low and clear of the hero CTA. */
@media (max-width: 959px) {
	body:not(.dk-logged-in) .dk-guri { bottom: calc(14px + var(--dk-safe-bottom)); }
	body:not(.dk-logged-in) .dcm-a11y { bottom: calc(18px + var(--dk-safe-bottom)); }
}
/* Elementor buttons share the theme's primary gradient (the flat #C8572B was just under AA contrast). */
.elementor .e-button-base.dk-btn-primary { background-color: #B44A22; background-image: linear-gradient(180deg, #C4542A 0%, #A9431C 100%); }
.elementor .e-button-base.dk-btn-primary:hover { background-image: linear-gradient(180deg, #B94E26 0%, #9C3D18 100%); }
/* Guri bubble close: a real 32px tap target in the corner. */
.dk-guri__close { top: 0; inset-inline-end: 0; width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border-radius: 50%; font-size: 18px; }
.dk-guri__close:hover, .dk-guri__close:focus-visible { background: rgba(227, 168, 53, .18); color: var(--dk-ink); }
.dk-badge--new { background: var(--dk-clay-600); }
/* Close button for the Guri sheet (and any sheet that adds one): a round X pinned to the panel's top corner. */
.dk-sheet__panel { position: relative; }
.dk-sheet__close { position: sticky; top: 0; align-self: flex-end; flex: none; margin-inline-end: -4px; margin-bottom: calc(-42px - .9rem); z-index: 2; width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--dk-cream); color: var(--dk-ink); cursor: pointer; box-shadow: 0 2px 0 var(--dk-line); transition: background var(--dk-dur), transform var(--dk-dur); }
.dk-sheet__close:hover, .dk-sheet__close:focus-visible { background: var(--dk-mustard-100, #FDF0C8); transform: rotate(90deg); }
.dk-sheet__close .dk-icon { width: 20px; height: 20px; }
.dk-guri-sheet__head { padding-inline-end: 44px; }
/* The floating Guri wrapper ignores taps (so it never blocks the page), but its sheet must take them. */
.dk-guri .dk-sheet, .dk-guri .dk-sheet * { pointer-events: auto; }
.dk-guri .dk-guri__btn { pointer-events: auto; }
/* New private message pop-up: slides in at the top of any page until read or closed. */
.dk-dmpop { position: fixed; z-index: 950; top: calc(12px + env(safe-area-inset-top, 0px)); left: 50%; width: min(440px, calc(100vw - 24px)); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 14px 14px 14px 10px; background: #FFF9E8; border: 2px solid #F1DDA6; border-radius: 22px; box-shadow: 0 22px 44px -18px rgba(74, 52, 30, .5), 0 0 0 6px rgba(227, 168, 53, .18); transform: translate(-50%, -140%); opacity: 0; transition: transform .45s var(--dk-ease-bounce), opacity .25s ease; }
.dk-dmpop.is-in { transform: translate(-50%, 0); opacity: 1; animation: dk-dmpop-nudge .6s ease .5s 2; }
@keyframes dk-dmpop-nudge { 0%, 100% { rotate: 0deg; } 30% { rotate: -1.2deg; } 60% { rotate: 1deg; } }
.dk-dmpop__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 0 0 2px var(--dk-mustard); }
.dk-dmpop__body { min-width: 0; }
.dk-dmpop__title { margin: 0 0 2px; font-family: var(--dk-font-display); font-size: 1rem; color: var(--dk-teal); }
.dk-dmpop__text { margin: 0 0 10px; font-size: .9rem; line-height: 1.45; color: var(--dk-ink); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dk-dmpop__x { width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; color: var(--dk-muted); font-size: 20px; cursor: pointer; display: grid; place-items: center; }
.dk-dmpop__x:hover, .dk-dmpop__x:focus-visible { background: rgba(227, 168, 53, .2); color: var(--dk-ink); }
@media (prefers-reduced-motion: reduce) { .dk-dmpop, .dk-dmpop.is-in { transition: opacity .2s; animation: none; } }
/* Medium desktops: the member menu is long ("שיחה פרטית עם גורי"), so drop the icons and tighten it. */
@media (min-width: 960px) and (max-width: 1400px) {
	.dk-nav__link .dk-icon { display: none; }
	.dk-nav__link, .dk-nav .menu-item > a { padding: .5em .62em; }
	.dk-nav__list { gap: 0; }
}
@media (min-width: 960px) and (max-width: 1200px) {
	.dk-nav__link, .dk-nav .menu-item > a { font-size: .86rem; padding-inline: .5em; }
	.dc-hpill__streak { display: none; }
}
/* Narrow desktops: articles stay one tap away on the home page and in the footer. */
@media (min-width: 960px) and (max-width: 1080px) {
	body.dk-logged-in .dk-nav__item--articles { display: none; }
}

/* Top menu (owner: calmer, no odd-colored item): one soft segmented track; the current page is a raised white pill. */
.dk-header__nav .dk-nav__list { gap: 2px; padding: 4px; background: rgba(255, 253, 248, .72); border: 1px solid var(--dk-line); border-radius: 999px; box-shadow: 0 6px 18px -14px rgba(74, 52, 30, .35); }
.dk-nav__link, .dk-nav .menu-item > a { padding: .46em .95em; color: var(--dk-ink-2); font-weight: 600; letter-spacing: 0; }
.dk-nav__link .dk-icon { width: 16px; height: 16px; color: var(--dk-sage-600, #6E8B74); }
.dk-nav__link:hover, .dk-nav .menu-item > a:hover { background: var(--dk-cream-2); color: var(--dk-teal); }
.dk-nav__link.is-active, .dk-nav .current-menu-item > a { background: #fff; color: var(--dk-teal); box-shadow: 0 1px 0 var(--dk-line), 0 4px 12px -6px rgba(31, 77, 74, .35); }
.dk-nav__link.is-active .dk-icon { color: var(--dk-clay); }
.dk-nav__link.is-highlight { background: transparent; color: var(--dk-ink-2) !important; box-shadow: none; }
@media (min-width: 960px) and (max-width: 1400px) {
	.dk-nav__link .dk-icon { display: none; }
	.dk-nav__link, .dk-nav .menu-item > a { padding: .46em .7em; }
}
@media (min-width: 960px) and (max-width: 1200px) {
	.dk-nav__link, .dk-nav .menu-item > a { font-size: .86rem; padding-inline: .52em; }
}
@media (min-width: 960px) and (max-width: 1040px) {
	.dk-nav__link, .dk-nav .menu-item > a { font-size: .82rem; padding-inline: .42em; }
	.dk-header__nav .dk-nav__list { padding: 3px; }
}
