/* TWS Focaccia Kenya — tokens mirror the Private Experiences page; body font inherits the theme */
.twsfk{--fk-cream:#FDFCF7;--fk-ink:#2B2B27;--fk-sage:#5B6F4C;--fk-green:#5B6F4C;--fk-green-dk:#4A5B3D;--fk-rule:#E3E1D6;--fk-mute:#6E6E66;
  --fk-serif:"Cormorant Garamond",Cormorant,Garamond,"Times New Roman",serif;
  background:var(--fk-cream);color:var(--fk-ink);max-width:1100px;margin:0 auto;padding:0 20px 56px;line-height:1.6;font-size:17px}
.twsfk *{box-sizing:border-box}
.twsfk section{padding:40px 0;border-top:1px solid var(--fk-rule)}
.twsfk section:first-child{border-top:0;padding-top:28px}
.twsfk-eyebrow{font-size:14px;color:var(--fk-sage);margin:0 0 14px;letter-spacing:.02em}
.twsfk-h1{font-family:var(--fk-serif);font-weight:500;font-size:clamp(38px,6vw,64px);line-height:1.02;margin:0 0 18px;color:var(--fk-ink);text-transform:none}
.twsfk-h2{font-family:var(--fk-serif);font-weight:500;font-size:clamp(28px,3.6vw,38px);line-height:1.1;margin:0 0 8px;text-transform:none}
.twsfk-lede{font-size:18px;max-width:58ch;margin:0 0 24px}
.twsfk-note,.twsfk-small{color:var(--fk-mute);font-size:15px;margin:0 0 20px}
.twsfk-small{font-size:14px;margin:12px 0 0}
.twsfk-hero{display:grid;gap:28px;align-items:center}
@media(min-width:860px){.twsfk-hero{grid-template-columns:1.05fr 1fr;gap:48px}}
.twsfk-hero__media{margin:0}
.twsfk-hero__media img{width:100%;height:auto;display:block;border-radius:6px;aspect-ratio:1600/840;object-fit:cover}
.twsfk-actions{display:flex;flex-wrap:wrap;gap:12px}
.twsfk-btn{display:inline-block;background:var(--fk-green);color:#fff!important;text-decoration:none!important;padding:14px 22px;border-radius:4px;font-weight:600;font-size:16px;border:1px solid var(--fk-green);line-height:1.2;cursor:pointer;transition:background .15s}
.twsfk-btn:hover,.twsfk-btn:focus-visible{background:var(--fk-green-dk);border-color:var(--fk-green-dk)}
.twsfk-btn--ghost{background:transparent;color:var(--fk-green)!important}
.twsfk-btn--ghost:hover{background:var(--fk-green);color:#fff!important}
.twsfk-btn--wide{width:100%;padding:16px}
.twsfk-btn[disabled]{opacity:.45;cursor:not-allowed}
.twsfk-btn:focus-visible{outline:3px solid var(--fk-sage);outline-offset:2px}
/* how it works */
.twsfk-how ol{list-style:none;margin:0;padding:0;display:grid;gap:20px;counter-reset:s}
@media(min-width:720px){.twsfk-how ol{grid-template-columns:repeat(3,1fr);gap:32px}}
.twsfk-how li{counter-increment:s;padding-left:44px;position:relative}
.twsfk-how li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--fk-serif);font-size:26px;color:var(--fk-sage);line-height:1}
.twsfk-how strong{display:block;margin-bottom:4px}
.twsfk-how span{color:var(--fk-mute);font-size:15px}
/* menu */
.twsfk-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--fk-rule)}
.twsfk-item{display:grid;grid-template-columns:36px 1fr;gap:6px 14px;padding:20px 0;border-bottom:1px solid var(--fk-rule)}
@media(min-width:720px){.twsfk-item{grid-template-columns:44px 1fr auto;align-items:center;gap:24px}}
.twsfk-item__no{font-family:var(--fk-serif);font-size:26px;color:var(--fk-sage);line-height:1.1}
.twsfk-item__name{font-family:var(--fk-serif);font-weight:600;font-size:23px;margin:0 0 2px;line-height:1.15;text-transform:none}
.twsfk-veg{font-style:italic;color:var(--fk-green);font-size:.8em;margin-left:6px}
.twsfk-item__desc{margin:0;color:var(--fk-mute);font-size:15px}
.twsfk-item__side{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:16px}
@media(min-width:720px){.twsfk-item__side{grid-column:3;flex-direction:column;align-items:flex-end;gap:8px;min-width:150px}}
.twsfk-item__price{font-weight:600;white-space:nowrap}
.twsfk-qty{display:inline-flex;align-items:center;border:1px solid var(--fk-rule);border-radius:4px;background:#fff}
.twsfk-qty__btn{width:38px;height:38px;border:0;background:transparent;font-size:20px;color:var(--fk-sage);cursor:pointer;line-height:1}
.twsfk-qty__btn:hover{background:#F2F0E6}
.twsfk-qty__btn:focus-visible{outline:2px solid var(--fk-sage);outline-offset:-3px}
.twsfk-qty__n{min-width:30px;text-align:center;font-weight:600}
.twsfk-item.is-on{background:#F6F5EC;margin:0 -12px;padding-left:12px;padding-right:12px}
/* order */
.twsfk-summary{margin:0 0 20px;padding:14px 16px;background:#fff;border:1px solid var(--fk-rule);border-radius:4px;font-size:15px;white-space:pre-line}
.twsfk-form{display:grid;gap:16px;max-width:560px}
.twsfk-form label{display:block;font-weight:600;font-size:15px}
.twsfk-form input[type=text],.twsfk-form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--fk-rule);border-radius:4px;background:#fff;font:inherit;font-weight:400;color:var(--fk-ink)}
.twsfk-form input:focus,.twsfk-form textarea:focus{outline:2px solid var(--fk-sage);border-color:var(--fk-sage)}
.twsfk-fulfil{border:0;padding:0;margin:0}
.twsfk-fulfil legend{font-weight:600;font-size:15px;margin-bottom:8px}
.twsfk-fulfil label{display:inline-flex;align-items:center;gap:8px;font-weight:400;margin-right:20px}
.twsfk-fulfil input{accent-color:var(--fk-green)}
.twsfk-opt{color:var(--fk-mute);font-weight:400;font-size:13px}
.twsfk-error{color:#9B2C2C;font-size:14px;margin:0}
/* faq */
.twsfk-faq details{border-bottom:1px solid var(--fk-rule);padding:14px 0}
.twsfk-faq summary{cursor:pointer;font-weight:600;list-style:none;position:relative;padding-right:28px}
.twsfk-faq summary::-webkit-details-marker{display:none}
.twsfk-faq summary::after{content:"+";position:absolute;right:0;top:-2px;font-size:22px;color:var(--fk-sage)}
.twsfk-faq details[open] summary::after{content:"–"}
.twsfk-faq details p{margin:10px 0 0;color:var(--fk-mute)}
/* contact & prose */
.twsfk-contact p{margin:0 0 6px;font-size:15px}
.twsfk-contact a{color:var(--fk-sage);text-decoration:underline}
.twsfk-prose p{max-width:70ch}
.twsfk-prose a{color:var(--fk-sage);text-decoration:underline}
/* sticky mobile bar */
.twsfk-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--fk-rule);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:none;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 16px rgba(0,0,0,.06)}
.twsfk-bar.is-on{display:flex}
.twsfk-bar__t{font-size:14px}
.twsfk-bar__t strong{display:block;font-size:16px}
.twsfk-bar .twsfk-btn{padding:12px 18px;font-size:15px}
@media(min-width:860px){.twsfk-bar{display:none!important}}
@media(prefers-reduced-motion:reduce){.twsfk *{transition:none!important}}
/* ---- v2.1 ---- */
.twsfk-status{font-size:15px;color:var(--fk-sage);margin:0 0 20px;padding-left:16px;position:relative}
.twsfk-status::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--fk-green)}
.twsfk-status.is-closed::before{background:#B08A3E}
.twsfk-menu__head{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.twsfk-menu__head .twsfk-note{margin-bottom:0}
.twsfk-mode{display:inline-flex;border:1px solid var(--fk-sage);border-radius:4px;overflow:hidden}
.twsfk-mode__btn{border:0;background:#fff;color:var(--fk-sage);padding:10px 16px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.twsfk-mode__btn.is-on{background:var(--fk-sage);color:#fff}
.twsfk-mode__btn:focus-visible{outline:2px solid var(--fk-green);outline-offset:-3px}
.twsfk-tags{margin:6px 0 0;font-size:13px;color:var(--fk-sage);font-style:italic}
.twsfk-item.is-out{opacity:.55}
.twsfk-out{font-size:14px;color:var(--fk-mute)}
.twsfk-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.twsfk-chip{border:1px solid var(--fk-rule);background:#fff;color:var(--fk-ink);padding:9px 14px;border-radius:999px;font:inherit;font-size:14px;cursor:pointer;text-decoration:none!important}
.twsfk-chip:hover{border-color:var(--fk-sage);color:var(--fk-sage)}
.twsfk-chip--link{color:var(--fk-sage)!important}
.twsfk-textlink{color:var(--fk-sage);text-decoration:underline;font-weight:600}
.twsfk-when{border:0;padding:0;margin:0}.twsfk-when legend{font-weight:600;font-size:15px;margin-bottom:8px}
.twsfk-when label{display:inline-flex;align-items:center;gap:8px;font-weight:400;margin:0 18px 6px 0}
.twsfk-when input{accent-color:var(--fk-green)}
.twsfk-summary{white-space:normal}
.twsfk-summary ul{list-style:none;margin:0 0 10px;padding:0}
.twsfk-summary li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed var(--fk-rule)}
.twsfk-summary .twsfk-total{display:flex;justify-content:space-between;font-weight:600;padding-top:6px}
.twsfk-summary .twsfk-total small{font-weight:400;color:var(--fk-mute)}
.twsfk-h3{font-family:var(--fk-serif);font-weight:600;font-size:24px;margin:0 0 10px}
.twsfk-next{margin-top:28px;padding:20px;background:#F6F5EC;border-radius:6px;max-width:560px}
.twsfk-next ol{margin:0;padding:0;list-style:none;counter-reset:n}
.twsfk-next li{counter-increment:n;padding-left:34px;position:relative;margin-bottom:10px}
.twsfk-next li::before{content:counter(n);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--fk-green);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}
.twsfk-next strong{display:block}.twsfk-next span{color:var(--fk-mute);font-size:15px}
.twsfk-next a{color:var(--fk-sage)}
/* ---- v2.2 · brand system from the packaging canvas ---- */
.twsfk-hero__media{position:relative}
.twsfk-seal{position:absolute;right:-8px;bottom:-14px;width:112px;height:112px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
@media(min-width:860px){.twsfk-seal{width:136px;height:136px;right:-18px;bottom:-22px}}
/* sage board */
.twsfk-how{padding:32px 0!important}
.twsfk-board{background:var(--fk-sage);color:var(--fk-cream);border-radius:6px;padding:28px 24px;box-shadow:inset 0 0 0 1px rgba(253,252,247,.35),inset 0 0 0 6px var(--fk-sage),inset 0 0 0 7px rgba(253,252,247,.25)}
@media(min-width:720px){.twsfk-board{padding:36px 44px}}
.twsfk-board__k{font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;text-align:center;opacity:.9}
.twsfk-board ol{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:s}
@media(min-width:720px){.twsfk-board ol{grid-template-columns:repeat(3,1fr);gap:32px}}
.twsfk-board li{counter-increment:s;padding-left:44px;position:relative}
.twsfk-board li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--fk-serif);font-size:28px;line-height:1;opacity:.85}
.twsfk-board strong{display:block;font-family:var(--fk-serif);font-weight:600;font-size:22px;margin-bottom:2px}
.twsfk-board span{font-size:15px;opacity:.9}
.twsfk-board__f{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(253,252,247,.35);text-align:center;font-size:14px;opacity:.95}
.twsfk-board__f em{font-family:var(--fk-serif);font-size:19px;font-style:italic}
/* label cards */
.twsfk-labels{list-style:none;margin:0;padding:22px 0;display:grid;gap:16px}
@media(min-width:640px){.twsfk-labels{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(min-width:1000px){.twsfk-labels{grid-template-columns:repeat(3,1fr)}}
.twsfk-label{background:#fff;border:1px solid var(--fk-rule);padding:18px 18px 16px;box-shadow:0 1px 2px rgba(43,43,39,.05);display:flex;flex-direction:column;gap:8px}
.twsfk-label.is-on{border-color:var(--fk-sage);box-shadow:0 0 0 1px var(--fk-sage)}
.twsfk-label.is-out{opacity:.55}
.twsfk-label__top{display:flex;justify-content:flex-start}
.twsfk-label__no{text-align:left;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fk-sage);line-height:1.5}
.twsfk-label__name{font-family:var(--fk-serif);font-weight:500;font-size:24px;line-height:1.1;margin:8px 0 0;color:var(--fk-ink);text-transform:none}
.twsfk-label__ing{font-family:var(--fk-serif);font-style:italic;font-size:16.5px;color:var(--fk-ink);margin:0;line-height:1.35}
.twsfk-label__con{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fk-mute);margin:0 0 6px}
.twsfk-label__foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--fk-rule);display:flex;justify-content:space-between;align-items:center;gap:12px}
.twsfk-label .twsfk-item__price{font-family:var(--fk-serif);font-size:19px;font-weight:600}

/* ---- v2.3 · bag panel, side strip, board leaders ---- */
.twsfk-strip{overflow:hidden;white-space:nowrap;background:var(--fk-sage);color:var(--fk-cream);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:9px 0;margin:8px -20px 0;display:flex}
.twsfk-strip span{flex:none;padding-left:24px}
.twsfk-bagsec{border-top:0!important;padding-top:36px!important}
.twsfk-bag{background:var(--fk-sage);color:var(--fk-cream);border-radius:4px;padding:14px}
.twsfk-bag__in{border:1px solid rgba(253,252,247,.55);outline:1px solid rgba(253,252,247,.25);outline-offset:3px;padding:28px 22px;max-width:640px;margin:0 auto;text-align:center}
@media(min-width:720px){.twsfk-bag{padding:22px}.twsfk-bag__in{padding:40px 48px}}
.twsfk-bag__k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 14px;opacity:.9}
.twsfk-bag__h{font-family:var(--fk-serif);font-weight:500;font-size:clamp(28px,4vw,38px);line-height:1.05;margin:0 0 16px;color:var(--fk-cream);text-transform:none}
.twsfk-bag p{margin:0 0 12px;font-size:16px}
.twsfk-bag__foot{margin-top:22px;padding-top:20px;border-top:1px solid rgba(253,252,247,.35);display:flex;flex-direction:column;align-items:center;gap:16px}
@media(min-width:720px){.twsfk-bag__foot{flex-direction:row;justify-content:center;gap:32px;text-align:left}}
.twsfk-bag__foot p{font-size:14px;margin:0}
.twsfk-bag__foot em{font-family:var(--fk-serif);font-style:italic;font-size:19px}
.twsfk-bag__foot a{color:var(--fk-cream);text-decoration:underline}
.twsfk-bag__qr{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.twsfk-bag__qr svg{background:transparent;padding:6px;border:1px solid rgba(253,252,247,.45)}
.twsfk-summary li{border-bottom:0;align-items:baseline}
.twsfk-summary li span:first-child{flex:1;position:relative;overflow:hidden}
.twsfk-summary li span:first-child::after{content:"";position:absolute;bottom:.35em;margin-left:8px;width:100%;border-bottom:1px dotted var(--fk-sage)}
.twsfk-summary li span:last-child{font-family:var(--fk-serif);font-size:17px;font-weight:600}
.twsfk-strip--hero{margin:6px -20px 18px}
@media(min-width:860px){.twsfk-strip--hero{margin:6px 0 18px;border-radius:2px}}

/* ---- v2.4 · no product photos: let the type carry the card ---- */
.twsfk-eyebrow a{color:var(--fk-sage);text-decoration:underline}
.twsfk-hero--text{grid-template-columns:1fr!important}
.twsfk-hero--text .twsfk-hero__text{max-width:720px}
.twsfk-label{padding:22px 22px 18px;gap:10px;min-height:250px}
.twsfk-label__name{font-size:28px;line-height:1.08;margin-top:12px;letter-spacing:-.005em}
.twsfk-label__ing{font-size:18px;line-height:1.4;margin-top:2px}
.twsfk-label__con{margin-top:6px}
.twsfk-label .twsfk-item__price{font-size:21px}
@media(min-width:1000px){.twsfk-labels{gap:24px}.twsfk-label__name{font-size:30px}}
.twsfk-paused{background:#F6F5EC;border-left:3px solid #B08A3E;padding:14px 16px;font-size:15px;margin:0 0 20px}
.twsfk-low{font-size:12px;color:#B08A3E;letter-spacing:.06em;text-transform:uppercase;margin-right:8px}

/* ---- v3 ---- */
.twsfk-form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--fk-rule);border-radius:4px;background:#fff;font:inherit;font-weight:400;color:var(--fk-ink)}
.twsfk-area,.twsfk-gift{display:grid;gap:12px}
.twsfk-check{display:flex!important;align-items:center;gap:10px;font-weight:400!important}
.twsfk-check input{accent-color:var(--fk-green);width:18px;height:18px}
.twsfk-mpesa{color:var(--fk-sage)}
.twsfk-label.is-hi{border-color:var(--fk-green);box-shadow:0 0 0 2px var(--fk-green)}
.twsfk-standing .twsfk-form{margin-top:8px}
.twsfk-droplist{list-style:none;margin:0 0 24px;padding:0}.twsfk-droplist li{display:grid;grid-template-columns:36px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid var(--fk-rule);align-items:baseline}.twsfk-droplist em{font-family:var(--fk-serif);font-size:16px}
.twsfk-hero>*,.twsfk-hero__text{min-width:0;max-width:100%}
.twsfk-strip{min-width:0;max-width:100%;width:auto}
.twsfk-strip--hero{width:auto}
.twsfk{overflow-x:clip}

/* ---- v4 · day picker ---- */
.twsfk-day{margin-bottom:4px}
#twsfk-days{display:flex;gap:10px;flex-wrap:wrap}
.twsfk-daybtn{display:flex!important;flex-direction:column;align-items:flex-start;gap:0!important;padding:10px 16px;border:1px solid var(--fk-rule);border-radius:4px;background:#fff;cursor:pointer;margin:0!important;min-width:140px}
.twsfk-daybtn input{position:absolute;opacity:0;width:0;height:0}
.twsfk-daybtn strong{font-size:16px}.twsfk-daybtn small{color:var(--fk-mute);font-size:13px}
.twsfk-daybtn.is-on{border-color:var(--fk-sage);box-shadow:0 0 0 1px var(--fk-sage);background:#F6F5EC}
.twsfk-status strong{color:var(--fk-sage)}
