/* ============================================================
   KRITUNGA KOTHANUR — Corporate Catering Theme Overrides
   Layered on top of the base template. Brand palette retains
   the template's deep navy + warm accent for a premium feel.
   ============================================================ */

:root{
    --kt-navy:    #111330;
    --kt-fire:    #EF5744;     /* Kritunga signature red-orange */
    --kt-spice:   #C0392B;
    --kt-gold:    #E8B546;
    --kt-cream:   #F6F3F0;
    --kt-ink:     #1a1a1a;
}

/* ── Cinematic preloader ───────────────────────────────────── */
.kt-preloader{
    position: fixed; inset: 0; z-index: 99999;
    background: #000;
    display: flex; align-items: center; justify-content: center;
    transition: opacity .9s ease, visibility .9s ease;
}
.kt-preloader.kt-fade-out{ opacity: 0; visibility: hidden; pointer-events: none; }
.kt-preloader-stage{ text-align:center; max-width: 720px; padding: 0 24px; }
.kt-preloader-logo img{ width: 110px; height:auto; opacity:0; transform: scale(.9); animation: ktLogoIn 1s .1s ease forwards; filter: drop-shadow(0 6px 30px rgba(239,87,68,.45)); }
.kt-preloader-tags{
    margin-top: 32px;
    height: 38px; position: relative;
    font-family: "Bricolage Grotesque", serif;
    color: #fff; font-size: clamp(16px, 2.4vw, 24px); letter-spacing: .01em;
}
.kt-preloader-tags .kt-tag{
    position: absolute; inset: 0; opacity: 0;
    display: flex; align-items: center; justify-content: center;
    transition: opacity .6s ease, transform .6s ease;
    transform: translateY(8px);
}
.kt-preloader-tags .kt-tag.kt-on{ opacity: 1; transform: translateY(0); }
.kt-preloader-bar{
    margin: 36px auto 0; width: min(280px, 60vw); height: 2px;
    background: rgba(255,255,255,.12); overflow: hidden; border-radius: 2px;
}
.kt-preloader-bar span{
    display:block; height:100%; width: 0%;
    background: linear-gradient(90deg, var(--kt-fire), var(--kt-gold));
    animation: ktBarFill 3.4s ease forwards;
}
@keyframes ktLogoIn{ to{ opacity:1; transform: scale(1);} }
@keyframes ktBarFill{ to{ width: 100%; } }

/* Hide template's default preloader (we use our own) */
.preloader{ display:none !important; }

/* ── Header brand block ────────────────────────────────────── */
.kt-brand{ display:flex; align-items:center; gap:12px; }
.kt-brand img{ width:46px; height:46px; object-fit:contain; }
.kt-brand-text{ display:flex; flex-direction:column; line-height:1.05; }
.kt-brand-text strong{ font-family: "Bricolage Grotesque", serif; font-size:20px; color: var(--kt-navy); letter-spacing:.02em; }
.kt-brand-text em{ font-style:normal; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#7a7a8a; margin-top:2px; }
@media (max-width: 575px){ .kt-brand-text{ display:none; } }

/* ── Hero (corporate-focused) ──────────────────────────────── */
.kt-hero{
    position: relative;
    padding: 160px 0 120px;
    background:
      radial-gradient(900px 600px at 80% -10%, rgba(239,87,68,.25), transparent 60%),
      radial-gradient(700px 500px at -10% 110%, rgba(232,181,70,.18), transparent 60%),
      linear-gradient(180deg, #0c0e24 0%, #111330 60%, #15183a 100%);
    color:#fff; overflow:hidden;
}
.kt-hero::before{
    content:""; position:absolute; inset:0;
    background: url('../../images/hero-bg.jpg') center/cover no-repeat;
    opacity:.18; mix-blend-mode: luminosity;
}
.kt-hero .kt-hero-inner{ position:relative; z-index:2; }
.kt-hero h1{
    color:#fff; font-size: clamp(36px, 5.6vw, 68px); line-height:1.05;
    font-weight:700; margin-bottom: 22px;
}
.kt-hero h1 span.kt-fire{ color: var(--kt-fire); }
.kt-hero p.kt-lede{ color: rgba(255,255,255,.78); font-size: clamp(15px, 1.6vw, 19px); max-width: 620px; margin-bottom: 34px; }
.kt-hero .kt-eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    padding:8px 14px; border-radius:999px; background: rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18); color:#fff; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
    margin-bottom: 22px;
}
.kt-eyebrow .dot{ width:8px; height:8px; border-radius:50%; background: var(--kt-fire); box-shadow:0 0 12px var(--kt-fire); }
.kt-hero .btn-default.btn-fire{ background: var(--kt-fire); color:#fff; }
.kt-hero .btn-default.btn-ghost{ background: transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }

.kt-hero-badges{ display:flex; flex-wrap:wrap; gap:14px; margin-top: 40px; }
.kt-hero-badges .badge-pill{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:999px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#fff; font-size:13px; }
.kt-hero-badges .badge-pill i{ color: var(--kt-fire); }

.kt-hero-card{
    position:relative; z-index:2;
    background: rgba(255,255,255,.06); backdrop-filter: blur(12px);
    border:1px solid rgba(255,255,255,.14); border-radius: 22px; padding: 28px;
    color:#fff;
}
.kt-hero-card h3{ color:#fff; font-size:22px; margin-bottom:14px; }
.kt-hero-card ul{ list-style:none; padding:0; margin:0; }
.kt-hero-card ul li{ padding:12px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:12px; }
.kt-hero-card ul li:first-child{ border-top:0; }
.kt-hero-card ul li span{ color: var(--kt-gold); font-weight:600; }
.kt-hero-card .btn-default{ width:100%; margin-top: 16px; text-align:center; }

/* ── Generic section helpers ───────────────────────────────── */
.kt-section{ padding: 100px 0; }
.kt-section.tight{ padding: 70px 0; }
.kt-eyebrow-dark{ display:inline-block; padding:6px 12px; border-radius:999px; background: rgba(239,87,68,.1); color: var(--kt-fire); font-size:11px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; }
.kt-h2{ font-family:"Bricolage Grotesque", serif; color: var(--kt-navy); font-size: clamp(28px, 3.6vw, 44px); line-height:1.1; margin-bottom: 18px; }
.kt-lede-dark{ color:#5a5a6f; font-size:17px; line-height:1.6; }

/* ── Trust strip ───────────────────────────────────────────── */
.kt-trust{ background: var(--kt-navy); color:#fff; padding: 30px 0; }
.kt-trust .row{ align-items:center; }
.kt-trust .item{ display:flex; align-items:center; gap:12px; color:#fff; font-size:14px; }
.kt-trust .item i{ color: var(--kt-fire); font-size:20px; }

/* ── Solution grid ─────────────────────────────────────────── */
.kt-solutions{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; margin-top: 40px; }
.kt-sol-card{
    background:#fff; border-radius: 18px; padding: 28px; border:1px solid #ece6df;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    position:relative; overflow:hidden;
}
.kt-sol-card::after{
    content:""; position:absolute; right:-40px; top:-40px; width:160px; height:160px; border-radius:50%;
    background: radial-gradient(circle, rgba(239,87,68,.16), transparent 70%); opacity:0; transition: opacity .4s ease;
}
.kt-sol-card:hover{ transform: translateY(-6px); box-shadow: 0 22px 50px -28px rgba(17,19,48,.35); border-color: var(--kt-fire); }
.kt-sol-card:hover::after{ opacity:1; }
.kt-sol-card .ico{ width:54px; height:54px; border-radius:14px; background: rgba(239,87,68,.12); color: var(--kt-fire); display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom: 18px; }
.kt-sol-card h3{ font-size: 20px; color: var(--kt-navy); margin-bottom: 8px; }
.kt-sol-card p{ color:#6c6c7d; margin: 0 0 14px; font-size: 14.5px; }
.kt-sol-card a.kt-arrow{ color: var(--kt-fire); font-weight:600; font-size:13.5px; letter-spacing:.04em; }

/* ── Showcase image bands ──────────────────────────────────── */
.kt-band{ display:grid; grid-template-columns: 1.1fr 1fr; gap: 50px; align-items:center; }
.kt-band.reverse{ grid-template-columns: 1fr 1.1fr; }
.kt-band figure{ border-radius: 22px; overflow:hidden; box-shadow: 0 30px 60px -30px rgba(17,19,48,.45); }
.kt-band figure img{ width:100%; display:block; }
@media (max-width: 900px){ .kt-band, .kt-band.reverse{ grid-template-columns: 1fr; } }

/* ── Stats ─────────────────────────────────────────────────── */
.kt-stats{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.kt-stats .s{ background:#fff; border:1px solid #ece6df; padding:24px; border-radius:16px; text-align:center; }
.kt-stats .s b{ font-family:"Bricolage Grotesque", serif; font-size: 40px; color: var(--kt-navy); display:block; }
.kt-stats .s span{ color:#6c6c7d; font-size: 13px; letter-spacing:.06em; text-transform:uppercase; }
@media (max-width: 800px){ .kt-stats{ grid-template-columns: repeat(2, 1fr); } }

/* ── Testimonial cards ─────────────────────────────────────── */
.kt-quotes{ display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.kt-quote{ background:#fff; border:1px solid #ece6df; border-radius:16px; padding: 24px; }
.kt-quote .stars{ color: var(--kt-gold); margin-bottom: 10px; }
.kt-quote p{ font-size:15px; color:#3a3a4e; line-height:1.6; margin-bottom: 14px; }
.kt-quote .author{ display:flex; align-items:center; gap:12px; border-top:1px solid #f0ebe5; padding-top:14px; }
.kt-quote .author .av{ width:42px; height:42px; border-radius:50%; background: var(--kt-fire); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.kt-quote .author .meta strong{ display:block; color: var(--kt-navy); font-family:"Bricolage Grotesque", serif; font-size:15px; }
.kt-quote .author .meta span{ color:#7a7a8a; font-size:12.5px; }

/* ── CTA strip ─────────────────────────────────────────────── */
.kt-cta{
    background: linear-gradient(135deg, #15183a 0%, #1d214d 50%, #2a1c34 100%);
    color:#fff; padding: 70px 0; border-radius: 24px;
    position:relative; overflow:hidden;
}
.kt-cta h2{ color:#fff; font-size: clamp(26px, 3.5vw, 40px); margin-bottom: 12px; }
.kt-cta p{ color: rgba(255,255,255,.8); margin-bottom: 24px; }
.kt-cta::after{
    content:""; position:absolute; right:-100px; bottom:-100px; width: 360px; height: 360px; border-radius:50%;
    background: radial-gradient(circle, rgba(239,87,68,.4), transparent 70%);
}

/* ── Page header (interior pages) ──────────────────────────── */
/* The base template's sticky header floats with a transparent gap on top
   and a card-like white pill — so interior pages need extra top padding
   to clear it on every breakpoint. */
.kt-page-header{
    padding: 220px 0 80px;
    background: linear-gradient(180deg, #0c0e24, #111330);
    color:#fff; text-align:center;
    position:relative;
}
.kt-page-header h1{ color:#fff; font-size: clamp(32px, 4.6vw, 56px); margin-bottom: 10px; }
.kt-page-header p{ color: rgba(255,255,255,.75); max-width: 720px; margin: 0 auto; }
@media (max-width: 991px){
    .kt-page-header{ padding: 180px 0 60px; }
}
@media (max-width: 575px){
    .kt-page-header{ padding: 150px 0 50px; }
}

/* Same fix for the homepage hero — the floating navbar otherwise sits
   on top of the eyebrow + headline. */
.kt-hero{ padding-top: 220px; }
@media (max-width: 991px){ .kt-hero{ padding-top: 180px; padding-bottom: 90px; } }
@media (max-width: 575px){ .kt-hero{ padding-top: 150px; padding-bottom: 70px; } }

/* Make sure the sticky header always sits above hero overlays */
.header-sticky, .main-header{ position: relative; z-index: 50; }

/* ── Mealbox planner ───────────────────────────────────────── */
.kt-planner{ padding: 40px 0 110px; }
.kt-planner .step-head{ display:flex; align-items:center; gap:14px; margin-bottom: 18px; }
.kt-planner .step-head .num{ width:34px; height:34px; border-radius:50%; background: var(--kt-fire); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.kt-planner .step-head h3{ color: var(--kt-navy); font-size: 22px; margin:0; }
.kt-planner .step-head .help{ margin-left:auto; color:#7a7a8a; font-size:13px; }

.kt-card{ background:#fff; border:1px solid #ece6df; border-radius:18px; padding: 22px; }

.kt-toggle-row{ display:flex; gap:10px; flex-wrap:wrap; }
.kt-toggle{
    border:1px solid #e6dfd7; background:#fff; color: var(--kt-navy);
    padding: 12px 18px; border-radius: 999px; cursor:pointer; font-weight:600; font-size:14px;
    transition: all .25s ease;
}
.kt-toggle.active{ background: var(--kt-navy); color:#fff; border-color: var(--kt-navy); }
.kt-toggle .ico{ margin-right: 8px; }

.kt-presets{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 14px; margin-top: 18px; }
.kt-preset{
    border:1px solid #ece6df; border-radius:14px; padding:16px; cursor:pointer;
    transition: all .2s ease; background:#fff;
}
.kt-preset:hover{ border-color: var(--kt-fire); transform: translateY(-2px); }
.kt-preset.active{ border-color: var(--kt-fire); box-shadow: 0 0 0 3px rgba(239,87,68,.12); }
.kt-preset b{ display:block; color: var(--kt-navy); font-family:"Bricolage Grotesque", serif; font-size:15px; margin-bottom: 4px; }
.kt-preset span{ color:#7a7a8a; font-size:12.5px; line-height:1.5; }
.kt-preset .pill{ display:inline-block; margin-top:8px; padding:3px 8px; background: rgba(239,87,68,.12); color: var(--kt-fire); font-size:11px; border-radius:999px; }

.kt-mealbox-tabs{ display:flex; gap:8px; flex-wrap:wrap; border-bottom: 1px solid #ece6df; margin-bottom: 18px; }
.kt-mealbox-tab{
    padding: 10px 14px; cursor:pointer; border-radius: 10px 10px 0 0;
    color:#7a7a8a; font-weight:600; font-size:14px; border:1px solid transparent; border-bottom:0;
    background: transparent;
}
.kt-mealbox-tab .x{ color:#bbb; margin-left:6px; }
.kt-mealbox-tab.active{ color: var(--kt-navy); background:#fff; border-color:#ece6df; }
.kt-mealbox-add{ color: var(--kt-fire); font-weight:700; }

.kt-mb-meta{ display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.kt-mb-meta input, .kt-mb-meta select{
    width:100%; padding: 12px 14px; border:1px solid #e6dfd7; border-radius: 10px; background:#fff; font: inherit; color: var(--kt-ink);
}
@media (max-width: 700px){ .kt-mb-meta{ grid-template-columns: 1fr; } }

.kt-section-card{ border:1px solid #ece6df; border-radius:14px; padding:16px; margin-bottom: 14px; }
.kt-section-card .sec-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom: 10px; gap:10px; }
.kt-section-card .sec-head h4{ font-size: 15.5px; color: var(--kt-navy); margin:0; font-family:"Bricolage Grotesque", serif; }
.kt-section-card .sec-head .rule{ color:#9a9aa8; font-size:12.5px; }
.kt-section-card .sec-head .count{ color: var(--kt-fire); font-size:12.5px; font-weight:700; }
.kt-opts{ display:flex; flex-wrap:wrap; gap:8px; }
.kt-opt{
    padding: 8px 12px; border:1px solid #e6dfd7; border-radius: 999px; background:#fdfaf6;
    color: var(--kt-ink); font-size: 13px; cursor:pointer; user-select:none;
    transition: all .2s ease;
}
.kt-opt:hover{ border-color: var(--kt-fire); }
.kt-opt.selected{ background: var(--kt-navy); color:#fff; border-color: var(--kt-navy); }
.kt-opt.disabled{ opacity:.4; cursor:not-allowed; }

.kt-summary{
    position: sticky; top: 90px;
    background:#fff; border:1px solid #ece6df; border-radius: 18px; padding: 22px;
}
.kt-summary h3{ color: var(--kt-navy); font-size: 20px; margin-bottom: 6px; }
.kt-summary .totals{ background: var(--kt-cream); padding: 14px; border-radius: 12px; margin-top: 14px; }
.kt-summary .totals .row-l{ display:flex; justify-content:space-between; padding: 5px 0; font-size: 14px; color:#3a3a4e; }
.kt-summary .totals .row-l.total{ border-top: 1px dashed #d8d2c9; margin-top: 8px; padding-top: 12px; font-weight:700; color: var(--kt-navy); font-size: 18px; }
.kt-summary .mb-summary{ border-top: 1px solid #f0ebe5; padding-top: 12px; margin-top: 12px; }
.kt-summary .mb-summary b{ color: var(--kt-navy); font-family:"Bricolage Grotesque", serif; }
.kt-summary .mb-summary .pill{ font-size:11px; background: rgba(239,87,68,.1); color: var(--kt-fire); padding:2px 8px; border-radius:999px; margin-left: 6px; }
.kt-summary .mb-picks{ font-size: 12.5px; color:#6c6c7d; margin-top: 4px; line-height: 1.5; }
.kt-summary .mb-picks span{ display:inline-block; margin-right:6px; }

.kt-checkout{ margin-top: 18px; }
.kt-checkout label{ display:block; font-size:13px; color: var(--kt-navy); font-weight:600; margin-bottom: 6px; }
.kt-checkout input, .kt-checkout textarea{ width:100%; padding: 11px 13px; border:1px solid #e6dfd7; border-radius:10px; font: inherit; margin-bottom: 12px; }
.kt-checkout textarea{ min-height: 80px; }
.kt-checkout button{
    width:100%; padding: 14px; border-radius: 12px; border:0; background: var(--kt-fire); color:#fff; font-weight:700; font-size:15px;
    cursor:pointer; transition: transform .15s ease;
}
.kt-checkout button:hover{ transform: translateY(-1px); }
.kt-checkout .err{ color: #b30021; font-size: 13px; margin: 4px 0 12px; }
.kt-checkout .ok{ color: #1f7d3a; font-size: 14px; margin-top: 10px; padding: 12px; background: #e6f6ec; border-radius: 10px; }

/* ── Floating WhatsApp ─────────────────────────────────────── */
.kt-wa-float{
    position:fixed; right: 22px; bottom: 22px; z-index: 1000;
    width:56px; height:56px; border-radius:50%;
    background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow: 0 14px 30px -8px rgba(37,211,102,.55);
    font-size: 26px; transition: transform .2s ease;
}
.kt-wa-float:hover{ transform: scale(1.06); color:#fff; }

/* ── Admin ─────────────────────────────────────────────────── */
.kt-admin-bg{ background: #f4f1ec; min-height: 100vh; padding: 40px 0; }
.kt-admin-card{ max-width: 420px; margin: 80px auto; background:#fff; border-radius: 18px; padding: 32px; box-shadow: 0 30px 60px -30px rgba(17,19,48,.3); }
.kt-admin-card h1{ font-size:22px; color: var(--kt-navy); margin-bottom: 6px; }
.kt-admin-card p{ color:#7a7a8a; font-size:13px; margin-bottom: 18px; }
.kt-admin-card input{ width:100%; padding: 12px 14px; border:1px solid #e6dfd7; border-radius: 10px; margin-bottom: 12px; font: inherit; }
.kt-admin-card button{ width:100%; padding: 12px; border:0; border-radius: 10px; background: var(--kt-navy); color:#fff; font-weight:700; cursor:pointer; }
.kt-admin-table{ width:100%; border-collapse:collapse; background:#fff; border-radius: 14px; overflow:hidden; box-shadow: 0 10px 30px -20px rgba(17,19,48,.2); }
.kt-admin-table th, .kt-admin-table td{ padding: 12px 14px; font-size:13.5px; text-align:left; vertical-align:top; border-bottom: 1px solid #f0ebe5; }
.kt-admin-table th{ background: var(--kt-navy); color:#fff; font-family:"Bricolage Grotesque", serif; font-weight:600; letter-spacing:.04em; font-size:12px; text-transform:uppercase; }
.kt-admin-table tr:hover td{ background: #fbf8f3; }
.kt-pill{ display:inline-block; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:600; }
.kt-pill.contact{ background:#e6f6ec; color:#1f7d3a; }
.kt-pill.meal_plan{ background: rgba(239,87,68,.12); color: var(--kt-fire); }
.kt-admin-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 22px; }
.kt-admin-head h1{ color: var(--kt-navy); font-size:26px; margin:0; }
.kt-admin-head .stats{ display:flex; gap: 14px; }
.kt-admin-head .stats .s{ background:#fff; border-radius:12px; padding: 10px 16px; box-shadow: 0 6px 16px -10px rgba(17,19,48,.25); }
.kt-admin-head .stats .s b{ display:block; color: var(--kt-navy); font-size: 22px; }
.kt-admin-head .stats .s span{ font-size:11px; letter-spacing:.1em; color:#7a7a8a; text-transform:uppercase; }

/* ── Misc small tweaks ─────────────────────────────────────── */
.kt-link-fire{ color: var(--kt-fire); font-weight:600; }
.kt-link-fire:hover{ color: var(--kt-spice); }
.kt-divider{ height:1px; background: #ece6df; margin: 30px 0; }
.kt-tag-list{ display:flex; gap:8px; flex-wrap:wrap; }
.kt-tag-list span{ padding:5px 10px; background:#fff; border:1px solid #ece6df; color:#3a3a4e; border-radius:999px; font-size:12px; }
