/*
Theme Name: Curry Kitchen
Theme URI: https://currykitchen.in
Author: Curry Kitchen
Author URI: https://currykitchen.in
Description: A modern, mobile-first, premium restaurant & food-ordering WordPress theme built for CURRY KITCHEN. Fully WooCommerce compatible — supports menu browsing, cart, checkout, delivery & takeaway ordering.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: curry-kitchen
Tags: e-commerce, food-and-drink, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready

WooCommerce compatible.
*/

/* ==========================================================================
   1. CSS VARIABLES / DESIGN TOKENS
   ========================================================================== */
:root{
  --ck-primary:#c1272d;        /* rich curry red */
  --ck-primary-dark:#8f1d22;
  --ck-secondary:#f4a71a;      /* turmeric gold */
  --ck-dark:#1c1410;           /* near-black warm dark, for text/headers */
  --ck-cream:#fff8ef;          /* warm background */
  --ck-white:#ffffff;
  --ck-gray:#6b6259;
  --ck-light-gray:#f1ece3;
  --ck-success:#2e8b47;
  --ck-border-radius:14px;
  --ck-border-radius-sm:8px;
  --ck-shadow:0 6px 24px rgba(28,20,16,0.08);
  --ck-shadow-lg:0 14px 40px rgba(28,20,16,0.14);
  --ck-font-heading:'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  --ck-font-body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --ck-max-width:1200px;
  --ck-transition: all .25s ease;
}

/* ==========================================================================
   2. RESET & BASE
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ck-font-body);
  color:var(--ck-dark);
  background:var(--ck-cream);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:var(--ck-transition); }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4,h5,h6{
  font-family:var(--ck-font-heading);
  color:var(--ck-dark);
  line-height:1.25;
  margin:0 0 .5em;
  font-weight:700;
}
h1{ font-size:clamp(2rem,5vw,3.2rem); }
h2{ font-size:clamp(1.6rem,4vw,2.4rem); }
h3{ font-size:1.4rem; }
p{ margin:0 0 1em; color:var(--ck-gray); }
.container{
  max-width:var(--ck-max-width);
  margin:0 auto;
  padding:0 20px;
}
section{ padding:70px 0; }
@media (max-width:768px){ section{ padding:44px 0; } }

/* Buttons */
.btn,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.wp-block-button__link{
  display:inline-block;
  font-family:var(--ck-font-heading);
  font-weight:600;
  font-size:.95rem;
  padding:14px 30px;
  border-radius:100px;
  border:none;
  cursor:pointer;
  background:var(--ck-primary);
  color:var(--ck-white) !important;
  transition:var(--ck-transition);
  text-align:center;
  letter-spacing:.2px;
}
.btn:hover, button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover{
  background:var(--ck-primary-dark);
  transform:translateY(-2px);
  box-shadow:var(--ck-shadow);
}
.btn.btn-secondary{
  background:var(--ck-secondary);
  color:var(--ck-dark) !important;
}
.btn.btn-secondary:hover{ background:#e0980f; }
.btn.btn-outline{
  background:transparent;
  border:2px solid var(--ck-white);
  color:var(--ck-white) !important;
}
.btn.btn-outline:hover{ background:var(--ck-white); color:var(--ck-primary) !important; }

/* ==========================================================================
   3. HEADER / NAVIGATION
   ========================================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:var(--ck-white);
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:14px;
  padding-bottom:14px;
}
.site-branding{ display:flex; align-items:center; gap:10px; }
.site-branding img{ max-height:48px; width:auto; }
.site-title{
  font-family:var(--ck-font-heading);
  font-size:1.5rem;
  font-weight:800;
  color:var(--ck-primary);
  margin:0;
}
.site-title span{ color:var(--ck-dark); }

.main-navigation{ display:flex; align-items:center; gap:28px; }
.main-navigation ul{ display:flex; gap:28px; }
.main-navigation a{
  font-weight:600;
  font-size:.98rem;
  color:var(--ck-dark);
  position:relative;
}
.main-navigation a:hover{ color:var(--ck-primary); }
.main-navigation .cart-contents{
  display:flex; align-items:center; gap:6px;
  font-weight:700;
}
.header-cta{ display:flex; align-items:center; gap:14px; }

.menu-toggle{
  display:none;
  background:none;
  border:none;
  font-size:1.6rem;
  color:var(--ck-dark);
  cursor:pointer;
  padding:4px 8px;
}
@media (max-width:900px){
  .main-navigation{
    display:none;
    position:absolute;
    top:100%; left:0; right:0;
    background:var(--ck-white);
    flex-direction:column;
    align-items:flex-start;
    padding:20px;
    box-shadow:0 10px 20px rgba(0,0,0,.08);
  }
  .main-navigation.is-open{ display:flex; }
  .main-navigation ul{ flex-direction:column; gap:16px; width:100%; }
  .menu-toggle{ display:block; }
}

/* Sticky mobile bottom nav (order now bar) */
.mobile-order-bar{
  display:none;
  position:fixed; bottom:0; left:0; right:0;
  background:var(--ck-white);
  box-shadow:0 -4px 20px rgba(0,0,0,.12);
  padding:10px 16px;
  z-index:998;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
@media (max-width:768px){
  .mobile-order-bar{ display:flex; }
  body{ padding-bottom:70px; }
}
.mobile-order-bar .btn{ flex:1; text-align:center; padding:12px; font-size:.9rem; }

/* ==========================================================================
   4. HERO SECTION
   ========================================================================== */
.hero{
  position:relative;
  background:linear-gradient(120deg, rgba(28,20,16,.78), rgba(28,20,16,.45)), var(--hero-img, linear-gradient(120deg,#c1272d,#8f1d22));
  background-size:cover;
  background-position:center;
  color:var(--ck-white);
  padding:120px 0;
  min-height:560px;
  display:flex;
  align-items:center;
}
.hero .container{ position:relative; z-index:2; max-width:700px; }
.hero-eyebrow{
  display:inline-block;
  background:var(--ck-secondary);
  color:var(--ck-dark);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:6px 16px;
  border-radius:100px;
  margin-bottom:18px;
}
.hero h1{ color:var(--ck-white); margin-bottom:18px; }
.hero p{ color:rgba(255,255,255,.88); font-size:1.15rem; max-width:520px; }
.hero-buttons{ display:flex; gap:16px; margin-top:30px; flex-wrap:wrap; }
@media (max-width:600px){
  .hero{ padding:80px 0; min-height:auto; text-align:center; }
  .hero .container{ max-width:100%; }
  .hero p{ margin-left:auto; margin-right:auto; }
  .hero-buttons{ justify-content:center; }
}

/* ==========================================================================
   5. SECTION HEADINGS
   ========================================================================== */
.section-heading{ text-align:center; max-width:640px; margin:0 auto 50px; }
.section-heading .eyebrow{
  color:var(--ck-primary);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-size:.82rem;
  display:block;
  margin-bottom:8px;
}
.section-heading h2{ margin-bottom:10px; }

/* ==========================================================================
   6. FOOD CATEGORIES
   ========================================================================== */
.categories-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:20px;
}
.category-card{
  background:var(--ck-white);
  border-radius:var(--ck-border-radius);
  padding:26px 16px;
  text-align:center;
  box-shadow:var(--ck-shadow);
  transition:var(--ck-transition);
  cursor:pointer;
}
.category-card:hover{ transform:translateY(-6px); box-shadow:var(--ck-shadow-lg); }
.category-card .icon{ font-size:2.4rem; margin-bottom:10px; }
.category-card h3{ font-size:1rem; margin:0; }

/* ==========================================================================
   7. PRODUCT / MENU CARDS (WooCommerce)
   ========================================================================== */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:28px;
  list-style:none;
}
ul.products li.product{
  background:var(--ck-white);
  border-radius:var(--ck-border-radius);
  overflow:hidden;
  box-shadow:var(--ck-shadow);
  transition:var(--ck-transition);
  position:relative;
  padding-bottom:18px !important;
  margin:0 !important;
}
ul.products li.product:hover{ transform:translateY(-6px); box-shadow:var(--ck-shadow-lg); }
ul.products li.product img{
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:0;
}
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--ck-font-heading);
  font-size:1.1rem;
  padding:14px 16px 4px;
  color:var(--ck-dark);
}
ul.products li.product .price{
  padding:0 16px;
  color:var(--ck-primary) !important;
  font-weight:700;
  font-size:1.1rem;
}
ul.products li.product .button{
  margin:12px 16px 0;
  display:block;
  width:calc(100% - 32px);
  padding:10px 20px;
  font-size:.88rem;
}
.veg-badge, .nonveg-badge{
  position:absolute; top:12px; left:12px;
  width:22px; height:22px;
  border:2px solid var(--ck-success);
  border-radius:4px;
  background:var(--ck-white);
  display:flex; align-items:center; justify-content:center;
}
.veg-badge::after{ content:""; width:10px; height:10px; border-radius:50%; background:var(--ck-success); }
.nonveg-badge{ border-color:var(--ck-primary); }
.nonveg-badge::after{ content:""; width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:10px solid var(--ck-primary); }

.ck-sample-note{
  font-size:.85rem;
  color:var(--ck-gray);
  font-style:italic;
  margin-top:-4px;
}

/* Sample/placeholder dish cards (shown until the owner adds real products) */
.sample-dish-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:26px;
}
.sample-dish-card{
  position:relative;
  background:var(--ck-white);
  border-radius:var(--ck-border-radius);
  overflow:hidden;
  box-shadow:var(--ck-shadow);
  opacity:.85;
}
.sample-dish-img{
  aspect-ratio:4/3;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.6rem;
  background:var(--ck-light-gray);
}
.sample-dish-body{ padding:16px; }
.sample-dish-body h3{ font-size:1.05rem; margin-bottom:4px; }
.sample-dish-body .price{ color:var(--ck-primary); font-weight:700; margin-bottom:4px; }
.sample-dish-body p{ font-size:.85rem; margin:0; }
.category-card--sample{ opacity:.85; cursor:default; }

/* ==========================================================================
   8. WHY CHOOSE US / FEATURES
   ========================================================================== */
.features-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:30px;
}
.feature-card{ text-align:center; padding:20px; }
.feature-card .icon{
  width:64px; height:64px;
  border-radius:50%;
  background:var(--ck-light-gray);
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem;
  margin:0 auto 16px;
  color:var(--ck-primary);
}

/* ==========================================================================
   9. DELIVERY / TAKEAWAY INFO BAND
   ========================================================================== */
.info-band{
  background:var(--ck-dark);
  color:var(--ck-white);
}
.info-band .container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.info-band .info-block h3{ color:var(--ck-secondary); }
.info-band .info-block p{ color:rgba(255,255,255,.75); }
@media (max-width:700px){ .info-band .container{ grid-template-columns:1fr; } }

/* ==========================================================================
   10. TESTIMONIALS
   ========================================================================== */
.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}
.testimonial-card{
  background:var(--ck-white);
  border-radius:var(--ck-border-radius);
  padding:26px;
  box-shadow:var(--ck-shadow);
}
.testimonial-card .stars{ color:var(--ck-secondary); margin-bottom:10px; letter-spacing:2px; }
.testimonial-card .name{ font-weight:700; margin-top:10px; color:var(--ck-dark); }

/* ==========================================================================
   10b. VISIT US / MAP SECTION
   ========================================================================== */
.visit-us-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:32px;
  align-items:stretch;
}
.visit-us-map iframe{
  display:block;
  width:100%;
  min-height:300px;
  border-radius:var(--ck-border-radius);
  box-shadow:var(--ck-shadow);
}
.visit-us-map-placeholder{
  background:var(--ck-light-gray);
  border-radius:var(--ck-border-radius);
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
}
.visit-us-map-placeholder p{ color:var(--ck-gray); max-width:320px; margin:0; }
.visit-us-details{
  background:var(--ck-white);
  border-radius:var(--ck-border-radius);
  padding:28px;
  box-shadow:var(--ck-shadow);
}
.visit-us-details h3{ font-size:1rem; margin-bottom:4px; margin-top:18px; }
.visit-us-details h3:first-child{ margin-top:0; }
.visit-us-details p{ margin-bottom:2px; }
.visit-us-details a{ color:var(--ck-primary); }
@media (max-width:800px){ .visit-us-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   11. FOOTER
   ========================================================================== */
.site-footer{
  background:var(--ck-dark);
  color:rgba(255,255,255,.75);
  padding:60px 0 20px;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.3fr;
  gap:36px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-grid h4{ color:var(--ck-white); margin-bottom:16px; font-size:1rem; }
.footer-grid a{ color:rgba(255,255,255,.7); display:block; margin-bottom:10px; }
.footer-grid a:hover{ color:var(--ck-secondary); }
.footer-about img{ max-height:40px; margin-bottom:14px; }
.footer-bottom{
  padding-top:20px;
  text-align:center;
  font-size:.85rem;
  color:rgba(255,255,255,.5);
}
@media (max-width:800px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:500px){ .footer-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   12. WOOCOMMERCE: CART / CHECKOUT
   ========================================================================== */
.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table{
  border:none;
  border-radius:var(--ck-border-radius);
  overflow:hidden;
  box-shadow:var(--ck-shadow);
  background:var(--ck-white);
}
.woocommerce table.shop_table th{
  background:var(--ck-light-gray);
  font-family:var(--ck-font-heading);
}
.woocommerce-checkout #payment{
  background:var(--ck-white) !important;
  border-radius:var(--ck-border-radius);
  box-shadow:var(--ck-shadow);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border-radius:var(--ck-border-radius-sm);
  border:1px solid #ddd3c6;
  padding:10px 12px;
}
.woocommerce-order-details, .woocommerce-customer-details{
  background:var(--ck-white);
  padding:24px;
  border-radius:var(--ck-border-radius);
  box-shadow:var(--ck-shadow);
}

/* Delivery/Takeaway toggle (custom checkout field) */
.ck-order-type-toggle{
  display:flex; gap:16px; margin-bottom:24px;
}
.ck-order-type-toggle label{
  flex:1;
  border:2px solid var(--ck-light-gray);
  border-radius:var(--ck-border-radius);
  padding:16px;
  text-align:center;
  cursor:pointer;
  font-weight:700;
  transition:var(--ck-transition);
}
.ck-order-type-toggle input{ display:none; }
.ck-order-type-toggle input:checked + span{ color:var(--ck-primary); }
.ck-order-type-toggle label:has(input:checked){
  border-color:var(--ck-primary);
  background:rgba(193,39,45,.06);
}

/* ==========================================================================
   13. UTILITIES
   ========================================================================== */
.text-center{ text-align:center; }
.bg-cream{ background:var(--ck-cream); }
.bg-white{ background:var(--ck-white); }
.mt-0{ margin-top:0; }
.mb-0{ margin-bottom:0; }
