/* Our Kitchen — widgets (ported from the HTML sketch, everything prefixed ok-) */
@font-face{font-family:'Yonatan';src:url('../fonts/Reisinger-Yonatan-Regular.woff2') format('woff2');font-weight:100 900;font-display:swap;}
@font-face{font-family:'Michal';src:url('../fonts/Reisinger-Michal-Light.woff2') format('woff2');font-weight:300;font-display:swap;}
@font-face{font-family:'Michal';src:url('../fonts/Reisinger-Michal-Regular.woff2') format('woff2');font-weight:400 500;font-display:swap;}
@font-face{font-family:'Michal';src:url('../fonts/Reisinger-Michal-Bold.woff2') format('woff2');font-weight:600 900;font-display:swap;}

:root{
  --ok-paper:#fdfbf7;
  --ok-paper-2:#f6f1e8;
  --ok-cream:#f1e9dc;
  --ok-sand:#e4d8c6;
  --ok-ink:#2b2622;
  --ok-ink-soft:#6a5f55;
  --ok-red:#c8372d;
  --ok-olive:#5f6b3a;
  --ok-butter:#f0d9a4;
  --ok-card:#fffdf8;
  --ok-tint:rgba(200,120,70,.18);
  --ok-ease:cubic-bezier(.22,.61,.36,1);
  --ok-serif:'Yonatan',serif;
  --ok-sans:'Michal',sans-serif;
  --ok-sticky-top:100px;
  --ok-hero-h:clamp(320px,62vh,680px);
}
/* rotated polaroids / drawn underlines may poke past the edge: never let them add a horizontal scroll (site-specific plugin) */
html,body{overflow-x:clip;}
[class^="ok-"] button,[class*=" ok-"] button,.ok-search-pop input,.ok-recipes input,.ok-recipes select{font-family:inherit;}
.ok-i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;}
/* neutralise Hello's reset.css button colours on our buttons */
.ok-recipes button,.ok-header-icons button,.ok-r-actions button,.ok-ing button,.ok-steps button,.ok-cook button,.ok-search-pop button,.ok-lb button,.ok-gallery-wrap button,.ok-r-photos button,.ok-r-hero{background:none;color:inherit;border-radius:0;}
.ok-recipes button:hover,.ok-recipes button:focus,.ok-header-icons button:hover,.ok-header-icons button:focus,.ok-r-actions button:hover,.ok-r-actions button:focus,.ok-ing button:hover,.ok-ing button:focus,.ok-steps button:focus,.ok-search-pop button:hover,.ok-search-pop button:focus,.ok-gallery-wrap button:hover,.ok-gallery-wrap button:focus,.ok-r-photos button:hover,.ok-r-photos button:focus,.ok-r-hero:hover,.ok-r-hero:focus{background-color:transparent;color:inherit;}

/* ---------- motion ---------- */
.ok-reveal{opacity:0;transform:translateY(38px);transition:opacity 1s var(--ok-ease),transform 1s var(--ok-ease);}
.ok-reveal.visible{opacity:1;transform:none;}
.ok-stagger>*{opacity:0;transform:translateY(38px);transition:opacity .8s var(--ok-ease),transform .8s var(--ok-ease);}
.ok-stagger.visible>*{opacity:1;transform:none;}
.ok-draw path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ok-ease);}
.ok-draw.visible path{stroke-dashoffset:0;}
.elementor-editor-active .ok-reveal,.elementor-editor-active .ok-stagger>*{opacity:1;transform:none;}
.elementor-editor-active .ok-draw path{stroke-dashoffset:0;}
@media (prefers-reduced-motion:reduce){
  .ok-reveal,.ok-stagger>*{opacity:1;transform:none;transition:none;}
  .ok-draw path{stroke-dashoffset:0;transition:none;}
}
/* heading word with a hand-drawn underline: wrap a word in <span class="ok-u"> inside an Elementor heading */
.ok-u{color:var(--ok-red);position:relative;display:inline-block;}
.ok-u svg{position:absolute;right:-2%;bottom:-.12em;width:104%;height:.3em;stroke:currentColor;stroke-width:4;fill:none;stroke-linecap:round;}

/* ---------- buttons / links ---------- */
.ok-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:1.5px solid var(--ok-ink);background:none;color:var(--ok-ink);cursor:pointer;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;border-radius:0;transition:transform .35s var(--ok-ease),opacity .3s;}
.ok-btn:hover,.ok-btn:focus{transform:translateY(-2px);color:var(--ok-ink);background:none;}
.ok-btn-red,.ok-btn-red:hover,.ok-btn-red:focus{background:var(--ok-red) !important;border-color:var(--ok-red);color:#fff !important;}
.ok-btn-ink,.ok-btn-ink:hover,.ok-btn-ink:focus{background:var(--ok-ink) !important;color:var(--ok-paper) !important;}
.ok-btn .ok-i{width:18px;height:18px;}
.ok-link-u{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .45s var(--ok-ease);padding-bottom:2px;}
.ok-link-u:hover{background-size:100% 1.5px;background-position:100% 100%;color:inherit;}
.ok-kicker{font-family:var(--ok-sans);font-weight:300;font-size:20px;letter-spacing:.02em;color:var(--ok-red);line-height:1;}
.ok-x{width:40px;height:40px;border:none;background:none;font-size:30px;line-height:1;cursor:pointer;padding:0;color:inherit;}

/* ---------- header icons ---------- */
.ok-header-icons{display:flex;gap:6px;align-items:center;}
.ok-icon-btn{position:relative;width:44px;height:44px;display:grid;place-items:center;border:none;background:none;cursor:pointer;color:var(--ok-ink);padding:0;transition:transform .35s var(--ok-ease);}
.ok-icon-btn:hover{transform:translateY(-2px);color:var(--ok-ink);}
.ok-count{position:absolute;top:4px;left:3px;min-width:18px;height:18px;border-radius:9px;background:var(--ok-red);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 4px;line-height:1;}
.ok-count:empty{display:none;}

/* ---------- search overlay ---------- */
.ok-backdrop{position:fixed;inset:0;background:rgba(43,38,34,.4);backdrop-filter:blur(3px);z-index:9998;}
.ok-search-pop{position:fixed;top:0;right:0;left:0;z-index:9999;background:var(--ok-paper);color:var(--ok-ink);font-family:var(--ok-sans);box-shadow:0 20px 50px rgba(43,38,34,.15);max-height:86vh;display:flex;flex-direction:column;animation:ok-drop .5s var(--ok-ease);}
.ok-search-pop[hidden],.ok-backdrop[hidden],.ok-grid-empty[hidden]{display:none;}
@keyframes ok-drop{from{transform:translateY(-102%)}to{transform:none}}
.ok-search-pop .ok-bar{display:flex;align-items:center;gap:14px;padding:22px clamp(18px,4vw,64px);border-bottom:1px solid var(--ok-sand);}
.ok-search-pop .ok-bar .ok-i{width:28px;height:28px;}
.ok-search-pop input{flex:1;border:none !important;background:none !important;outline:none;box-shadow:none !important;font-family:var(--ok-serif);font-size:clamp(28px,3.6vw,46px);padding:0;color:var(--ok-ink);}
.ok-search-pop input::placeholder{color:var(--ok-sand);}
.ok-search-hint{padding:14px clamp(18px,4vw,64px) 0;font-size:14px;color:var(--ok-ink-soft);}
.ok-search-results{overflow-y:auto;padding:10px clamp(18px,4vw,64px) 30px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 26px;}
.ok-sr-item{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px dashed var(--ok-sand);color:var(--ok-ink);text-decoration:none;}
.ok-sr-item:hover{color:var(--ok-red);}
.ok-sr-item .ok-th{width:54px;height:54px;flex:none;background:var(--ok-cream);overflow:hidden;display:grid;place-items:center;}
.ok-sr-item .ok-th img{width:100%;height:100%;object-fit:cover;}
.ok-sr-item .ok-th svg{width:30px;height:30px;stroke:var(--ok-red);}
.ok-sr-item b{font-weight:700;display:block;}
.ok-sr-item small{color:var(--ok-ink-soft);font-size:14px;}
.ok-sr-item mark{background:var(--ok-butter);color:inherit;}
.ok-search-empty{padding:20px 0;color:var(--ok-ink-soft);}

/* ---------- photo treatment ---------- */
.ok-ph{position:relative;overflow:hidden;background:var(--ok-cream);display:block;}
.ok-ph img,.elementor .ok-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ok-ease);display:block;max-width:none;border-radius:0;}
.ok-ph::after{content:'';position:absolute;inset:0;background:var(--ok-tint);mix-blend-mode:multiply;pointer-events:none;}

/* ---------- doodles ---------- */
.ok-doodle{fill:none;stroke:var(--ok-red);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- hero search / stats ---------- */
.ok-hero-search{display:flex;align-items:center;border-bottom:2px solid var(--ok-ink);max-width:560px;cursor:text;color:var(--ok-ink);}
.ok-hero-search .ok-i{width:24px;height:24px;stroke-width:1.8;}
.ok-hero-search span{flex:1;padding:14px;font-family:var(--ok-serif);font-size:24px;color:var(--ok-ink-soft);white-space:nowrap;overflow:hidden;}
.ok-hero-search span b{color:var(--ok-red);font-weight:400;border-left:2px solid var(--ok-red);padding-left:2px;animation:ok-caret 1s steps(1) infinite;}
@keyframes ok-caret{50%{border-color:transparent}}
.ok-stats{display:flex;flex-wrap:wrap;gap:8px 26px;font-family:var(--ok-sans);font-weight:600;color:var(--ok-ink);}
.ok-stats a{display:flex;align-items:baseline;gap:7px;}
.ok-stats b{font-family:var(--ok-serif);font-size:40px;font-weight:400;color:var(--ok-red);line-height:1;}

/* ---------- polaroids ---------- */
.ok-stack{position:relative;height:min(588px,95vw);max-width:560px;width:100%;margin-inline:auto;} /* explicit height: aspect-ratio collapses to 0 inside Elementor column flex containers */
.ok-polaroid{position:absolute;inset:6% 10% 4% 6%;background:var(--ok-card);padding:14px 14px 0;box-shadow:0 18px 40px rgba(60,40,20,.18),0 2px 6px rgba(60,40,20,.12);transition:transform 1s var(--ok-ease),opacity .8s;display:flex;flex-direction:column;color:var(--ok-ink);text-decoration:none;}
.ok-polaroid .ok-ph{flex:1;}
.ok-polaroid .ok-cap{font-family:var(--ok-sans);font-weight:300;font-size:20px;text-align:center;padding:10px 8px 12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ok-tape{position:absolute;top:-14px;left:50%;width:120px;height:32px;margin-left:-60px;background:rgba(240,217,164,.75);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.08);z-index:2;}
.ok-polaroid[data-pos="0"]{transform:rotate(-3deg);z-index:3;}
.ok-polaroid[data-pos="1"]{transform:rotate(5deg) translate(-7%,3%);z-index:2;}
.ok-polaroid[data-pos="2"]{transform:rotate(-9deg) translate(8%,5%);z-index:1;}
.ok-polaroid[data-pos="hidden"]{opacity:0;z-index:0;}
.ok-polaroid[data-pos="out"]{transform:rotate(-16deg) translate(70%,-6%);opacity:0;z-index:4;}
.ok-stack-badge{position:absolute;z-index:6;bottom:2%;left:1%;width:132px;height:132px;}
.ok-stack-badge > svg{width:100%;height:100%;animation:ok-spin 22s linear infinite;direction:ltr;}
.ok-stack-badge text{font-family:var(--ok-sans);font-weight:300;font-size:11.5px;letter-spacing:.06em;fill:var(--ok-ink);}
.ok-stack-badge .ok-dot{position:absolute;inset:34%;border-radius:50%;background:var(--ok-red);display:grid;place-items:center;}
.ok-stack-badge .ok-dot .ok-i{width:60%;height:60%;stroke:#fff;}
@keyframes ok-spin{to{transform:rotate(360deg)}}

/* ---------- categories ---------- */
.ok-cats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--ok-ink);border-bottom:1.5px solid var(--ok-ink);}
.ok-cat{position:relative;padding:34px 26px 30px;border-inline-start:1px solid var(--ok-sand);overflow:hidden;min-height:300px;display:flex;flex-direction:column;color:var(--ok-ink);text-decoration:none;}
.ok-cat:first-child{border-inline-start:none;}
.ok-cat .ok-doodle{width:84px;height:84px;position:relative;z-index:2;transition:stroke .5s;}
.ok-cat h3{font-family:var(--ok-serif);font-weight:400;font-size:54px;line-height:1;margin:auto 0 6px;position:relative;z-index:2;color:inherit;transition:color .5s;}
.ok-cat .ok-n{font-weight:600;color:var(--ok-ink-soft);position:relative;z-index:2;transition:color .5s;}
.ok-cat .ok-arrow{position:absolute;top:30px;left:26px;font-size:26px;z-index:2;transition:transform .5s var(--ok-ease),color .5s;}
.ok-cat .ok-bg{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .6s var(--ok-ease),transform 1.2s var(--ok-ease);}
.ok-cat .ok-bg img,.elementor .ok-cat .ok-bg img{width:100%;height:100%;object-fit:cover;max-width:none;}
.ok-cat .ok-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(43,30,20,.78),rgba(43,30,20,.2));}
.ok-cat:hover{color:#fff;}
.ok-cat:hover .ok-bg{opacity:1;transform:none;}
.ok-cat:hover .ok-n,.ok-cat:hover h3{color:#fff;}
.ok-cat:hover .ok-doodle{stroke:#fff;}
.ok-cat:hover .ok-arrow{transform:translateX(-8px);}

/* ---------- recipe of the day ---------- */
.ok-today{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--ok-paper-2);color:var(--ok-ink);}
.ok-today .ok-ph{min-height:520px;}
.ok-today-body{padding:clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:center;}
.ok-today h2{font-family:var(--ok-serif);font-weight:400;font-size:clamp(52px,5.8vw,90px);line-height:.95;margin:10px 0 18px;color:inherit;}
.ok-note-line{font-weight:300;font-size:20px;color:var(--ok-olive);line-height:1.45;margin:0 0 18px;}
.ok-today ul{list-style:none;columns:2;column-gap:28px;margin:0 0 30px;padding:0;}
.ok-today li{padding:6px 0;border-bottom:1px dashed var(--ok-sand);break-inside:avoid;font-size:16px;}
.ok-today li::before{content:'—';color:var(--ok-red);margin-inline-end:8px;}
.ok-row{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- album ---------- */
.ok-album-row{display:flex;gap:clamp(18px,3vw,42px);padding:30px 4px 30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.ok-album-row::-webkit-scrollbar{display:none;}
.ok-album-row .ok-polaroid{position:relative;inset:auto;flex:none;width:clamp(230px,24vw,320px);scroll-snap-align:center;transition:transform .6s var(--ok-ease);}
.ok-album-row .ok-polaroid .ok-ph{aspect-ratio:4/5;flex:none;}
.ok-album-row .ok-polaroid .ok-cap{font-size:18px;}
.ok-album-row .ok-polaroid:nth-child(odd){transform:rotate(-2.5deg);}
.ok-album-row .ok-polaroid:nth-child(even){transform:rotate(2deg) translateY(18px);}
.ok-album-row .ok-polaroid:hover{transform:rotate(0) translateY(-8px) scale(1.03);}

/* ---------- gallery ---------- */
.ok-gallery{columns:4 240px;column-gap:16px;}
.ok-g-item{display:block;width:100%;margin:0 0 16px;break-inside:avoid;border:none;padding:0;background:none;cursor:zoom-in;position:relative;}
.ok-g-item .ok-ph img,.elementor .ok-g-item .ok-ph img{height:auto;}
.ok-g-item:hover .ok-ph img{transform:scale(1.05);}
.ok-g-item.ok-more{display:none;}
.ok-gallery.all .ok-g-item.ok-more{display:block;animation:ok-fade .6s ease both;}
@keyframes ok-fade{from{opacity:0}to{opacity:1}}
.ok-g-cap{position:absolute;bottom:12px;right:12px;background:var(--ok-paper);color:var(--ok-ink);padding:4px 12px;font-size:15px;font-weight:600;}
.ok-gallery-foot{text-align:center;margin-top:20px;}

/* ---------- recipe grid ---------- */
.ok-recipes{color:var(--ok-ink);font-family:var(--ok-sans);}
.ok-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-bottom:38px;padding:14px 0 18px;border-bottom:1px solid var(--ok-sand);position:sticky;top:var(--ok-sticky-top);z-index:20;background:var(--ok-paper);}
.ok-pills{display:flex;flex-wrap:wrap;gap:8px;}
.ok-pill{border:1.5px solid var(--ok-ink) !important;background:none;padding:8px 18px;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;color:var(--ok-ink);transition:background .3s,color .3s,transform .3s var(--ok-ease);display:inline-flex;align-items:center;gap:6px;}
.ok-pill:hover{transform:translateY(-2px);}
.ok-recipes .ok-pill.on,.ok-recipes .ok-pill.on:hover,.ok-recipes .ok-pill.on:focus{background:var(--ok-ink);color:var(--ok-paper);}
.ok-pill sup{font-size:11px;opacity:.6;}
.ok-pill.ok-fav .ok-i{width:15px;height:15px;fill:var(--ok-red);stroke:var(--ok-red);}
.ok-grid-search{display:flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--ok-ink);margin:0 auto 0 0;min-width:240px;}
.ok-grid-search input{border:none !important;background:none !important;box-shadow:none !important;outline:none;padding:9px 0 !important;flex:1;font-size:16px;color:var(--ok-ink);}
.ok-grid-search .ok-i{width:19px;height:19px;stroke-width:1.8;}
.ok-sort{border:none !important;background:none;font-weight:700;font-size:15px;cursor:pointer;color:var(--ok-ink);width:auto;padding:4px;}
.ok-grid{display:grid;grid-template-columns:repeat(var(--ok-cols,4),minmax(0,1fr));gap:46px 28px;}
.ok-card{position:relative;}
.ok-card[hidden]{display:none;}
.ok-card .ok-ph{aspect-ratio:4/5;}
.ok-card:hover .ok-ph img{transform:scale(1.06);}
.ok-card h3{font-family:var(--ok-serif);font-weight:400;font-size:24px;line-height:1.15;margin:14px 0 0;}
.ok-card h3 a{color:var(--ok-ink);text-decoration:none;}
.ok-card h3 a:hover{color:var(--ok-red);}
.ok-meta{font-size:14px;color:var(--ok-ink-soft);margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;}
.ok-meta i{font-style:normal;color:var(--ok-red);}
.ok-heart{position:absolute;top:8px;left:8px;z-index:3;width:40px;height:40px;border:none;background:none;display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .35s var(--ok-ease);}
.ok-heart:hover{transform:scale(1.1);}
.ok-heart .ok-i,[data-fav] .ok-i{stroke:var(--ok-red);stroke-width:1.8;transition:fill .3s;}
.ok-heart .ok-i{width:19px;height:19px;}
[data-fav].on .ok-i{fill:var(--ok-red);}
[data-fav].ok-pop{animation:ok-pop .45s var(--ok-ease);}
@keyframes ok-pop{40%{transform:scale(1.35)}}
.ok-notecard{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:26px 22px;background:var(--ok-card);position:relative;color:var(--ok-ink);text-decoration:none;
  background-image:repeating-linear-gradient(to bottom,transparent 0 33px,rgba(200,55,45,.13) 33px 34px);background-position:0 18px;box-shadow:0 10px 26px rgba(60,40,20,.08);transition:transform .6s var(--ok-ease);}
.ok-notecard::before{content:'';position:absolute;top:0;bottom:0;right:34px;width:1.5px;background:rgba(200,55,45,.35);}
.ok-card:hover .ok-notecard{transform:rotate(-1.5deg);}
.ok-notecard .ok-doodle{width:64px;height:64px;stroke-width:2;align-self:flex-end;}
.ok-notecard b{font-weight:300;font-size:clamp(20px,1.8vw,26px);line-height:1.2;padding-inline-start:30px;display:inline-block;}
.ok-notecard small{font-weight:300;font-size:15px;color:var(--ok-ink-soft);padding-inline-start:30px;}
.ok-grid-empty{text-align:center;padding:60px 0;font-weight:300;font-size:22px;color:var(--ok-ink-soft);}

/* ================= single recipe ================= */
.ok-r-note{font-family:var(--ok-sans);font-weight:300;font-size:clamp(19px,1.7vw,24px);color:var(--ok-olive);line-height:1.4;margin:0;max-width:30em;display:flex;gap:12px;align-items:flex-start;}
.ok-r-note .ok-i{width:26px;height:26px;stroke:var(--ok-olive);stroke-width:2;margin-top:2px;}
.ok-r-actions{display:flex;gap:8px;flex-wrap:wrap;}
.ok-icon-btn.ok-boxed{border:1.5px solid var(--ok-ink);width:50px;height:50px;}
.ok-chips{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--ok-sans);}
.ok-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--ok-paper-2);color:var(--ok-ink);font-weight:600;font-size:15px;text-decoration:none;}
.ok-chip b{font-family:var(--ok-serif);font-weight:400;color:var(--ok-red);font-size:25px;line-height:1;}
a.ok-chip:hover{background:var(--ok-butter);color:var(--ok-ink);}
.ok-r-hero{height:var(--ok-hero-h);width:100%;border:none;padding:0;cursor:zoom-in;}
.ok-r-hero img{object-position:center 45%;}
.ok-r-hero.ok-no-img{display:grid;place-items:center;background:var(--ok-paper-2);cursor:default;}
.ok-r-hero.ok-no-img::after{display:none;}
.ok-r-hero.ok-no-img .ok-doodle{width:min(240px,40vw);height:auto;stroke-width:1.2;}
.ok-ing{position:sticky;top:var(--ok-sticky-top);background:var(--ok-card);color:var(--ok-ink);padding:34px 30px 30px;box-shadow:0 12px 30px rgba(60,40,20,.08);font-family:var(--ok-sans);}
.ok-ing::before{content:'';position:absolute;top:-14px;right:50%;margin-right:-60px;width:120px;height:30px;background:rgba(240,217,164,.8);transform:rotate(2deg);}
.ok-ing h2,.ok-steps h2{font-family:var(--ok-serif);font-weight:400;font-size:50px;line-height:1;display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0;color:var(--ok-ink);}
.ok-ing h2 button{border:none;background:none;font-family:var(--ok-sans);font-size:14px;font-weight:600;color:var(--ok-ink-soft);cursor:pointer;padding:0;}
.ok-ing h2 button:hover{color:var(--ok-red);}
.ok-ing ul{list-style:none;margin:18px 0 0;padding:0;}
.ok-ing li{border-bottom:1px dashed var(--ok-sand);margin:0;}
.ok-ing label{display:flex;gap:12px;padding:10px 0;cursor:pointer;align-items:flex-start;transition:opacity .3s;font-size:17px;line-height:1.5;}
.ok-ing input{position:absolute;opacity:0;pointer-events:none;}
.ok-box{flex:none;width:22px;height:22px;border:1.5px solid var(--ok-ink);margin-top:3px;position:relative;}
.ok-box .ok-i{position:absolute;inset:-4px -6px -2px -2px;width:auto;height:auto;stroke:var(--ok-red);stroke-width:3;}
.ok-box .ok-i path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .35s var(--ok-ease);}
.ok-ing input:checked + .ok-box .ok-i path{stroke-dashoffset:0;}
.ok-ing input:checked ~ span:last-child{text-decoration:line-through;text-decoration-color:var(--ok-red);opacity:.45;}
.ok-ing input:focus-visible + .ok-box{outline:2px solid var(--ok-red);outline-offset:2px;}
.ok-ing li.ok-sub{border:none;padding:18px 0 2px;font-weight:300;font-size:19px;color:var(--ok-red);line-height:1.2;}
.ok-ing-progress{height:3px;background:var(--ok-paper-2);margin-top:18px;}
.ok-ing-progress i{display:block;height:100%;width:0;background:var(--ok-red);transition:width .5s var(--ok-ease);}
.ok-steps{color:var(--ok-ink);font-family:var(--ok-sans);}
.ok-steps ol{list-style:none;counter-reset:ok-s;margin:26px 0 0;padding:0;}
.ok-steps li{counter-increment:ok-s;display:grid;grid-template-columns:80px 1fr;gap:10px;padding:24px 0;margin:0;border-bottom:1px solid var(--ok-sand);cursor:pointer;transition:opacity .4s;font-size:19px;line-height:1.7;}
.ok-steps li::before{content:counter(ok-s,decimal-leading-zero);font-family:var(--ok-serif);font-size:58px;line-height:.9;color:var(--ok-red);transition:color .4s;}
.ok-steps li.done{opacity:.38;}
.ok-steps li.done::before{color:var(--ok-ink-soft);}
.ok-steps li:hover{opacity:1;}
.ok-tip{font-size:14px;color:var(--ok-ink-soft);margin:10px 0 0;}
.ok-empty{font-weight:300;font-size:22px;color:var(--ok-ink-soft);padding:30px 0;line-height:1.5;}
.ok-cook-cta{margin-top:40px;}
.ok-r-photos{margin-top:46px;}
.ok-r-photos h3{font-family:var(--ok-serif);font-weight:400;font-size:30px;margin:0 0 14px;color:var(--ok-ink);}
.ok-r-photos > div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.ok-r-photos .ok-ph{aspect-ratio:1;border:none;padding:0;cursor:zoom-in;}
.ok-r-photos .ok-ph:hover img{transform:scale(1.06);}
.ok-r-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ok-ink);border-bottom:1.5px solid var(--ok-ink);font-family:var(--ok-sans);}
.ok-r-nav a{display:flex;align-items:center;gap:18px;padding:26px 0;color:var(--ok-ink);text-decoration:none;}
.ok-r-nav a + a{justify-content:flex-end;border-inline-start:1px solid var(--ok-sand);padding-inline-start:20px;text-align:left;}
.ok-r-nav .ok-th{width:76px;height:76px;flex:none;}
.ok-r-nav small{display:block;font-size:14px;color:var(--ok-ink-soft);}
.ok-r-nav b{font-family:var(--ok-serif);font-weight:400;font-size:31px;line-height:1.05;}
.ok-r-nav a:hover b{color:var(--ok-red);}

/* cook mode */
.ok-cook{position:fixed;inset:0;z-index:10000;background:var(--ok-ink);color:var(--ok-paper);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .45s ease;font-family:var(--ok-sans);}
body.ok-cooking .ok-cook{opacity:1;pointer-events:auto;}
.ok-cook-head{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(18px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.12);text-align:center;}
.ok-cook-head b{font-family:var(--ok-serif);font-weight:400;font-size:32px;}
.ok-cook .ok-btn{border-color:var(--ok-paper);color:var(--ok-paper);}
.ok-cook .ok-btn:hover,.ok-cook .ok-btn:focus{color:var(--ok-paper);}
.ok-cook .ok-toggle-ing{padding:9px 16px;}
.ok-wl{font-size:13px;color:#b9ab9a;}
.ok-cook-stage{flex:1;display:grid;place-items:center;padding:30px clamp(18px,4vw,64px);text-align:center;}
.ok-cook-stage .ok-num{font-weight:300;font-size:20px;letter-spacing:.04em;color:var(--ok-butter);}
.ok-cook-stage p{font-family:var(--ok-serif);font-size:clamp(36px,5.4vw,74px);line-height:1.15;max-width:24em;margin:12px 0 0;transition:opacity .35s,transform .45s var(--ok-ease);}
.ok-cook-stage p.swap{opacity:0;transform:translateY(16px);}
.ok-cook-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(18px,4vw,64px) 28px;}
.ok-cook .ok-btn-red{border-color:var(--ok-red);}
.ok-cook-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;}
.ok-cook-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s,transform .3s;}
.ok-cook-dots i.on{background:var(--ok-red);transform:scale(1.3);}
.ok-cook-ing{position:absolute;top:0;bottom:0;left:0;width:min(380px,90vw);background:var(--ok-card);color:var(--ok-ink);padding:26px;overflow-y:auto;transform:translateX(-102%);transition:transform .5s var(--ok-ease);z-index:2;}
.ok-cook.show-ing .ok-cook-ing{transform:none;}
.ok-cook-ing h3{font-family:var(--ok-serif);font-weight:400;font-size:40px;margin:0 0 10px;}
.ok-cook-ing ul{margin:0;padding:0;}
.ok-cook-ing li{list-style:none;padding:8px 0;border-bottom:1px dashed var(--ok-sand);}
.ok-cook-ing li.ok-sub{font-weight:300;font-size:18px;color:var(--ok-red);border:none;}

/* lightbox */
.ok-lb{position:fixed;inset:0;z-index:10001;background:rgba(30,26,23,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease;font-family:var(--ok-sans);}
.ok-lb.open{opacity:1;pointer-events:auto;}
.ok-lb figure{max-width:min(92vw,1300px);display:flex;flex-direction:column;align-items:center;gap:14px;margin:0;}
.ok-lb img{max-width:100%;max-height:80vh;object-fit:contain;transition:opacity .3s,transform .5s var(--ok-ease);}
.ok-lb img.swap{opacity:0;transform:scale(.98);}
.ok-lb figcaption{color:var(--ok-paper);font-size:18px;min-height:1em;}
.ok-lb figcaption a{color:var(--ok-paper);}
.ok-lb .ok-x{position:absolute;top:14px;left:16px;color:var(--ok-paper);}
.ok-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1.5px solid rgba(255,255,255,.4) !important;background:none;color:var(--ok-paper) !important;font-size:24px;cursor:pointer;padding:0;}
.ok-lb-nav:hover{background:rgba(255,255,255,.1) !important;}
.ok-lb-prev{right:20px;}
.ok-lb-next{left:20px;}
.ok-lb-n{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#b9ab9a;font-size:14px;}

.ok-toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,30px);background:var(--ok-ink);color:var(--ok-paper);padding:12px 22px;font-weight:600;font-family:var(--ok-sans);opacity:0;transition:opacity .3s,transform .45s var(--ok-ease);z-index:10002;pointer-events:none;}
.ok-toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- responsive ---------- */
@media (max-width:1180px){ .ok-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:900px){
  .ok-cats{grid-template-columns:1fr 1fr;}
  .ok-cat:nth-child(3){border-inline-start:none;}
  .ok-cat:nth-child(n+3){border-top:1px solid var(--ok-sand);}
  .ok-today{grid-template-columns:minmax(0,1fr);}
  .ok-today .ok-ph{min-height:0;aspect-ratio:4/3;}
  .ok-ing{position:relative;top:0;}
}
@media (max-width:640px){
  .ok-grid{grid-template-columns:1fr 1fr;gap:30px 14px;}
  .ok-card h3{font-size:19px;}
  .ok-heart{top:4px;left:4px;}
  .ok-notecard{padding:18px 12px;}
  .ok-notecard b{font-size:18px;padding-inline-start:18px;}
  .ok-notecard small{font-size:13px;padding-inline-start:18px;}
  .ok-notecard::before{right:20px;}
  .ok-notecard .ok-doodle{width:44px;height:44px;}
  .ok-cat{min-height:210px;padding:22px 16px;}
  .ok-cat h3{font-size:40px;}
  .ok-cat .ok-doodle{width:58px;height:58px;}
  .ok-today ul{columns:1;}
  .ok-grid-search{min-width:0;width:100%;margin:0;order:-1;}
  .ok-steps li{grid-template-columns:52px 1fr;font-size:17px;}
  .ok-steps li::before{font-size:42px;}
  .ok-r-nav a{flex-direction:column;align-items:flex-start;gap:8px;}
  .ok-r-nav a + a{align-items:flex-end;}
  .ok-r-nav b{font-size:24px;}
  .ok-cook .ok-btn{padding:12px 16px;}
  .ok-stack-badge{width:88px;height:88px;bottom:-4%;left:-2%;}
  .ok-toolbar{position:static;}
  .ok-gallery{columns:2;column-gap:10px;}
  .ok-g-item{margin-bottom:10px;}
  .ok-g-cap{font-size:13px;bottom:8px;right:8px;padding:2px 8px;}
  .ok-lb-nav{top:auto;bottom:14px;transform:none;width:46px;height:46px;}
}

/* ---------- print (recipe page) ---------- */
@media print{
  .elementor-location-header,.elementor-location-footer,.ok-r-actions,.ok-r-nav,.ok-cook,.ok-cook-cta,.ok-toast,.ok-search-pop,.ok-backdrop,.ok-lb,.ok-ing h2 button,.ok-ing-progress,.ok-tip,.ok-recipes,.ok-r-photos{display:none !important;}
  .ok-r-hero{height:220px;}
  .ok-ing{position:static;box-shadow:none;padding:0;}
  .ok-ing::before{display:none;}
  .ok-steps li{opacity:1 !important;padding:10px 0;font-size:12pt;}
  .ok-reveal,.ok-stagger>*{opacity:1 !important;transform:none !important;}
}

/* ---------- theme guards (Hello reset.css buttons, Elementor kit link colour) ---------- */
/* Hello styles [type=button]/button (0,1,0) and their :hover (0,2,0); the kit colours every "a" (0,1,1). */
body .ok-g-item,body .ok-heart,body .ok-icon-btn,body .ok-x,body .ok-r-hero,body .ok-r-photos .ok-ph,body .ok-lb-nav,body .ok-sort{border:none;border-radius:0;padding:0;font-size:inherit;font-weight:inherit;}
body .ok-ing h2 button{border:none;border-radius:0;padding:0;font-family:var(--ok-sans);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;}
@media (max-width:640px){ body .ok-ing h2 button{font-size:12px;} .ok-ing h2{font-size:40px;} }
body .ok-g-item:hover,body .ok-g-item:focus,body .ok-icon-btn:hover,body .ok-icon-btn:focus,body .ok-x:hover,body .ok-x:focus,body .ok-r-hero:hover,body .ok-r-hero:focus,body .ok-r-photos .ok-ph:hover,body .ok-r-photos .ok-ph:focus,body .ok-ing h2 button:hover,body .ok-ing h2 button:focus{background-color:transparent;color:inherit;}
body .ok-heart,body .ok-heart:hover,body .ok-heart:focus{background:none;border-radius:0;box-shadow:none;}
body .ok-heart .ok-i{width:24px;height:24px;fill:rgba(255,253,248,.9);filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));}
body .ok-heart.on .ok-i{fill:var(--ok-red);}
body .ok-r-hero{display:block;width:100%;height:var(--ok-hero-h);}
body .ok-g-item{display:block;width:100%;}
body .ok-icon-btn{color:var(--ok-ink);}
body .ok-icon-btn.ok-boxed{border:1.5px solid var(--ok-ink);}
body .ok-x{font-size:30px;color:inherit;}
body .ok-lb-nav,body .ok-lb-nav:hover,body .ok-lb-nav:focus{border:1.5px solid rgba(255,255,255,.4);color:var(--ok-paper);}
body .ok-pill,body .ok-pill:hover,body .ok-pill:focus{border:1.5px solid var(--ok-ink);border-radius:0;padding:8px 18px;font-size:15px;font-weight:700;color:var(--ok-ink);background:none;}
body .ok-recipes .ok-pill.on,body .ok-recipes .ok-pill.on:hover{background:var(--ok-ink);color:var(--ok-paper);}
body .ok-btn,body .ok-btn:hover,body .ok-btn:focus{border:1.5px solid var(--ok-ink);border-radius:0;padding:14px 28px;font-size:16px;font-weight:700;color:var(--ok-ink);background:none;}
body .ok-btn-red,body .ok-btn-red:hover,body .ok-btn-red:focus{background:var(--ok-red);border-color:var(--ok-red);color:#fff;}
body .ok-btn-ink,body .ok-btn-ink:hover,body .ok-btn-ink:focus{background:var(--ok-ink);color:var(--ok-paper);}
body .ok-cook .ok-btn{border-color:var(--ok-paper);color:var(--ok-paper);}
body .ok-cook .ok-btn-red{border-color:var(--ok-red);}
body .ok-cook .ok-toggle-ing{padding:9px 16px;}
body .ok-gallery-more{margin:0 auto;}
body a.ok-polaroid,body a.ok-cat,body .ok-card h3 a,body a.ok-chip,body .ok-r-nav a,body a.ok-sr-item,body .ok-stats a,body .ok-notecard,body a.ok-icon-btn,body .ok-today a.ok-btn:not(.ok-btn-red){color:var(--ok-ink);}
body a.ok-cat:hover,body a.ok-cat:hover h3{color:#fff;}
body .ok-card h3 a:hover,body a.ok-sr-item:hover,body .ok-r-nav a:hover b{color:var(--ok-red);}
body .ok-stats a b{color:var(--ok-red);}
body .ok-lb figcaption a{color:var(--ok-paper);}

/* ---------- site header (Elementor Pro nav menu inside .ok-site-header) ---------- */
.ok-site-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{background:var(--ok-paper);box-shadow:0 24px 40px rgba(43,38,34,.12);border-top:1px solid var(--ok-sand);}
.ok-site-header .elementor-nav-menu--dropdown a{justify-content:flex-start;border-bottom:1px dashed var(--ok-sand);}

/* ---------- cookie notice ---------- */
.ok-cookies{position:fixed;right:24px;bottom:24px;z-index:9990;width:min(430px,calc(100vw - 32px));background:var(--ok-card);color:var(--ok-ink);font-family:var(--ok-sans);
  padding:22px 22px 20px;box-shadow:0 18px 50px rgba(43,38,34,.18),0 2px 6px rgba(43,38,34,.08);border-top:3px solid var(--ok-red);display:grid;grid-template-columns:44px 1fr;gap:6px 14px;align-items:start;
  animation:ok-cookie-in .7s var(--ok-ease) both;}
.ok-cookies[hidden]{display:none;}
.ok-cookies.out{animation:ok-cookie-out .45s var(--ok-ease) both;}
@keyframes ok-cookie-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes ok-cookie-out{to{opacity:0;transform:translateY(30px)}}
.ok-cookie-ic{width:44px;height:44px;fill:none;stroke:var(--ok-red);stroke-width:2;stroke-linecap:round;grid-row:span 2;}
.ok-cookie-ic circle{fill:var(--ok-red);stroke:none;}
.ok-cookies p{margin:0;font-size:15px;font-weight:300;line-height:1.55;}
.ok-cookies p a{color:var(--ok-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--ok-red);text-underline-offset:3px;}
body .ok-cookies .ok-cookies-ok{justify-self:start;padding:9px 26px;font-size:15px;margin-top:8px;}
@media (max-width:640px){ .ok-cookies{right:16px;left:16px;bottom:16px;width:auto;padding:18px 16px 16px;grid-template-columns:36px 1fr;} .ok-cookie-ic{width:36px;height:36px;} .ok-cookies p{font-size:14px;} }
@media print{ .ok-cookies{display:none !important;} }

/* note-card (recipe without a photo): light warm paper, a step darker than the page */
.ok-notecard{background-color:#F3EBDF;box-shadow:inset 0 0 0 1px rgba(200,170,130,.18);}
