/* Festive Focus · the inspiration library */
.subtabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 22px;padding:0 0 13px}
.subtab{border:1px solid #d7e1d6;border-radius:999px;background:#fffefa;color:#536b59;font-weight:750;font-size:.83rem;padding:11px 19px;transition:.2s}
.subtab.active,.subtab:hover{background:#275b44;border-color:#275b44;color:#fff}
.discovery-hero{border-radius:20px;background:linear-gradient(115deg,#173e33,#2c624b 75%,#397b5d);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;margin:0 0 18px;overflow:hidden;position:relative}
.discovery-hero:before{content:'';width:250px;height:250px;position:absolute;right:-105px;top:-135px;border-radius:50%;border:1px solid #ffffff3d}
.discovery-hero .eyebrow{color:#f0d09b}
.discovery-hero h2{font-family:Georgia,serif;font-size:clamp(1.6rem,2.7vw,2.35rem);line-height:1.1;font-weight:500;letter-spacing:-.045em;margin:11px 0}
.discovery-hero p{color:#d6e9dc;line-height:1.55;font-size:.87rem;margin:0}
.discovery-badge{display:flex;align-items:center;gap:13px;z-index:1;flex-shrink:0;background:#ffffff17;border:1px solid #ffffff26;border-radius:14px;padding:17px 19px;font-size:2rem}
.discovery-badge span{font-size:.72rem;font-weight:750;line-height:1.5;color:#e4efe4}
.meals-hero{background:linear-gradient(115deg,#442f31,#7e4740 75%,#9b5e44)}
.filter-panel{padding:19px 21px;margin-bottom:20px}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.filter-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:#586e60;font-weight:800;font-size:.73rem}
.filter-field.wide{grid-column:span 2}
.filter-field input,.filter-field select{width:100%;min-width:0;background:#fdfefb;border:1px solid #dbe4d8;border-radius:10px;padding:12px;font-size:.84rem;min-height:44px}
.filter-field input:focus,.filter-field select:focus{border-color:#448a69}
.budget-filter-note{margin:12px 2px 0;color:#6f8075;font-size:.78rem;line-height:1.5}
.discovery-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:17px;padding-top:15px;font-size:.83rem}
.discovery-controls{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.saved-switch{display:flex;align-items:center;gap:7px;font-size:.77rem;color:#4b725b;font-weight:750;cursor:pointer}
.saved-switch input{width:16px;height:16px;accent-color:#2a704f}
.idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}
.idea-card{background:#fffefa;border:1px solid #e2e8df;border-radius:17px;box-shadow:0 7px 28px #253d2810;padding:20px;display:flex;flex-direction:column;min-height:224px;transition:transform .17s ease,box-shadow .17s ease}
.idea-card:hover{transform:translateY(-2px);box-shadow:0 11px 36px #253d2818}
.idea-card-top{display:flex;justify-content:space-between;align-items:start;gap:9px;margin-bottom:14px}
.idea-emoji{width:49px;height:49px;flex-shrink:0;display:grid;place-items:center;border-radius:15px;background:#eff4e9;font-size:1.6rem}
.fave-button{width:35px;height:35px;border-radius:50%;border:1px solid #e1e8df;background:#f6faf4;color:#65806b;font-size:1.35rem;line-height:1}
.fave-button.selected{background:#fae5e4;border-color:#eccaca;color:#aa4f54}
.idea-card .tiny{color:#7d8c7b;text-transform:uppercase;font-size:.67rem;letter-spacing:.075em;font-weight:700}
.idea-card h3{font-family:Georgia,serif;font-size:1.25rem;line-height:1.22;letter-spacing:-.035em;font-weight:600;margin:7px 0 10px}
.price-pill{color:#2e7652;background:#e9f3e9;border-radius:99px;align-self:flex-start;padding:6px 10px;font-size:.76rem;font-weight:800;margin-bottom:12px}
.idea-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:17px}
.idea-meta span{color:#7b897d;background:#f4f5ef;border-radius:7px;padding:4px 7px;font-size:.66rem;font-weight:650}
.idea-card .add-idea{margin-top:auto;width:100%;white-space:normal}
.show-more{text-align:center;margin:24px 0 10px}
.menu-picks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.menu-pick{display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;background:#f7f8f2;border:1px solid #e9ebe2;min-width:0}
.menu-pick .idea-emoji{height:38px;width:38px;border-radius:10px;font-size:1.22rem}
.menu-pick .grow{min-width:0;flex:1}
.menu-pick b{font-size:.8rem;display:block;line-height:1.4}
.menu-pick .tiny{font-size:.7rem;color:var(--muted);margin-top:3px}
.menu-pick .mini-button{border:0;background:#e3f0e5;color:#367651;padding:8px;border-radius:8px;font-weight:750;font-size:.7rem;white-space:nowrap;cursor:pointer}
.meal-card .ingredient-note{color:#718176;font-size:.8rem;line-height:1.5;margin:0 0 18px;flex:1}
.meal-card .idea-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.meal-card .idea-actions .btn{white-space:normal}
.meal-card .idea-actions .btn:first-child{flex:1}
@media(max-width:1250px){.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-picks{grid-template-columns:1fr}}
@media(max-width:620px){.idea-grid{grid-template-columns:1fr}.idea-card{min-height:0}.discovery-hero{padding:22px}.discovery-hero h2{font-size:1.85rem}.discovery-badge{padding:12px;font-size:1.55rem}.discovery-badge span{display:none}.filter-field.wide{grid-column:span 2}.discovery-footer{align-items:flex-start}.subtab{flex:1;padding:11px 10px;font-size:.76rem}.menu-pick .mini-button{font-size:.65rem}}
@media(max-width:380px){.filter-grid{grid-template-columns:1fr}.filter-field.wide{grid-column:auto}.discovery-hero h2{font-size:1.55rem}.menu-pick{flex-wrap:wrap}.menu-pick .grow{flex-basis:calc(100% - 54px)}}
/* Collapsible mobile navigation stays at the top, clear of hosting-preview overlays. */
.mobile-nav-header{display:none}
@media(max-width:920px){
  .sidebar{top:0;bottom:auto;left:0;right:0;height:auto;min-height:0;padding:max(0px,env(safe-area-inset-top)) 0 0;border-top:0;border-bottom:1px solid #385b4a;overflow:visible}
  .mobile-nav-header{height:58px;padding:8px 17px;display:flex;align-items:center;justify-content:space-between;gap:13px;background:var(--forest)}
  .mobile-nav-title{display:grid;gap:3px;min-width:0}
  .mobile-nav-title b{font:600 1rem Georgia,serif;color:#fff5df;letter-spacing:-.035em}
  .mobile-nav-title span{color:#b9d3c1;font-size:.71rem;font-weight:750}
  .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:91px;min-height:40px;border:1px solid #658471;background:#315647;color:#fff;border-radius:10px;padding:9px 14px;font-weight:800;font-size:.8rem}
  .mobile-nav-toggle:hover,.mobile-nav-toggle[aria-expanded="true"]{background:#447460;border-color:#759d85}
  .sidebar .nav{display:none;position:absolute;top:calc(58px + env(safe-area-inset-top));left:10px;right:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#14362d;border:1px solid #416452;border-radius:0 0 15px 15px;padding:12px;box-shadow:0 20px 35px #0b2c2540;max-height:calc(100dvh - 78px - env(safe-area-inset-top));overflow-y:auto}
  .sidebar.menu-open .nav{display:grid}
  .sidebar .nav-btn{min-height:46px;flex-direction:row;gap:10px;justify-content:flex-start;text-align:left;padding:10px 12px;border-radius:9px;font-size:.83rem;white-space:normal;line-height:1.2}
  .sidebar .nav-btn.active{box-shadow:inset 3px 0 var(--gold)}
  .sidebar .nav-icon{font-size:1.08rem;flex-shrink:0}
  .main{padding-top:calc(58px + env(safe-area-inset-top))}
  .page{padding-bottom:34px}
}
@media(max-width:700px){
  .mobile-nav-header{padding-left:14px;padding-right:14px}
  .sidebar .nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar .nav-btn{font-size:.82rem;min-height:47px}
  /* A card for each record is easier to scan than a sideways-scrolling table. */
  .table-wrap{overflow:visible;border:0;border-radius:0}
  .data-table,.data-table[style]{display:block;min-width:0!important;width:100%}
  .data-table thead{display:none}
  .data-table tbody{display:grid;gap:11px}
  .data-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px;background:#fffefa;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 15px #203a2910}
  .data-table td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere}
  .data-table td::before{display:block;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#819183;margin-bottom:4px}
  .data-table tr:has(td:nth-child(6)) td:nth-child(1),.data-table tr:has(td:nth-child(6)) td:nth-child(2){grid-column:span 2}
  .data-table tr:has(td:nth-child(6)) td:nth-child(1)::before{content:'For'}
  .data-table tr:has(td:nth-child(6)) td:nth-child(2)::before{content:'Gift & shop'}
  .data-table tr:has(td:nth-child(6)) td:nth-child(3)::before{content:'Target'}
  .data-table tr:has(td:nth-child(6)) td:nth-child(4)::before{content:'Spent'}
  .data-table tr:has(td:nth-child(6)) td:nth-child(5)::before{content:'Status'}
  .data-table tr:has(td:nth-child(6)) td:nth-child(6)::before{content:'Actions'}
  .data-table tr:has(td:nth-child(4)):not(:has(td:nth-child(6))) td:first-child{grid-column:span 2}
  .data-table tr:has(td:nth-child(4)):not(:has(td:nth-child(6))) td:first-child::before{content:'Expense'}
  .data-table tr:has(td:nth-child(4)):not(:has(td:nth-child(6))) td:nth-child(2)::before{content:'Category'}
  .data-table tr:has(td:nth-child(4)):not(:has(td:nth-child(6))) td:nth-child(3)::before{content:'Cost'}
  .data-table tr:has(td:nth-child(4)):not(:has(td:nth-child(6))) td:nth-child(4)::before{content:'Action'}
  .data-table td[colspan]{grid-column:1/-1!important}
  .data-table td[colspan]::before{content:none!important}
}

/* A visible, touch-friendly purchase action on every demo screen. */
.demo-strip{flex-wrap:wrap}
.demo-strip .etsy-buy-link{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:43px;padding:11px 17px;border-radius:10px;
  background:#b9573c;color:#fff;text-decoration:none;white-space:nowrap;
  font-size:.82rem;font-weight:800;box-shadow:0 3px 10px #71412922;
  margin-left:auto;transition:background .16s ease,transform .16s ease
}
.demo-strip .etsy-buy-link span{font-weight:700;color:#ffe5c4}
.demo-strip .etsy-buy-link:hover{background:#99432e;transform:translateY(-1px)}
@media(max-width:800px){
  .demo-strip .etsy-buy-link{width:100%;margin-left:0;white-space:normal}
  .demo-strip .tag.gold{margin-left:auto}
}
