/* Integrate only the page hosting the selector; leave header/footer styles intact. */
.site-main:has(.trf-flow){background:#f4f4e8}
.site-main:has([data-trf-flow].trf-flow--meals [data-trf-conservation] input[value="frozen"]:checked){background:#eaf2f5}
.elementor-widget-wrap:has(>.elementor-widget-shortcode .trf-flow){padding:0}
.trf-flow{--trf-ink:#0c4a45;--trf-cream:#f4f4e8;box-sizing:border-box;background:var(--trf-cream);color:var(--trf-ink);font-family:"Basier Circle",sans-serif;padding:28px 32px 48px;width:100%}
.trf-flow *{box-sizing:border-box}
/* Cart change: explicit, in-context confirmation, without a modal or animation. */
.trf-flow .trf-flow__switch{max-width:640px;margin:0 auto;padding:28px;border:1px solid #afc0b4;border-radius:12px;background:#e7eddf;text-align:left}
.trf-flow .trf-flow__switch h2{margin:0 0 14px;color:#0c4a45;font:500 24px/1.25 "Basier Circle",sans-serif;letter-spacing:0}
.trf-flow .trf-flow__switch p{margin:0 0 14px;font-size:16px;line-height:1.55;color:#243d35}
.trf-flow .trf-flow__switch .trf-flow__switch-detail{font-size:14px;color:#4c6257}
.trf-flow .trf-flow__switch-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.trf-flow .trf-flow__switch-actions button{flex:1;min-height:48px;padding:12px 18px;font:500 15px/1.4 "Basier Circle",sans-serif;white-space:normal;transition:none;animation:none;box-shadow:none}
.trf-flow .trf-flow__switch-change{border:1px solid #0c4a45;border-radius:40px;background:transparent;color:#0c4a45;cursor:pointer}
.trf-flow .trf-flow__switch-change:hover,.trf-flow .trf-flow__switch-change:active{background:#dce6d7;color:#0c4a45;border-color:#0c4a45}
.trf-flow .trf-flow__switch-actions button:focus-visible{outline:2px solid #0c4a45;outline-offset:3px}
.trf-flow .trf-flow__switch-actions button:disabled{opacity:.6;cursor:wait}
.trf-flow .trf-flow__switch .trf-flow__status{margin:16px 0 0;font-size:14px;text-align:left}
@media(max-width:600px){.trf-flow .trf-flow__switch{padding:20px}.trf-flow .trf-flow__switch h2{font-size:22px}.trf-flow .trf-flow__switch-actions{flex-direction:column}}
.trf-flow .trf-flow__steps{list-style:none;display:flex;justify-content:center;gap:40px;padding:0 0 22px;margin:0 auto 36px;border-bottom:1px solid #0c4a4529;max-width:960px;font-size:14px}
.trf-flow__steps li{display:flex;gap:10px;align-items:center;color:#5a6c64}
.trf-flow .trf-flow__steps li>span{font-size:12px;line-height:1;letter-spacing:0;text-align:center;border:1px solid #0c4a4540;display:flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:27px;margin:0;padding:0;border-radius:50%}
.trf-flow__steps [aria-current]{color:var(--trf-ink);font-weight:500}
.trf-flow__steps [aria-current] span{background:var(--trf-ink);color:var(--trf-cream)}
.trf-flow__intro{text-align:center;max-width:720px;margin:0 auto 28px}
.trf-flow .trf-flow__intro h1{font:400 clamp(30px,3.2vw,42px)/1.12 "Basier Circle",sans-serif;letter-spacing:-.035em;margin:0 0 14px;color:var(--trf-ink)}
.trf-flow__intro p{font-size:16px;line-height:1.5;margin:0}
.trf-flow .trf-flow__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;margin:0 auto;padding:0;border:0;min-width:0}
.trf-flow__choice{position:relative;display:block;margin:0;cursor:pointer}
.trf-flow__choice input,.trf-flow__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.trf-flow__choice-body{display:flex;flex-direction:column;min-height:210px;padding:24px 28px;border:2px solid transparent;border-radius:12px;background:#dce6d7;transition:border-color .15s ease}
.trf-flow__choice--frozen{cursor:default}
.trf-flow__choice--available{cursor:pointer}
.trf-flow__choice--frozen .trf-flow__choice-body{background:#e1e4fb}
.trf-flow__choice-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:24px}
.trf-flow__tag{font-size:11px;letter-spacing:.06em;font-weight:500}
.trf-flow__radio{border:1px solid var(--trf-ink);width:24px;height:24px;border-radius:50%;flex-shrink:0;display:grid;place-items:center}
.trf-flow__badge{font-size:11px;border:1px solid #0c4a4559;border-radius:40px;padding:4px 9px;white-space:nowrap}
.trf-flow__name{font-size:32px;line-height:1.1;letter-spacing:-.025em;margin-bottom:12px}
.trf-flow__description{font-size:15px;line-height:1.5}
.trf-flow__choice--fresh:hover .trf-flow__choice-body,.trf-flow__choice--available:hover .trf-flow__choice-body{border-color:#0c4a4580}
.trf-flow__choice input:checked+.trf-flow__choice-body{border-color:var(--trf-ink)}
.trf-flow__choice input:checked+.trf-flow__choice-body .trf-flow__radio:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--trf-ink)}
.trf-flow__choice input:focus-visible+.trf-flow__choice-body{outline:3px solid var(--trf-ink);outline-offset:4px}
.trf-flow__next{text-align:center;max-width:680px;margin:24px auto 0}
.trf-flow .trf-flow__continue{display:inline-flex;align-items:center;justify-content:center;gap:40px;min-width:200px;min-height:48px;background:#dce1d8;color:#52645b;border:0;border-radius:40px;padding:14px 26px;font:500 14px "Basier Circle",sans-serif;cursor:not-allowed;opacity:1}
.trf-flow .trf-flow__continue:disabled,.trf-flow .trf-flow__continue:disabled:hover,.trf-flow .trf-flow__continue:disabled:focus,.trf-flow .trf-flow__continue:disabled:active{background:#dce1d8;color:#52645b;border-color:transparent;box-shadow:none;transform:none;cursor:not-allowed;opacity:1}
.trf-flow .trf-flow__phase{font-size:12px;line-height:1.5;color:#5a6c64;margin:12px auto 0;max-width:510px}
@media(max-width:767px){.trf-flow{padding:20px 20px 32px}.trf-flow .trf-flow__steps{gap:10px;justify-content:space-between;margin-bottom:26px;padding-bottom:18px;font-size:10px}.trf-flow__steps li{flex-direction:column;gap:6px}.trf-flow .trf-flow__intro h1{font-size:30px}.trf-flow__intro{margin-bottom:22px}.trf-flow__intro p{font-size:14px}.trf-flow .trf-flow__choices{grid-template-columns:1fr;gap:14px}.trf-flow__choice-body{min-height:178px;padding:18px 20px}.trf-flow__choice-top{margin-bottom:12px}.trf-flow__tag{font-size:10px}.trf-flow__name{font-size:28px;margin-bottom:10px}.trf-flow__description{font-size:14px}.trf-flow__next{margin-top:20px}.trf-flow .trf-flow__continue{width:100%}}
@media(prefers-reduced-motion:reduce){.trf-flow__choice-body{transition:none}}
/* Phase 2 form states override theme defaults only inside the flow. */
.trf-flow [hidden]{display:none!important}
.trf-flow__loading{max-width:580px;min-height:300px;margin:0 auto;padding:50px 0 20px;display:flex;flex-direction:column;align-items:center;gap:24px}
.trf-flow__loading span{display:block;background:#0c4a450d;border-radius:8px;width:100%;height:66px}
.trf-flow__loading span:first-child{width:65%;height:32px;margin-bottom:14px}
.trf-flow .trf-flow__continue:not(:disabled){background:#0c4a45;color:#f4f4e8;cursor:pointer}
.trf-flow .trf-flow__continue:not(:disabled):hover,.trf-flow .trf-flow__continue:not(:disabled):active{background:#163e38;color:#f4f4e8}
.trf-flow .trf-flow__continue:focus-visible,.trf-flow .trf-flow__text-button:focus-visible{outline:2px solid #0c4a45;outline-offset:4px}
.trf-flow .trf-flow__text-button{background:transparent;color:#0c4a45;border:0;border-radius:0;padding:8px;text-decoration:underline;text-underline-offset:4px;font:400 14px "Basier Circle",sans-serif;cursor:pointer;box-shadow:none}
.trf-flow .trf-flow__text-button:hover,.trf-flow .trf-flow__text-button:focus,.trf-flow .trf-flow__text-button:active{background:transparent;color:#163e38;border:0}
.trf-flow .trf-flow__text-button:disabled{opacity:.6;cursor:wait}
.trf-flow__postal{max-width:480px;margin:0 auto;text-align:center}
.trf-flow .trf-flow__summary{margin:0 0 22px;font-size:14px}
.trf-flow .trf-flow__postal-fields{padding:0;margin:0 0 22px;border:0;min-width:0;text-align:left}
.trf-flow .trf-flow__postal-fields legend{font-size:15px;font-weight:500;margin-bottom:12px}
.trf-flow__postal-inputs{display:flex;align-items:center;gap:12px;font-size:24px}
.trf-flow__postal-inputs label{flex:1;min-width:0}
.trf-flow .trf-flow__postal-inputs input{width:100%;min-width:0;border:1px solid #0c4a4580;border-radius:6px;background:#fff;color:#0c4a45;padding:15px 18px;font:400 24px "Basier Circle",sans-serif;text-align:center;letter-spacing:.1em;box-shadow:none}
.trf-flow .trf-flow__postal-inputs input:focus{outline:2px solid #0c4a45;outline-offset:2px}
.trf-flow .trf-flow__postal-inputs input[aria-invalid="true"]{border-color:#9c3030}
.trf-flow .trf-flow__postal-help{font-size:12px;margin:10px 0 0;color:#5a6c64}
.trf-flow .trf-flow__status{text-align:center;margin:18px auto 0;max-width:520px;font-size:14px;line-height:1.5;min-height:0}
.trf-flow .trf-flow__status:empty{display:none}
.trf-flow .trf-flow__status--error{color:#922f2f}
.trf-flow .trf-flow__postal-status{text-align:left;margin:-8px 0 20px}
.trf-flow .trf-flow__back{display:block;margin:20px auto 0}
.trf-flow .trf-flow__confirmation{padding:24px;background:#dce6d7;border-radius:12px;line-height:1.5}
.trf-flow .trf-flow__confirmation p{margin:0 0 12px}
.trf-flow [data-trf-retry]{display:block;margin:10px auto 0}
.trf-flow[aria-busy="true"]{cursor:progress}
.trf-flow[aria-busy="true"] .trf-flow__continue:disabled{cursor:wait}
/* Phase 3: delivery dates, using current WooCommerce method titles. */
.trf-flow--meals{max-width:1420px;margin:0 auto;padding-top:28px}
.trf-flow--meals .trf-flow__intro{max-width:790px;margin:42px auto 24px}
.trf-flow--meals .trf-flow__intro h1{font-size:clamp(32px,4vw,56px)}
.trf-flow--meals .trf-flow__intro p{max-width:660px;margin:auto;font-size:20px;line-height:1.5}
.trf-flow__order-summary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px 8px;margin:0 auto 44px;padding:12px 20px;max-width:900px;border-radius:12px;background:#dce6d780;font-size:14px}
.trf-flow__order-summary .trf-flow__text-button{min-height:44px;text-decoration-thickness:1px;padding:8px 5px}
/* Bring meals into view sooner on desktop, keeping the delivery controls intact. */
@media(min-width:1025px){
 .trf-flow--meals{padding-top:20px}
 .trf-flow--meals .trf-flow__steps{padding-bottom:12px;margin-bottom:0}
 .trf-flow--meals .trf-flow__intro{max-width:900px;margin:16px auto 14px}
 .trf-flow--meals .trf-flow__intro h1{font-size:clamp(36px,3.2vw,44px);margin-bottom:10px}
 .trf-flow--meals .trf-flow__intro p{max-width:900px;font-size:18px}
 .trf-flow--meals .trf-flow__order-summary{padding:4px 16px;margin-bottom:24px}
}
.trf-flow .trf-catalog__categories{display:flex;gap:8px;align-items:center;overflow-x:auto;overscroll-behavior-x:contain;border-block:1px solid #0c4a4540;padding:14px 0;margin:0 0 32px;scrollbar-width:thin}
.trf-flow .trf-catalog__categories :is(button,a){flex-shrink:0;background:transparent;color:#181818;border:1px solid transparent;border-radius:40px;font:400 18px/1.2 "Basier Circle",sans-serif;padding:10px 18px;min-height:44px;cursor:pointer;text-decoration:none}
/* Category changes and horizontal alignment must be immediate, including on touch. */
.trf-flow .trf-catalog__bar,.trf-flow .trf-catalog__categories,.trf-flow .trf-catalog__categories :is(button,a){transition:none!important;animation:none!important}
.trf-flow .trf-catalog__categories{scroll-behavior:auto!important}
/* Touch hover can persist after a tap and look like a second selected category. */
.trf-flow .trf-catalog__categories :is(button,a),.trf-flow .trf-catalog__categories :is(button,a):hover{text-decoration:none!important}
.trf-flow .trf-catalog__categories :is(button,a)[aria-current]{background:var(--trf-ink);color:#e6fe55;text-decoration:none!important}
.trf-flow .trf-catalog__categories :is(button,a):focus-visible,.trf-meal a:focus-visible{outline:2px solid var(--trf-ink);outline-offset:3px}
.trf-flow .trf-catalog__categories :is(button,a):disabled{cursor:wait}
.trf-flow .trf-catalog__bar{position:sticky;top:0;z-index:20;background:var(--trf-cream);margin-bottom:32px}
.trf-flow .trf-catalog__bar .trf-catalog__categories{margin-bottom:0}
/* Keep the header's own surface opaque during mobile category jumps.
   Do not transform it: fullscreen menu/cart descendants must keep the viewport as their reference. */
@media(max-width:1320px){body:has(:is([data-trf-flow],[data-trf-public-catalog])) header.elementor-location-header:has(.trf-native-shell){background:#f4f4e8;isolation:isolate}}
.trf-flow-header-spacer{display:block;flex:none;margin:0;padding:0;border:0;visibility:hidden;pointer-events:none;overflow-anchor:none}
.trf-catalog__section+.trf-catalog__section{margin-top:64px;padding-top:32px;border-top:1px solid #0c4a452b}
.trf-catalog__heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px}
.trf-flow--meals .trf-flow__intro h1,.trf-flow--meals .trf-flow__intro p{color:#181818}
.trf-flow .trf-catalog__heading h2{color:#181818;font:400 30px/1.2 "Basier Circle",sans-serif;letter-spacing:-.02em;margin:0}
.trf-catalog__heading>span{font-size:13px;color:#4b4b46;white-space:nowrap}
.trf-catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}
.trf-catalog__categories{min-height:74px}
.trf-catalog__heading{min-height:36px}
.trf-meal-skeleton{display:flex;flex-direction:column;min-width:0;pointer-events:none}
.trf-meal-skeleton>span,.trf-meal-skeleton__bottom>span{display:block;background:#0c4a4510;border-radius:5px}
.trf-meal-skeleton .trf-meal-skeleton__image{aspect-ratio:1;border-radius:12px;margin-bottom:18px}
.trf-meal-skeleton__line{height:16px;margin-bottom:8px;width:94%}
.trf-meal-skeleton__line--short{width:65%;margin-bottom:22px}
.trf-meal-skeleton .trf-meal-skeleton__bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;background:none}
.trf-meal-skeleton__bottom>span:first-child{width:95px;height:16px}
.trf-meal-skeleton__bottom>span:last-child{width:138px;height:44px;border-radius:40px}
@media(max-width:1024px){.trf-meal-skeleton .trf-meal-skeleton__bottom{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:767px){.trf-catalog__categories{min-height:66px}.trf-catalog__heading{min-height:32px}.trf-meal-skeleton .trf-meal-skeleton__image{border-radius:8px;margin-bottom:12px}.trf-meal-skeleton__line{height:13px;margin-bottom:7px}.trf-meal-skeleton__line--short{margin-bottom:16px}.trf-meal-skeleton__bottom>span:last-child{width:112px;max-width:100%}}
.trf-meal{display:flex;min-width:0;flex-direction:column}
.trf-meal__image{display:block;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#e3e6d8;margin-bottom:18px}
.trf-flow .trf-meal__image img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover}
.trf-flow .trf-meal h3{font:400 16px/1.4 "Basier Circle",sans-serif;text-transform:none;margin:0 0 8px;min-height:4.2em;color:#181818}
.trf-meal h3 a{color:inherit;text-decoration:none}
.trf-meal h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.trf-meal__bottom{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.trf-meal__price{font-size:16px;line-height:1.4;min-height:1.4em;font-weight:500;color:#181818}
.trf-meal__price del{opacity:.6;margin-right:4px}
.trf-meal__price ins{background:none;text-decoration:none}
.trf-flow .trf-meal__details{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;border:1px solid var(--trf-purchase-accent,var(--trf-ink));border-radius:40px;padding:10px 20px;font-size:13px;background:var(--trf-purchase-accent,var(--trf-ink));color:var(--trf-cream);text-decoration:none}
.trf-flow .trf-meal__details:hover{background:var(--trf-purchase-hover,#163e38);color:var(--trf-cream)}
.trf-catalog__empty{padding:40px 20px;background:#dce6d780;border-radius:12px;text-align:center}
.trf-flow [data-trf-catalog-retry]{display:block;margin:16px auto}
.trf-flow--meals [data-trf-help]{margin-top:80px}
@media(max-width:1024px){.trf-catalog__grid{gap:32px 18px}.trf-flow .trf-catalog__categories :is(button,a){font-size:16px;padding-inline:14px}.trf-meal__bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:767px){.trf-flow--meals{padding:20px 16px 40px}.trf-flow--meals .trf-flow__intro{margin:24px auto}.trf-flow--meals .trf-flow__intro h1{font-size:34px}.trf-flow--meals .trf-flow__intro p{font-size:16px}.trf-flow__order-summary{margin-bottom:26px;gap:0 4px;padding:8px 10px}.trf-flow__order-summary .trf-flow__text-button{font-size:12px}.trf-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.trf-meal__image{margin-bottom:12px;border-radius:8px}.trf-flow .trf-meal h3{font-size:15px;line-height:1.45;margin-bottom:8px;min-height:5.8em}.trf-meal__price{font-size:15px}.trf-flow .trf-meal__details{padding:9px 13px;gap:12px;font-size:12px}.trf-flow .trf-catalog__heading h2{font-size:26px}.trf-flow .trf-catalog__categories{margin-bottom:24px;padding:10px 0}.trf-catalog__heading{margin-bottom:18px}.trf-flow--meals [data-trf-help]{margin-top:48px}}
.trf-flow__delivery{max-width:580px;margin:0 auto;text-align:center}
.trf-flow__delivery-conditions{margin:0 0 24px;color:#52635d;font-size:15px;line-height:1.6;text-align:left}
.trf-flow__help{width:100%;max-width:none;margin:80px auto 0;padding:0 0 8px}
/* Keep the embedded template within the flow, including when initialized hidden. */
.trf-flow__help .elementor-section-stretched{width:100%!important;left:0!important}
/* Match the editorial FAQs while retaining the editable Elementor widgets. */
.trf-flow .trf-flow__help .elementor-top-section{padding:0!important;margin:0!important}
.trf-flow .trf-flow__help .elementor-top-section>.elementor-container{width:100%;max-width:none}
.trf-flow .trf-flow__help .elementor-widget-wrap:has(>.elementor-widget-accordion){display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "questions" "link";grid-template-rows:auto;gap:32px 0;padding:0;align-items:start}
.trf-flow .trf-flow__help .elementor-heading-title{color:#181818!important;font:400 40px/1.1 "Basier Circle",sans-serif!important;letter-spacing:-.025em;text-align:left}
.trf-flow .trf-flow__help .elementor-widget-heading{grid-area:title;margin:0}
.trf-flow .trf-flow__help .elementor-widget-heading>.elementor-widget-container{margin:0!important}
.trf-flow .trf-flow__help .elementor-widget-accordion{grid-area:questions;min-width:0;margin:0}
.trf-flow .trf-flow__help .elementor-accordion-item{border:0!important;border-bottom:1px solid #a9b7a3!important;background:transparent}
.trf-flow .trf-flow__help .elementor-accordion-item:first-child{border-top:1px solid #a9b7a3!important}
.trf-flow .trf-flow__help .elementor-tab-title{display:flex;flex-direction:row-reverse;align-items:center;gap:24px;min-height:67px;padding:20px 0!important;color:#181818!important;font:400 20px/1.35 "Basier Circle",sans-serif!important;cursor:pointer;transition:none}
.trf-flow .trf-flow__help .elementor-tab-title:hover{color:var(--trf-ink)!important}
.trf-flow .trf-flow__help .elementor-tab-title.elementor-active{color:var(--trf-ink)!important;font-weight:500!important}
.trf-flow .trf-flow__help .elementor-tab-title:focus-visible,.trf-flow .trf-flow__help .elementor-tab-title a:focus-visible{outline:2px solid var(--trf-ink);outline-offset:3px}
.trf-flow .trf-flow__help .elementor-accordion-title{flex:1;color:inherit!important;font:inherit!important;text-decoration:none}
.trf-flow .trf-flow__help .elementor-accordion-icon{position:relative;float:none!important;flex:0 0 20px;width:20px;height:20px;margin:0!important;color:inherit!important}
.trf-flow .trf-flow__help .elementor-accordion-icon>span{display:none!important}
.trf-flow .trf-flow__help .elementor-accordion-icon:before,.trf-flow .trf-flow__help .elementor-accordion-icon:after{content:"";position:absolute;background:currentColor;left:4px;top:9px;width:12px;height:2px}
.trf-flow .trf-flow__help .elementor-accordion-icon:after{transform:rotate(90deg)}
.trf-flow .trf-flow__help .elementor-active>.elementor-accordion-icon:after{display:none}
.trf-flow .trf-flow__help .elementor-tab-content{max-width:60rem;border:0!important;padding:0 32px 24px 0!important;color:#181818!important;font:400 16px/1.6 "Basier Circle",sans-serif!important}
.trf-flow .trf-flow__help .elementor-tab-content p,.trf-flow .trf-flow__help .elementor-tab-content li{font:inherit;color:inherit}
.trf-flow .trf-flow__help .elementor-tab-content p:last-child,.trf-flow .trf-flow__help .elementor-tab-content ul:last-child{margin-bottom:0}
.trf-flow .trf-flow__help .elementor-widget-text-editor{grid-area:link;margin:0;text-align:left;color:#181818!important;font:400 14px/1.5 "Basier Circle",sans-serif!important}
.trf-flow .trf-flow__help .elementor-widget-text-editor>.elementor-widget-container{margin:0!important;text-align:left}
.trf-flow .trf-flow__help .elementor-widget-text-editor a{color:var(--trf-ink)!important;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.trf-flow .trf-flow__help .elementor-widget-text-editor a:hover{color:#163e38!important}
@media(max-width:1024px){.trf-flow .trf-flow__help .elementor-widget-wrap:has(>.elementor-widget-accordion){column-gap:32px}}
@media(max-width:767px){.trf-flow__help{margin-top:48px;padding:0}.trf-flow .trf-flow__help .elementor-widget-wrap:has(>.elementor-widget-accordion){grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "questions" "link";grid-template-rows:auto;gap:24px}.trf-flow .trf-flow__help .elementor-heading-title{font-size:32px!important}.trf-flow .trf-flow__help .elementor-tab-title{min-height:60px;padding:18px 0!important;gap:14px;font-size:17px!important}.trf-flow .trf-flow__help .elementor-tab-content{padding:0 0 22px!important}}
.trf-flow .trf-flow__delivery-fields{border:0;padding:0;margin:0 0 24px;min-width:0}
.trf-flow__delivery-options{display:grid;gap:12px;text-align:left}
.trf-flow__delivery-choice{position:relative;display:block;cursor:pointer;margin:0}
.trf-flow__delivery-choice input{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden}
.trf-flow__delivery-body{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #0c4a454d;border-radius:10px;background:#fafaf3;font-size:17px;line-height:1.4}
.trf-flow__delivery-choice:hover .trf-flow__delivery-body{border-color:#0c4a45}
.trf-flow__delivery-choice input:checked+.trf-flow__delivery-body{background:#dce6d7;border-color:#0c4a45;box-shadow:inset 0 0 0 1px #0c4a45}
.trf-flow__delivery-choice input:checked+.trf-flow__delivery-body .trf-flow__radio:after{content:"";width:12px;height:12px;border-radius:50%;background:#0c4a45}
.trf-flow__delivery-choice input:focus-visible+.trf-flow__delivery-body{outline:2px solid #0c4a45;outline-offset:3px}
.trf-flow__delivery-choice input:disabled+.trf-flow__delivery-body{opacity:.65;cursor:wait}
.trf-flow [data-trf-delivery-status]:not(:empty){margin:0 0 20px;text-align:left}
@media(max-width:767px){.trf-flow__delivery-body{padding:18px 16px;font-size:16px;gap:12px}}

/* Share title/price tracks across a row without truncating long meal names. */
@supports(grid-template-rows:subgrid){
 .trf-flow .trf-catalog__grid{row-gap:12px}
 .trf-flow .trf-meal{display:grid;grid-template-rows:subgrid;grid-row:span 4;gap:12px;padding-bottom:20px;align-items:start}
 .trf-flow .trf-meal__image{margin-bottom:0}
 .trf-flow .trf-meal h3{margin:0;min-height:0}
 .trf-flow .trf-meal__bottom,.trf-flow .trf-meal__purchase{margin-top:0}
}

/* Editable Elementor discovery cards, after the complete catalogue and before FAQ. */
.trf-flow .trf-catalog-discover{margin-top:80px;color:#181818;text-align:left}
.trf-flow .trf-catalog-discover .trf-discover-grid{padding:0!important;background:transparent}
.trf-flow .trf-catalog-discover .trf-discover-grid>.elementor-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.trf-flow .trf-catalog-discover .trf-discover-card{min-width:0;width:100%!important}
.trf-flow .trf-catalog-discover .trf-discover-card>.elementor-widget-wrap{display:flex;flex-direction:column;flex-wrap:nowrap;align-content:flex-start;aspect-ratio:1/1;min-height:0;box-sizing:border-box;gap:clamp(16px,1.67vw,24px);padding:clamp(24px,2.78vw,40px)!important;border-radius:16px;background:#e6ddc6}
.trf-flow .trf-catalog-discover .trf-discover-card--shops>.elementor-widget-wrap{background:#e6fe55}
.trf-flow .trf-catalog-discover .trf-discover-card--catering>.elementor-widget-wrap{background:#ffb333}
.trf-flow .trf-catalog-discover .elementor-widget{margin:0!important;width:100%}
.trf-flow .trf-catalog-discover .trf-discover-kicker{font:400 16px/1.4 "Basier Circle",sans-serif;letter-spacing:0;color:#181818}
.trf-flow .trf-catalog-discover .trf-discover-kicker p{margin:0;font:inherit;color:inherit}
.trf-flow .trf-catalog-discover .trf-discover-title .elementor-heading-title{font:400 clamp(26px,2.7vw,38px)/1.12 "Basier Circle",sans-serif;letter-spacing:-.025em;color:#181818;margin:0;overflow-wrap:normal}
.trf-flow .trf-catalog-discover .trf-discover-link{margin-top:auto!important;padding-top:4px}
.trf-flow .trf-catalog-discover .trf-discover-link p{margin:0}
.trf-flow .trf-catalog-discover .trf-discover-link a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font:500 16px/1.4 "Basier Circle",sans-serif;color:#0c4a45;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:none}
.trf-flow .trf-catalog-discover .trf-discover-link a:hover{color:#173832;text-decoration-thickness:2px}
.trf-flow .trf-catalog-discover .trf-discover-link a:focus-visible{outline:2px solid #0c4a45;outline-offset:4px;border-radius:2px}
@media(min-width:768px) and (max-width:1024px){.trf-flow .trf-catalog-discover .trf-discover-grid>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.trf-flow .trf-catalog-discover .trf-discover-card>.elementor-widget-wrap{padding:28px!important}.trf-flow .trf-catalog-discover .trf-discover-link a{font-size:15px}}
@media(max-width:767px){.trf-flow .trf-catalog-discover{margin-top:48px}.trf-flow .trf-catalog-discover .trf-discover-grid>.elementor-container{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:16px}.trf-flow .trf-catalog-discover .trf-discover-card{width:100%!important}.trf-flow .trf-catalog-discover .trf-discover-card>.elementor-widget-wrap{gap:16px;padding:28px!important;border-radius:12px}.trf-flow .trf-catalog-discover .trf-discover-title .elementor-heading-title{font-size:30px}}

/* Both editable FAQ groups are public markup; only the current step is visible. */
.trf-flow [data-trf-help][hidden]{display:none!important}

/* Give long names and purchase controls room on narrow phones, on both catalogues. */
@media(max-width:359px){.trf-flow .trf-catalog__grid{grid-template-columns:minmax(0,1fr)}}
/* Frozen catalogue only; postcode, delivery and cart keep their existing presentation. */
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="frozen"]:checked){background:#eaf2f5;border-image:linear-gradient(#eaf2f5,#eaf2f5) fill 0 / 0 / 0 100vw}
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="frozen"]:checked) .trf-catalog__bar{background:#eaf2f5}
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="frozen"]:checked) .trf-catalog__categories :is(button,a)[aria-current]{background:#4458c8;color:#fff}
/* Match the approved homepage content width only after entering the meals step. */
.elementor-top-section:has([data-trf-flow].trf-flow--meals)>.elementor-container{width:calc(100% - 80px);max-width:1360px}
.elementor-top-section:has([data-trf-flow].trf-flow--meals)>.elementor-container>.elementor-column>.elementor-widget-wrap:has([data-trf-flow]){padding-inline:0}
[data-trf-flow].trf-flow--meals{max-width:1360px;padding-inline:0}
@media(max-width:1024px){.elementor-top-section:has([data-trf-flow].trf-flow--meals)>.elementor-container{width:calc(100% - 48px)}}
@media(max-width:767px){.elementor-top-section:has([data-trf-flow].trf-flow--meals)>.elementor-container{width:calc(100% - 40px)}}
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="frozen"]:checked) :is(.trf-flow__order-summary,.trf-catalog__empty){background:#dde9ee}

[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="frozen"]:checked) .trf-catalog__categories :is(button,a):focus-visible{outline-color:#4458c8}
/* A continuous surface makes the cream Fresh cards visible, only in the meal listing. */
.trf-flow__catalog-surface{min-width:0}
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="fresh"]:checked) .trf-flow__catalog-surface{padding-block:32px;background:#d8e2d7;border-image:linear-gradient(#d8e2d7,#d8e2d7) fill 0 / 0 / 0 100vw}
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="fresh"]:checked) .trf-catalog__bar{background:#d8e2d7}
@media(max-width:767px){[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="fresh"]:checked) .trf-flow__catalog-surface{padding-block:24px}}
/* All four step headings use editorial black; other copy/controls keep brand colours. */
[data-trf-flow] .trf-flow__intro h1{color:#181818}

/* Reading text in the order flow; retain action colours and delivery-summary accents. */
[data-trf-flow]{color:#181818}
[data-trf-flow] :is(.trf-flow__intro h1,.trf-flow__intro p,.trf-flow__steps li,.trf-flow__steps [aria-current],.trf-flow__phase,.trf-flow__postal-help,.trf-flow__delivery-conditions,.trf-flow__summary,.trf-flow__switch h2,.trf-flow__switch p:not(.trf-flow__status--error),.trf-flow__switch-detail,.trf-catalog__heading>span,.trf-home-accompaniments,.trf-product-accompaniments p,.trf-meal__cart-link){color:#181818}
[data-trf-flow] .trf-flow__steps li>span{color:#181818}
[data-trf-flow] .trf-flow__steps [aria-current]>span{color:var(--trf-cream)}
[data-trf-flow] .trf-flow__postal-inputs input{color:#181818}
[data-trf-flow] .trf-flow__postal-inputs input::placeholder{color:#181818;opacity:1}
[data-trf-flow] .trf-flow__text-button,[data-trf-flow] .trf-flow__text-button:is(:hover,:focus,:active){color:#181818}
[data-trf-flow] .trf-meal__feedback:not(.trf-meal__feedback--error){color:#181818}
[data-trf-flow] .trf-meal__cart-link:is(:hover,:focus,:active){color:#181818}
[data-trf-flow] .trf-catalog-discover .trf-discover-link a,[data-trf-flow] .trf-catalog-discover .trf-discover-link a:is(:hover,:focus,:active){color:#181818}
[data-trf-flow] .trf-flow__help .elementor-tab-title,[data-trf-flow] .trf-flow__help .elementor-tab-title:is(:hover,.elementor-active){color:#181818!important}
[data-trf-flow] .trf-flow__help :is(.elementor-widget-text-editor,.elementor-tab-content) a,[data-trf-flow] .trf-flow__help :is(.elementor-widget-text-editor,.elementor-tab-content) a:is(:hover,:focus,:active){color:#181818!important}
/* Preserve the fresh delivery box as the sole green reading-text exception. */
[data-trf-flow] .trf-flow__order-summary{--trf-summary-ink:#0c4a45;color:var(--trf-summary-ink)}
[data-trf-flow] .trf-flow__order-summary .trf-flow__text-button,[data-trf-flow] .trf-flow__order-summary .trf-flow__text-button:is(:hover,:focus,:active){color:var(--trf-summary-ink)}
[data-trf-flow].trf-flow--meals:has([data-trf-conservation] input[value="frozen"]:checked) .trf-flow__order-summary{--trf-summary-ink:#4458c8}
/* The frozen conservation choice follows the approved menu accent in every state. */
[data-trf-flow] .trf-flow__choice--frozen{--trf-ink:#4458c8;color:#4458c8}
[data-trf-flow] .trf-flow__choice--frozen .trf-flow__choice-body,[data-trf-flow] .trf-flow__choice--frozen:hover .trf-flow__choice-body{border-color:#4458c8}
[data-trf-flow] .trf-flow__choice--frozen .trf-flow__badge{border-color:#4458c8}
