/*
Theme Name: ChipotleCalories
Theme URI: https://chipotlecalories.com
Description: The most comprehensive Chipotle nutrition calculator and calorie guide.
Version: 1.0.0
Author: ChipotleCalories.com
*/

:root {
  --c-red:      #AC2318;
  --c-red-dark: #8B1A11;
  --c-red-light:#D42E1E;
  --c-brown:    #441500;
  --c-brown-mid:#6B2200;
  --c-gold:     #B68207;
  --c-gold-l:   #D49A0A;
  --c-cream:    #FDF6EE;
  --c-ivory:    #FAF0E0;
  --c-white:    #FFFFFF;
  --c-dark:     #1A0800;
  --c-mid:      #4A2010;
  --c-muted:    #8B6550;
  --c-border:   #E8D5C0;
  --c-cal:      #AC2318;
  --c-protein:  #2B7A3B;
  --c-carbs:    #B68207;
  --c-fat:      #8B4513;
  --c-fiber:    #5B8C3B;
  --c-sodium:   #6B4C9B;
  --c-sugar:    #C45C2A;
  --r:    8px;
  --r-lg: 14px;
  --r-xl: 20px;
  --sh:   0 2px 12px rgba(68,21,0,.08);
  --sh-2: 0 8px 32px rgba(68,21,0,.14);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--c-cream);color:var(--c-dark);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:var(--c-red);text-decoration:none}
a:hover{color:var(--c-red-dark)}
img{max-width:100%;height:auto}
button{cursor:pointer;font-family:inherit}

h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.15;color:var(--c-dark)}
h1{font-size:clamp(2rem,4.5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3vw,2.25rem)}
h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}
h4{font-size:1.1rem;font-weight:600;font-family:'DM Sans',sans-serif}
p{font-size:.95rem;line-height:1.8;color:var(--c-mid);margin-bottom:1rem}
p:last-child{margin-bottom:0}
strong{color:var(--c-dark)}

.cc-container{max-width:1180px;margin:0 auto;padding:0 24px}
.cc-container--narrow{max-width:800px;margin:0 auto;padding:0 24px}
.cc-container--wide{max-width:1400px;margin:0 auto;padding:0 24px}

.cc-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--r);font-size:14px;font-weight:600;font-family:'DM Sans',sans-serif;letter-spacing:.3px;border:none;transition:all .2s ease;cursor:pointer;text-decoration:none}
.cc-btn--red{background:var(--c-red);color:#fff}
.cc-btn--red:hover{background:var(--c-red-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--sh-2)}
.cc-btn--brown{background:var(--c-brown);color:#fff}
.cc-btn--brown:hover{background:#2A0D00;color:#fff}
.cc-btn--gold{background:var(--c-gold);color:var(--c-brown);font-weight:700}
.cc-btn--gold:hover{background:var(--c-gold-l);color:var(--c-brown)}
.cc-btn--outline{background:transparent;color:var(--c-red);border:1.5px solid var(--c-red)}
.cc-btn--outline:hover{background:var(--c-red);color:#fff}
.cc-btn--sm{padding:8px 16px;font-size:13px}
.cc-btn--lg{padding:16px 32px;font-size:16px}

.cc-card{background:var(--c-white);border-radius:var(--r-lg);box-shadow:var(--sh);border:1px solid var(--c-border);overflow:hidden}

.cc-section-header{text-align:center;margin-bottom:48px}
.cc-section-tag{display:inline-block;background:rgba(172,35,24,.08);color:var(--c-red);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;border-radius:99px;margin-bottom:14px}
.cc-section-title{color:var(--c-dark);margin-bottom:12px}
.cc-section-desc{color:var(--c-muted);font-size:1rem;max-width:560px;margin:0 auto}

.cc-macro-row{display:flex;gap:8px;flex-wrap:wrap}
.cc-macro{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:var(--r);min-width:70px}
.cc-macro__val{font-size:1.1rem;font-weight:700;line-height:1}
.cc-macro__lbl{font-size:9px;text-transform:uppercase;letter-spacing:1px;margin-top:3px;opacity:.75;font-weight:600}
.cc-macro--cal{background:rgba(172,35,24,.1);color:var(--c-cal)}
.cc-macro--pro{background:rgba(43,122,59,.1);color:var(--c-protein)}
.cc-macro--carb{background:rgba(182,130,7,.1);color:var(--c-carbs)}
.cc-macro--fat{background:rgba(139,69,19,.1);color:var(--c-fat)}
.cc-macro--fib{background:rgba(91,140,59,.1);color:var(--c-fiber)}
.cc-macro--sod{background:rgba(107,76,155,.1);color:var(--c-sodium)}

.cc-tabs{display:flex;gap:2px;background:var(--c-border);padding:3px;border-radius:var(--r)}
.cc-tab{flex:1;padding:9px 16px;border:none;background:none;border-radius:calc(var(--r) - 2px);font-size:13px;font-weight:600;color:var(--c-muted);transition:all .2s;cursor:pointer;text-align:center;white-space:nowrap}
.cc-tab.active,.cc-tab:hover{background:var(--c-white);color:var(--c-red);box-shadow:var(--sh)}

.cc-diet-pills{display:flex;gap:8px;flex-wrap:wrap}
.cc-pill{padding:6px 14px;border-radius:99px;border:1.5px solid var(--c-border);background:var(--c-white);font-size:12px;font-weight:600;color:var(--c-muted);cursor:pointer;transition:all .2s}
.cc-pill:hover,.cc-pill.active{border-color:var(--c-red);background:rgba(172,35,24,.06);color:var(--c-red)}

.cc-ingredient{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r);cursor:pointer;transition:background .15s;border:1.5px solid transparent}
.cc-ingredient:hover{background:var(--c-ivory)}
.cc-ingredient.selected{background:rgba(172,35,24,.06);border-color:rgba(172,35,24,.2)}
.cc-ingredient__check{width:20px;height:20px;border-radius:50%;border:2px solid var(--c-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;transition:all .2s}
.cc-ingredient.selected .cc-ingredient__check{background:var(--c-red);border-color:var(--c-red);color:#fff}
.cc-ingredient__name{font-size:13px;font-weight:500;color:var(--c-dark);flex:1}
.cc-ingredient__cal{font-size:12px;font-weight:700;color:var(--c-cal)}
.cc-ingredient__pro{font-size:11px;color:var(--c-protein)}

.cc-faq-item{border-bottom:1px solid var(--c-border)}
.cc-faq-q{width:100%;padding:18px 0;background:none;border:none;text-align:left;font-size:14px;font-weight:600;color:var(--c-dark);display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}
.cc-faq-q::after{content:'+';font-size:20px;color:var(--c-red);flex-shrink:0;transition:transform .2s}
.cc-faq-item.open .cc-faq-q::after{content:'−'}
.cc-faq-a{padding-bottom:18px;font-size:14px;color:var(--c-muted);line-height:1.8;display:none}
.cc-faq-item.open .cc-faq-a{display:block}

.cc-prose h2{font-size:1.5rem;margin:2rem 0 .75rem;color:var(--c-brown)}
.cc-prose h3{font-size:1.15rem;margin:1.5rem 0 .5rem;color:var(--c-red)}
.cc-prose p{margin-bottom:1rem}
.cc-prose ul,.cc-prose ol{padding-left:20px;margin-bottom:1rem;color:var(--c-mid);font-size:.94rem;line-height:1.85}
.cc-prose table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:1.5rem}
.cc-prose th{background:var(--c-brown);color:#fff;padding:10px 14px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.7px}
.cc-prose td{padding:9px 14px;border-bottom:1px solid var(--c-border);color:var(--c-mid)}
.cc-prose tr:hover td{background:var(--c-ivory)}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.cc-anim{opacity:0;animation:fadeUp .6s ease forwards}
.cc-anim-d1{animation-delay:.1s}
.cc-anim-d2{animation-delay:.2s}
.cc-anim-d3{animation-delay:.3s}

.cc-loading{text-align:center;padding:32px;color:var(--c-muted);font-size:14px}
.cc-spinner{width:28px;height:28px;border:3px solid var(--c-border);border-top-color:var(--c-red);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}
@keyframes spin{to{transform:rotate(360deg)}}

.cc-hidden{display:none!important}
.cc-text-red{color:var(--c-red)}
.cc-text-muted{color:var(--c-muted)}
.cc-text-center{text-align:center}

@media(max-width:900px){.cc-hide-mobile{display:none!important}}
@media(min-width:901px){.cc-hide-desktop{display:none!important}}
