@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700;800&display=swap');

/* Full-width layout for every YDF Elementor widget and shortcode instance. */
html,body{overflow-x:clip}
.elementor-widget-ydf_functional_app,
.elementor-widget-ydf_hero,
.elementor-widget-ydf_recipe_library,
.elementor-widget-ydf_pantry_checklist,
.elementor-widget-ydf_project_selector,
.elementor-widget-ydf_shopping_timer{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  align-self:stretch!important;
}
.elementor-widget-ydf_functional_app>.elementor-widget-container,
.elementor-widget-ydf_hero>.elementor-widget-container,
.elementor-widget-ydf_recipe_library>.elementor-widget-container,
.elementor-widget-ydf_pantry_checklist>.elementor-widget-container,
.elementor-widget-ydf_project_selector>.elementor-widget-container,
.elementor-widget-ydf_shopping_timer>.elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.ydf-app-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-left:0;
  border-right:0;
  border-radius:0;
}
body:not(.elementor-editor-active) .ydf-app-shell{overflow-x:clip}
@media(max-width:767px){
  .elementor-widget-ydf_functional_app,
  .elementor-widget-ydf_hero,
  .elementor-widget-ydf_recipe_library,
  .elementor-widget-ydf_pantry_checklist,
  .elementor-widget-ydf_project_selector,
  .elementor-widget-ydf_shopping_timer{
    width:100vw!important;
    max-width:100vw!important;
  }
  .ydf-app-shell{border-radius:0!important}
}
.ydf-app-shell{--ydf-olive:#B6BF89;--ydf-purple:#AC86DD;--ydf-lilac:#DEC5DF;--ydf-cream:#EFE9E1;--ydf-ink:#362c35;--ydf-muted:#746b72;--ydf-white:#fff;font-family:Raleway,sans-serif;color:var(--ydf-ink);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(65,44,61,.12);border:1px solid rgba(54,44,53,.08)}
.ydf-app-shell *{box-sizing:border-box}.ydf-app-shell button,.ydf-app-shell input,.ydf-app-shell select,.ydf-app-shell textarea{font:inherit}.ydf-app-shell button{cursor:pointer}.ydf-app-hero{position:relative;min-height:620px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:42px;padding:64px;background:linear-gradient(110deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 54%,rgba(255,255,255,.2) 100%),var(--ydf-hero-image) center/cover no-repeat}.ydf-app-hero:after{content:"";position:absolute;right:2%;bottom:0;width:190px;height:250px;background:radial-gradient(circle,var(--ydf-purple) 1.5px,transparent 2px);background-size:16px 16px;opacity:.18}.ydf-hero-copy{position:relative;z-index:2;max-width:700px}.ydf-hero-copy>span,.ydf-section-heading>span{display:inline-block;color:#8661b6;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ydf-hero-copy h1{font-family:Georgia,serif;font-size:clamp(42px,5.5vw,74px);line-height:1.05;letter-spacing:-.045em;margin:14px 0;color:var(--ydf-ink)}.ydf-hero-copy p{font-size:17px;line-height:1.75;color:var(--ydf-muted);max-width:630px}.ydf-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.ydf-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 18px;background:var(--ydf-purple);color:#fff!important;font-weight:800;text-decoration:none;transition:.25s ease}.ydf-button:hover{transform:translateY(-2px);filter:brightness(.96)}.ydf-button-light{background:var(--ydf-olive)}.ydf-hero-collage{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:12px;height:500px}.ydf-hero-collage div{border-radius:24px;background-size:cover;background-position:center;box-shadow:0 20px 45px rgba(50,35,47,.16)}.ydf-hero-collage div:nth-child(1){grid-row:1/3;background-image:url('https://images.unsplash.com/photo-1601050690597-df0568f70950?auto=format&fit=crop&w=900&q=85')}.ydf-hero-collage div:nth-child(2){background-image:url('https://images.unsplash.com/photo-1595981267035-7b04ca84a82d?auto=format&fit=crop&w=900&q=85')}.ydf-hero-collage div:nth-child(3){background-image:url('https://images.unsplash.com/photo-1584269600464-37b1b58a9fe7?auto=format&fit=crop&w=900&q=85')}.ydf-app-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:8px;padding:12px 20px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid rgba(54,44,53,.08);border-bottom:1px solid rgba(54,44,53,.08)}.ydf-app-nav a{padding:10px 15px;border-radius:999px;color:var(--ydf-ink);font-weight:700;text-decoration:none}.ydf-app-nav a:hover{background:var(--ydf-lilac)}.ydf-section{padding:68px 54px}.ydf-section:nth-child(even){background:linear-gradient(180deg,#fff,var(--ydf-cream))}.ydf-section-heading{text-align:center;max-width:820px;margin:0 auto 34px}.ydf-section-heading h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,50px);line-height:1.1;margin:8px 0;color:var(--ydf-ink)}.ydf-section-heading p{margin:0;color:var(--ydf-muted);line-height:1.75}.ydf-recipe-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.ydf-filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.ydf-filter-buttons button{border:1px solid rgba(54,44,53,.1);background:#fff;padding:10px 14px;border-radius:999px;font-weight:800}.ydf-filter-buttons button.active,.ydf-filter-buttons button:hover{background:var(--ydf-olive);border-color:var(--ydf-olive);color:#fff}.ydf-search{min-width:260px;display:flex;align-items:center;gap:8px;border:1px solid rgba(54,44,53,.12);padding:0 12px;border-radius:12px;background:#fff}.ydf-search input{width:100%;border:0!important;box-shadow:none!important;padding:11px 0!important}.ydf-recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ydf-recipe-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(54,44,53,.08);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(54,44,53,.07);transition:.25s ease}.ydf-recipe-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(54,44,53,.14)}.ydf-card-image{height:220px;background-size:cover;background-position:center;position:relative}.ydf-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(40,30,38,.45))}.ydf-badge{position:absolute;z-index:2;left:14px;top:14px;background:rgba(255,255,255,.92);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.ydf-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.ydf-card-body h3{font-family:Georgia,serif;font-size:22px;line-height:1.3;margin:0 0 9px}.ydf-card-body p{font-size:14px;line-height:1.65;color:var(--ydf-muted);margin:0 0 14px}.ydf-meta{display:flex;gap:8px;flex-wrap:wrap;margin:auto 0 16px}.ydf-meta span{background:var(--ydf-cream);padding:7px 9px;border-radius:9px;font-size:12px;font-weight:700}.ydf-two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.ydf-panel-card{background:#fff;border:1px solid rgba(54,44,53,.08);border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(54,44,53,.06)}.ydf-check-group{margin-bottom:24px}.ydf-check-group:last-child{margin-bottom:0}.ydf-check-group h3{color:#756046;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.ydf-check-group label{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(54,44,53,.12)}.ydf-check-group input{width:20px;height:20px;accent-color:var(--ydf-purple)}.ydf-progress-card{text-align:center;background:linear-gradient(145deg,var(--ydf-cream),#fff)}.ydf-progress-icon{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:var(--ydf-olive);color:#fff;font-size:30px}.ydf-progress-track{height:13px;border-radius:999px;background:#e7e0dc;overflow:hidden;margin:18px 0 10px}.ydf-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ydf-olive),var(--ydf-purple));transition:.3s}.ydf-progress-label{font-size:28px}.ydf-progress-card p{color:var(--ydf-muted);line-height:1.65}.ydf-project-list{display:grid;gap:10px}.ydf-project-button{display:flex;align-items:center;gap:13px;text-align:left;padding:14px;border:1px solid rgba(54,44,53,.1);background:#fff;border-radius:14px;font-weight:800}.ydf-project-button span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--ydf-cream);color:#8661b6}.ydf-project-button.active,.ydf-project-button:hover{background:var(--ydf-lilac);border-color:var(--ydf-purple)}.ydf-project-detail{min-height:430px;background:linear-gradient(145deg,#fff,var(--ydf-cream))}.ydf-project-image{height:210px;margin:-24px -24px 20px;border-radius:22px 22px 0 0;background-size:cover;background-position:center}.ydf-project-detail h3{font-family:Georgia,serif;font-size:30px;margin:0 0 16px}.ydf-project-row{margin-bottom:14px}.ydf-project-row strong{display:block;color:#8661b6;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.ydf-product-link{margin-left:8px}.ydf-inline-form{display:flex;gap:8px}.ydf-inline-form input,.ydf-timer-card input,.ydf-timer-card select,.ydf-timer-card textarea{width:100%;border:1px solid rgba(54,44,53,.12);border-radius:11px;padding:12px;background:#fff}.ydf-shopping-list{list-style:none;padding:0;margin:18px 0}.ydf-shopping-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(54,44,53,.12)}.ydf-text-button{border:0;background:none;color:#9b5470;font-weight:800}.ydf-timer-card{background:linear-gradient(135deg,var(--ydf-lilac),var(--ydf-cream))}.ydf-timer-card label{display:block;font-weight:700;margin:0 0 12px}.ydf-timer-card label input,.ydf-timer-card label select,.ydf-timer-card label textarea{display:block;margin-top:6px}.ydf-countdown{font-size:clamp(38px,6vw,64px);font-weight:800;letter-spacing:-.04em;text-align:center;margin-top:22px}.ydf-countdown-label{text-align:center;color:var(--ydf-muted)}.ydf-recipe-modal{position:fixed;inset:0;z-index:999999;display:none}.ydf-recipe-modal.open{display:block}.ydf-modal-backdrop{position:absolute;inset:0;background:rgba(34,26,32,.74);backdrop-filter:blur(8px)}.ydf-modal-dialog{position:relative;width:min(840px,calc(100% - 30px));max-height:88vh;overflow:auto;margin:6vh auto;background:#fff;border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.ydf-modal-close{position:absolute;z-index:3;right:16px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:26px}.ydf-modal-image{height:270px;background-size:cover;background-position:center}.ydf-modal-content{padding:28px}.ydf-modal-content h2{font-family:Georgia,serif;font-size:34px;margin-top:0}.ydf-modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ydf-modal-columns li{margin-bottom:8px;line-height:1.55}.ydf-loading{text-align:center;padding:30px;font-weight:800}.ydf-project-placeholder{display:grid;place-items:center;min-height:350px;color:var(--ydf-muted)}
@media (min-width:1600px){.ydf-app-hero{padding:78px 92px}.ydf-section{padding-left:82px;padding-right:82px}.ydf-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1399px){.ydf-app-hero{min-height:560px;padding:46px}.ydf-hero-collage{height:430px}.ydf-section{padding:54px 38px}.ydf-card-image{height:200px}}
@media (max-width:1024px){.ydf-app-hero{grid-template-columns:1fr;min-height:auto}.ydf-hero-collage{height:380px}.ydf-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ydf-two-column{grid-template-columns:1fr}.ydf-recipe-toolbar{align-items:stretch;flex-direction:column}.ydf-search{min-width:0}}
@media (max-width:767px){.ydf-app-shell{border-radius:18px}.ydf-app-hero{padding:36px 20px}.ydf-hero-copy h1{font-size:42px}.ydf-hero-collage{height:320px;gap:8px}.ydf-section{padding:42px 16px}.ydf-app-nav{justify-content:flex-start;overflow-x:auto}.ydf-recipe-grid{grid-template-columns:1fr}.ydf-card-image{height:230px}.ydf-filter-buttons{overflow-x:auto;flex-wrap:nowrap}.ydf-filter-buttons button{flex:0 0 auto}.ydf-modal-columns{grid-template-columns:1fr}.ydf-modal-image{height:220px}.ydf-two-column{gap:16px}}
/* v1.2 editable widget refinements */
.ydf-app-shell,.ydf-app-shell *{font-family:'Raleway',Arial,sans-serif!important}
.ydf-app-shell h1,.ydf-app-shell h2,.ydf-app-shell h3,.ydf-app-shell h4{font-family:'Raleway',Arial,sans-serif!important}
.ydf-inner{width:100%;max-width:1440px;margin:0 auto}
.ydf-hero-layout{display:contents}
.ydf-rich-text,.ydf-rich-text p{color:var(--ydf-muted);line-height:1.75;margin-top:0}
.ydf-check-group label span strong{display:block}.ydf-check-group label span small{display:block;color:var(--ydf-muted);margin-top:4px;line-height:1.45}
.ydf-timer-card{background:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.92)),var(--ydf-timer-image) center/cover no-repeat!important}
.ydf-shopping-timer-section .ydf-timer-card label{display:block;margin:0 0 14px;font-weight:700}.ydf-shopping-timer-section .ydf-timer-card label input,.ydf-shopping-timer-section .ydf-timer-card label select,.ydf-shopping-timer-section .ydf-timer-card label textarea{display:block;margin-top:7px}
@media(min-width:1800px){.ydf-inner{max-width:1680px}.ydf-section{padding-left:72px;padding-right:72px}.ydf-recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1399px){.ydf-inner{max-width:1240px}.ydf-section{padding-left:36px;padding-right:36px}.ydf-app-hero{padding:48px}.ydf-hero-collage{height:430px}}
@media(max-width:767px){.ydf-section{padding-left:18px!important;padding-right:18px!important}.ydf-app-hero{padding:36px 18px}.ydf-recipe-toolbar{align-items:stretch}.ydf-search{min-width:100%}.ydf-inline-form{flex-direction:column}}

/* v1.4 Final editable pantry planner */
.ydf-app-shell,.ydf-app-shell *{font-family:"Raleway",Arial,sans-serif!important}
.ydf-pantry-planner{background:#EFE9E1;overflow:hidden}
.ydf-planner-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center;margin-bottom:38px}
.ydf-planner-kicker,.ydf-planner-subhead{display:block;color:#7e5cad;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ydf-planner-hero h2{font-size:clamp(36px,5vw,66px);margin:8px 0 18px}
.ydf-planner-art{min-height:280px;background-size:cover;background-position:center;border-radius:28px}
.ydf-planner-subhead{font-size:14px;margin:34px 0 14px}
.ydf-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ydf-path-card{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;padding:24px;border-radius:18px;cursor:pointer;transition:.25s ease;border:2px solid transparent}
.ydf-path-card:has(input:checked){border-color:#AC86DD;box-shadow:0 12px 30px rgba(172,134,221,.18);transform:translateY(-2px)}
.ydf-path-card input{width:20px;height:20px;accent-color:#AC86DD}
.ydf-path-card strong{font-size:15px;text-transform:uppercase}
.ydf-path-card small{grid-column:1/-1;line-height:1.55;color:#4e454c}
.ydf-path-icon{color:#7e5cad}
.ydf-planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.ydf-planner-field{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}
.ydf-planner-field:nth-child(3){grid-column:1/-1}
.ydf-planner-field:nth-child(3) textarea{min-height:90px}
.ydf-planner-field span{font-weight:700}
.ydf-planner-input{width:100%;border:1px solid transparent;border-radius:8px;padding:13px 14px;background:#E6ECFF;outline:none}
.ydf-first-cart{margin-top:32px;padding:26px;border-radius:20px;background:#fff;border:1px solid rgba(60,47,58,.08)}
.ydf-first-cart h3{color:#D29A32;text-transform:uppercase;font-size:15px;margin:0 0 14px}
.ydf-first-cart label{display:flex;gap:12px;align-items:flex-start;padding:7px 0}
.ydf-first-cart input{width:18px;height:18px;accent-color:#AC86DD}
.ydf-planner-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}
@media(max-width:1024px){.ydf-planner-hero{grid-template-columns:1fr}.ydf-planner-art{min-height:220px}.ydf-planner-fields{grid-template-columns:1fr}.ydf-planner-field,.ydf-planner-field:nth-child(3){grid-column:auto}}
@media(max-width:767px){.ydf-path-grid{grid-template-columns:1fr}.ydf-planner-field{grid-template-columns:1fr;gap:7px}.ydf-planner-footer{align-items:flex-start;flex-direction:column}}

/* v1.5 popup and timer refinements */
.ydf-modal-close{display:grid!important;place-items:center!important;padding:0!important}
.ydf-modal-close svg{width:20px;height:20px;display:block}
.ydf-modal-close svg path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ydf-popup-subtitle{margin:-8px 0 18px;color:var(--ydf-muted);line-height:1.7}
.ydf-popup-focus,.ydf-popup-note{padding:15px 17px;border-radius:14px;background:var(--ydf-cream);margin:16px 0;line-height:1.65}
.ydf-popup-extra,.ydf-recipe-popup-footer,.ydf-popup-global-footer{margin-top:20px}
.ydf-countdown{font-variant-numeric:tabular-nums}

/* v1.6 WooCommerce/product integration */
.ydf-card-actions,.ydf-product-actions,.ydf-project-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ydf-button-secondary{background:var(--ydf-olive)!important;color:#fff!important}
.ydf-product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}
.ydf-product-price{font-size:1.25rem;font-weight:800;color:var(--ydf-purple-dark)}
.ydf-product-stock{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--ydf-cream);font-size:.82rem;font-weight:800}
.ydf-project-extra{margin:18px 0}
@media(max-width:767px){.ydf-card-actions .ydf-button,.ydf-product-actions .ydf-button,.ydf-project-actions .ydf-button{width:100%;text-align:center}}

/* v1.7 fully editable recipe popup refinements */
.ydf-modal-content .ydf-popup-subtitle p:first-child{margin-top:0}
.ydf-modal-content .ydf-popup-subtitle p:last-child{margin-bottom:0}
.ydf-modal-content .ydf-rich-text img{max-width:100%;height:auto;border-radius:14px}
