
/* ============================================================
   FloatCommerce RC2.7.2 — Premium Homepage + Menu UI
   Visual system aligned with RC2.6.9 About/Contact:
   Navy + Pizza Red + Fresh Green + Warm Gold + Cream.
   No template structure or ordering logic changes.
   ============================================================ */

:root{
  --fc272-navy:#0B2442;
  --fc272-navy-2:#153A61;
  --fc272-red:#B91F2C;
  --fc272-red-dark:#981824;
  --fc272-red-soft:#FFF1F2;
  --fc272-green:#16834B;
  --fc272-green-soft:#EDF9F2;
  --fc272-gold:#D4A92D;
  --fc272-gold-soft:#FFF8E4;
  --fc272-cream:#FFF9F0;
  --fc272-ink:#101828;
  --fc272-muted:#667085;
  --fc272-line:#E7EAF0;
}

/* ---------- HOMEPAGE ---------- */
.fc-home-hero{
  padding:58px 0 48px!important;
  background:linear-gradient(135deg,#fff 0%,#fff8ee 62%,#eef9f3 100%)!important;
  border-bottom:1px solid #ece8df!important;
}
.fc-home-hero-copy h1{
  color:var(--fc272-red)!important;
  font-size:clamp(44px,5vw,66px)!important;
  line-height:1.01!important;
  letter-spacing:-.055em!important;
  font-weight:900!important;
}
.fc-home-lead{
  color:#596675!important;
  font-size:17px!important;
  line-height:1.7!important;
}
.fc-home-eyebrow{
  color:var(--fc272-navy)!important;
  font-size:12px!important;
  font-weight:850!important;
}
.fc-home-order-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid #e6e0d7!important;
  border-radius:14px!important;
  box-shadow:0 10px 28px rgba(16,24,40,.06)!important;
}
.fc-home-postcode-row input{
  border-color:#d5dbe2!important;
  border-radius:9px!important;
}
.fc-home-postcode-row button{
  background:linear-gradient(135deg,var(--fc272-red),var(--fc272-red-dark))!important;
  border-radius:9px!important;
  box-shadow:0 6px 16px rgba(185,31,44,.16)!important;
}
.fc-home-text-link{color:var(--fc272-navy)!important}
.fc-home-trust-row span::before{color:var(--fc272-green)!important}

.fc-home-quick-meta{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.fc-home-quick-meta>div{
  min-width:0!important;
  padding:11px 12px!important;
  border-radius:10px!important;
  border:1px solid #e7e7e7!important;
  background:#fff!important;
}
.fc-home-quick-meta>div:nth-child(1){border-top:3px solid var(--fc272-red)!important}
.fc-home-quick-meta>div:nth-child(2){border-top:3px solid var(--fc272-green)!important}
.fc-home-quick-meta>div:nth-child(3){border-top:3px solid var(--fc272-gold)!important}

.fc-home-category-section{
  padding:58px 0!important;
  background:#fff!important;
}
.fc-home-section-head h2{
  color:var(--fc272-navy)!important;
  font-size:31px!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}
.fc-home-section-head span{
  color:var(--fc272-red)!important;
  font-weight:900!important;
}
.fc-home-category-card{
  border-radius:14px!important;
  border:1px solid var(--fc272-line)!important;
  box-shadow:none!important;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important;
}
.fc-home-category-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 12px 28px rgba(16,24,40,.08)!important;
  border-color:#d6dce2!important;
}
.fc-home-category-card:nth-child(4n+1){background:var(--fc272-red-soft)!important}
.fc-home-category-card:nth-child(4n+2){background:var(--fc272-green-soft)!important}
.fc-home-category-card:nth-child(4n+3){background:var(--fc272-gold-soft)!important}
.fc-home-category-card:nth-child(4n){background:#EEF4F8!important}

.fc-home-popular-section{
  padding:62px 0!important;
  background:linear-gradient(180deg,#F8F9FB 0%,#FFF9F0 100%)!important;
}
.fc-home-product-card{
  border-radius:16px!important;
  border:1px solid #e5e8ec!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(16,24,40,.055)!important;
  overflow:hidden!important;
}
.fc-home-product-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 32px rgba(16,24,40,.09)!important;
}
.fc-home-product-image{
  height:210px!important;
}
.fc-home-product-title h3{
  color:var(--fc272-navy)!important;
  font-size:16px!important;
  font-weight:900!important;
}
.fc-home-product-title strong{
  color:var(--fc272-red)!important;
  font-size:15px!important;
  font-weight:900!important;
}
.fc-home-product-action{
  min-height:40px!important;
  border-radius:9px!important;
  background:linear-gradient(135deg,var(--fc272-red),var(--fc272-red-dark))!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(185,31,44,.12)!important;
}
.fc-home-product-image>span{
  background:var(--fc272-gold-soft)!important;
  color:#755807!important;
  border:1px solid #ead487!important;
  box-shadow:none!important;
}

/* proof / story / information */
.fc-home-proof-section{padding:28px 0 58px!important;background:#fff!important}
.fc-home-proof-grid{
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(16,24,40,.045)!important;
}
.fc-home-proof-grid article:nth-child(1){background:var(--fc272-red-soft)!important}
.fc-home-proof-grid article:nth-child(2){background:var(--fc272-green-soft)!important}
.fc-home-proof-grid article:nth-child(3){background:var(--fc272-gold-soft)!important}
.fc-home-proof-grid article:nth-child(4){background:#EEF4F8!important}
.fc-home-proof-grid strong{color:var(--fc272-navy)!important;font-weight:900!important}

.fc-home-story-section{
  padding:66px 0!important;
  background:#fff!important;
}
.fc-home-story-copy h2{
  color:var(--fc272-navy)!important;
  font-size:34px!important;
  font-weight:900!important;
}
.fc-home-story-card{
  background:linear-gradient(145deg,var(--fc272-navy),var(--fc272-navy-2))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 18px 38px rgba(11,36,66,.14)!important;
}
.fc-home-story-card small{color:#a8b5c3!important}
.fc-home-story-card strong{color:#fff!important}
.fc-home-story-card li{color:#dce4ec!important}
.fc-home-story-card li::before{color:#55d18b!important}

.fc-home-info-section{
  background:linear-gradient(135deg,#091c32,var(--fc272-navy-2))!important;
}
.fc-home-info-copy>a{
  background:var(--fc272-red)!important;
  color:#fff!important;
}
.fc-home-info-points b{color:var(--fc272-gold)!important}

/* ---------- MENU ---------- */
.fw-wave-menu,
.tw-menu-layout{
  background:linear-gradient(180deg,#fff 0%,#fffaf3 100%)!important;
}
.fw-wave-menu .container,
.tw-menu-layout .container{
  max-width:1360px!important;
}
.fw-wave-shell{
  grid-template-columns:150px minmax(0,1fr) 230px!important;
  gap:18px!important;
}

/* category navigation */
.fw-wave-categories,
.fw-wave-basket{
  border-radius:16px!important;
  border:1px solid #e5e8ec!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(16,24,40,.05)!important;
}
.fw-wave-category-list button{
  border-radius:9px!important;
  background:#fff!important;
  color:var(--fc272-navy)!important;
  border:1px solid transparent!important;
  font-weight:800!important;
}
.fw-wave-category-list button:hover{
  background:var(--fc272-red-soft)!important;
  color:var(--fc272-red)!important;
}
.fw-wave-category-list button.active,
.fw-wave-category-list button.is-active{
  background:linear-gradient(135deg,var(--fc272-navy),var(--fc272-navy-2))!important;
  color:#fff!important;
  border-color:var(--fc272-navy)!important;
  box-shadow:0 5px 13px rgba(11,36,66,.13)!important;
}

/* menu heading */
.fw-wave-main-head{
  padding:3px 2px 16px!important;
}
.fw-wave-main-head h2,
.tw-menu-category-head h2{
  color:var(--fc272-navy)!important;
  font-size:27px!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
}
.fw-wave-main-head p,
.tw-menu-category-head p{
  color:#66717e!important;
  font-size:14px!important;
}

/* product cards */
.fw-wave-products{gap:16px!important}
.fw-wave-card{
  position:relative!important;
  border-radius:16px!important;
  border:1px solid #e4e8ec!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(16,24,40,.055)!important;
  overflow:hidden!important;
  transition:transform .15s ease,box-shadow .15s ease!important;
}
.fw-wave-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 30px rgba(16,24,40,.09)!important;
}
.fw-wave-card:nth-child(4n+1){border-top:3px solid var(--fc272-red)!important}
.fw-wave-card:nth-child(4n+2){border-top:3px solid var(--fc272-green)!important}
.fw-wave-card:nth-child(4n+3){border-top:3px solid var(--fc272-gold)!important}
.fw-wave-card:nth-child(4n){border-top:3px solid var(--fc272-navy)!important}
.fw-wave-card-image{height:195px!important}
.fw-wave-card-title-row h3{
  color:var(--fc272-navy)!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.3!important;
}
.fw-wave-card-title-row strong{
  color:var(--fc272-red)!important;
  background:var(--fc272-red-soft)!important;
  border:1px solid #f1cbd0!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:900!important;
}
.fw-wave-card-body>p{
  color:#66717e!important;
  font-size:13px!important;
  line-height:1.52!important;
}
.fw-wave-add{
  background:linear-gradient(135deg,var(--fc272-red),var(--fc272-red-dark))!important;
  border:0!important;
  color:#fff!important;
  border-radius:9px!important;
  min-height:39px!important;
  box-shadow:0 5px 14px rgba(185,31,44,.13)!important;
}

/* menu meta/badges */
.fw-wave-card-meta span:first-child{
  background:var(--fc272-gold-soft)!important;
  color:#755807!important;
  border-color:#ead487!important;
}
.tw-badge-veg,.badge-veg,.vegetarian-badge{
  background:var(--fc272-green-soft)!important;
  color:#11683C!important;
}
.tw-badge-hot,.badge-hot,.spicy-badge{
  background:var(--fc272-red-soft)!important;
  color:var(--fc272-red)!important;
}

/* basket */
.fw-wave-basket .fw-wave-panel-title{
  color:var(--fc272-navy)!important;
  font-size:17px!important;
  font-weight:900!important;
}
.fw-wave-inline-item h5{color:var(--fc272-navy)!important;font-weight:850!important}
.fw-wave-inline-item strong{color:var(--fc272-red)!important}
.fw-wave-basket-total{
  border-top:1px solid var(--fc272-line)!important;
}
.fw-wave-basket-total strong{color:var(--fc272-red)!important;font-size:20px!important}
.fw-wave-view-basket{
  background:linear-gradient(135deg,var(--fc272-red),var(--fc272-red-dark))!important;
  color:#fff!important;
  border-radius:9px!important;
  box-shadow:0 5px 14px rgba(185,31,44,.13)!important;
}

/* Legacy menu fallback */
.tw-category-strip a{
  background:#fff!important;
  color:var(--fc272-navy)!important;
  border:1px solid #e1e6ea!important;
}
.tw-category-strip a:hover,
.tw-category-strip a.active{
  background:var(--fc272-navy)!important;
  color:#fff!important;
}
.tw-menu-item{
  border-radius:16px!important;
  border:1px solid #e4e8ec!important;
  box-shadow:0 5px 18px rgba(16,24,40,.05)!important;
  background:#fff!important;
}
.tw-menu-item h4{color:var(--fc272-navy)!important;font-weight:900!important}
.tw-menu-price{color:var(--fc272-red)!important;font-weight:900!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
  .fw-wave-shell{
    grid-template-columns:130px minmax(0,1fr) 205px!important;
    gap:14px!important;
  }
}
@media(max-width:991px){
  .fw-wave-shell{grid-template-columns:1fr!important}
  .fw-wave-category-list{
    display:flex!important;
    overflow-x:auto!important;
    gap:8px!important;
    padding-bottom:4px!important;
  }
  .fw-wave-category-list button{
    min-width:max-content!important;
    width:auto!important;
  }
  .fw-wave-categories,.fw-wave-basket{position:relative!important;top:auto!important}
}
@media(max-width:640px){
  .fc-home-hero{padding:38px 0!important}
  .fc-home-hero-copy h1{font-size:40px!important}
  .fc-home-quick-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fc-home-product-grid{grid-template-columns:1fr!important}
  .fw-wave-products{grid-template-columns:1fr!important}
  .fw-wave-card{
    display:grid!important;
    grid-template-columns:122px minmax(0,1fr)!important;
  }
  .fw-wave-card-image{
    height:100%!important;
    min-height:154px!important;
  }
}
