.funnel-section[data-package-funnel="ready"] {
  background: linear-gradient(180deg, #f7f1e7 0%, #fffdf9 48%, #f2eadf 100%);
  padding: clamp(4rem, 8vw, 7rem) 0 7rem;
}

.cw-fingerfood-section[data-package-funnel="ready"] {
  scroll-margin-top: 76px;
  background: linear-gradient(180deg, #031c33 0%, #05294b 18%, #f7f1e7 18%, #fffdf9 60%, #f2eadf 100%);
  border-top: 1px solid rgba(201, 154, 85, .5);
}

.cw-fingerfood-section .cw-intro { padding-top: 1rem; }
.cw-fingerfood-section .cw-intro .cw-kicker { color: #b77b2f; }
.cw-mobile-fingerfood-link { display: none; }

.funnel-section[data-package-funnel="ready"] > .cw-funnel {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  color: var(--ink, #15202b);
}

.cw-funnel *, .cw-funnel *::before, .cw-funnel *::after { box-sizing: border-box; }
.cw-funnel button, .cw-funnel input, .cw-funnel select, .cw-funnel textarea { font: inherit; }
.cw-funnel button, .cw-funnel a, .cw-funnel summary { -webkit-tap-highlight-color: transparent; }
.cw-funnel button:focus-visible, .cw-funnel a:focus-visible, .cw-funnel input:focus-visible, .cw-funnel select:focus-visible, .cw-funnel textarea:focus-visible, .cw-funnel summary:focus-visible { outline: 3px solid rgba(201, 154, 85, .48); outline-offset: 3px; }

.cw-intro { max-width: 760px; margin: 0 auto 2.25rem; text-align: center; }
.cw-kicker { display: block; color: #9a6725; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cw-intro h2 { color: var(--navy, #05294b); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.02; margin: .65rem 0 1rem; }
.cw-intro > p { color: var(--muted, #667078); font-size: clamp(1rem, 2vw, 1.2rem); margin: 0; }
.cw-assurances { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.35rem; }
.cw-assurances span { background: #fff; border: 1px solid var(--gold-soft, #ead9bd); border-radius: 999px; color: var(--navy, #05294b); font-size: .86rem; font-weight: 700; padding: .55rem .85rem; }

.cw-packages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: stretch; }
.cw-package { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 1.45rem; background: rgba(255,255,255,.96); border: 1px solid #ded7ca; border-radius: 22px; box-shadow: 0 12px 35px rgba(3, 28, 51, .07); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.cw-package:hover { transform: translateY(-4px); border-color: var(--gold, #c99a55); box-shadow: 0 18px 44px rgba(3, 28, 51, .12); }
.cw-package.is-selected { border: 2px solid var(--gold, #c99a55); padding: calc(1.45rem - 1px); box-shadow: 0 20px 50px rgba(3, 28, 51, .15); }
.cw-package-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.cw-package h3 { color: var(--navy, #05294b); font-family: Georgia, 'Times New Roman', serif; font-size: 1.75rem; margin: .3rem 0 0; }
.cw-package-top > strong { color: var(--navy, #05294b); font-size: 1.08rem; white-space: nowrap; }
.cw-package-top strong small { display: block; color: var(--muted, #667078); font-size: .68rem; font-weight: 600; text-align: right; }
.cw-badge { display: inline-block; background: var(--gold, #c99a55); border-radius: 999px; color: #fff; font-size: .68rem; font-weight: 900; letter-spacing: .08em; padding: .3rem .6rem; text-transform: uppercase; }
.cw-package > p { min-height: 3.6em; color: var(--muted, #667078); font-size: .92rem; line-height: 1.55; }
.cw-package ul { flex: 1; list-style: none; margin: .4rem 0 1.35rem; padding: 0; }
.cw-package li { border-bottom: 1px solid #eee8de; font-size: .9rem; line-height: 1.35; padding: .5rem 0 .5rem 1.25rem; position: relative; }
.cw-package li::before { content: '✓'; color: #2f7256; font-weight: 900; left: 0; position: absolute; }
.cw-package-button, .cw-whatsapp, .cw-print, .cw-mobile-bar > button { min-height: 48px; border-radius: 12px; cursor: pointer; font-weight: 800; }
.cw-package-button, .cw-whatsapp, .cw-mobile-bar > button { border: 0; }
.cw-package-button { width: 100%; background: var(--navy, #05294b); color: #fff; padding: .8rem 1rem; }
.cw-package.is-selected .cw-package-button { background: var(--gold, #c99a55); color: #082743; }

.cw-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.1rem; margin-top: 2rem; scroll-margin-top: 100px; }
.cw-form { display: grid; gap: 1rem; min-width: 0; }
.cw-card, .cw-summary { background: rgba(255,255,255,.98); border: 1px solid #e1dbd0; border-radius: 20px; box-shadow: 0 10px 30px rgba(3, 28, 51, .06); }
.cw-card { padding: clamp(1.2rem, 3vw, 1.8rem); }
.cw-section-heading { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: 1.25rem; }
.cw-section-heading > span { display: grid; flex: 0 0 34px; height: 34px; place-items: center; background: var(--navy, #05294b); border-radius: 50%; color: #fff; font-weight: 800; }
.cw-section-heading h3 { color: var(--navy, #05294b); font-family: Georgia, 'Times New Roman', serif; font-size: 1.5rem; margin: 0; }
.cw-section-heading p { color: var(--muted, #667078); font-size: .9rem; margin: .25rem 0 0; }
.cw-event-grid, .cw-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.cw-funnel label { color: var(--navy, #05294b); display: grid; font-size: .82rem; font-weight: 750; gap: .4rem; }
.cw-funnel label > span small { color: var(--muted, #667078); font-weight: 500; }
.cw-funnel input, .cw-funnel select, .cw-funnel textarea { width: 100%; min-height: 46px; background: #fff; border: 1px solid #cfc8bc; border-radius: 10px; color: var(--ink, #15202b); padding: .7rem .8rem; }
.cw-funnel textarea { min-height: 90px; resize: vertical; }
.cw-funnel input:focus, .cw-funnel select:focus, .cw-funnel textarea:focus { border-color: var(--gold, #c99a55); box-shadow: 0 0 0 3px rgba(201,154,85,.14); outline: none; }
.cw-funnel label > small { color: var(--muted, #667078); font-size: .72rem; font-weight: 500; }
.cw-full { margin-top: 1rem; }

.cw-requirements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.cw-requirement { align-items: center; grid-template-columns: 1fr 96px; min-height: 58px; background: #faf7f1; border: 1px solid #e3ddd2; border-radius: 12px; padding: .55rem .65rem; }
.cw-number-suffix { align-items: center; display: grid; grid-template-columns: 1fr auto; position: relative; }
.cw-number-suffix input { min-height: 42px; padding: .45rem 2.2rem .45rem .55rem; }
.cw-number-suffix small { color: var(--muted, #667078); font-size: .63rem; font-weight: 600; pointer-events: none; position: absolute; right: .45rem; }
.cw-info { background: #f0f6f3; border-left: 3px solid #2f7256; color: #355348; font-size: .8rem; line-height: 1.5; margin: 1rem 0 0; padding: .7rem .8rem; }

.cw-selected-list { display: grid; gap: .65rem; }
.cw-selected-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) 95px auto; align-items: center; gap: .75rem; border: 1px solid #e4ded3; border-radius: 13px; padding: .55rem; }
.cw-selected-media, .cw-catalog-media { position: relative; display: block; overflow: visible; background: transparent; border-radius: 0; }
.cw-selected-media { width: 64px; height: 66px; }
.cw-selected-item img { width: 64px; height: 58px; border-radius: 9px; object-fit: contain; }
.cw-selected-copy { min-width: 0; }
.cw-selected-copy strong, .cw-selected-copy span { display: block; }
.cw-selected-copy strong { color: var(--navy, #05294b); font-size: .9rem; }
.cw-selected-copy span { color: var(--muted, #667078); font-size: .76rem; margin-top: .15rem; }
.cw-portion-control { gap: .2rem !important; }
.cw-portion-control span { font-size: .68rem; }
.cw-portion-control input { min-height: 40px; padding: .4rem .5rem; }
.cw-remove { min-height: 44px; background: transparent; border: 0; color: #9d3b3b; cursor: pointer; font-size: .75rem; font-weight: 750; padding: .5rem; }
.cw-addons { border-top: 1px solid #e4ded3; margin-top: 1rem; padding-top: 1rem; }
.cw-addons summary { min-height: 48px; align-items: center; cursor: pointer; display: flex; justify-content: space-between; color: var(--navy, #05294b); font-size: 1rem; font-weight: 800; }
.cw-addons summary span { color: var(--muted, #667078); font-size: .75rem; font-weight: 500; }
.cw-selection-card { overflow: hidden; }
.cw-catalog { display: grid; gap: 1.8rem; margin-top: 0; }
.cw-catalog-group { scroll-margin-top: 96px; }
.cw-catalog-heading { align-items: end; border-bottom: 1px solid #ded7ca; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: .75rem; padding-bottom: .65rem; }
.cw-catalog-heading span { color: var(--muted, #667078); display: block; font-size: .68rem; font-weight: 700; margin-bottom: .2rem; }
.cw-catalog-heading h4 { color: #9a6725; font-family: Georgia, 'Times New Roman', serif; font-size: 1.22rem; letter-spacing: 0; margin: 0; text-transform: none; }
.cw-catalog-heading > small { color: var(--muted, #667078); flex: none; font-size: .68rem; }
.cw-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.cw-catalog-item { display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; align-items: center; gap: .55rem; border: 1px solid #e6e0d6; border-radius: 11px; padding: .4rem; }
.cw-catalog-media { width: 50px; height: 56px; border-radius: 0; }
.cw-catalog-item img { width: 50px; height: 48px; border-radius: 7px; object-fit: contain; }
.cw-catalog-item div strong, .cw-catalog-item div span { display: block; }
.cw-catalog-item div strong { color: var(--navy, #05294b); font-size: .77rem; line-height: 1.2; }
.cw-catalog-item div span { color: var(--muted, #667078); font-size: .68rem; margin-top: .15rem; }
.cw-catalog-item div small { color: var(--muted, #667078); display: -webkit-box; margin-top: .22rem; overflow: hidden; font-size: .62rem; font-weight: 500; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cw-catalog-item button { min-height: 40px; background: #f0e6d6; border: 0; border-radius: 8px; color: var(--navy, #05294b); cursor: pointer; font-size: .7rem; font-weight: 800; padding: .4rem .55rem; }
.cw-catalog-item.is-selected { background: #f1f8f3; border-color: #2f7256; box-shadow: inset 0 0 0 1px #2f7256; }
.cw-catalog-item.is-selected button { background: #2f7256; color: #fff; }
.cw-catalog-group.is-fingerfood .cw-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cw-catalog-group.is-fingerfood .cw-catalog-item { align-content: start; align-items: stretch; grid-template-columns: minmax(0, 1fr); gap: .65rem; padding: .75rem; }
.cw-catalog-group.is-fingerfood .cw-catalog-media { align-items: center; display: flex; height: 178px; justify-content: center; width: 100%; }
.cw-catalog-group.is-fingerfood .cw-catalog-item img { border-radius: 0; height: 172px; object-fit: contain; width: 100%; }
.cw-catalog-group.is-glass .cw-catalog-media { height: 205px; }
.cw-catalog-group.is-glass .cw-catalog-item img { height: 198px; }
.cw-catalog-group.is-fingerfood .cw-catalog-item > div { min-height: 86px; }
.cw-catalog-group.is-fingerfood .cw-catalog-item div strong { font-size: .87rem; line-height: 1.25; }
.cw-catalog-group.is-fingerfood .cw-catalog-item div span { font-size: .72rem; }
.cw-catalog-group.is-fingerfood .cw-catalog-item div small { font-size: .68rem; -webkit-line-clamp: 3; }
.cw-catalog-group.is-fingerfood .cw-catalog-item button { margin-top: auto; width: 100%; }
.cw-catalog-group.is-meal .cw-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cw-catalog-group.is-meal .cw-catalog-item { align-content: start; align-items: stretch; grid-template-columns: minmax(0, 1fr); gap: .65rem; padding: .75rem; }
.cw-catalog-group.is-meal .cw-catalog-media { align-items: center; display: flex; height: 172px; justify-content: center; width: 100%; }
.cw-catalog-group.is-meal .cw-catalog-item img { border-radius: 10px; height: 166px; object-fit: cover; width: 100%; }
.cw-catalog-group.is-meal .cw-catalog-item > div { min-height: 55px; }
.cw-catalog-group.is-meal .cw-catalog-item div strong { font-size: .87rem; line-height: 1.25; }
.cw-catalog-group.is-meal .cw-catalog-item div span { font-size: .72rem; }
.cw-catalog-group.is-meal .cw-catalog-item button { margin-top: auto; width: 100%; }
.cw-catalog-group.is-showcase .cw-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cw-catalog-group.is-showcase .cw-catalog-item { align-content: start; align-items: stretch; grid-template-columns: minmax(0, 1fr); gap: .65rem; padding: .75rem; }
.cw-catalog-group.is-showcase .cw-catalog-media { align-items: center; display: flex; height: 184px; justify-content: center; width: 100%; }
.cw-catalog-group.is-showcase .cw-catalog-item img { border-radius: 8px; height: 174px; object-fit: contain; width: 100%; }
.cw-catalog-group.is-showcase .cw-catalog-item > div { min-height: 92px; }
.cw-catalog-group.is-showcase .cw-catalog-item div strong { font-size: .87rem; line-height: 1.25; }
.cw-catalog-group.is-showcase .cw-catalog-item div span { font-size: .72rem; }
.cw-catalog-group.is-showcase .cw-catalog-item div small { font-size: .68rem; -webkit-line-clamp: 3; }
.cw-catalog-group.is-showcase .cw-catalog-item button { margin-top: auto; width: 100%; }
.cw-catalog-item.is-packshot img { object-fit: contain !important; }
.cw-current-selection { border-top: 2px solid #e2d6c2; margin-top: 2rem; padding-top: 1.25rem; }
.cw-current-selection > h4 { color: var(--navy, #05294b); font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; margin: 0 0 .8rem; }

.cw-summary { align-self: start; position: sticky; top: 92px; padding: 1.4rem; }
.cw-summary h3 { color: var(--navy, #05294b); font-family: Georgia, 'Times New Roman', serif; font-size: 1.8rem; margin: .3rem 0 1rem; }
.cw-summary-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.cw-summary-facts span { background: #f7f2e9; border-radius: 10px; color: var(--muted, #667078); display: grid; font-size: .72rem; padding: .65rem; text-align: center; }
.cw-summary-facts b { color: var(--navy, #05294b); font-size: 1.15rem; }
.cw-summary-items { list-style: none; max-height: 230px; overflow: auto; margin: 1rem 0; padding: 0; }
.cw-summary-items li { align-items: center; border-bottom: 1px solid #eee8de; display: flex; font-size: .76rem; gap: .5rem; justify-content: space-between; padding: .43rem 0; }
.cw-summary-items span { min-width: 0; }
.cw-summary-wishes { background: #f2f6f3; border-radius: 9px; color: #3b554d; font-size: .73rem; line-height: 1.5; padding: .65rem; }
.cw-total { border-bottom: 1px solid #ded7ca; border-top: 1px solid #ded7ca; margin: 1rem 0; padding: 1rem 0; }
.cw-total > span, .cw-total > small { color: var(--muted, #667078); display: block; font-size: .72rem; }
.cw-total > strong { color: var(--navy, #05294b); display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; line-height: 1.15; margin: .15rem 0; }
.cw-errors { background: #fff0f0; border: 1px solid #e6baba; border-radius: 10px; color: #8a2f2f; font-size: .75rem; margin-bottom: .8rem; padding: .6rem .7rem; }
.cw-errors p { margin: .2rem 0; }
.cw-field-error { color: #9d2d2d !important; font-size: .75rem !important; font-weight: 650 !important; }
.cw-whatsapp { width: 100%; background: #1f9d55; box-shadow: 0 8px 20px rgba(31,157,85,.2); color: #fff; padding: .8rem; }
.cw-whatsapp::before { content: '●'; margin-right: .45rem; }
.cw-print { width: 100%; background: #fff; border: 1px solid var(--navy, #05294b); color: var(--navy, #05294b); margin-top: .55rem; padding: .75rem; }
.cw-print::before { content: '↧'; margin-right: .45rem; }
.cw-secondary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .55rem; }
.cw-secondary-actions a, .cw-secondary-actions button { min-height: 44px; align-items: center; background: #f6f1e8; border: 0; border-radius: 9px; color: var(--navy, #05294b); cursor: pointer; display: flex; font-size: .71rem; font-weight: 750; justify-content: center; padding: .5rem; text-align: center; text-decoration: none; }
.cw-summary-availability { color: var(--navy, #05294b); font-size: .78rem; font-weight: 750; line-height: 1.45; margin: 1rem 0 .35rem; text-align: center; }
.cw-no-contact { color: var(--success, #2f7256); font-size: .7rem; font-weight: 750; margin: .65rem 0 0; text-align: center; }
.cw-confirmation-note { color: var(--muted, #667078); font-size: .68rem; line-height: 1.45; margin: 0; text-align: center; }

.trust-strip .cw-availability-trust { align-items: center; display: flex; flex-direction: column; gap: .12rem; justify-content: center; text-align: center; }
.trust-strip .cw-availability-trust b { color: inherit; }
.trust-strip .cw-availability-trust span { font-size: .72rem; opacity: .8; max-width: 220px; }
.cw-mobile-bar { display: none; }
.mobile-cart { display: none !important; }
.catalog-section .product-quantity { display: none !important; }
.catalog-section .product-footer button { min-width: 132px; }

@media (max-width: 980px) {
  .site-header { position: sticky; }
  .cw-mobile-fingerfood-link { position: absolute; right: 14px; top: calc(100% + 8px); display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: .4rem .78rem; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; background: var(--gold, #c99a55); box-shadow: 0 8px 22px rgba(3,28,51,.18); color: var(--navy, #05294b); font-size: .72rem; font-weight: 850; text-decoration: none; }
  .cw-packages { grid-template-columns: 1fr; }
  .cw-package > p { min-height: 0; }
  .cw-workspace { grid-template-columns: 1fr; }
  .cw-summary { position: static; }
  .cw-requirements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalog-group.is-fingerfood .cw-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalog-group.is-meal .cw-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalog-group.is-showcase .cw-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .funnel-section[data-package-funnel="ready"] { padding: 3.25rem 0 8.5rem; }
  .funnel-section[data-package-funnel="ready"] > .cw-funnel { width: min(100% - 20px, 1180px); }
  .cw-intro { margin-bottom: 1.4rem; }
  .cw-intro h2 { font-size: 2.35rem; }
  .cw-assurances { gap: .35rem; }
  .cw-assurances span { font-size: .7rem; padding: .45rem .6rem; }
  .cw-package { border-radius: 17px; padding: 1.1rem; }
  .cw-package.is-selected { padding: calc(1.1rem - 1px); }
  .cw-package h3 { font-size: 1.5rem; }
  .cw-workspace { margin-top: 1rem; }
  .cw-card { border-radius: 16px; padding: 1rem; }
  .cw-event-grid, .cw-contact-grid, .cw-requirements, .cw-catalog-grid { grid-template-columns: 1fr; }
  .cw-catalog-group.is-fingerfood .cw-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalog-group.is-meal .cw-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalog-group.is-showcase .cw-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalog-group.is-fingerfood .cw-catalog-media { height: 165px; }
  .cw-catalog-group.is-fingerfood .cw-catalog-item img { height: 158px; }
  .cw-catalog-group.is-glass .cw-catalog-media { height: 185px; }
  .cw-catalog-group.is-glass .cw-catalog-item img { height: 178px; }
  .cw-selected-item { grid-template-columns: 52px minmax(0, 1fr) 82px; gap: .5rem; }
  .cw-selected-media { width: 52px; height: 60px; }
  .cw-selected-item img { width: 52px; height: 52px; }
  .cw-remove { grid-column: 2 / 4; justify-self: end; min-height: 36px; padding: .2rem; }
  .cw-catalog-item { grid-template-columns: 48px minmax(0, 1fr) auto; }
  .cw-summary { margin-bottom: 1rem; }
  .cw-mobile-bar { position: fixed; z-index: 80; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .6rem; background: #fff; border-top: 1px solid #ddd5c8; box-shadow: 0 -8px 28px rgba(3,28,51,.15); padding: .65rem max(.75rem, env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)); }
  .cw-mobile-bar > div { display: grid; }
  .cw-mobile-bar > div b { color: var(--navy, #05294b); font-size: 1rem; }
  .cw-mobile-bar > div span { color: var(--muted, #667078); font-size: .64rem; }
  .cw-mobile-bar > button { background: #1f9d55; color: #fff; min-height: 46px; padding: .55rem .7rem; }
  .cw-mobile-availability { grid-column: 1 / -1; color: var(--navy, #05294b); font-size: .63rem; font-weight: 700; margin: -.15rem 0 0; text-align: center; }
}

@media (max-width: 430px) {
  .cw-catalog-group.is-fingerfood .cw-catalog-grid { grid-template-columns: 1fr; }
  .cw-catalog-group.is-meal .cw-catalog-grid { grid-template-columns: 1fr; }
  .cw-catalog-group.is-showcase .cw-catalog-grid { grid-template-columns: 1fr; }
  .cw-catalog-group.is-glass .cw-catalog-media { height: 240px; }
  .cw-catalog-group.is-glass .cw-catalog-item img { height: 232px; }
}

@media (prefers-reduced-motion: reduce) {
  .cw-package { transition: none; }
  html { scroll-behavior: auto; }
}
